BT_蓝牙电话数据包分析_拒接电话

基于Android P版本分析

通话过程协议分析

拒接电话

从AG端接听Incoming call的流程比较简单,其中包括了几个动作:来电、响铃和拒接,AG只是会通过+CIEV、RING和AT+CLCC等指令进行交互,其中通过+CIEV指令更新callsetup和call状态;

这个过程和接听来电的过程非常相似,他们之间唯一的差别在与:接听和拒接的区别,对应了两个AT+指令;

AG侧拒接和HF侧拒接基本相同;

中间和接听电话的逻辑一致,不做分析;

拒接
AT+CHUP

标准挂起AT命令,执行命令使AG终止当前活动的调用;

yaml 复制代码
Bluetooth HFP Profile
    [Role: HS - Headset (2)]
    AT Stream: AT+CHUP\r
    Command 0: +CHUP
        Command Line Prefix: AT
        Command: +CHUP (Call Hang-up)
        Type: Action Command (0x000d)
        Parameters: No

对应返回OK Response;

+CIEV: 2,0
yaml 复制代码
Bluetooth HFP Profile
    [Role: AG - Audio Gate (1)]
    AT Stream: \r\n+CIEV: 2,0\r\n
    Command 0: +CIEV
        Command: +CIEV (Indicator Events Reporting)
        Type: Response (0x003a)
        Parameters
            Indicator Index: 2
            Indicator 2: 0
  • callsetup = 0:代表了当前没在呼叫中,callsetup 状态从 1 -> 0,代表了从呼叫状态到结束呼叫状态的变化;
相关推荐
jzlhll1236 分钟前
android ViewModel传参
android
有位神秘人8 分钟前
Android最新动态权限申请框架YbPermissions
android
Android-Flutter24 分钟前
android compose Switch开关 使用
android·kotlin
鹏程十八少28 分钟前
Android 深入剖析Android内存泄漏:ViewPager2与Fragment的生命周期陷阱
android·前端·app
三十_A28 分钟前
WebRTC 入门:一分钟理解会议系统的三种架构(Mesh/SFU/MCU)
架构·webrtc
Kapaseker29 分钟前
告别 Kotlin 中臃肿的 when 表达式
android·kotlin
2501_9160074731 分钟前
iOS 自动化上架的工具组合,在多平台环境中实现稳定发布
android·运维·ios·小程序·uni-app·自动化·iphone
粟悟饭&龟波功33 分钟前
【软考系统架构设计师】九、架构演化与维护
前端·后端·架构·系统架构·软件工程
天远云服34 分钟前
Fintech硬核架构:解析天远贷前风险报告接口在Go微服务中的解析策略
微服务·架构·golang
飞天小蜈蚣39 分钟前
python-django_ORM的基本操作
android·python·django