H323协议解析

H.323是国际电信联盟(ITU)的一个标准协议栈,该协议栈是一个有机的整体,根据功能可以将其分为四类协议,也就是说该协议从系统的总体框架(H.323)、视频编解码(H.263)、音频编解码(H.723.1)、系统控制(H.245)、数据流的复用(H.225)等各方面作了比较详细的规定。为网络电话和可视电话会议系统的进一步发展和系统的兼容性提供了良好的条件。其中系统控制协议包括H.323、H.245、和H.225.0,Q.931和RTP/RTCP是H.225.0的主要组成部份。系统控制是H.323终端的核心。整个系统控制由H.245控制信道、H.225.0呼叫信令信道和RAS(注册、许可、状态)信道提供,音频编解码协议包括G.711协议(必选)、G.722、G.723.1、G.728、G.729等协议。编码器使用的音频标准必须由H.245协议协商确定。H.323终端应由对本身所具有的音频编解码能力进行非对称操作。如以G.711发送,以G.729接收。视频编解码协议主要包括H.261协议(必选)和H.263协议。H.323系统中视频功能是可选的。数据会议功能也是可选的,其标准是多媒体会议数据协议T.120。
正是因为H.323系统在设计的时候考虑的问题太多,整个体系结构显得庞大且较为复杂,限制了其在中小企业的部署

上面是总体的介绍,实际工作是先通过h225交互确定IP+端口,然后重新发起连接使用h245协议交互确定语音或视频数据传输的IP+端口,然后数据通过RTP(udp)传输

H323信令子集H225和H245。H323是一个信令族,包含H225和H245等子集,工作模式有快慢之分。H225负责维护通道,H245负责能力协商
1、H225:解析H225的connect连接可获取H245的数据流连接的IP地址和端口

src->dst setup:发起呼叫,H225数据包中包含当前信令流的源目的IP地址和端口号。

dst->src:callprocessing和alerting:正在处理,响铃

dst->src:connect:连接成功,告诉另一端我使用哪个IP和端口进行H245的数据协商连接,等待连接用于后续H245协商,如下所示。

hex:0a 01 06 12 04 d0

string:

ipAddress

ip: 10.1.6.18 (10.1.6.18)

port: 1232

2、H245协商数据流RTP的传输通道

每端都发送openLogicalChannel说明自己一端开放的数据流端口

另一端回复本端开发的IP和端口

数据流采用上面协商的信息进行数据传输,协商信息如下:

SRC:

ipAddress

network: 10.1.3.143 (10.1.3.143)
tsapIdentifier: 5001

DST:

network: 10.1.6.18 (10.1.6.18)
tsapIdentifier: 2006

network: 10.1.6.18 (10.1.6.18)
tsapIdentifier: 2007

3、数据流采用2中协商的IP和端口号进行输出传输

采用RTP协议
TCP 传输流媒体数据由于其可靠性,会造成很大的网络延时和卡顿。

UDP 传输由于其不可靠性,会导致丢帧,如果是关键帧,则会花屏一个序列的时长。

RTP 使用了 RTP 和 RTCP 两个子协议来完成。

RTP 使用 UDP 完成流媒体数据传输,保证其时效性。

RTCP 也是使用 UDP,但只传输控制信息,占带宽很小,此时上层根据 RTCP 的信息,按照其重要性决定是否对丢失的流媒体数据进行重传。

RTP 在 1025-65535 之间选择一个未使用的偶数端口号作为其端口,RTCP 则使用下一个奇数端口号作为其端口,进而组成一个 UDP 端口对,端口号 5004 和 5005 作为 RTP 和 RTCP 的默认端口号。

RTP-Header 的流媒体特性,提供 帧边界、编码格式、序列号、时间戳等字段。

RTP 支持网络多播,而 TCP 不支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值