Voice之03:IP语音信令、媒体信息及DSP

IP语音(Voip)4种常见信令

注意:由于暂时没有抓包分析Ip电话及语音网关间的数据包,所以还不是很理解以下信令,下面的理解仅仅是根据教学视频得来。
1. H.323:它是中继信令,P2P协议,他是伞形协议,下面有很多子协议,可以类似的与BGP进行对比。由于为了解决BGP的P2P限制(参考TCP卷二),可以用RR来实现,相应的对于H.323来说,GK就类似RR
2. SIP(RFC):既有P2P也有C/S特性,它也是中继信令。
3. MGCP(RFC):主要是用来管理语音网关。
4. SCCP:思科私有协议,是终端管理协议,C/S行为,C就是IP电话,S及时CM。

IP语音(Voip)2种媒体

RTP
RTCP

IP语音占用的带宽


在语音通话中,延时对通话质量是一个很重要的指标,最佳效果在10ms延迟,也就是每10ms发一次包。当然延时越小越好,但是带宽占用就比较多了,不是很划算,所以默认为20ms,比较节约带宽,延迟又是可以接受的。
那么一个channel是64kb(G.711),是以1s来参考的,那么如果20ms发一次包,一共能发几个?
1/0.02=50个包

既然已经算出是50个包,那么一个包的大小是多少呢?
64kb/50 =1.28kb
1.28kb/8b=0.16kB=160B

如果加上数据包的包头,一个包会增加多少?
由于是语音媒体的带宽计算,所以就需要考虑RTP及RTCP的包结构:
L2(18)+IP(20)+UDP(8)+RTP(12)+Payload
可以看到如果不算2层包头,每个语音包都会有40B的包头。

所以要达到以20ms发送语音包,一个包的大小为160B+40B,显然原有的64kb是不够的:
每个包增加40B,50个包就增加: 40B×50=2kB=2kB×8bit=16kbit
所以要传输一路话音,需要64kbit+16kbit=80kbit,这还没有加上2层的包头。

上面是计算G.711占用的带宽,G.722和G.729占用带宽的方法同上,在此省略。

DSP

编解码的核心,可以看作CPU或是专用ASIC,根据版本的不同,能力也不同,分1,2,3代。
具体信息可以查看思科官网去Search 相关产品的DATA Sheet。
关于DSP的选购,可以通过“DSP Calculator”来根据实际情况来计算DSP的资源需求。

DSP主要可以做什么?简单归纳下:
1. 编解码
2. 会议的合成
3. 转码
4. MTP
从模拟信号学到目前的数字信号,突然有了一些奇怪的问题,那就是当我们拿起IP电话说话,一直到从E1口出去,最后手机接收到,那么这个过程到底是经历了什么过程呢?下面是我的理解如图所示:

1.拿起话筒,通过IP电话里的DSP,把声波根据编码要求进行采样,得出特定规格的数字信号并封装RTP及IP包头,传出去。这里可以是G.711,G.729,G.722等等,我们可以根据IP电话支持的程度来选择,对于思科来说,目前G.722用的比较多。

2.模拟电话插在专门的FXS的卡上,因此模拟信号会进来,在这些FXS卡上,都装配有DSP,或者用机箱的DSP来对模拟信号进行终结处理-采样,量化变成数字信号,如果去SH,那么封装RTP;如果出外网,那么就直接传到相应的E1的channel上,并以数字信号PCM传送出去。
注:从IP电话出去后就相当于真正的数据包了,如果这个数据包的最终目的不是外线,那么那就会在整个IP网里传送。这就是大家常说的VOIP,其实对于编码来说,只有VOIP才涉及编码的问题。因为在向局端传输语音时,都是采用G.711,也就是PCM。

3. 数据包到达语音网关后,剥掉2,3,4层包头,露出语音信息,根据CM的指令或者是路由器的语音静态路由,把数据放到E1的一个时隙中,这时需要路由器的DSP进行转码功能,把G.722转成G.711,以1010…的数字形式把语音传送出去,注意在E1中的PCM是不带任何包头的,它承载的仅仅是数字语音。

4. 这个PCM形式的数据到达局端后,通过局端的设备,把PCM还原成模拟信号,通过基站发送到手机上,这样通信建立了。

5. 如果数据传送到SH,可能BJ路由器上DSP还会经过一次转码,转成G.729。因为在WAN传送,G.729会节省很多带宽。VOIP传到SH后,有IPPhone的DSP还原声波传给人。

本文出自 Frank's Blog

版权声明:


本文链接:Voice之03:IP语音信令、媒体信息及DSP
版权声明:本文为原创文章,仅代表个人观点,版权归 Frank Zhao 所有,转载时请注明本文出处及文章链接
你可以留言,或者trackback 从你的网站

留言哦

blonde teen swallows load.xxx videos