SIP与RTP综合应用2
2010-07-14 18:24
316 查看
PPT写的非常好,用心看,很快就能了解SIP的工作流程。
下一步,就是自己动手实现SIP VOIP系统了。
如果商用的话,server 采用Trixbox,也可以仔细研究一下 Asterisk。客户端就用x-lite好了。
做为程序员,第一反应就是怎么样自己动手写一个客户端,甚至服务器。好在开源产品众多,写一个并不难。
经过几天的调试,发现几个协议栈做的不错:
1 SIP协议栈:
a osip+exosip (建立客户端及通信非常简单,质量也好),
b reSIProcate (全面,有server端例子,综合调试方便)。
c 其他的还用过一个pjsip,不过它与音视频结合成一个库之后, 音频质量不好。但是比较小巧, 听说台湾很 多嵌入设备采用。
2 RTP协议栈:
a Linphone采用的是oRTP,音视频部分采用的是 MediaStreamer2
b JRtpLib,结合emiplib的音视频处理。
c ffmpeg,ffmpeg本来是专门处理音视频编解码的,不过也提供了rtp,rtsp,最近好象也增加了rtmp协议的支持。顺便一提,MS2和emiplib底层也采用了ffmpeg。只要和音视频打交道,并且质量很不错的产品,都离不开它,比如mplayer,ffdshow。顺便BS一下kmplayer,上了ffmpeg黑名单。
这里面着重提到的是jrtplib,之前误解为它只是按RTP传输数据包,以前写过的几个文章,都是在RTP包之后,自己再封装了一下,当然,做为自己用的音视频聊天程序,这样是没问题的。但用在SIP及其他VOIP产品上,要考虑互通,就要严格搂RTP协议来执行了。
了解了几个开源的东西,下面自己动手建一个简单的SIP环境:
1 对Linux比较熟的人, 在CentOS上安装Asterisk,客户端采用Linphone,自己研究吧。
2 象我这样只要在Linux下用点g++的,如果想针对VOIP快速学习的话,服务器安装yate2,客户端随便拿哪个都行。
3 如果自己想定制sip server,干脆一步到位,下载reSIProcate,用vc2005编译,一次通过。运行时提示缺少几个dll,google一下很快都找到了,然后运行repro,做为server先临时用着,反正是学习。
客户端呢,网上流行一个很不错的,名字叫Youtoo,下载,简单编译后可以做为一个语音的客户端使用。
然后,PC上安装几个虚拟机,一个运行server,一个运行x-lite(做为一个参考的标准),主要上运行我们自己写的客户端进行测试。如果要调试server,就是主机上运行repro,虚拟上分别运行两个x-lite。
环境搭建立好了,下一步就开始调试。
更多技术文章请参看施昌权的个人网站: http://www.joyvc.cn
下一步,就是自己动手实现SIP VOIP系统了。
如果商用的话,server 采用Trixbox,也可以仔细研究一下 Asterisk。客户端就用x-lite好了。
做为程序员,第一反应就是怎么样自己动手写一个客户端,甚至服务器。好在开源产品众多,写一个并不难。
经过几天的调试,发现几个协议栈做的不错:
1 SIP协议栈:
a osip+exosip (建立客户端及通信非常简单,质量也好),
b reSIProcate (全面,有server端例子,综合调试方便)。
c 其他的还用过一个pjsip,不过它与音视频结合成一个库之后, 音频质量不好。但是比较小巧, 听说台湾很 多嵌入设备采用。
2 RTP协议栈:
a Linphone采用的是oRTP,音视频部分采用的是 MediaStreamer2
b JRtpLib,结合emiplib的音视频处理。
c ffmpeg,ffmpeg本来是专门处理音视频编解码的,不过也提供了rtp,rtsp,最近好象也增加了rtmp协议的支持。顺便一提,MS2和emiplib底层也采用了ffmpeg。只要和音视频打交道,并且质量很不错的产品,都离不开它,比如mplayer,ffdshow。顺便BS一下kmplayer,上了ffmpeg黑名单。
这里面着重提到的是jrtplib,之前误解为它只是按RTP传输数据包,以前写过的几个文章,都是在RTP包之后,自己再封装了一下,当然,做为自己用的音视频聊天程序,这样是没问题的。但用在SIP及其他VOIP产品上,要考虑互通,就要严格搂RTP协议来执行了。
了解了几个开源的东西,下面自己动手建一个简单的SIP环境:
1 对Linux比较熟的人, 在CentOS上安装Asterisk,客户端采用Linphone,自己研究吧。
2 象我这样只要在Linux下用点g++的,如果想针对VOIP快速学习的话,服务器安装yate2,客户端随便拿哪个都行。
3 如果自己想定制sip server,干脆一步到位,下载reSIProcate,用vc2005编译,一次通过。运行时提示缺少几个dll,google一下很快都找到了,然后运行repro,做为server先临时用着,反正是学习。
客户端呢,网上流行一个很不错的,名字叫Youtoo,下载,简单编译后可以做为一个语音的客户端使用。
然后,PC上安装几个虚拟机,一个运行server,一个运行x-lite(做为一个参考的标准),主要上运行我们自己写的客户端进行测试。如果要调试server,就是主机上运行repro,虚拟上分别运行两个x-lite。
环境搭建立好了,下一步就开始调试。
更多技术文章请参看施昌权的个人网站: http://www.joyvc.cn
相关文章推荐
- SIP与RTP综合应用5-RTP解包过程
- SIP与RTP综合应用1
- SIP与RTP综合应用
- SIP与RTP综合应用5-RTP解包过程
- SIP与RTP综合应用3
- SIP与RTP综合应用
- SIP与RTP综合应用4
- SIP与RTP综合应用5-RTP解包过程
- 【综合】下一版本Android功能传闻:新API、企业应用、数据加密
- SpringBoot 实战 (二) :web 综合应用(配置Servlet、Listener、Filter,Log)
- 门禁系统中的综合布线应用
- AEAI DP V3.6.0 升级说明,开源综合应用开发平台
- Openjudge NOI题库1.13编程基础之综合应用12:分数求和
- RTP协议应用方案
- STUN/TURN/ICE协议在P2P SIP中的应用(一)
- C#编程基础综合应用_骑士飞行棋
- 全局变量的定义、声明、应用问题综合
- 综合布线测试模型对网络应用的影响
- 05_学生管理系统,xml读写,布局的综合应用
- 图的综合应用-迪杰斯特拉算法(导游图)