市面上运用呼叫邀请通话的场景很多,下面简单介绍一下
- 陌生人交友,需要呼叫邀请通话,进行音视频通信。
- 门铃系统,需要呼叫邀请房主,让房主应答。
- 在线医疗,在线咨询,帮助患者快速、高效的解答救助事宜。
- 智能调度,安保系统智能调度人员。
呼叫邀请是怎么做的?
呼叫邀请的场景既然这么多,那市面上的这种场景是怎么做的呢?下面我们就来分析一下吧。
- 利用市面上现有的IM SDK ,一般这种SDK都会有一套现有的逻辑帮助开发者去实现呼叫邀请的逻辑。但不好的一点是这种SDK非常笨重,包体积大,好多还自带UI,灵活性差。
- 使用Socket 自行组织呼叫邀请逻辑,但是这种开发难度度大,工期时间长,而且对应大并发、高可用显得力不从心。
- 利用anyRTC 实时消息SDK,该SDK对呼叫邀请特别友好,包体积小,而且很轻,调用几个API接口就把呼叫邀请的逻辑给搞定了.
RTM 实时消息组织呼叫邀请的逻辑分析
呼叫邀请的行为
- 主叫发送呼叫邀请;
- 主叫取消呼叫邀请;
- 被叫接受收到的呼叫邀请;
- 被叫拒绝收到的呼叫邀请。
API 时序图
取消已发送呼叫邀请
接受/拒绝呼叫邀请
呼叫当中异常处理流程
呼叫邀请发出后,调用subscribePeersOnlineStatus方法进行订阅对方的在线状态,根据peersOnlineStatusChanged回调信息来判断对方的在线情况与否。被呼叫者做相同的操作,收到呼叫邀请,调用subscribePeersOnlineStatus方法进行订阅对方的在线状态,根据peersOnlineStatusChanged回调信息来判断对方在线情况与否。直到呼叫挂断后,都取消订阅对方的状态。
呼叫当中的推送对接
anyRTC RTM SDK中没有嵌入推送服务,需要客户自己去做推送服务,下面介绍一下客户端如何集成推送功能。
呼叫之前,订阅对方的状态,如果对方不在线,使用第三方推送服务,进行呼叫,然后发送sendLocalInvitation邀请,本地进入等待画面。
case1: 对方没有答应
发出邀请后,如果对方不应答,会在30s给予回到localInvitationFailure邀请失败回调,收到该回调后提示对方无应答。
case2: 对方有收到邀请
发出邀请后,被呼叫方收到推送消息,进行本地响铃,点击进入程序,登录RTM SDK,此时会收到remoteInvitationReceived的回掉,弹出应答页面,进行相应的应答,呼叫方此刻也会收到localInvitationReceivedByPeer的回调,进行60s倒计时,如果60s后还未做出答复回应,取消呼叫请求,关闭页面。
客户端集成推送服务
极光、信鸽、个推、友盟,用户可以根据自己的情况调研集成。
RTC音视频通话
当呼叫连接建立后,双方协商好进入相同的频道号即可通信。
RTC特色功能介绍
- 自采集,自采集功能的加入,支持屏幕共享、美颜、美声等前处理功能。
- 自渲染,对安全比较高的,可采用自渲染功能,对音视频数据进行自定义加密。
- 大小流,当会话人数比较多的时候,开启大小流,当小屏显示用户视频的时候,使用小流节省本地带宽,当大屏显示用户适配的时候,拉去大流进行高清显示,大小流可无缝切换。
- 插入媒体流,当会话当中,使用插入媒体流可进行同时看电视节目(RTMP流),可以看监控进行协同处理事务(RTSP流)。
- 播放音乐音效,当通话过程中,可以播放本地或在线音乐。
- 上下行网络质量,通话质量实时回调,显示本地以及对方的通话质量,可以进行友好提醒。
- 说话音量提醒,音量大小实时回调,可知晓频道中正在说话的用户,适合大频道多人音视频场景。
- 50人上麦,一个频道最大支持50人同时上麦,观看人数不限制,该功能已经瑶瑶领先其他厂商的SDK。
代码示列
ARCall,前往下载
- 呼叫邀请流程
- 支持iOS,Android,Web端
- 支持多人呼叫邀请通话
- 音频通话、视频通话
anyRTC创业扶持计划
- 30万免费分钟数,助力初创企业快速发展。
anyRTC初创企业扶持计划,只要通过企业审核,联系客服加入anyRTC创业扶持计划,即可享受30万免费分钟数。获得分钟数可降低在实时音视频技术服务所产生的成本费用,零成本快速启动项目。
- 专属技术指导支持
anyRTC为初创企业提供一对一专属客服,为客户提供专业、认真的服务,及时解答您的疑惑。并为客户提供专属技术指导,更快上手,轻松上线!