我之前在德国一家公司,开发sip客户端和服务器时,德国人想到的办法,让我开发一个超高效rtp proxy即media proxy,主要是进行语音中转;
传统语音服务器缺点: 由于语音流每个包很短,像G711 是160bytes,729是20bytes,经过服务器时,应用层都需要系统调用 read 和sendto,这样每个包都需要经过系统调用
使得系统在用户层和内核层来回切换,大大消耗了CPU资源;
解决办法:写一内核模块,sip服务器可以写语音转发表到内核模块中,这样使得每次通话前,sip服务器只要写一次内核转发表,以后media语音流就可以直接在内核层得到转发
从而bypass 应用层(省去了应用层的read ,sendto和 系统调用的切换时间),大大提高了效率,我们买市场上的PC大概4千价位,使用此办法后,转发G711 可以达
到同时500路,比之前提高了3倍,而我来北京的第一家公司,购买IBM的服务器价位几万,才可以达到同时转发500路;
技术探讨QQ: 413342656;