共计 1505 个字符,预计需要花费 4 分钟才能阅读完成。
RTC 与 SIP 互通所波及的问题
要想让 RTC 与 SIP 互通,要解决两个层面的问题:信令层和媒体层。
两个网络应用的信令机制不同,所以要进行信令的转换,能力实现媒体的协商,建设会话。媒体层要实现编码的转换,以及 rtp/srtp 转换等性能。
优质通信三要素
- 信令层的协商:稳固的信令是实现 RTC 与 SIP 互通的根底,保达、异样解决、断线重连等机制。
- SIP 协定与 RTC 协定互转的解决:上述曾经探讨了,RTC 与 SIP 互通须要媒体层协定的转换。
- 减速线路:媒体在服务间的直达,丢包以及提早的解决。就近接入、节点抉择等。
ARCall-RTC 与 SIP 互通解决方案
为何制订 RTC 与 SIP 互通的开源计划
RTC 与 SIP 互通是基于市场的呼叫核心解决方案的需要,随着 RTC 技术的广泛应用,各个环节的利用需要层出不穷,传统的 SIP 呼叫核心也须要降级技术计划,咱们在给贝壳找房,浙江省公安厅等大型企业提供技术计划后进行项目分析发现:咱们在提供服务时客户更关注的是本人的业务流程,如何让客户疾速的集成,以及集成后灵便的革新计划来应答多变的需要,是我的项目可能顺利疾速推动的重要因素。
anyRTC 寰球超过 200 数据中心,笼罩 200+ 国家和地区,国内线路涵盖华东、华南、华北、东北、西南、东南、香港、台湾。客户就近接入、依据智能算法,给出最优门路。
开源阐明
开源代码地址
开源的 RTC 和 SIP 互通的网关代码,其中应用了三大模块:RTC,RTM,SIP,相干的模块以库的模式提供,反对 Linux 和 Windows 平台。
开源的网关代码反对与 ArCall 开源我的项目互通,反对呼叫流程制订和批改。
开源的网关反对三种模式:
- IVR 呼叫核心模块
实用于呼叫核心,手机 / 网页 / 小程序客户端呼入 IVR,通过语音导航实现相应的业务流程。
- SIP 被动呼 RTC 模块
实用于客户坐席被动呼叫消费者,反对 SIP 呼叫客户端,反对 SIP 直呼手机号等。
- RTC 直呼 SIP 座机
实用于企业内外网互通,通过 APP 客户端间接呼叫员工或指定坐席的工位座机。
呼叫流程
这里用到了 anyRTC 的实时音讯 SDK,请查看具体 API 阐明
我的项目地址
1,状态流转图
呼叫邀请中,主叫能够通过 LocalInvitation 对象提供的 getState 办法查问以后呼叫邀请的无关状态;被叫能够通过 SDK 返回的 RemoteInvitation 对象的 getState 办法查问以后呼叫邀请的相干状态。
LocalInvitationState
下图形容了与主叫相干的呼叫邀请状态流转图:
RemoteInvitationState
下图形容了与被叫相干的呼叫邀请状态流转图:
[外链图片转存失败, 源站可能有防盗链机制, 倡议将图片保留下来间接上传(img-kK8qpGPl-1597912226518)(https://web-cdn.agora.io/docs…]
2,API 时序图
勾销已发送呼叫邀请
承受/回绝呼叫邀请
注意事项及限度条件
- 主叫设置的呼叫邀请 content 的字符串长度:8 KB,格局为 UTF-8。
- 被叫设置的呼叫邀请响应 response 的字符串长度:8 KB,格局为 UTF-8。
- 呼叫邀请的 channel ID 仅用于与老信令互通时设置。设置的 channel ID 必须与老信令 SDK 设置雷同能力实现互通。字符串长度:64 字节,格局为 UTF-8。
结语
SIP 与 RTC 互通,咱们实现了一整套的呼叫,通信流程,以及异样解决。更多场景玩法期待您去开掘~
分割咱们
联系电话:021-65650071
QQ 征询群:580477436
ArCall 技术交换群:597181019
征询邮箱:hi@dync.cc
技术问题:开发者论坛
获取更多帮忙返回:www.anyrtc.io