在文章前言先感谢一下https://github.com/forever4313/EasyLinphone这篇文章的作者
另外开发过程中一定要有看API文档的习惯,http://www.linphone.org/snapshots/docs/liblinphone/multilang/
下面来讲述一下我的开发经历
刚刚接到公司一个项目,需要一个双向录音开发功能。在上篇文章当中已经讲到Android API在目前的开发环境当中由于受权限的限制Android5.0以上的版本基本已经是不支持的了 这里也不多做描述。
然后公司选出了备用方案,使用SIP通讯。刚开始一听一脸蒙圈,SIP是个什么鬼?
既然是采坑就一步一步分享出来吧
第一步: http://c.biancheng.net/view/3217.html 这个是Android SIP中文API ,先大致了解一下SIP是个啥?也可以按照文档上面的方式试着集成一下效果调试,如果没有服务器地址的小伙伴可以私信我。
第二步:引用前言Git上开源LinPhone项目 https://github.com/forever4313/EasyLinphone 这里在集成的时候要我多废话一句,就是在引用easylinphone Model的时候要注意在build.gradle中添加依赖


第三步:一定要看SIP信令的报文方便与开发SIP服务器的小伙伴沟通
这个是注册的报文信息

这个是拨打电话的报文

报文的详细描述大伙可以看一下这篇文章https://blog.csdn.net/u012519333/article/details/52747054
看到这里相信大部分小伙伴已经集成完毕了,这里主要说一下我碰到的问题:

这一部分的SDP发送的数据包有的SIP服务器如果做限制,那么电话应该是拨不出去的,


这个地方是添加音视频编码数据的配置。
以上这就是我开发SIP的采坑经历,由于我们公司业务的需要。只开发了拨打电话的功能。如果有疑问或者不足的地方还望赐教!!
网友评论