6

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

我知道webrtc2sip可以用于连接到遗留网络,但如果可能的话,我宁愿避免使用另一个代理。那么,是否可以使用over连接到兼容SIP服务器,然后从该用户代理调用另一个不支持over而不使用 a 的服务器?SIPweb-socketsSIPweb-socketsgateway

4

3 回答 3

3

你是对的,基于 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 ] - Web 呼叫服务器 - [RTP UDP] - 任何 SIP/RTP 服务器

于 2014-04-02T15:49:27.663 回答
1

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

于 2013-11-22T11:38:19.623 回答
1

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

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

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

于 2014-04-23T06:18:20.370 回答