【问题标题】:SIP over websockets to true SIPSIP over websockets 到真正的 SIP
【发布时间】:2013-11-21 12:38:48
【问题描述】:

我正在尝试实现一个 sip 服务器,用于从HTML sip 客户端(使用 sipml5 制作)连接。在我研究这样做的过程中,我遇到了 sip over web-sockets 这可能对我有用,但是,我不确定通过 sip over web-sockets 连接到兼容服务器的用户代理是否能够成功使用不兼容的服务器呼叫某人(即通过web-sockets 从 SIP 呼叫到真正的 SIP)。

我知道webrtc2sip 可用于连接旧版网络,但我宁愿尽可能避免使用其他代理。那么,是否可以使用SIP over web-sockets 连接到兼容的SIP 服务器,然后在不使用gateway 的情况下通过web-sockets 从这个用户代理调用另一个不支持SIP 的服务器?

【问题讨论】:

  • 您可以使用同时支持传统 SIP(​​通过 TCP/UDP)和 WebSockets 的 SIP 服务器来实现网关功能。 Mobicents SIP Servlets 就是一个支持技术的例子(参见code.google.com/p/sipservlets/wiki/Welcome?tm=6)。
  • 是否会像通过支持两者的代理连接用户代理一样简单,或者某些标头需要修补/媒体编码/等?
  • 这个问题的答案取决于您的端点(sipml5 和其他一些未指定的 SIP UA)的互操作性。需要明确的是,您需要在 Mobicents SIP Servlet 中实现代理。毕竟,网关功能必须在某处完成。

标签: websocket sip webrtc sip-server


【解决方案1】:

你是对的,基于 Websockets 的 SIP 是一个草案,而不是规范。而且我不知道有多少 SIP 供应商支持这个草案。

可能的解决方案是真正的 websocket-SIP 网关。例如,Flashphoner Web Call Server 被实现为网关,它通过 websockets 与浏览器一起工作,并通过 SIP(​​TCP 和 UDP)与 SIP 服务器一起工作。因此,它与任何支持 RFC3261 - 标准 SIP 规范的服务器兼容。

简单的信令方案是:

浏览器 - [Websockets] - Web 呼叫服务器 - [SIP TCP, UDP] - 任何 SIP 服务器

简单的流式传输方案:

浏览器 - [WebRTC = SRTP、DTLS、ICE、STUN] - 网络呼叫服务器 - [RTP UDP] - 任何 SIP/RTP 服务器

【讨论】:

    【解决方案2】:

    另一种方法是使用 kamailio,因为它同时理解 sip 和 ws sip。

    当您说“实现 sip 服务器”时,它是一个简单的注册器或代理服务器,还是您想要 cal 控制逻辑/存在其他功能?

    在所有情况下,kamailio 都满足所有要求,而且它是开源的。

    【讨论】:

      【解决方案3】:

      Mobicents SIP Servlets 示例已经提供了一个 B2BUA 应用程序来为您处理这些问题。媒体是点对点的(或通过TURN中继服务器),但如果您需要桥接到媒体服务器,您确实可以修补SDP主体,使各方的媒体通过媒体服务器(待定)它支持来自 WebRTC、DTLS-SRTP 等的媒体相关编解码器,以添加会议、录制类型的功能。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-07-01
        • 2011-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-07
        • 1970-01-01
        相关资源
        最近更新 更多