织梦CMS - 轻松建站从此开始!

罗索

SIP与RTP综合应用2

落鹤生 发布于 2010-09-04 12:21 点击:次 
PPT写的非常好,用心看,很快就能了解SIP的工作流程。下一步,就是自己动手实现SIP VOIP系统了。如果商用话,server 采用Trixbox,也可以仔细研究一下 Asterisk。客户端就用x-lite好了。 做为程序员,第一反应就是怎么样自己动手写一个客户端,甚至服务器。
TAG:

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。

环境搭建立好了,下一步就开始调试。

(sxcong)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201009/10090.html]
本文出处:CSDN博客 作者:sxcong
顶一下
(1)
50%
踩一下
(1)
50%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容