基于sip的网络电话项目--说说(1)

原创
2014/07/02 12:55
阅读数 1.2K

公司近期上线了一个项目--是基于voip的网络电话的构建 体验地址

    该项目使用真实的电话号码注册,没有好友观念,只要知道对方的电话号码就可以拨号过去,当然前提是对方也安装了该软件并注册了手机号。

    刚听说的时候感觉逻辑还很简单,但是真正做的时候难题不少。首先就是我从来没有接触过sip和即时通讯的架构,然后就是如何保证最大化的实现点对点通话减少服务器压力。

    经过网上搜索,群里的问答,初步了解了可以做服务器端的有这么几个opensip、kamailio、freeswich、asterisk。当然还有一些,只不过我感觉不能做生产使用,所以就放弃了。其中opensip和kamailio来自同一个openser开源项目,所以他们的代码和配置文件几乎一样,没有什么区别。freeswich和asterisk属于pbox范围比如呼叫中心了ivr了等方面的功能比较强,我分析了一下项目需求好像对这方面的需求很少,几乎没有,所以就没有使用它们,最后选择了kamailio。因为最开始搭建opensips的时候没有成功而搭建kamailio的时候成功了,所以就一直用kamailio了。

    然后就是客户端的选择,由于我比较信赖谷歌的技术,所以开始找的是webrtc,因为webrtc可以跨平台,而且通话质量不错,后来找到了sipml5,是一个web前端的sip,但是没有成功。后来先兆android 发现可选的有 linphone、imdroid、csipsimple、sipdroid,他们的优缺点我在网上搜索了一下参看http://blog.csdn.net/banketree/article/details/21276101 最终选择了csipsimle。imsdroid我也是用过一段,但是由于及时性不是很好就没有在深入的研究,我还是比较偏好他的,因为他使用的是doubango框架.

    当然,也是最重要的一点,nat穿透,我使用的是stun+网络服务器转发也可以看我以前的stun turn ice 博文介绍。网上搜索kamailio自身没有stun服务,但是我发现kamailio自己有一个stun模块,由于csipsimle可以使用两个stun服务器,一个作为备用一个正常使用、而且时间关系就用来网上的一些免费的stun服务器。关于kamailio的stun服务如果有人知道可以指点我一下。

展开阅读全文
打赏
1
3 收藏
分享
加载中
更多评论
打赏
0 评论
3 收藏
1
分享
返回顶部
顶部