乐趣区

关于webrtc:开源轻松实现RTC与SIP互通

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

退出移动版