了解连接SIP服务器的webRTC网关

了解连接SIP服务器的webRTC网关,webrtc,asterisk,sip,kamailio,janus-gateway,Webrtc,Asterisk,Sip,Kamailio,Janus Gateway,我们有一个连接到呼叫中心的sip服务器。我们正在调查使用网站/本机应用程序上的webRTC API集成呼叫按钮,以连接到我们的呼叫中心(SIP服务器)。我一直在对此进行调查,发现我们需要使用一些软交换/网关来将webRTC转换为sip呼叫。但在阅读了许多关于webRTC到sip转换解决方案的文章/博客(OpenSIP、asterisk、Janus,有人建议我们可以使用JS客户机库,如Simple5、sip.JS等)后,我陷入了困惑 我真的不明白星号之类的软交换服务、Janus之类的网关和Simp

我们有一个连接到呼叫中心的sip服务器。我们正在调查使用网站/本机应用程序上的webRTC API集成呼叫按钮,以连接到我们的呼叫中心(SIP服务器)。我一直在对此进行调查,发现我们需要使用一些软交换/网关来将webRTC转换为sip呼叫。但在阅读了许多关于webRTC到sip转换解决方案的文章/博客(OpenSIP、asterisk、Janus,有人建议我们可以使用JS客户机库,如Simple5、sip.JS等)后,我陷入了困惑

我真的不明白星号之类的软交换服务、Janus之类的网关和Simple5.JS之类的JS库之间的区别


有人能帮助我理解为什么我们需要通过网关(如Janus等)提供软交换服务(星号)。

而SIP和WebRTC协议套件确实有一些不兼容的方面。因此,您需要一个网关服务器来允许SIP用户代理与WebRTC对等方通信

这是我最近尝试使用的一个粗略的图表和一个类似的问题

在图中,
SIP UAS
块是网关。它是一个SIP用户代理服务器(UAS),具有
SIP
WebRTC
堆栈

使问题进一步复杂化的是,
WebRTC
“标准”(这些“标准”仍在编写中)没有信令组件,因此没有与会话启动协议(SIP)等效的协议。在上图中,
Web套接字
连接用于发送信号,但它不是两种规范的一部分。WebRTC让应用程序决定如何完成信令(在WebRTC中,信令归结为交换SDP提供/应答和ICE候选者)


在媒体层,
SIP
使用
RTP
RTP
是与
SIP
完全独立的协议,但通常在谈论“SIP呼叫”时,它意味着
SIP
RTP
呼叫)
WebRTC
也使用
RTP
,但增加了加密(
SRTP
&
DTL
)、多路复用(
RTP
&
RTCP
)和连接协商(
ICE
)等额外功能。没有一个标准的SIP用户代理能够理解这些额外的信息,这意味着如果没有中间网关,它们就无法与<代码> WebRTC < /Cord>对等体通信。

一些SIP代理确实支持所有WebRTC特性,因此不需要网关。这些是最好使用的,因为您列出的所有功能都是端到端的!