WebRTC和SIP通信方案

1、背景概述

本文的主旨是讨论如何实现以SIP协议为信令的VOIP通话系统和WebRTC进行通信。会话发起协议(SIP)是一种基于文本的通信协议,用于在IP网络上发送和控制多媒体会话。目前对讲产品例如门口机、室内机以及管理机等均在使用SIP信令进行通话控制。SIP在VoIP技术中被大量使用,是一套相对成熟的协议。WebRTC提供了音视频采集、网络传输、音视频编解码、信号优化和处理等一整套的音视频通信解决方案,可用于浏览器、移动设备和本机通信功能,无需安装插件。需要注意的一点是,在WebRTC中,没有指定协商连接的机制。这完全是为了让开发人员实现最适合的功能。SIP协议正是在这里完美地适合作为协商呼叫参数的强大信令机制,只要经过改造完全可以用webrtc的信令系统。

2、需求分析

2.1 技术差异分析

实际上直接把SIP和webrtc进行比较是不合理的也无意义的,因为SIP只是会话建立协议,而webrtc可以说是一套完整的通话解决方案,两者并未什么可比性。但是本文提到的SIP是主要是指以SIP协议作为信令的VOIP通话解决方案,这样两种通信系统之间才有比较的价值。
下图住列举出两者之间的差异,可以看出差异并不大,主要的差异是集中在信令层,尤其是在webrtc信令协议不指定的情况下两者互通的前提就是打通协议壁垒。

2.2 价值分析

随着社会发展技术进步,不同领域之间必然会产生交际,互联互通已成为各种通信系统的发展趋势,融合通信孕育而生。SIP通信系统技术成熟,已经再VOIP领域实际应用多年。WebRTC是互联网背景下的后起之秀,目前在音视频通话领域崭露头角。两种之间的融合能够扩大业务领域,增加通信技术的覆盖范围,为用户提供更好的体验。

2.3 可行性分析

从技术差异分析中能够看出,基于sip的voip系统和webtrc通信系统十分相似,两种在P2P网络模型下差异很小,最大的区别就是两种的信令系统不同。Webrtc的信令没有固定死相对比较灵活,sip信令系统功能完善技术成熟,这两种信令只要能够相互转换,互通并不困难。也就是说只要做好信令映射两者就有可能实现互联互通。

3、技术方案

为了建立WebRTC和SIP终端之间的,本文提出两种方案。

3.1方案一:基于P2P通信方案

如同上图,SIP终端和浏览器客户端建立连接,以浏览器wbrtc客户端作为主叫方:

  • 1、浏览器通过web服务器发送通话信令
  • 2、web服务器将私有信令转化为SIP信令发送给SIP服务器
  • 3、SIP服务器转发SIP信令给SIP终端
  • 4、会话建立完毕后,浏览器和SIP终端之间会建立RTP信道进行P2P媒体数据的发送。

3.1.1 分析

方案一的实施难度比较低,只需要Web服务器或SIP服务器两方有一个能够进行信令转化即可,SIP协议的数据体中可以荷载SDP协议,这使这种转化成为可能。

3.1.2 信令转化

两种方案都需要信令映射,以第一种为例,假设信令由web服务器完成,则流程如下图。

3.2方案二:基于媒体网关转发方案


如同上图,SIP终端和浏览器客户端建立连接,以浏览器wbrtc客户端作为主叫方:

  • 1、浏览器通过web服务器发送通话信令
  • 2、web服务器将私有信令转化为SIP信令发送给B2BUA终端
  • 3、B2BUA终端控制媒体网关接收来自客户端的媒体数据
  • 3、B2BUA终端通过呼叫SIP终端
  • 4、B2BUA终端控制媒体网关接转发客户端的媒体数据给SIP终端

3.2.1 分析

方案二和方案有所不同,通过B2BUA代替了SIP服务器,它作为独立的逻辑单元,即作为SIP客户端又作为SIP服务端,将会话边界拉到了服务器上。媒体网关能够进行数据转发,相比与第一种P2P方案来说实时新虽然减弱了,但是兼容性和扩展行大大增强。这种具有转发功能的服务器可以很容易扩展到视频会议的方案,例如实现SFU模型流媒体服务器模型,当然这不在本文讨论范畴。这样的最直接好处使兼容了webrtc客户端和SIP客户端的媒体协商SDP,即便协商的不同,也可以在媒体网关这层进行转化。

的实施难度比较低,只需要Web服务器或SIP服务器两方有一个能够进行信令转化即可,SIP协议的数据体中可以荷载SDP协议,这使这种转化成为可能。

4、总结

本文提供了两种简单的实现方案,实际项目中使用的是第二种方案,没有对方案的实现细节进行展开,主要起到抛砖引玉的作用。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值