顾名思义, RTP Proxy 是一个高性能而且开源的RTP流(RTP Stream)软件代理(Software Proxy). 在现代多媒体服务中得到了比较广泛的应用. 其典型应用就是作为OpenSIP服务器的子模块, 为SIP Call 提供的Video/Audio RTP Stream的转发.
RTP Proxy的设计目标最初是为了实现IPV4和IPV6主机之间的RTP 媒体数据转发, 但是现在它已经成长为一个功能强大的RTP 代理(转发)服务器. RTP Proxy 的官方主页虽然无法直接访问, 但是它的原代码托管在github: https://github.com/sippy/rtpproxy. 这里是可以被国内的读者所访问的. 可以用命令 "git clone https://github.com/sippy/rtpproxy.git " 下载源码,编译和部署. 其代码是C Luanguage. 从这个Project的Commit的记录来看, 它仍然在被开发和改进中. 其拥有者是 Sippy Labs, Sippy Labs 是Sippy Software Inc 的一个下属机构. 从这个Project的动态来看, 其维护者是欢迎广大开发者为这个项目作贡献的, 不过为其贡献代码首要条件是需要通过Travis CI的测试. 有兴趣者不妨可以试试向RTPProxy提Pull Request, 把自己加入到开发队伍中去.
虽然RTP Proxy 提供的强大的功能, 但是其代码量却不大, 用SourceInSight进行统计的结果如下:
Total Files: 23
Total Bytes: 336684
Total Lines: 8274
一共23个文件,8K行代码. 所以, 对于多媒体应用的开发者来说, RTPProxy 不仅是一个功能强大的媒体服务器组件, 而且是一个容易学习的模块, 更加可以以此作为入口进一步掌握多媒体和服务器开发技术. 本文就是基于学习之目的, 尝试剖析RTP Rroxy的配置和代码结构, 希望对Rtp Proxy的使用者有所帮助.
(待续)
Reference:
1. RTPProxy official site: http://www.rtpproxy.org/ (可惜被墙了, 在国内的网络无法访问)
2. OpenSIP official site: http://www.opensips.org/
7202

被折叠的 条评论
为什么被折叠?



