sip转webrtc方案

技术选型

由于很多企业会议协议用的主要是webrtc,但是项目上很多时候的一些旧设备只支持sip协议,并不支持webrtc协议。所以sip和webrtc的相互转换就很有必要。

流媒体服务mediasoup本身并不支持sip协议。那么如何实现sip转webrtc呢?

根据调研情况,janus sip gateway网关能够实现sip与webrtc的相互转换。

我们可以将Janus Gateway部署为一个中间件,它位于WebRTC客户端和SIP网络之间。WebRTC客户端通过Janus与SIP网络进行通信,而Janus则通过SIP网关插件与开源SIP服务(如Asterisk、FreeSWITCH、Kamailio或OpenSIPS)进行交互。

说明:janus本身支持sip转webrtc,但是janus作为流媒体服务有一定的缺陷,第一,他的开发语言是c语言,学习及维护成本高,第二,janus 的视频抗弱网层面相比其他服务器是弱的。因此,这里只是通过janus的sip gateway实现sip和webrtc的转换,mediasoup作为音视频媒体服务。

janus架构图

整体架构设计图

实现分工

1.sip客户端选型,信令及流数据源码分析

2.sip服务端选型(Asterisk,FreeSWITCH,Kamailio,OpenSIPS),框架及源码分析

3.janus信令及流传输源码分析

4.janus sip gateway模块源码研读,了解如何实现sip和webrtc的转换

5.掌握janus的plugin模块,能够新增一个自定义的plugin

6.在janus中新增一个plugin,作为mediasoup的客户端

实现主要功能:发起会议,结束会议,发起邀请,进入会议,推流,拉流

7.部署及测试

随后我会根据这7个模块进一步介绍这个项目的具体内容,敬请期待!

相关推荐
为思念酝酿的痛5 分钟前
线程同步与互斥
linux·运维·服务器·后端
土星云SaturnCloud12 分钟前
模型转换与部署实战(PyTorch→ONNX→BModel)
服务器·人工智能·ai·边缘计算
一条代码鱼13 分钟前
Linux 文件实时同步完全指南:Lsyncd vs Inotifywait+Rsync
linux·运维·服务器
艾莉丝努力练剑22 分钟前
【Linux网络】Linux 网络编程:传输层协议TCP(三)
linux·运维·服务器·网络·tcp/ip·http
DogDaoDao23 分钟前
深入解析 libaom:AV1 开源编解码库技术分析
google·开源·音视频·视频编解码·hevc·av1·libaom
朝阳58125 分钟前
MySQL 主从复制 — 双服务器灾备方案(原生安装)
服务器·数据库·mysql
keyipatience26 分钟前
21,22 (半)深入理解Linux重定向与缓冲区机制
linux·运维·服务器
闪电悠米26 分钟前
黑马点评-优惠券秒杀-04_one_user_one_order
服务器·网络·数据库
1024小神27 分钟前
在阿里云买的域名和服务器配置cloudflare的DNS解析,并配置cloudflare生成ssl证书可以用15年
服务器·阿里云·ssl
yyuuuzz31 分钟前
aws亚马逊云上运维常见问题梳理
运维·服务器·网络·云计算·aws