I have been trying to get WebRTC working with OpenSIPS v2.4 and rtpengine version "git-master-3102357" Testing has been tried using both Chrome and Firefox browsers running on Windows 10 PCs combined with two different web-host-servers: (1) A home-grown sip.js page and (2) the ctxSIP trial client available at collecttix.github.io/ctxSip
Test calls from the WebRTC client to an Asterisk server, via OpenSIPS and rtpengine, are working okay. However, I cannot get calls to work the other way. The WebRTC client registers okay. It appears in the location table with typical values like this: Username=1002 Contact= sip:mch27rvr@bcdtsq8dhvt4.invalid;transport=ws Received= sip:123.45.67.89:15752;transport=wss Cflags= WS_DEVICE NATTED_CLIENT User-agent= SIP.js/0.11.3 (my sip.js) OR SIP.js/0.7.8 (ctx client) Here is what happens when I make a call from Asterisk to user 1002: Using Chrome or Firefox with my own sip.js web page: It initiates ringing on the browser-based client (the caller's name is shown correctly), but when I click the Answer button, the call fails. The SIP time sequence between OpenSIPS and the WebRTC client looks like this: -----> INVITE with SDP <---- 100 Trying <---- 180 Ringing Browser page shows incoming call and displays correct caller display name I click the Answer button <--- 480 Temporarily Unavailable On the web page it reports: Call cancelled: Cause: WebRTC Error Using Chrome with the ctxSip client: The browser-based client rejects the call as soon as the INVITE is received. -----> INVITE with SDP <---- 100 Trying <---- 488 Not Acceptable Here Using Firefox with the ctxSip client: The browser-based client shows an incoming call and the caller's display name is shown correctly. It offers a green and a red button to respond to the call. I press the green button and the call ends immediately. -----> INVITE with SDP <---- 100 Trying <---- 180 Ringing Browser page shows incoming call and displays correct caller display name I click the Answer button <--- 480 Temporarily Unavailable The browser window simply reports "Terminated". Any help or ideas would be very welcome. I've tried everything I can think of including changes to the codecs offered and various adjustments to the arguments passed (e.g. rtcp-mux, ICE) in rtpengine_offer(). My current arguments string is like this: "trust-address replace-origin replace-session-connection rtcp-mux-offer ICE=force codec-strip-G729 transcode-PCMU RTP/SAVPF" My JavaScript skills are minimal. I think there must be a way to get more debug info from sip.js, but I cannot figure it out. If anyone can post a sample of the code showing how to activate the debug logging that would be really useful. I'm not even sure where the log output would be written. Could it be relevant that rtpengine and OpenSIPS, although both running on one server, are bound to different IP addresses? John Quick Smartvox Limited _______________________________________________ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users