开源软交换Freeswitch支持的编码种类比较多,用户可以在freeswitch平台上开发企业IPBX,呼叫中心,调度系统,语音IVR,电子传真,多方会议,录音系统等等通信系统。这些系统都需要相应的语音编码进行会话。但是大部分编码的转换是靠软件来处理,不仅处理的会话路数有限,而且占用过多的CPU资源,从而影响了Freeswitch 的性能。作为Freeswitch战略合作伙伴,Sangoma 长期支持Freeswitch的技术开发和市场推广。Sangoma充分发挥强大的语音板卡研发能力,使用了世界上运营商级的编码处理芯片,完美地解决了freeswitch的编码转换的瓶颈,从而让Freeswitch作为运营商级的软交换平台成为可能。
编码的基本知识
语音编码涉及了几个方面的内容:算法,传输速率,采样率和打包。常用的有窄带语音编码和宽带语音编码,例如:711 和722语音编解码。Freeswitch支持的有:
编码转换的环境因素:
- 通话终端之间的编码不一致,需要编码转换。
- Freeswitch必须介于媒体流之间。
- VOIP SIP 中继落地需要编码转换。
- 如果使用软件进行编码的话,增加CPU负载。
- 一些应用服务需要freeswitch去处理媒体流,例如:通话录音,语音检查。
Freeswitch的单向媒体转换处理原理
SIP 终端之间呼叫,并进行编码转换
不经过Freeswitch,直接透传编码,进行点对点通信
编码之间的协商机制要素
通话发起以后,Freeswitch必须选择一个编码,在处理的过程中,将从终端支持的编码中选择一个支持的编码,然后双方进行匹配。支持两种选择编码的方式:当呼叫进入拨号规则,或者当对端接听这个呼叫。
媒体处理的模式:包括透传模式和透明代理模式。
透传模式的情况下:媒体不通过Freeswitch,直接进行点对点通信,但是双方的编码必须是一致的,Freeswitch 负责SIP 信令的控制,缺点是录音功能无法工作。通过修改以下几个参数来透传编码:bypass_media=true和inbound-no-media。