一种SIP和WebRTC互相通信的方案

这篇具有很好参考价值的文章主要介绍了一种SIP和WebRTC互相通信的方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一种SIP和WebRTC互相通信的方案

1、背景概述

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

2、需求分析

2.1 技术差异分析

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

一种SIP和WebRTC互相通信的方案

3.2.1 分析

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

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

4、总结

本文提供了两种简单的实现方案,实际项目中使用的是第二种方案,没有对方案的实现细节进行展开,主要起到抛砖引玉的作用。文章来源地址https://www.toymoban.com/news/detail-411336.html

到了这里,关于一种SIP和WebRTC互相通信的方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HC08蓝牙模块实现手机通信以及互相通信(附源码及解析)

    前言 本篇博客详细的介绍如何实现HC08主从机设置,命名,以及如何实现两个STM32通过HC08互相通信,并附带完整的操作步骤,以及源代码。 目录 一、HC08主从配置 1.1VOFA+的下载及基本用法 1.1.1VOFA+的下载         1.1.2VOFA+的基本用法    1.2配置HC08主从机及其他 二、两个STM32通

    2024年03月10日
    浏览(69)
  • 本文将从云原生的概念、背景知识、Kubernetes架构及核心组件、应用场景、案例研究等方面深入剖析云原生课程的相关知识点

    作者:禅与计算机程序设计艺术 2020年,技术快速发展,云计算火爆。云原生领域也随之蓬勃发展。云原生已经成为大势所趋,大量企业都在逐渐转型云原生应用架构。国内外云服务厂商也纷纷推出基于Kubernetes的服务平台,而Kubernetes又是云原生开源技术体系的一部分。为了帮

    2024年02月07日
    浏览(64)
  • 煤矿调度IP语音对讲广播模块一键求助对讲矿用调度通信系统SIP语音对讲求助终端

     SV-2101VP /  SV-2103VP 系列网络音频模块,所有外部连接采用端子,电源采用2.0mm的端子,网络采用标准RJ45连接器,其他都是1.25mm的连接器。 端口类型定义 P ———— 电源 AI ———— 模拟输入(在这里是音频输入) AO ———— 模拟输出(在这里是音频输出) I ———— 数

    2024年02月12日
    浏览(41)
  • vue3 常用的组件互相通信(父子、兄弟、爷孙、任意组件)

    目录 前言:目前组件通信方法有好多种,我这挑选一部分来讲 1、父传子 2、子传父 3、兄弟之间通信 3.1、父组件充当中间件 3.2、全局事件总线—EventBus 4、爷孙之间通信 5、任意组件、全局 方案 父传子 子传父 props / emits props emits v-model / emits v-model emits ref / emits ref emits provi

    2024年02月15日
    浏览(41)
  • 【Vue3】3-3 : 组件之间是如何进行互相通信的

    本书目录:点击进入 一、组件之间为什么要做通信 二、组件之间通信方式 2.1、父传子:由传递属性实现 stage 1:申明 (即定义) stage 2:注册 stage 3:使用 【示例】:父组件将 title 和 count 传递给子组件 (普通数据 和 响应式数据的传递) >  代码  >  效果 2.2、子传父

    2024年01月17日
    浏览(36)
  • Xshell连接不上排错以及解决方案(本文原因:重启网卡失败)

    目录 ​说一下我自己的排错思路: (1)检查自己想要链接的虚拟机有无开启 (2)检查windows服务里面关于虚拟机和xshell的服务是否已经开启,网络是否出错 (3)进入ens33文件查看ip ,dns1等是否出现配置错误 (4)检查防火墙有没有关闭 (5)查看ssh服务是否开启  (6)是否

    2024年02月04日
    浏览(42)
  • 【WebRTC】音视频通信

    WebRTC对等体还需要查找并交换本地和远程音频和视频媒体信息,例如分辨率和编解码器功能。 交换媒体配置信息的信令通过使用被称为SDP的会话描述协议格式来交换,被称为提议和应答的元数据块 一方发起调用 getUserMedia 打开本地摄像头 媒体协商(信令交换,媒体协商主要

    2024年02月07日
    浏览(54)
  • webRTC实时通信demo

    https://www.jianshu.com/p/f439ce5cc0be https://www.w3cschool.cn/socket 由于CSDN限制了上传gif文件的大小,故整个操作流程拆分成以下几个步骤: 打开网页A获取本地视频: 点击呼叫交换网页的信令和ice信息并开始视频流推送: 点击挂断退出视频流推送: 为了方便展示完整的交互流程,网页

    2024年02月03日
    浏览(40)
  • 阿里云物联网平台如何通过云产品流转使两个设备互相通信

    目录 前言: 一、创建产品  二、设置云产品流转  三、测试  参考: 之间使用MQTT协议主要用于设备与云平台的通信,最近涉及到了两个ESP32之间的通信,所以了解到了阿里云的云产品流转。 而我们想要达到的目的是:   创建 产品 ,在此产品下创建 两个设备  设置产品名

    2024年01月16日
    浏览(62)
  • 四.Winform使用Webview2加载本地HTML页面并互相通信

    往期相关文章目录 专栏目录 实现刷新按钮 点击 C# winform 按钮可以调用 C# winform 代码显示到html上 点击 HTML 按钮可以调用 C# winform 代码更改html按钮字体 C# - html html-C# 确保mainView2的CoreWebView2异步初始化完成 在webview2的CoreWebView初始化之后设置属性 在coreWebview2完成时添加 WebMess

    2024年01月24日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包