通过协议层看华为VP9030能力
关键词:
H323H225H245对通测试
摘要:
当我们拿到一款外厂商终端,没有说明书,也没有明细的规格,我们除了从终端控制台上获取一定信息外,还是无法清楚的知道它的能力以及组合后的能力;从驱动、协议、业务逻辑、上层应用分析,我们最容易下手的还是协议;那我们建立个简单的对通场景,通过抓包获取建立会议时能力协商过程及过程中终端上报的能力,这种手段不仅适合华为VP9030对通测试,也同样适合与其他外厂商设备参数查看和功能摸索。
最近新进了一款华为VP9030终端,在做对通测试之时研究了H323协议栈中的H245控制信令,通过H245我们可以得到终端能力描述和终端能力集。这里不主要介绍抓包工具的使用和H225||H245协议,推荐《Wireshark基础使用说明》和《H225 H245协议分析》这两篇案例,这两篇案例详细介绍了抓包工具的使用以及如何快速查看音视频能力和终端信息;而本文通过探索方式来挖掘陌生终端能力,过程中也遇到了以往自己所不明白的知识,很希望和大家一起分享。
2H323协议介绍
H.323是国际电信联盟(ITU)颁布的标准,由一系列特定协议组成,包括Q.931、H.225、H.245和ASN.1。为了提供呼叫信令功能,H.323部分融合了H.225和Q.931标准。
H.245定义了多个流程,以便于进行能力信息互换(exchange
capability)、主从判断(master-slave
determination)和信道(channel)信令。最后,ASN.1规定了数据格式,使兼容H.323的端点能够互通。
2.2H225建立呼叫
点对点呼叫连接过程,采用H.225协议和Q.931标准。
H225建立呼叫最简单连接过程包括setup、callproceeding、alerting、connect四个过程;从这个呼叫过程包含的数据有终端别名、E164号、呼叫码率如下图所示。
2.3H.245能力信息互换(exchange capability)
能力信息互换过程包括终端能力集上报terminalcapabilityset、终端能力集证实terminalcapabilitySetACK、终端能力集拒绝terminalcapability ACK Reject、终端能力集释放terminalcapabilityACKRelease;下图是终端能力集上报和终端能力集证实的过程。
H.245能力信息互换自H.225会议建立成功后首先要执行的工作是终端能力集交换,双方上报能力和接受对方的能力。然而能力是通过能力集消息实现的,在消息中包含一个能力表,列出允许操作的模式,每种模式都对应了一个需要即能力号;而若干个能力号组成一个“可选能力集”的结构,从而组合出一个终端媒体通道能力,使终端选任意一种方式进行工作,若干个“可选能力集”构成一个“同时能力”结构,表明终端可以使用一组能力进行工作,最后由若干“同时能力”构成一个“能力描述语集”结构,它包含一组能力描述语,每个描述语中一个同时能力和一个能力描述语序号组成。该数据结构给出了终端的总体能力。如下图:
结构描述整体结果鸟瞰图:
鸟瞰图能力描述表结构图:
能力集描述展开后的内容:
以上表格中标红的是我们无法直观定位问题,总结如下:
1、MPGE-4的音频格式无法通过明文查看;
2、如何区分H263和H263+;
3、H263+的视频格式无法通过明文查看;
4、H264的视频格式无法通过明文查看;
查看方法如下:
查看MPGE-4的音频格式:
MPGE4unsingedMax=23标识音频格式为MPGE-4 AACLD,如果unsingedMax=2标识音频格式为MPGE-4 AACLC。
2、区分H263和H263+视频格式
H263和H263+区别3、查看H263+的视频能力:
查看H263+的视频能力H263+的能力描述全部在h263options节点下的customPictureFormat子节点中,展开的描述为:352*240,704*480,640*480,800*600,1024*768。
4、查看H264的视频能力
H264只有最大能力描述没有规定具体是视频格式,关于H264所支持的最大视频格式计算推荐的案例是《H264能力协商问题》。通过本文介绍的方法得出华为VP9030的最大能力为720P@31ftps。
能力描述语集结构表:
能力描述语集结构表备注:由此可见,一个终端的能力是由能力描述语集下的能力描述语中同时能力构成,同时能力允许终端同时打开多个媒体通道,而每个媒体通道下能力由可选能力组成,最终从可选能力下的能力表项序号从能力表中获取最终的媒体能力类型。
同时能力展开后的内容:
略以上六组能力按类别划分、每组只能出一个媒体能力,最多开7个。
2.4主从判断(master-slave determination)
主从判断主从确定是为了解决两个H.323端点同时打开双向信道时的冲突问题,所以终端在通信过程中一定会有主从关系,如下图:
逻辑信令通道包含打开逻辑信道(Open Logical Channel)、打开逻辑信道证实(Open Logical Channel Acknowledge)、打开逻辑信道拒绝(Open Logical Channel
Reject)、打开逻辑信道确认(Open Logical Channel Confirm)。
华为终端上报的音频能力如下图:
根据ISO/IEC14496-3找到对应的参数:
通道数表1:
略
采样率表2:
略最后得到的音频格式为MPGE-4 AAC LD单声道,采样率为48000。
如下是由于二代高清MPGE-4 AAC LD采样率为32000的原因,引起两台终端无法对通。
略以上是采用了简单场景来分析对通过程,并将一些参数加以阐述,实际的工作过程中可能比这复杂的多的多,希望本文能给同仁们带来一些帮助和启发。