您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

开源,轻松实现RTC与SIP互通

时间:2020-11-16 11:12:58  来源:  作者:

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,相关的模块以库的形式提供,支持linuxwindows平台。

开源的网关代码支持与ArCall开源项目互通,支持呼叫流程制定和修改。

开源的网关支持三种模式:

  • IVR呼叫中心模块适用于呼叫中心,手机/网页/小程序客户端呼入IVR,通过语音导航实现相应的业务流程。
  • SIP主动呼RTC模块适用于客户坐席主动呼叫消费者,支持SIP呼叫客户端,支持SIP直呼手机号等。
  • RTC直呼SIP座机适用于企业内外网互通,通过App客户端直接呼叫员工或指定坐席的工位座机。

呼叫流程

这里用到了anyRTC的实时消息SDK,请查看详细API说明
项目地址

1,状态流转图

呼叫邀请中,主叫可以通过 LocalInvitation 对象提供的 getState 方法查询当前呼叫邀请的有关状态;被叫可以通过 SDK 返回的 RemoteInvitation对象的 getState方法查询当前呼叫邀请的相关状态。

LocalInvitationState

下图描述了与主叫相关的呼叫邀请状态流转图:

开源,轻松实现RTC与SIP互通

 

RemoteInvitationState

下图描述了与被叫相关的呼叫邀请状态流转图:

开源,轻松实现RTC与SIP互通

 

2,API 时序图

取消已发送呼叫邀请

开源,轻松实现RTC与SIP互通

 

接受/拒绝呼叫邀请

开源,轻松实现RTC与SIP互通

 

注意事项及限制条件

  • 主叫设置的呼叫邀请 content 的字符串长度:8 KB,格式为 UTF-8。
  • 被叫设置的呼叫邀请响应 response 的字符串长度:8 KB,格式为 UTF-8。
  • 呼叫邀请的 channel ID 仅用于与老信令互通时设置。设置的 channel ID 必须与老信令 SDK 设置相同才能实现互通。字符串长度:64 字节,格式为 UTF-8。

结语

SIP与RTC互通,我们完成了一整套的呼叫,通信流程,以及异常处理。更多场景玩法等待您去挖掘~



Tags:RTC   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
我们有时候在音频通话过程中,想要改成视频通话。如果挂断当前的通话再重新发起视频通话就会显得比较麻烦。 因此很多app提供了将音频通话升级成视频通话的功能,同时也有将视频...【详细内容】
2021-12-23  Tags: RTC  点击:(5)  评论:(0)  加入收藏
【网络通信 -- WebRTC】WebRTC 基础知识 -- ICE 交互总结【1】ICE 的一般概念简介ICE 角色offer (主动发起)的一方为 controlling 角色answer (被动接受)的一方为 controlle...【详细内容】
2021-11-30  Tags: RTC  点击:(24)  评论:(0)  加入收藏
前言最近对 WebRTC iOS 端源码进行了下载和编译,网上针对 WebRTC iOS 端的编译文章基本都是几年前的,有些地方已经不适用于最新版的 WebRTC 的编译,简单记录下载&编译的过程,以...【详细内容】
2021-11-10  Tags: RTC  点击:(38)  评论:(0)  加入收藏
Web平台上的WebRTC并不是其唯一的媒体API。WebVR说明书于几年前被引入来为浏览器中的虚拟现实设备提供支持。目前已经变为新的WebXR设备API说明书。今年夏天我在ClueCon,Dan...【详细内容】
2021-08-27  Tags: RTC  点击:(70)  评论:(0)  加入收藏
优秀生产力应用推荐!几分钟就能制作出一个专业美观的数据图表。关于 ChartCube 图表魔方ChartCube 中文名也叫图表魔方,是阿里巴巴数据可视化团队(AntV)出品的在线图表制作工具...【详细内容】
2021-08-23  Tags: RTC  点击:(58)  评论:(0)  加入收藏
作者 | Vitaly Suturikhin翻译 | 徐鋆 低广播延迟已经成为任何关于建设源端站和CDN的招标和竞争中的必要特性。以前这种标准只适用于体育广播,但现在运营商要求每个领域的广...【详细内容】
2021-08-17  Tags: RTC  点击:(70)  评论:(0)  加入收藏
所有的基于网络传输的音视频采集播放系统都会存在音视频同步的问题,作为现代互联网实时音视频通信系统的代表,WebRTC 也不例外。本文将对音视频同步的原理以及 WebRTC 的实现...【详细内容】
2021-08-17  Tags: RTC  点击:(75)  评论:(0)  加入收藏
本篇博文将会提供一个关于如何使用WebRTC建立一个视频会议App的教程。我们不会将其设计的太复杂,它将会是一个简单的一对一视频会议App,并且仅仅使用了WebRTC APIs和一些其他...【详细内容】
2021-07-29  Tags: RTC  点击:(113)  评论:(0)  加入收藏
RTC与SIP互通所涉及的问题要想让RTC与SIP互通,要解决两个层面的问题:信令层和媒体层。 两个网络使用的信令机制不同,所以要进行信令的转换,才能完成媒体的协商,建立会话。媒体层...【详细内容】
2020-11-16  Tags: RTC  点击:(97)  评论:(0)  加入收藏
本文来自《WebRTC Native开发实战》书籍作者许建林在LiveVideoStack线上分享中的内容,详细分析总结 WebRTC 的视频数据流程,并对大型项目如何快速上手:分析方法,如何在工作中按...【详细内容】
2020-09-10  Tags: RTC  点击:(66)  评论:(0)  加入收藏
▌简易百科推荐
写一个shell获取本机ip地址、网关地址以及dns信息。经常会遇到取本机ip、网关、dns地址,windows一个命令ipconfig /all全部获取到,但linux系统却并非如此。linux系统都自带ifc...【详细内容】
2021-12-27  K佬食古    Tags:shell   点击:(1)  评论:(0)  加入收藏
步骤1、配置 /etc/sysconfig/network-scripts/ifcfg-eth0 里的文件。it动力的CentOS下的ifcfg-eth0的配置详情:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifc...【详细内容】
2021-12-24  忆梦如风    Tags:网卡   点击:(9)  评论:(0)  加入收藏
1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录find . -name “*.tar” -execmv {}./backup/ ;注解:find –name 主要用于查找某个文件名字,-exec 、xargs可...【详细内容】
2021-12-17  郭主任    Tags:运维   点击:(18)  评论:(0)  加入收藏
对于经常上网的朋友来说,除了手机购物上网,pc端玩网页游戏还是很多小伙伴首选的,但是有时候明明宽带链接上了,打开浏览器却出现上不了网的现象,下面小编要来跟大家说说电脑有网络...【详细内容】
2021-12-16  小白系统    Tags:网页无法打开   点击:(28)  评论:(0)  加入收藏
在访问像github、gitlab这样的外国网站时,很有可能会出现页面加载不出来或找不到页面的错误。这时候有的朋友就会以为是网络的问题,于是把Wifi断掉连上自己手机的热点,结果却还...【详细内容】
2021-12-15  启施技术IT狼叔    Tags:外网   点击:(14)  评论:(0)  加入收藏
网络地址来源:获取公网IP地址 https://ipip.yy.com/get_ip_info.phphttp://pv.sohu.com/cityjson?ie=utf-8http://www.ip168.com/json.do?view=myipaddress...【详细内容】
2021-12-15  韦廷华12    Tags:外网ip   点击:(14)  评论:(0)  加入收藏
准备好软件IPOP、用ENSP模拟一下华为交换机 启动交换机 <Huawei>sysEnter system view, return user view with Ctrl+Z.[Huawei]sysname FTPClient[FTPClient]interface vla...【详细内容】
2021-12-15  思源Edward    Tags:交换机   点击:(22)  评论:(0)  加入收藏
我们经常用到netstat命令查看主机连接状况,包括连接ip、端口、状态等,今天就练习下shell分析netsat结果。描述假设netstat命令运行的结果我们存储在nowcoder.txt里,格式如下:Pro...【详细内容】
2021-12-14  K佬食古    Tags:netstat   点击:(19)  评论:(0)  加入收藏
什么是滑动窗口?窗口是操作系统开辟的一块缓存空间,发送方在收到接收方ACK应答之前,必须在缓冲区保留已发送的数据,如果按期收到确认应答,数据就可以从缓冲区移除。什么是滑动窗...【详细内容】
2021-12-14  DifferentJava    Tags:TCP   点击:(28)  评论:(0)  加入收藏
概述日常管理华为路由设备过程中,难为会忘记设备登录密码,那么该如何重置设备登录密码吗?本期文章将全面向各位小伙伴总结分享。重置华为设备登录密码思路先行 采用console登录...【详细内容】
2021-12-10  onme0    Tags:   点击:(27)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条