IP语音交换,大都是在应用层实现,如rtpproxy()是一个独立的rtp交换程序,也有一些项目如asterisk干脆把信令和rtp处理放在一个进程中做。rtpproxy的做法相对好些,比asterisk少了线程切换的开销,另外伸缩性也好些。
如果用软件达到最好的性能,必须在kernel里面实现rtp交换。
原理上相当简单,在协议栈合适的位置,查询rtp转发表,根据查询结果修改srcip, srcport, dstip, dstport即可。
rtp转发表由上层信令模块下发下来即可。
rtp转发性能可以提高6倍以上。
阅读(1450) | 评论(0) | 转发(0) |