BT问题调试 -- HFP(AT指令)

本文详细介绍了蓝牙耳机协议HFP(Hands-Free Profile)的两个主要角色AG(Audio Gateway)和HF(Hands-Free)。讨论了连接请求的发起、SLC建立过程、AT命令的使用,如+COPS、AT+CIND等,以及电话状态的各种情况。同时涵盖了AT+CLIP、ATA、AT+CHUP等指令的功能,以及与呼叫控制、音量管理和增强功能相关的命令,如AT+VGM、AT+BRSF等。此外,还提到了电话处理、呼叫等待、声音识别和噪音管理等相关操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • HFP基本知识

HFP的两个角色:AG和HF;

  • HFP AG角色发起连接请求
  • HFP HF角色发起连接请求
  • 针对HFP的注意事项
  • 必须先有SLC的建立过程,该过程可以由HF/AG的任何一方发起;
  • AT+COPS用来查询运营商网络名称,AG的回应是+COPS:xxx;
  • AT+CIND=?,AG的回应可以看到如下讯息:

service(0~1);call(0~1);callsetup(0~3);callheld(0~2);signal(0~5);roam(0~1);battchg(0~1);

  • call=1表示至少有一个电话已经接通;

callsetup=1表示有一个拨进来的电话还没有接通;

callsetup=2表示有一个拨出去的电话还没有接通;

callsetup=3表示拨出电话的蓝牙连接的另一放正在报警;

callsetup=0表示没有电话需要接通;

  • callheld=1表示电话放在held状态,或者是hold和active的两个电话状态交换;callheld=2表示电话都处于hold状态;

callheld=0表示没有电话处于held状态;

  • 在支持in band ring tone时,对于拨进来的电话,有+CIEV:3,1,在接通前,RING和Inband ring tong周期性的出现,在每个RING之后都会出现一个+CLIP:

不支持in band ring tone时,对于拨进来的电话,有+CIEV:3,1,在接通前,RING周期性的出现,在每个RING之后都会出现一个+CLIP:

  • AT+CLIP的意义:号码类型(128~143可以表示国内或国际,有前缀;144~159表示国际,有国家码,带有+号;160~175表示国内,没有前缀)
  • ATA表示有HF->AG的接通命令,当接通后,出现+CIEV:2,1和+CIEV:3,0;
  • AT+CHUP表示HF->AG的reject call,当reject incomming call后,有+CIEV:3,0。如果该电话已经接通了,那么拒绝成功后,后面跟着+CIEV:2,0。

如果是AG拒绝电话,都是后面跟着+CIEV:2,0。

  • ATDxxxxxx表示HF拨出的电话,会有如下+CIEV:3,2 +CIEV:3,3 接通后+CIEV:2,1    +CIEV:3,0
  • AT+BLDN表示HF拨出上一次的电话;
  • ATD>nnn表示HF拨出的内存里的号码;
  • AT+CCWA表示呼叫等待,当已有一个接通电话,那么再进来电话时,AG就会发出+CCWA:
  • AT+CHLD=0表示release所有held calls;

1表示release所有active calls,并且接通其中一个held call;

1x表示release第x个active calls;

2表示place所有active calls到held status,并且接通其中一个held call;

2x表示place所有all calls到held status,除了第x个;

3表示增加一个held call到三方;

4是什么意思呢???

  • AT+BRSF的bit0表示ECNR,bit1表示呼叫等待或者3方,bit2表示CLI,bit3表示语音识别,bit4表示音量,bit5表示增强电话状态,bit6表示增强电话控制,bit7表示解码器。
  • +BRSF的bit0表示3方,bit1表示ECNR,bit2表示语音识别,bit3表示inband ring tone,bit4表示号码和语音attatch,bit5表示拒绝电话,bit6增强电话状态,bit7表示增强电话控制,bit8表示错误码,bit9表示解码器。
  • AT+BVRA表示声音识别的打开与关闭;
  • AT+NREC表示噪音和回显的打开与关闭;
  • AT+VGM表示MIC音量,范围是0~15;
  • AT+VGS表示Speaker音量,范围是0~15;
  • AT+BSIR表示bandring tone;
  • AT+BTRH=0表示incomming call被放在held,1表示incoming call被接通,2表示incoming call被拒绝。
  • AT+CLCC表示

dir = 0 (outgoing),1 (incoming)。

status = 0(Active),1(Held),2(Dialing,outgoing calls only),3(Alerting,outgoing calls only),4(Incoming,incoming calls only),5(Waiting,incoming calls only),6(Call held by Response and Hold)

mode = 0 (Voice),1 (Data),2 (Fax)

mpty = 0 - this call is NOT a member of a multi-party (conference) call

            1 - this call IS a member of a multi-party (conference) call

number type

解释下 03-08 15:04:15.132513 4296 4420 D bt_shim_hci: [hci_layer.cc(203)] OnTransmitPacketCommandComplete: Received cmd complete for SNIFF_SUBRATING 03-08 15:04:15.132665 4296 4381 E bt_btu_hcif: btu_hcif.cc:1046 btu_hcif_hdl_command_complete: Command complete for opcode:0x811 should not be handled here 03-08 15:04:15.133179 1054 2232 D SpeechDriverNormal: sendMailbox(), msg_id: 0x2f51 03-08 15:04:15.133811 4296 4672 V bt_btif_hf: btif_hf.cc:1542 AtResponse: BTHF ok 03-08 15:04:15.133897 4296 4672 V bt_btif_hf: [btif_hf.cc(1555)] AtResponse: AtResponse: response_code= 1 is_atd_received: 0 error_code: 0 03-08 15:04:15.134083 4296 4672 D HeadsetStateMachine: handleMessage: X 03-08 15:04:15.134149 4296 4381 D bluetooth: bta_ag_main.cc:560 bta_ag_api_result: Audio gateway event for one client handle:1 scb:codec_updated=0, codec_fallback=0, nrec=0sco_codec=2, peer_codec=3, cvsd_settings=1, msbc_settings=0, lc3_settings=0, device=xx:xx:xx:xx:6f:8c 03-08 15:04:15.134184 4296 4381 D bluetooth: bta_ag_main.cc:786 bta_ag_sm_execute: Execute AG event handle:0x0001 bd_addr:xx:xx:xx:xx:6f:8c state:BTA_AG_OPEN_ST[0x02] event:BTA_AG_API_RESULT_EVT[0x0506] result:BTA_AG_UNAT_RES[0x14] 03-08 15:04:15.134203 4296 4381 D bta_ag_cmd: bta_ag_cmd.cc:1724 bta_ag_hfp_result: HFP connection result:result:BTA_AG_UNAT_RES 03-08 15:04:15.134222 4296 4381 V bt_port_api: port_api.cc:1066 PORT_WriteData: PORT_WriteData() max_len:6 03-08 15:04:15.134321 4296 4381 V bt_port_api: port_api.cc:1150 PORT_WriteData: PORT_WriteData 6 bytes 03-08 15:04:15.134336 4296 4381 V bt_port_api: port_api.cc:883 port_write: PORT_Write : Data is being sent
03-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值