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,代表了从呼叫状态到结束呼叫状态的变化;
相关推荐
独自归家的兔10 小时前
Spring Cloud核心架构组件深度解析(原理+实战+面试高频)
spring cloud·面试·架构
alexhilton10 小时前
Jetpack Compose内部的不同节点类型
android·kotlin·android jetpack
Frank_HarmonyOS12 小时前
Android中四大组件之一的Activity的启动模式
android
似霰12 小时前
HIDL Hal 开发笔记7----简单 HIDL HAL 实现
android·framework·hal
云上凯歌13 小时前
01 ruoyi-vue-pro框架架构剖析
前端·vue.js·架构
七夜zippoe14 小时前
事件驱动架构:构建高并发松耦合系统的Python实战
开发语言·python·架构·eda·事件驱动
用户20187928316715 小时前
📚 Android Settings系统:图书馆管理员的故事
android
狼爷15 小时前
高并发与分布式系统中的幂等处理
架构
青莲84316 小时前
Android 事件分发机制 - 事件流向详解
android·前端·面试
小北方城市网16 小时前
第1课:架构设计核心认知|从0建立架构思维(架构系列入门课)
大数据·网络·数据结构·python·架构·数据库架构