IP传真的分析与改进
来源:岁月联盟
时间:2010-08-30
1 背景技术
在IP网络中的传真按照采用的协议,可以分为两类:一类是透传,透传是把PSTN侧的G3传真机发送的PCM信号直接进行语音编码,比如采用G711A,G711U编码,所占用带宽为64K+IP报头约80K。另一类是T38[3]传真,T38传真会把PCM信号进行解调制,恢复为原来的V.21/V.27/V.17控制/数据流,然后再由主机按照T38协议对解调过的数据进行IP打包,处理后的数据带宽大约为20K。这两种传真方式各有利弊:透传方式对DSP能力要求不高,但是由于没有冗余机制,纠错机制,并且带宽需求大,对网络质量和带宽要求较高;T38传真对网络的丢包率具有很好的鲁棒性,并且对带宽要求只有透传的25%左右,只是对DSP能力需求较大,对TI芯片来说,一路T38编码所占用的资源,是G711编码的1.8倍。2 现有IP传真建立方法分析
2.1 现有IP传真的组网结构
一个IP传真的组网[6]如图1所示,其中软交换和媒体网关是一个VoIP分组交换系统,软交换本身并没有通话资源,它是管理媒体网关的设备,通过H.248协议与媒体网关进行交互,它可以控制呼叫的建立与释放;媒体网关则负责PSTN侧的各种事件,比如摘机,挂机,排叉的检测与上报,通话所需各种资源,比如DSP通道,UDP端口号,用户侧时隙的分配和管理等。不同于PSTN网络,IP网络是一个无连接的网
2.2 现有IP传真的建立方法
2.2.1 透传的建立方法 透传传真的流程[1]如图2所示,其中传真发送方在媒体网关MG1下,传真接受方在媒体网关MG2下,为了重点说明传真流程,传真建立前的通话建立过程加以省略。

2.3 现有IP传真的劣势
从图2和图3可以看到,对于现有编码方案来说,必须要软交换的支持才能把DSP的工作模式切换到传真模式,设置编码方式等,如果电信运营商使用的软交换因为产商或者采购时间较早的原因,只能支持通话的建立,而不能支持传真的建立,那么在透传模式下,如果一开始采用的编码为G729等压缩率较大,对信号有损伤的编码,网关不能切换到无损编码G711,也不会把静音抑制关闭,把DSP的工作模式设置为传真模式,这样由于信号损伤,网络时延等因素,传真成功率将会大大下降。采用Genoa Technology公司的Faxlab,当传真模型选择为模拟Canon L777传真机,传真发送方Orig:TX 3 Pg ECM Best Enc V.17 14400 Best Res,传真发接收方Ans:RX 3 Pg Best ECM Best Enc V.33 14400 Best Res在丢包率为1%,通话语音编码为G729,并且设置软交换不检测传真信号音以模拟支持传真的软交换,这样模拟20次传真,其中只有11次成功;如果设置软交换检测传真信号音,那么20次完全可以成功。在T38编码时,如果设置软交换不检测传真信号音,那么传真根本就不会切换到 T38的编码方式,还是以开始的语音编码方式进行传真,因此效果和透传是一样的。所以,很有必要采取一种改进手段,让媒体网关可以在没有软交换支持传真的情况下,自己把编码,静音检测等参数调整为最佳。3 改进方案的提出
3.1 改进思路
媒体网关从功能上可以分为几大模块[9],跟传真相关的模块如图4所示,其中协议处理模块负责信令的编码解码,处理软交换下发的信令,创建给控制器的信令,并调用业务处理模块处理相应的业务;业务处理模块,主要负责呼叫的接续和业务的处理,资源管理模块主要是对网片资源和DSP资源进行有效的管理,支撑业务的运行;端控模块主要负责用户端口消息的处理,并完成协议的转换,以标准统一的内部原语与业务模块进行交互,从而屏蔽用户物理端口的信息;PM模块还负责用户物理端口状态的维护以及用户端口资源的申请和记录;驱动模块则负责对DSP进行操作;对传真的处理如图4所示:
3.2 具体方法
3.2.1 透传自切换 如图1所示,尽管在网关之间的信号是G711编码信号或者是T38编码信号,但是在网关之下,IP传真中传真发送出去,接收到的信号还是和PSTN中一样的PCM信号,传真机信号所遵循的协议也是在PSTN网络上的传真协议T.30,根据协议,传真接收方在发送完被叫用户标识CED之后,会发送能力标识信号DIS,向发送端标识自己是第三类传真终端,同时DIS中携带了传真接收终端性能的字段,告知发送终端自己所具有的全部能力,在DIS信号前会有一个长达1秒的前导信号(Preamble) [4],传真发送方接受到DIS信号后,会发送DCS信号,根据本终端设置的能力并考虑接收终端所具有的能力,给出本次通信所采用的性能,在DCS前也会有前导信号。在原来的传真流程里是把DIS前的前导信号作为传真开始事件的,因此,可以做一个改进,把DIS前和DCS前的前导信号都作为传真开始信号。驱动上报这个信号后,由业务自己来设置编码和静音检测等,业务模块的伪码如下:if ( 驱动上报的消息){ If ( 传真开始消息){ 设置DSP工作模式为FAX; 设置DSP工作模式为G711; 关闭静音检测; /*透传模式下传真端口就是语音端口*/ 设置传真端口号为语音端口号;调用驱动函数,以设置的参数打开DSP;}else{ ……}}else{ ……} 驱动模块的伪码如下:if ( 前导信号 ){ if ( DIS的前导信号 ) { 上报传真开始信号;}else if( DCS的前导信号 ){ 上报传真开始信号;}}else{ ……}3.2.2 T38自切换 和透传自切换相比,T38自切换要复杂,这主要是因为以下三点原因: (1)传真接收方上报前导信号后,把自己的编解码方式切换到T38,而传真发送方的DSP这是还是普通的语音编解码方式,如G711,所以无法解码出T38格式的DIS,因此不会回应DCS,这样也就没有DCS的前导信号,传真发送方就无法上报传真事件; (2)T38是专为传真而设置的一种编码方式,传真结束后,一定要切换到语音编码,否则用户无法通话。 (3)T38传真时,端口号可能和语音端口号不同(可能加2),没有软交换的支持,无法告知对方网关自己采用的端口号; 现在Minspeed公司提供的Miro芯片可以检测到T38报文,因此,传真发送方可以通过检测对方发送的DIS的报文为T38格式,来上报传真开始事件。而对于第三点,我们只能要求两个网关设置的传真端口号一致,要么全是语音通道,要么全是语音端口号加2;自切换T38的业务模块伪码如下:if ( 是驱动上报的传真开始信号 ){ 设置DSP工作模式为FAX; 设置编码方式为T38;/*是语音端口加2,还是语音端口*/ 根据系统参数设置传真端口号; 以设置的新参数打开DSP;}else if( 是驱动上报的传真结束信号 ){ 恢复传真前的工作模式,编码,端口;}else{ ……} 驱动模块伪码如下:if( 前导信号){ if( DIS的前导信号 ) { 上报传真开始消息;}else{ ……}}else if( T38报文信号 ){ 上报传真开始消息;}else{ ……}3.3 效果验证
在没有软交换支持传真的情况下,采用Genoa Technology公司的Faxlab,当传真模型选择位模拟Canon L777传真机,传真发送方Orig:TX 3 Pg ECM Best Enc V.17 14400 Best Res,Ans:RX 3 Pg Best ECM Best Enc V.33 14400 Best Res,自切换透传在丢包率为1%的情况下全部成功;自切换T38在丢包率为10%的情况下可以成功,并且传真结束后能够切换到语音通话态。: ITU-T RFC 3015 Megaco Protocol Version 1.0. [S] 2000.11 ITU-T RFC 3525 Gateway Control Protocol Version 1.[S] 2003.06 TU-T Rec. T.38(04/2002)-Prpublished version[S] ITU-T Recommendation T.30:Procedures for document facsimile transmission in the general switched telephone network[S]. 1999.04舒华英,赖平章等.IP电话技术及其应用[M]. 人民邮电出版社,1999.11 桂海源.IP电话技术与软交换[M].北京:北京邮电大学出版社,2004.6 VOIP相关资料[Z] 黄永峰.因特网语音通信技术及其应用[M].北京:人民邮电出版社.2003.5 张登银,孙精科.Voip技术分析与系统设计. 人民邮电出版社[M].2003.6下一篇:宽带门户网站身份认证系统设计