Android设备实现语音视频通话

一、背景

有智慧社区相关的项目,需要门禁开发门禁机APP以及用户端APP,要求实现门禁设备呼叫业主APP,业主接通后可以通话、可以开门。这里主要要做的就是语音和视频通话功能,以及远程开门。至于业务逻辑那就是正常的需求处理了。

二、方案调研

1、sip方案

有做过调研,也找了对应的设备进行了测试验证,流程跑通,但是效果不是太好,杂音大回音大,不清楚是设备处理问题还是软件实现优化问题。同时由于商务原因,后来放弃。不过主要的流程就是:

使用设备方的sip服务器,根据对方提供的web接口,我们在需要的时候创建对应的sip账号

设备方提供设备和APP端SDK

我们使用sdk实现呼叫、接听、开门、视频、语音通话等功能

2、基于P2P的音视频通话方案

我们找了一家专门提供语音视频通话服务的厂商,使用对于提供的sdk,做了开发测试验证,总体效果还不错,毕竟专门做软件的,同时对方还能提供各个版本的开发sdk(windows版本、ubuntu版本、linux(支持多种芯片)),这对于们后期如果对接他们类型的设备提供了较好的扩展性。因此最后采取此方案。此方案可以用于视频直播,分为视频播放端和视频采集端,我们再此基础上定义了自己的协议规则,实现了呼叫、开门等功能。

三、开发流程

1、对方给我们单独部署一套音视频服务

2、我们后台根据web端接口文档,在需要的时候创建相应的呼叫号,同时跟用户关联

3、门禁设备集成采集端sdk,同时实现呼叫、接听、开门操作等业务

4、用户APP集成播放端sdk、同时实现呼叫、接通、拒接、远程开门等业务

5、设备和APP联调测试

四、APP端开发流程

1、sdk二次封装

因为我们要做一些自己的修改,同时后续可能回提供给第三方,所以按功能封装成sdk是最合理的

主要根据业务需要封装了必要的接口方法:

呼叫、开门、接听、以及一些设置、以及设备状态信息监听

2、app端集成自己开发的sdk

 先引入自己开发的sdk,然后实现相关逻辑页面

呼叫页面、来电页面、接通页面、开门处理等

3、测试验证

设备和APP

imsdroid 是全功能的SIP / IMS的客户端,它基于doubango框架开发的app,doubango是目前世界上最好的3GPP IMS/RCS 嵌入式桌面系统框架,该框架提供了一套独特的功能,包括音频/视频通话、内容共享、消息、会议、通讯录等。 官网地址:http://code.google.com/p/imsdroid/ 组件 1、Boghe IMS/ RCS Windows客户端 2、IMSDroid IMS/ RCS Android客户端(使用NGN堆栈) 3、iDoubs IMS/ RCS iOS客户端(iPhone,iPad和iPod Touch) 4、OpenVCS 开源视频会议服务器,用于管理多点控制单元(MCU),每个MCU可以处理多达64人参与 5、Flash2IMS 使用Adobe Flash 的SIP/ IMS网关 支持功能 1、SIP ( RFC 3261 3GPP TS 24.229 REL- 9 ) 2、 IPv4 IPv6 TCP UDP 3、信号编码 SigComp (RFC 3320 、3485、 4077 、4464 、4465、4896、5049、5112、1951) 4、通讯录 5、GSMA 通信 6、 音(GSMA VoLTE) 7、GSMA RCS and GSMA VoLTE 8 、IMS 登陆 MD5加密 9、3GPP 10、服务路由探索 11、注册事件监听(注册事件、拨打事件、来电事件、消息事件。。。) 12、3GPP IP ( 3GPP TS 23.038 、24.040 、 24.011、 24.341、24.451短信) 13、音呼叫( G729AB1 、 AMR - NB 、iLBC、 GSM 、 PCMA 、 PCMU、 Speex NB ) 14、视频通话( H264、MP4V - ES 、Theora、 H.263 、 H.263 -1998 、H.261 ) 15、双音多频DTMF ( RFC 4733 ) 16、解决网络延迟和阻塞技术QoS negotiation using Preconditions (RFC 3312, 4032 and 5027 17、SIP会话定时器( RFC 4028 ) 18、临时响应( PRACK ) 19、通信保持(3GPP TS 24.610 ) 20、消息等待指示( 3GPP TS 24.606 ) 21、E.164号码呼叫通过使用ENUM协议( RFC 3761 ) 22、NAT穿越 23、一对一和群组聊天
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值