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