CDC 电话呼叫与线路状态报告能力描述符
2025-07-10
0
0
Telephone Call and Line State Reporting Capabilities Descriptor(电话呼叫与线路状态报告能力描述符)该描述符用于描述电话设备支持的呼叫和线路状态报告能力,主机可据此实现对电话设备状态的全面监控和管理。
电话呼叫与线路状态报告能力功能描述符
该描述符用于描述电话设备报告可选呼叫和线路状态的能力。所有电话设备至少应能报告以下呼叫状态:
- 空闲(Idle)
- 拨号音(Dialtone)
- 拨号中(Dialing)
- 已连接(Connected)
- 响铃中(Ringing)
- 已接听(Answered)
可选的呼叫状态(由本描述符描述)包括:
- 间断拨号音(Interrupted dialtone)
- 回铃音(Ringback)
- 占线(Busy)
- 快速占线(Fast busy/设备忙/重拨音)
- 来电显示(Caller ID)
- 区分振铃解码(Distinctive ringing decoding)
线路状态报告也是可选的,由本描述符描述。
对于多线路电话设备,通常通过联合功能描述符(Union Functional Descriptor)指定一个接口为主控接口,如果所有接口支持相同的呼叫状态报告能力,则只需在主控接口的描述符中包含本描述符。
描述符结构(Table 32)
偏移 | 字段名 | 大小 | 值/类型 | 描述 |
---|---|---|---|---|
0 | bFunctionLength | 1 | 数值 | 此功能描述符的字节数 |
1 | bDescriptorType | 1 | 常量 | CS_INTERFACE 描述符类型 |
2 | bDescriptorSubtype | 1 | 常量 | 电话呼叫与线路状态报告能力描述符子类型 |
3 | bmCapabilities | 4 | 位图 | 设备的呼叫和线路状态报告能力:<br> D31-D6: 保留,置零<br> D5: 1-支持线路状态变化通知<br> D4: 1-可远程报告DTMF按键输入<br> D3: 1-可报告区分振铃模式<br> D2: 1-可报告来电显示信息<br> D1: 1-可报告回铃音、占线、快速占线状态<br> D0: 1-可报告间断拨号音(除普通拨号音外) |
示例(C结构体及二进制示例)
C结构体定义
typedef struct _USB_CDC_TELEPHONE_CALL_LINE_STATE_REPORTING_DESCRIPTOR {
uint8_t bFunctionLength; // 描述符长度
uint8_t bDescriptorType; // CS_INTERFACE (0x24)
uint8_t bDescriptorSubtype; // Telephone Call State Reporting Capabilities subtype (0x05)
uint32_t bmCapabilities; // 能力位图
} USB_CDC_TELEPHONE_CALL_LINE_STATE_REPORTING_DESCRIPTOR;
示例数据(假设设备支持所有可选能力)
字节序号 | 值(十六进制) | 含义 |
---|---|---|
0 | 0x07 | bFunctionLength = 7 |
1 | 0x24 | bDescriptorType = CS_INTERFACE |
2 | 0x05 | bDescriptorSubtype = Telephone Call State Reporting Capabilities |
3 | 0x3F | bmCapabilities低字节(D5~D0均为1) |
4 | 0x00 | bmCapabilities |
5 | 0x00 | bmCapabilities |
6 | 0x00 | bmCapabilities |
二进制示例:
07 24 05 3F 00 00 00
说明
- bFunctionLength:通常为7(字节)
- bDescriptorType:固定为0x24(CS_INTERFACE)
- bDescriptorSubtype:电话呼叫与线路状态报告能力描述符为0x05
- bmCapabilities:能力位图,详见上表