SIP over websockets to true SIP

2019-04-29 11:00发布

问题:

I'm trying to implement a sip server for connecting to from an HTML sip client(made using sipml5). During my research into doing this I've come across sip over web-sockets which might be useful to me, however, I am unsure if a user agent connecting through sip over web-sockets to a compatible server would then be able to successfully make a call to some one using an incompatible server(i.e. calling from SIP over web-sockets to true SIP).

I know webrtc2sip can be used for connecting to legacy networks but I would rather avoid using another proxy if at all possible. So, is it possible to connect to a compatible SIP server using SIP over web-sockets then make a call from this user agent to another that does not support SIP over web-sockets without using a gateway?

回答1:

You are right, SIP over Websockets is a draft, not specification. And I do not know many SIP vendors who support this draft.

Possible solution is truly websocket-SIP gateway. For example Flashphoner Web Call Server is implemented as a gateway which works through websockets with browser and works via SIP(TCP and UDP) with SIP servers. Therefore it is compatible with any server that supports RFC3261 - standard SIP specification.

Brief signaling scheme is:

Browser - [Websockets] - Web Call Server - [SIP TCP, UDP] - any SIP Server

Brief streaming scheme:

Browser - [WebRTC = SRTP, DTLS, ICE, STUN ] - Web Call Server - [RTP UDP] - any SIP/RTP Server



回答2:

Mobicents SIP Servlets Example already provides a B2BUA Application taking care of that for you. The Media is peer to peer (or through a TURN Relay Server) but if you need to bridge to a Media Server, you can indeed patch the SDP Body to make the media of each party go through the Media Server (pending it supports Media related codecs from WebRTC, DTLS-SRTP etc) to add conferencing, recording type of capabilities.



回答3:

An alternate way is to use kamailio as it understands both sip and ws sip .

when you say "implementing a sip server " is it a simple registrar or proxy server or you want cal control logic / presence other features ?

In all cases kamailio fulfills all requirements , plus it is opensource .