手機實時提取SIM卡打電話的信令聲音-當前現狀與思考
--純手機-無外置配件的方案規劃
上一篇:手機實時提取SIM卡打電話的信令聲音-新的篇章(篇外小結與思考)
下一篇:手機實時提取SIM卡打電話的信令聲音-整體解決方案規劃
- 一、前言
我們在2024年09月的時候,初步進行了一輪“無需外置配件”的《提取手機通話聲音》的技術探索,嘗試通過【手機USB通道】和【虛擬聲卡】的方式進行方案的擴展。
但是比較棘手的問題在于:這幾個做法不僅需要應用具有Root權限,甚至還需要對安卓內核進行修改和功能擴充,才可以不依賴外部配件就提取到通話聲音。這樣的話就會造成下面的一些問題:
1、用戶側的刷機行為很繁瑣:每一個最終要使用的手機都需要解鎖BL鎖,然后再刷入對應的固件后才能使用。
2、研發側的機型適配很復雜:Android內核不同于aosp,它是直接跟手機型號強相關,同一個品牌手機旗下不同時間段發布的機型,由于內部硬件的差異,其內核可能也會不同(不一定,但概率很大)
3、商用化上線后鏡像維護很困難:主要有兩點1)市面上手機型號太多,發布的鏡像列表會很大。2)每個型號都可能要適配,新型號適配的迭代周期會很長。
4、法律風險問題:理論上涉及刷機的行為,都會涉嫌《破壞計算機系統》的相關法律法規條款,是否具備法律方面的可行性,有待商榷。
坑爹的是,近期我們遭遇了來自外置USB配件的背刺,在中國大陸最近這幾個月發布的USB藍牙配件(大部分均采用新的CSR8510A10芯片),它們在SCO語音傳輸上有缺陷,使用藍牙HFP協議建立通話后,一建立sco語音連接,USB藍牙就會阻塞卡死(體現在電腦上就是拔掉USB后電腦會直接藍屏)。
它們之間的差異是舊USB藍牙模塊插入手機,App會彈出“USB2.0-BT”的字樣,而新芯片會直接彈出“CSR8510A10”的字樣如下圖所示:
我們再次對互聯網上電商平臺(淘寶/拼多多/京東)上能檢索到的USB藍牙進行海選,發現僅有下述幾家的USB藍牙可以用,而且特意強調一下僅【20m遠距離 圓型】可用,其它的均不可用,僅供參考。
USB藍牙配件購買路徑(參考):
https://item.taobao.com/item.htm?id=607667699968&skuId=5073447748672
https://item.taobao.com/item.htm?_u=pk10l4ccbcd&id=649368472986
- 二、方案現狀
當前商用的方案為【依賴外置USB配件,使用USB藍牙連接手機本機藍牙,實現通話語音攔截的功能】。方案拓撲圖大致如下圖所示:
此方案最大的問題有兩點:
1、要依賴外部USB硬件,由于這玩意不是手機自帶的,需要另外購買和選配,質量會良莠不齊。
2、占用了手機的USB口,導致手機的充電口和adb的USB調試會受影響。簡單說就是用了USB藍牙,手機就不好充電,而手機電池電量是有限的。
這些問題,在前面幾年的商用過程中都能夠克服,直到挨了這一次USB藍牙的背刺。草,我們現在都想不通:a2dp/obex/hfp各種協議它都支持,卻專門砍掉sco語音是怎么回事?是不是就是針對我們?大部分市面的USB藍牙都采用新的芯片的方案,把藍牙電話給砍掉了。太難了。
現在要使用藍牙電話方案,只能去尋找舊的USB藍牙的芯片,才能正常通話和攔截,互相理解一下。
- 三、探索與排查過程
我們剛開始的時候都沒有懷疑是它硬件的問題,直到我們逐項排查溯源,甚至從usb-drivers官網直接下載CSR_Harmony套件,安裝它原版的驅動,發現它sco語音仍然不行,才中止探索。原版驅動鏈接如下所示:
https://www.usb-drivers.org/CSR-CSR8510-%20bluetooth-dongle-4-drivers.zip
在電腦上任意版本的操作系統(win7/win8/win10/win11),使用藍牙HFP協議與手機建立連接后,在手機上發起呼叫,通話無法到達電腦。此時或之后任意時刻拔出USB,電腦都會藍屏死機。如下圖所示:
這就沒法玩了,USB藍牙它出廠就是這樣。就算我們能通過CSR套件執行刷寫的指令,把手頭上的這個usb dongle給弄好也沒用,客戶直接從網店購買的還是一樣用不了。
就上面的現象,我們隨機的找賣家,發現他們就是說不支持打電話,沒有一點點辦法。最坑的是,現在絕大部分網店能搜到的USB藍牙,都是以“CSR8510A10”字樣的產品。賣家的回復反饋如下圖所示:
- 四、后續演進的思考
經此一輪硬件配件的海選,感覺走外置硬件的方式太不靠譜了。我們還是需要繼續沿著去年【純手機-無外置配件】探索方向進行深入前進,做幾款特定機型的純手機的方案。用來對現狀的應用場景進行補充。
得益于去年的探索,我們打通了幾種方式實現純手機的電話語音提取方式,預計會在市面上選擇“小米/華為/Oppo/Vivo/榮耀”的某一兩款型號的手機,進行方案試點和使用。用以形成對【藍牙電話】方案的補充。