CDC 呼叫管理功能描述符
2025-07-10
0
13
呼叫管理功能描述符(Call Management Functional Descriptor)用于描述设备是否支持自身呼叫管理、是否可通过数据类接口收发呼叫管理信息,以及相关数据接口号。
呼叫管理功能描述符用于描述通信类接口的呼叫处理能力。它只能出现在接口描述符的类特定部分。
偏移 | 字段名 | 大小 | 值/类型 | 描述 |
---|---|---|---|---|
0 | bFunctionLength | 1 | 数值 | 此功能描述符的字节数 |
1 | bDescriptorType | 1 | 常量 | CS_INTERFACE 描述符类型 |
2 | bDescriptorSubtype | 1 | 常量 | 呼叫管理功能描述符子类型 |
3 | bmCapabilities | 1 | 位图 | 本配置支持的能力: D7..D2: 保留,置零 D1: 0-仅通过通信类接口收发呼叫管理信息;1-可通过数据类接口收发呼叫管理信息 D0: 0-设备不自行处理呼叫管理;1-设备自行处理呼叫管理。 若D0为0,D1值被忽略,且为兼容性应置零。 |
4 | bDataInterface | 1 | 数值 | 可选用于呼叫管理的数据类接口的接口号(本配置中的零基索引) |
C结构体定义
typedef struct _USB_CDC_CALL_MANAGEMENT_DESCRIPTOR {
uint8_t bFunctionLength; // 描述符长度
uint8_t bDescriptorType; // CS_INTERFACE (0x24)
uint8_t bDescriptorSubtype; // Call Management subtype (0x01)
uint8_t bmCapabilities; // 能力位图
uint8_t bDataInterface; // 数据类接口号(bInterfaceNum)
} USB_CDC_CALL_MANAGEMENT_DESCRIPTOR;
示例数据
假设设备自行处理呼叫管理,且可通过数据类接口收发呼叫管理信息,数据类接口号为1
字节序号 | 值(十六进制) | 含义 |
---|---|---|
0 | 0x05 | bFunctionLength = 5 |
1 | 0x24 | bDescriptorType = CS_INTERFACE |
2 | 0x01 | bDescriptorSubtype = Call Management |
3 | 0x03 | bmCapabilities = 0000 0011B (D1=1, D0=1) |
4 | 0x01 | bDataInterface = 1 |
二进制示例:
05 24 01 03 01
说明
- bFunctionLength:通常为5(字节)
- bDescriptorType:固定为0x24(CS_INTERFACE)
- bDescriptorSubtype:呼叫管理功能描述符为0x01
- bmCapabilities:能力位图,详见上表
- bDataInterface:数据类接口号(bInterfaceNum,零基)