I’m having what is probably a simple configuration issue that I’m having some trouble tracking down. I’ve set up a fresh Asterisk install (11.7 RC1) and am trying to connect to it over the Internet using WebRTC (using the steps outlined in the docs: wiki.asterisk.org/wiki/display/ … TC+Support), audio only. I’ve tried using both Sipml5 and JSSIP on the client. I turned SIP and RTP debugging on and here’s what I’m seeing:
SIP Registration, server:
[code]== WebSocket connection from ‘71.234.235.104:41935’ for protocol ‘sip’ accepted using version ‘13’
<— SIP read from WS:71.234.235.104:41935 —>
REGISTER sip:162.243.116.82 SIP/2.0
Via: SIP/2.0/WS df7jal23ls0d.invalid;branch=z9hG4bKeET8TlwwasyM4k2TLvKkfp9lN2Z6Lq6h;rport
From: "WebRTCClient"sip:WebRTCClient@162.243.116.82;tag=mmpTqBd0tOnufwWq6FIa
To: "WebRTCClient"sip:WebRTCClient@162.243.116.82
Contact: "WebRTCClient"sip:WebRTCClient@df7jal23ls0d.invalid;rtcweb-breaker=no;transport=ws;expires=200;click2call=no;+g.oma.sip-im;+audio;language="en,fr"
Call-ID: daa031ec-3d22-088a-5a62-c3af858e7179
CSeq: 19622 REGISTER
Content-Length: 0
Max-Forwards: 70
User-Agent: IM-client/OMA1.0 sipML5-v1.2013.08.10B
Organization: Doubango Telecom
Supported: path
<------------->
— (12 headers 0 lines) —
– Registered SIP ‘WebRTCClient’ at 71.234.235.104:41935
<— Transmitting (NAT) to 71.234.235.104:41935 —>
SIP/2.0 200 OK
Via: SIP/2.0/WS df7jal23ls0d.invalid;branch=z9hG4bKeET8TlwwasyM4k2TLvKkfp9lN2Z6Lq6h;received=71.234.235.104;rport=41935
From: "WebRTCClient"sip:WebRTCClient@162.243.116.82;tag=mmpTqBd0tOnufwWq6FIa
To: "WebRTCClient"sip:WebRTCClient@162.243.116.82;tag=as4b80b1fd
Call-ID: daa031ec-3d22-088a-5a62-c3af858e7179
CSeq: 19622 REGISTER
Server: Sipml5
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Expires: 200
Contact: sip:WebRTCClient@df7jal23ls0d.invalid;rtcweb-breaker=no;transport=ws;expires=200
Date: Fri, 06 Dec 2013 17:27:24 GMT
Content-Length: 0
<------------>
Scheduling destruction of SIP dialog ‘daa031ec-3d22-088a-5a62-c3af858e7179’ in 32000 ms (Method: REGISTER)[/code]
SIP registration, client:
[code]SIPML5 API version = 1.3.203 SIPml-api.js?svn=179:1
location=http://sipml5.org/call.htm?svn=203# call.htm?svn=203:147
User-Agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36 SIPml-api.js?svn=179:1
WebSocket supported = yes SIPml-api.js?svn=179:1
Navigator friendly name = chrome SIPml-api.js?svn=179:1
OS friendly name = mac SIPml-api.js?svn=179:1
Have WebRTC = yes SIPml-api.js?svn=179:1
Have GUM = yes SIPml-api.js?svn=179:1
Engine initialized SIPml-api.js?svn=179:1
event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
s_websocket_server_url=ws://162.243.116.82:8088/ws SIPml-api.js?svn=179:1
s_sip_outboundproxy_url=(null) SIPml-api.js?svn=179:1
b_rtcweb_breaker_enabled=no SIPml-api.js?svn=179:1
b_click2call_enabled=no SIPml-api.js?svn=179:1
b_early_ims=yes SIPml-api.js?svn=179:1
b_enable_media_stream_cache=no SIPml-api.js?svn=179:1
o_bandwidth={} SIPml-api.js?svn=179:1
o_video_size={} SIPml-api.js?svn=179:1
SIP stack start: proxy=‘ns313841.ovh.net:11060’, realm=‘sip:162.243.116.82’, impi=‘WebRTCClient’, impu=’"WebRTCClient"sip:WebRTCClient@162.243.116.82’ SIPml-api.js?svn=179:1
Connecting to ‘ws://162.243.116.82:8088/ws’ SIPml-api.js?svn=179:1
==stack event = starting SIPml-api.js?svn=179:1
__tsip_transport_ws_onopen SIPml-api.js?svn=179:1
==stack event = started SIPml-api.js?svn=179:1
State machine: tsip_dialog_register_Started_2_InProgress_X_oRegister SIPml-api.js?svn=179:1
SEND: REGISTER sip:162.243.116.82 SIP/2.0
Via: SIP/2.0/WS df7jal23ls0d.invalid;branch=z9hG4bKeET8TlwwasyM4k2TLvKkfp9lN2Z6Lq6h;rport
From: "WebRTCClient"sip:WebRTCClient@162.243.116.82;tag=mmpTqBd0tOnufwWq6FIa
To: "WebRTCClient"sip:WebRTCClient@162.243.116.82
Contact: "WebRTCClient"sip:WebRTCClient@df7jal23ls0d.invalid;rtcweb-breaker=no;transport=ws;expires=200;click2call=no;+g.oma.sip-im;+audio;language="en,fr"
Call-ID: daa031ec-3d22-088a-5a62-c3af858e7179
CSeq: 19622 REGISTER
Content-Length: 0
Max-Forwards: 70
User-Agent: IM-client/OMA1.0 sipML5-v1.2013.08.10B
Organization: Doubango Telecom
Supported: path
SIPml-api.js?svn=179:1
==session event = connecting SIPml-api.js?svn=179:1
==session event = sent_request SIPml-api.js?svn=179:1
__tsip_transport_ws_onmessage SIPml-api.js?svn=179:1
recv=SIP/2.0 200 OK
Via: SIP/2.0/WS df7jal23ls0d.invalid;rport=41935;received=71.234.235.104;branch=z9hG4bKeET8TlwwasyM4k2TLvKkfp9lN2Z6Lq6h
From: "WebRTCClient"sip:WebRTCClient@162.243.116.82;tag=mmpTqBd0tOnufwWq6FIa
To: "WebRTCClient"sip:WebRTCClient@162.243.116.82;tag=as4b80b1fd
Contact: sip:WebRTCClient@df7jal23ls0d.invalid;rtcweb-breaker=no;transport=ws;expires=200
Call-ID: daa031ec-3d22-088a-5a62-c3af858e7179
CSeq: 19622 REGISTER
Expires: 200
Content-Length: 0
Server: Sipml5
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFY,INFO,PUBLISH
Supported: replaces,timer
Date: 06 Dec 2013 17:27:24 GMT;06
SIPml-api.js?svn=179:1
State machine: tsip_dialog_register_InProgress_2_Connected_X_2xx SIPml-api.js?svn=179:1
==session event = connected
State machine: tsip_dialog_register_Connected_2_InProgress_X_oRegister SIPml-api.js?svn=179:1
SEND: REGISTER sip:162.243.116.82 SIP/2.0
Via: SIP/2.0/WS df7jal23ls0d.invalid;branch=z9hG4bKmO5ynBn7ETDfkXLV5qk8B56M2KXZMhIb;rport
From: "WebRTCClient"sip:WebRTCClient@162.243.116.82;tag=mmpTqBd0tOnufwWq6FIa
To: "WebRTCClient"sip:WebRTCClient@162.243.116.82
Contact: "WebRTCClient"sip:WebRTCClient@df7jal23ls0d.invalid;rtcweb-breaker=no;transport=ws;expires=200;click2call=no;+g.oma.sip-im;+audio;language="en,fr"
Call-ID: daa031ec-3d22-088a-5a62-c3af858e7179
CSeq: 19623 REGISTER
Content-Length: 0
Max-Forwards: 70
User-Agent: IM-client/OMA1.0 sipML5-v1.2013.08.10B
Organization: Doubango Telecom
SIPml-api.js?svn=179:1
__tsip_transport_ws_onmessage SIPml-api.js?svn=179:1
recv=SIP/2.0 200 OK
Via: SIP/2.0/WS df7jal23ls0d.invalid;rport=41935;received=71.234.235.104;branch=z9hG4bKmO5ynBn7ETDfkXLV5qk8B56M2KXZMhIb
From: "WebRTCClient"sip:WebRTCClient@162.243.116.82;tag=mmpTqBd0tOnufwWq6FIa
To: "WebRTCClient"sip:WebRTCClient@162.243.116.82;tag=as078051c5
Contact: sip:WebRTCClient@df7jal23ls0d.invalid;rtcweb-breaker=no;transport=ws;expires=200
Call-ID: daa031ec-3d22-088a-5a62-c3af858e7179
CSeq: 19623 REGISTER
Expires: 200
Content-Length: 0
Server: Sipml5
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFY,INFO,PUBLISH
Supported: replaces,timer
Date: 06 Dec 2013 17:29:05 GMT;06
SIPml-api.js?svn=179:1
State machine: tsip_dialog_register_InProgress_2_Connected_X_2xx SIPml-api.js?svn=179:1
==session event = sent_request [/code]
Then, when I try to call into a conference, I get no audio, and RTP logs show a whole lot of this with no packets received:
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014258, ts 026720, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014259, ts 026880, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014260, ts 027040, len 000164)
-- <SIP/WebRTCClient-00000000> Playing 'confbridge-join.gsm' (language 'en')
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014261, ts 027200, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014262, ts 027360, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014263, ts 027520, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014264, ts 027680, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014265, ts 027840, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014266, ts 028000, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014267, ts 028160, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014268, ts 028320, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014269, ts 028480, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014270, ts 028640, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014271, ts 028800, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014272, ts 028960, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014273, ts 029120, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014274, ts 029280, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014275, ts 029440, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014276, ts 029600, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014277, ts 029760, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014278, ts 029920, len 000164)
-- <Bridge/0x7ffdb0002378-input> Playing 'confbridge-join.gsm' (language 'en')
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014279, ts 033144, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014280, ts 033304, len 000164)
Sent RTP packet to 71.234.235.104:34327 (type 00, seq 014281, ts 033464, len 000164)
And on the client, once I make the call:
[code]State machine: c0000_Started_2_Outgoing_X_oINVITE SIPml-api.js?svn=179:1
PeerConnectionClass = function RTCPeerConnection() { [native code] } SessionDescriptionClass = function RTCSessionDescription() { [native code] } IceCandidateClass = function RTCIceCandidate() { [native code] } SIPml-api.js?svn=179:1
ICE servers:[{“url”:“stun:stun.l.google.com:19302”},{“url”:“stun:stun.counterpath.net:3478”},{“url”:“stun:numb.viagenie.ca:3478”}] SIPml-api.js?svn=179:1
==stack event = m_permission_requested SIPml-api.js?svn=179:1
==session event = connecting SIPml-api.js?svn=179:1
onGetUserMediaSuccess SIPml-api.js?svn=179:1
createOffer SIPml-api.js?svn=179:1
onCreateSdpSuccess SIPml-api.js?svn=179:1
==stack event = m_permission_accepted SIPml-api.js?svn=179:1
==session event = m_stream_audio_local_added SIPml-api.js?svn=179:1
onSetLocalDescriptionSuccess SIPml-api.js?svn=179:1
onIceCandidate = undefined SIPml-api.js?svn=179:1
onIceCandidate = undefined SIPml-api.js?svn=179:1
onIceCandidate = undefined SIPml-api.js?svn=179:1
onIceCandidate = undefined SIPml-api.js?svn=179:1
onIceCandidate = undefined SIPml-api.js?svn=179:1
onIceCandidate = undefined SIPml-api.js?svn=179:1
onIceCandidate = undefined SIPml-api.js?svn=179:1
ICE GATHERING COMPLETED! SIPml-api.js?svn=179:1
onIceGatheringCompleted SIPml-api.js?svn=179:1
SEND: INVITE sip:602@162.243.116.82 SIP/2.0
Via: SIP/2.0/WS df7jal23ls0d.invalid;branch=z9hG4bKVlNAwXvOgDUIgdfsf0psNxlw2zMhZbcu;rport
From: "WebRTCClient"sip:WebRTCClient@162.243.116.82;tag=8Se4MBGpG5kr6JydAmtl
To: sip:602@162.243.116.82
Contact: "WebRTCClient"sip:WebRTCClient@df7jal23ls0d.invalid;rtcweb-breaker=no;click2call=no;transport=ws;+g.oma.sip-im;+sip.ice;language="en,fr"
Call-ID: 6d618654-8e4f-cf0d-c7d9-2c70cc73050b
CSeq: 24894 INVITE
Content-Type: application/sdp
Content-Length: 1826
Max-Forwards: 70
User-Agent: IM-client/OMA1.0 sipML5-v1.2013.08.10B
Organization: Doubango Telecom
v=0
o=- 8391975185657087000 2 IN IP4 127.0.0.1
s=Doubango Telecom - chrome
t=0 0
a=group:BUNDLE audio
a=msid-semantic: WMS dPiG5yvOH9jdjI81oipXlDLGeCodt6LHiMie
m=audio 33153 RTP/SAVPF 111 103 104 0 8 106 105 13 126
c=IN IP4 71.234.235.104
a=rtcp:33153 IN IP4 71.234.235.104
a=candidate:1407141326 1 udp 2113937151 10.0.1.2 55659 typ host generation 0
a=candidate:1407141326 2 udp 2113937151 10.0.1.2 55659 typ host generation 0
a=candidate:1824104935 1 udp 1845501695 71.234.235.104 33153 typ srflx raddr 10.0.1.2 rport 55659 generation 0
a=candidate:1824104935 2 udp 1845501695 71.234.235.104 33153 typ srflx raddr 10.0.1.2 rport 55659 generation 0
a=candidate:492615998 1 tcp 1509957375 10.0.1.2 0 typ host generation 0
a=candidate:492615998 2 tcp 1509957375 10.0.1.2 0 typ host generation 0
a=ice-ufrag:HviNji6VV5zVVhrs
a=ice-pwd:A+5Kpe9H3sy5Or27nq80BhPb
a=ice-options:google-ice
a=fingerprint:sha-256 9C:ED:BE:E4:29:C0:56:74:69:31:58:2F:C7:1D:BC:9D:08:86:DA:06:AE:E6:F1:AE:6E:34:C7:23:04:AE:99:AD
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=sendrecv
a=rtcp-mux
a=crypto:0 AES_CM_128_HMAC_SHA1_32 inline:mPQn5bRO7dsBZyEWOTJqsCPVT1fxvwgke69zrB1O
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:cT49WUHc3TopGvnQbhuG/hSujFTwAiCYTvoOZuY5
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:126 telephone-event/8000
a=maxptime:60
a=ssrc:988313808 cname:6IbvpvGRByBcKkIe
a=ssrc:988313808 msid:dPiG5yvOH9jdjI81oipXlDLGeCodt6LHiMie dPiG5yvOH9jdjI81oipXlDLGeCodt6LHiMiea0
a=ssrc:988313808 mslabel:dPiG5yvOH9jdjI81oipXlDLGeCodt6LHiMie
a=ssrc:988313808 label:dPiG5yvOH9jdjI81oipXlDLGeCodt6LHiMiea0
SIPml-api.js?svn=179:1
__tsip_transport_ws_onmessage SIPml-api.js?svn=179:1
recv=SIP/2.0 100 Trying
Via: SIP/2.0/WS df7jal23ls0d.invalid;rport=48954;received=71.234.235.104;branch=z9hG4bKVlNAwXvOgDUIgdfsf0psNxlw2zMhZbcu
From: "WebRTCClient"sip:WebRTCClient@162.243.116.82;tag=8Se4MBGpG5kr6JydAmtl
To: sip:602@162.243.116.82
Contact: sip:602@162.243.116.82:5060;transport=WS
Call-ID: 6d618654-8e4f-cf0d-c7d9-2c70cc73050b
CSeq: 24894 INVITE
Content-Length: 0
Server: Sipml5
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFY,INFO,PUBLISH
Supported: replaces,timer
SIPml-api.js?svn=179:1
State machine: x0000_Any_2_Any_X_i1xx SIPml-api.js?svn=179:1
==session event = i_ao_request SIPml-api.js?svn=179:1
__tsip_transport_ws_onmessage SIPml-api.js?svn=179:1
recv=SIP/2.0 200 OK
Via: SIP/2.0/WS df7jal23ls0d.invalid;rport=48954;received=71.234.235.104;branch=z9hG4bKVlNAwXvOgDUIgdfsf0psNxlw2zMhZbcu
From: "WebRTCClient"sip:WebRTCClient@162.243.116.82;tag=8Se4MBGpG5kr6JydAmtl
To: sip:602@162.243.116.82;tag=as0ca86c53
Contact: sip:602@162.243.116.82:5060;transport=WS
Call-ID: 6d618654-8e4f-cf0d-c7d9-2c70cc73050b
CSeq: 24894 INVITE
Content-Type: application/sdp
Content-Length: 376
Server: Sipml5
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFY,INFO,PUBLISH
Supported: replaces,timer
v=0
o=root 96033238 96033238 IN IP4 162.243.116.82
s=Asterisk PBX 11.7.0-rc1
c=IN IP4 162.243.116.82
t=0 0
m=audio 19194 RTP/SAVPF 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
a=crypto:0 AES_CM_128_HMAC_SHA1_32 inline:XOOBAO0T+B+69kwKTM1xP6Wfd/HfnPFzmDV9o2vZ
SIPml-api.js?svn=179:1
State machine: c0000_Outgoing_2_Connected_X_i2xxINVITE SIPml-api.js?svn=179:1
setRemoteDescription(answer)
v=0
o=root 96033238 96033238 IN IP4 162.243.116.82
s=Asterisk PBX 11.7.0-rc1
c=IN IP4 162.243.116.82
t=0 0
m=audio 19194 RTP/SAVPF 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
a=crypto:0 AES_CM_128_HMAC_SHA1_32 inline:XOOBAO0T+B+69kwKTM1xP6Wfd/HfnPFzmDV9o2vZ
SIPml-api.js?svn=179:1
SEND: ACK sip:602@162.243.116.82:5060;transport=WS SIP/2.0
Via: SIP/2.0/WS df7jal23ls0d.invalid;branch=z9hG4bKyNKVMdWe1AhBWtnNon4A;rport
From: "WebRTCClient"sip:WebRTCClient@162.243.116.82;tag=8Se4MBGpG5kr6JydAmtl
To: sip:602@162.243.116.82;tag=as0ca86c53
Contact: "WebRTCClient"sip:WebRTCClient@df7jal23ls0d.invalid;rtcweb-breaker=no;click2call=no;transport=ws;+g.oma.sip-im;+sip.ice;language="en,fr"
Call-ID: 6d618654-8e4f-cf0d-c7d9-2c70cc73050b
CSeq: 24894 ACK
Content-Length: 0
Max-Forwards: 70
User-Agent: IM-client/OMA1.0 sipML5-v1.2013.08.10B
Organization: Doubango Telecom
SIPml-api.js?svn=179:1
__on_add_stream SIPml-api.js?svn=179:1
onSetRemoteDescriptionSuccess SIPml-api.js?svn=179:1
==session event = m_early_media SIPml-api.js?svn=179:1
==session event = connected SIPml-api.js?svn=179:1
==session event = m_stream_audio_remote_added [/code]
Here’s my sip.conf:
[general]
context = public
realm = 162.243.116.82
bindaddr = 0.0.0.0
useragent = Sipml5
[webrtc-template](!)
type = friend
context = webrtc
host = dynamic
transport = ws,wss
avpf = yes
encryption = yes
[WebRTCClient](webrtc-template)
callerid = "WebRTCClient" <100>
The server is not behind NAT, but the client side is. Any ideas on what I may be doing wrong? Thank you in advance for any help!