本文章主要講下電話擴音協定HFP(Hands-Free Profile)跟電話號碼有關的feature,分別有Calling Line Identification (CLI) Notification(也就是使能在incoming call的時候傳輸電話號碼),Voice Recognition Activation(也就是獲取語音信箱的電話號碼),Subscriber Number Information(獲取本地電話號碼),Enhanced Call Status Mechanisms(獲取CLCC)。就是一下HFP feature中的NO.13和NO.16以及NO.20和NO.21a。
本專欄文章我們會以連載的方式持續更新,本專欄計劃更新內容如下:
第一篇:藍芽綜合介紹 ,主要介紹藍芽的一些概念,產生背景,發展軌跡,市面藍芽介紹,以及藍芽開發板介紹。
第二篇:Transport層介紹,主要介紹藍芽協定棧跟藍芽晶片之前的硬體傳輸協定,比如基於UART的H4,H5,BCSP,基於USB的H2等
第三篇:傳統藍芽controller介紹,主要介紹傳統藍芽晶片的介紹,包括射頻層(RF),基頻層(baseband),鏈路管理層(LMP)等
第四篇:傳統藍芽host介紹,主要介紹傳統藍芽的協定棧,比如HCI,L2CAP,SDP,RFCOMM,HFP,SPP,HID,AVDTP,AVCTP,A2DP,AVRCP,OBEX,PBAP,MAP等等一系列的協定吧。
第五篇:低功耗藍芽controller介紹,主要介紹低功耗藍芽晶片,包括物理層(PHY),鏈路層(LL)
第六篇:低功耗藍芽host介紹,低功耗藍芽協定棧的介紹,包括HCI,L2CAP,ATT,GATT,SM等
第七篇:藍芽晶片介紹,主要介紹一些藍芽晶片的初始化流程,基於HCI vendor command的擴充套件
第八篇:附錄,主要介紹以上常用名詞的介紹以及一些特殊流程的介紹等。
另外,開發板如下所示,對於想學習藍芽協定棧的最好人手一套。以便更好的學習藍芽協定棧,相信我,學完這一套視訊你將擁有修改任何協定棧的能力(比如Linux下的bluez,Android下的bluedroid)。
-------------------------------------------------------------------------------------------------------------------------
CSDN學院連結(進入選擇你想要學習的課程):https://edu.csdn.net/lecturer/5352?spm=1002.2001.3001.4144
藍芽交流扣扣群:970324688
Github程式碼:https://github.com/sj15712795029/bluetooth_stack
入手開發板:https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-22329603896.18.5aeb41f973iStr&id=622836061708
藍芽學習目錄:https://blog.csdn.net/XiaoXiaoPengBo/article/details/107727900
--------------------------------------------------------------------------------------------------------------------------
The HF may issue the AT+CLIP command to enable the 「Calling Line Identification notification」 function in the AG.
If the calling subscriber number information is available from the network, the AG shall issue the +CLIP unsolicited result code just after every RING indication when the HF is alerted in an incoming call.
AT+CLIP=1 à enable Calling Line Identification (CLI) Notification
AT+ CLIP =0 àdisable Calling Line Identification (CLI) Notification
如果使能後,那麼來電後AG就會自動傳送過來 +CLIP:xxx,每次RING過來後這個命令也會過來,比如 +CLIP: "15553243910",129
比如你手機設定的按鍵1長按是撥打10086,那麼AT+BINP=1正常就是獲取1的電話號碼,但是這個功能也是比較雞肋,用我自己的手機傳送,會回覆ERROR
This procedure allows HF to query the AG subscriber number.
說白了就是獲取原生的號碼
The HF shall execute this procedure to query the list of current calls in AG
比如往外撥打10086,在通話中中,問詢CLCC會返回
+CLCC: 1,0,0,0,0,"10086",129