[asterisk-users] Asterisk removes ice lines in sdp when calling between webrtc clients

Olli Heiskanen ohjelmistoarkkitehti at gmail.com
Mon Sep 8 12:40:02 CDT 2014


Hi,

My bad, below is the output for peer 661 and the log output, which does not
tell me much. I guess Asterisk assumes it's working correctly as there are
no errors etc, however for some reason the INVITE leaves Asterisk without
the ice definitions in the sdp. I must assume it's a configuration issue as
I've been modifying the sip peer table recently, and installed Asterisk 12,
then moved back to 11. I compiled the current 11.11.0 version from source,
starting from ./configure --with-crypto --with-ssl --with-srtp, make
menuselect etc.

*CLI> realtime load sippeers name 661
                   Column Name  Column Value
          --------------------  --------------------
                            id  6
                          type  friend
                          name  661
                          host  dynamic
                        secret
                    encryption  yes
                          avpf  yes
                    icesupport  yes
                        ipaddr  PU.BL.IC.IP
                          port  5060
                    regseconds  1410190721
                   defaultuser  661
                   fullcontact  sip:661 at PU.BL.IC.IP:5060
                        lastms  0
                     useragent
                       context  default
                   directmedia  no
                          deny  0.0.0.0/0.0.0.0
                        permit  PU.BL.IC.IP
                           nat  force_rport,comedia
                      language
                      disallow
                         allow
                     force_avp  yes
                      callerid
                      amaflags
                       mailbox
                      regexten
                     regserver
                    fromdomain  testers.com
                  videosupport  no
                 contactpermit
                   contactdeny
                      fullname  661 win8 minipc
                  hasvoicemail
                  subscribemwi
                    dtlsenable  yes
                    dtlsverify  no
                  dtlscertfile  /etc/asterisk/keys/asterisk.pem
                dtlsprivatekey  /etc/asterisk/keys/asterisk.pem
                     dtlssetup  actpass
                     sippasswd  f825851fe6805899cb141bd469457829
                          rpid
                        domain  testers.com
                    sippasswd2


[Sep  8 21:18:12] VERBOSE[9315][C-00000002] netsock2.c:   == Using SIP RTP
TOS bits 184
[Sep  8 21:18:12] VERBOSE[9315][C-00000002] netsock2.c:   == Using SIP RTP
CoS mark 5
[Sep  8 21:18:12] VERBOSE[9406][C-00000002] pbx.c:     -- Executing
[661 at default:1] NoOp("SIP/660-00000002", "general : Dialed 661") in new
stack
[Sep  8 21:18:12] VERBOSE[9406][C-00000002] pbx.c:     -- Executing
[661 at default:2] Dial("SIP/660-00000002", "SIP/661,3600,rt") in new stack
[Sep  8 21:18:12] VERBOSE[9406][C-00000002] netsock2.c:   == Using SIP RTP
TOS bits 184
[Sep  8 21:18:12] VERBOSE[9406][C-00000002] netsock2.c:   == Using SIP RTP
CoS mark 5
[Sep  8 21:18:12] VERBOSE[9406][C-00000002] app_dial.c:     -- Called
SIP/661
[Sep  8 21:18:13] VERBOSE[9406][C-00000002] app_dial.c:   == Everyone is
busy/congested at this time (1:0/0/1)
[Sep  8 21:18:13] VERBOSE[9406][C-00000002] pbx.c:     -- Executing
[661 at default:3] Hangup("SIP/660-00000002", "") in new stack
[Sep  8 21:18:13] VERBOSE[9406][C-00000002] pbx.c:   == Spawn extension
(default, 661, 3) exited non-zero on 'SIP/660-00000002'




Here is the log output of my 661 sip.js client:
There the client receives an INVITE without ice data in the sdp, complains
about it and responds with a 488.


Mon Sep 08 2014 20:21:41 GMT+0300 (FLE Daylight Time) | sip.transport |
received WebSocket text message:

INVITE sip:lgvt0hci at lqne1q8dttn3.invalid;transport=ws SIP/2.0
Record-Route: <sip:PU.BL.IC.IP;transport=ws;r2=on;lr=on;ftag=as40c12073>
Record-Route: <sip:PU.BL.IC.IP;r2=on;lr=on;ftag=as40c12073>
Via: SIP/2.0/WS
 PU.BL.IC.IP;branch=z9hG4bKff35.a9b596f609aadeccdf58183a9fe4fcba.1
Via: SIP/2.0/UDP PU.BL.IC.IP:5070;branch=z9hG4bK39a2221b;rport=5070
Max-Forwards: 69
From: "660 win8" <sip:660 at testers.com>;tag=as40c12073
To: <sip:661 at PU.BL.IC.IP:5060>
Contact: <sip:660 at PU.BL.IC.IP:5070>
Call-ID: 597260a76cb0cb9155392f3a3c0be217 at testers.com
CSeq: 102 INVITE
User-Agent: I Am the Devil
Date: Mon, 08 Sep 2014 17:21:34 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO,
PUBLISH, MESSAGE
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 439

v=0
o=root 1283889088 1283889088 IN IP4 PU.BL.IC.IP
s=Asterisk PBX 11.11.0
c=IN IP4 PU.BL.IC.IP
t=0 0
m=audio 16822 RTP/SAVPF 0 3 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=connection:new
a=setup:actpass
a=fingerprint:SHA-256
CE:EE:D9:28:EA:B0:6E:D0:CE:4F:5A:9A:FB:53:66:74:83:47:18:37:2F:76:C1:6D:10:C0:EE:FF:A4:56:F4:05
a=sendrecv

...

Mon Sep 08 2014 20:21:41 GMT+0300 (FLE Daylight Time) | sip.transport |
sending WebSocket message:

SIP/2.0 100 Trying
Via: SIP/2.0/WS
 PU.BL.IC.IP;branch=z9hG4bKff35.a9b596f609aadeccdf58183a9fe4fcba.1
Via: SIP/2.0/UDP PU.BL.IC.IP:5070;branch=z9hG4bK39a2221b;rport=5070
To: <sip:661 at PU.BL.IC.IP:5060>
From: "660 win8" <sip:660 at testers.com>;tag=as40c12073
Call-ID: 597260a76cb0cb9155392f3a3c0be217 at testers.com
CSeq: 102 INVITE
Supported: gruu,outbound
Content-Length: 0

...

Mon Sep 08 2014 20:21:41 GMT+0300 (FLE Daylight Time) |
sip.inviteservercontext | invalid SDP sip-0.6.2.js:2655
Mon Sep 08 2014 20:21:41 GMT+0300 (FLE Daylight Time) |
sip.inviteservercontext | Failed to set remote offer sdp: Called with SDP
without ice-ufrag and ice-pwd. sip-0.6.2.js:2655
Mon Sep 08 2014 20:21:41 GMT+0300 (FLE Daylight Time) | sip.transport |
sending WebSocket message:

SIP/2.0 488 Not Acceptable Here
Via: SIP/2.0/WS
 PU.BL.IC.IP;branch=z9hG4bKff35.a9b596f609aadeccdf58183a9fe4fcba.0
Via: SIP/2.0/UDP PU.BL.IC.IP:5070;branch=z9hG4bK39a2221b;rport=5070
To: <sip:661 at PU.BL.IC.IP:5060>;tag=cl8lmb52gl
From: "660 win8" <sip:660 at testers.com>;tag=as40c12073
Call-ID: 597260a76cb0cb9155392f3a3c0be217 at testers.com
CSeq: 102 INVITE
Supported: gruu,outbound
Content-Length: 0

...

Mon Sep 08 2014 20:21:41 GMT+0300 (FLE Daylight Time) | sip.transport |
received WebSocket text message:

ACK sip:v1vbuq35 at 0i03dp4lli27.invalid;transport=ws SIP/2.0
Via: SIP/2.0/WS
 PU.BL.IC.IP;branch=z9hG4bKff35.a9b596f609aadeccdf58183a9fe4fcba.0
Max-Forwards: 69
From: "660 win8" <sip:660 at testers.com>;tag=as40c12073
To: <sip:661 at PU.BL.IC.IP:5060>;tag=cl8lmb52gl
Call-ID: 597260a76cb0cb9155392f3a3c0be217 at testers.com
CSeq: 102 ACK
Content-Length: 0





Thanks,
Olli



2014-09-08 18:50 GMT+03:00 Matthew Jordan <mjordan at digium.com>:

>
>
> On Mon, Sep 8, 2014 at 10:19 AM, Olli Heiskanen <
> ohjelmistoarkkitehti at gmail.com> wrote:
>
>> Hi Matthew,
>>
>> Here's the debug output:
>>
>>
>>
>>
>>
>> <--- SIP read from UDP:PU.BL.IC.IP:5060 --->
>> INVITE sip:661 at testers.com SIP/2.0
>> Record-Route: <sip:PU.BL.IC.IP;r2=on;lr=on;ftag=856i7ei98p;nat=yes>
>> Record-Route:
>> <sip:PU.BL.IC.IP;transport=ws;r2=on;lr=on;ftag=856i7ei98p;nat=yes>
>> Via: SIP/2.0/UDP
>> PU.BL.IC.IP;branch=z9hG4bK3cb9.e83bde7c484eec5374f679e7232435af.0
>> Via: SIP/2.0/WS
>> 8d833dsg4asm.invalid;rport=47184;received=CL.IE.NT.IP;branch=z9hG4bK3627044
>> Max-Forwards: 69
>> To: <sip:661 at testers.com>
>> From: "660" <sip:660 at testers.com>;tag=856i7ei98p
>> Call-ID: oc0ppijresm05k2emsgt
>> CSeq: 3394 INVITE
>> Contact: <sip:660 at testers.com
>> ;gr=urn:uuid:81780308-9304-4e37-984f-a2e864b17bd3;alias=CL.IE.NT.IP~47184~5;alias=CL.IE.NT.IP~47184~5>
>> Allow: ACK,CANCEL,BYE,OPTIONS,INFO,NOTIFY,INVITE,MESSAGE
>> Content-Type: application/sdp
>> Supported: gruu,outbound
>> User-Agent: SIP.js/0.6.2
>> Content-Length: 1862
>>
>> v=0
>> o=- 9082254022026432015 2 IN IP4 PU.BL.IC.IP
>> s=-
>> t=0 0
>> a=group:BUNDLE audio
>> a=msid-semantic: WMS JtsXs3B8wXmgyUYVkUGWHBYVYgX0aSC38IWx
>> m=audio 10862 RTP/SAVPF 111 103 104 0 8 106 105 13 126
>> c=IN IP4 PU.BL.IC.IP
>> a=candidate:3350409123 1 udp 2122194687 192.168.0.101 65339 typ host
>> generation 0
>> a=candidate:3350409123 2 udp 2122194687 192.168.0.101 65339 typ host
>> generation 0
>> a=candidate:2301678419 1 tcp 1518214911 192.168.0.101 0 typ host
>> generation 0
>> a=candidate:2301678419 2 tcp 1518214911 192.168.0.101 0 typ host
>> generation 0
>> a=candidate:1190865175 1 udp 1685987071 CL.IE.NT.IP 65339 typ srflx raddr
>> 192.168.0.101 rport 65339 generation 0
>> a=candidate:1190865175 2 udp 1685987071 CL.IE.NT.IP 65339 typ srflx raddr
>> 192.168.0.101 rport 65339 generation 0
>> a=ice-ufrag:7N23UxBo9XUgx9pJ
>> a=ice-pwd:jL7AIeiJD5byGDSapfSftPRl
>> a=ice-options:google-ice
>> a=fingerprint:sha-256
>> 93:E7:FC:E6:C2:74:71:2F:4F:81:43:7D:0C:A1:0F:C9:FC:3B:85:E6:44:2F:5A:39:05:79:DD:A6:0B:05:49:80
>> a=setup:actpass
>> a=mid:audio
>> a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
>> a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
>> 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:1842567493 cname:aJCyVX5iKPNU6Gf8
>> a=ssrc:1842567493 msid:JtsXs3B8wXmgyUYVkUGWHBYVYgX0aSC38IWx
>> 01a46fec-8a85-412d-9905-dcbefb8952b6
>> a=ssrc:1842567493 mslabel:JtsXs3B8wXmgyUYVkUGWHBYVYgX0aSC38IWx
>> a=ssrc:1842567493 label:01a46fec-8a85-412d-9905-dcbefb8952b6
>> a=sendrecv
>> a=rtcp:10863
>> a=rtcp-mux
>> a=candidate:GjpvUWJxlvHL7PZ6 1 UDP 1518214655 PU.BL.IC.IP 10862 typ host
>> a=candidate:GjpvUWJxlvHL7PZ6 2 UDP 1518214654 PU.BL.IC.IP 10863 typ host
>> <------------->
>> --- (16 headers 42 lines) ---
>> Sending to PU.BL.IC.IP:5060 (no NAT)
>> Sending to PU.BL.IC.IP:5060 (no NAT)
>> Using INVITE request as basis request - oc0ppijresm05k2emsgt
>> Found peer '660' for '660' from PU.BL.IC.IP:5060
>>   == Using SIP RTP TOS bits 184
>>   == Using SIP RTP CoS mark 5
>> Found RTP audio format 111
>> Found RTP audio format 103
>> Found RTP audio format 104
>> Found RTP audio format 0
>> Found RTP audio format 8
>> Found RTP audio format 106
>> Found RTP audio format 105
>> Found RTP audio format 13
>> Found RTP audio format 126
>> Found unknown media description format opus for ID 111
>> Found unknown media description format ISAC for ID 103
>> Found unknown media description format ISAC for ID 104
>> Found audio description format PCMU for ID 0
>> Found audio description format PCMA for ID 8
>> Found unknown media description format CN for ID 106
>> Found unknown media description format CN for ID 105
>> Found audio description format CN for ID 13
>> Found audio description format telephone-event for ID 126
>> Capabilities: us - (gsm|ulaw|alaw|h263|testlaw), peer -
>> audio=(ulaw|alaw)/video=(nothing)/text=(nothing), combined - (ulaw|alaw)
>> Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x3
>> (telephone-event|CN|), combined - 0x1 (telephone-event|)
>> Peer audio RTP is at port PU.BL.IC.IP:10862
>> Looking for 661 in default (domain testers.com)
>> list_route: hop: <sip:PU.BL.IC.IP;r2=on;lr=on;ftag=856i7ei98p;nat=yes>
>> list_route: hop:
>> <sip:PU.BL.IC.IP;transport=ws;r2=on;lr=on;ftag=856i7ei98p;nat=yes>
>>
>> <--- Transmitting (NAT) to PU.BL.IC.IP:5060 --->
>> SIP/2.0 100 Trying
>> Via: SIP/2.0/UDP
>> PU.BL.IC.IP;branch=z9hG4bK3cb9.e83bde7c484eec5374f679e7232435af.0;received=PU.BL.IC.IP;rport=5060
>> Via: SIP/2.0/WS
>> 8d833dsg4asm.invalid;rport=47184;received=CL.IE.NT.IP;branch=z9hG4bK3627044
>> Record-Route: <sip:PU.BL.IC.IP;r2=on;lr=on;ftag=856i7ei98p;nat=yes>
>> Record-Route:
>> <sip:PU.BL.IC.IP;transport=ws;r2=on;lr=on;ftag=856i7ei98p;nat=yes>
>> From: "660" <sip:660 at testers.com>;tag=856i7ei98p
>> To: <sip:661 at testers.com>
>> Call-ID: oc0ppijresm05k2emsgt
>> CSeq: 3394 INVITE
>> Server: I Am the Devil
>> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO,
>> PUBLISH, MESSAGE
>> Supported: replaces, timer
>> Contact: <sip:661 at PU.BL.IC.IP:5070>
>> Content-Length: 0
>>
>>
>> <------------>
>>     -- Executing [661 at default:1] NoOp("SIP/660-00000007", "general :
>> Dialed 661") in new stack
>>     -- Executing [661 at default:2] Dial("SIP/660-00000007",
>> "SIP/661,3600,rt") in new stack
>>   == Using SIP RTP TOS bits 184
>>   == Using SIP RTP CoS mark 5
>> Audio is at 18366
>> Adding codec 100003 (ulaw) to SDP
>> Adding codec 100002 (gsm) to SDP
>> Adding codec 100004 (alaw) to SDP
>> Adding codec 100017 (testlaw) to SDP
>> Adding non-codec 0x1 (telephone-event) to SDP
>> Reliably Transmitting (NAT) to PU.BL.IC.IP:5060:
>> INVITE sip:661 at PU.BL.IC.IP:5060 SIP/2.0
>> Via: SIP/2.0/UDP PU.BL.IC.IP:5070;branch=z9hG4bK4e738afa;rport
>> Max-Forwards: 70
>> From: "660 win8" <sip:660 at testers.com>;tag=as73376885
>> To: <sip:661 at PU.BL.IC.IP:5060>
>> Contact: <sip:660 at PU.BL.IC.IP:5070>
>> Call-ID: 2f70cc9567be50a46ba2879d4391a7dc at testers.com
>> CSeq: 102 INVITE
>> User-Agent: I Am the Devil
>> Date: Mon, 08 Sep 2014 15:15:37 GMT
>> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO,
>> PUBLISH, MESSAGE
>> Supported: replaces, timer
>> Content-Type: application/sdp
>> Content-Length: 437
>>
>> v=0
>> o=root 630896079 630896079 IN IP4 PU.BL.IC.IP
>> s=Asterisk PBX 11.11.0
>> c=IN IP4 PU.BL.IC.IP
>> t=0 0
>> m=audio 18366 RTP/SAVPF 0 3 8 101
>> a=rtpmap:0 PCMU/8000
>> a=rtpmap:3 GSM/8000
>> a=rtpmap:8 PCMA/8000
>> a=rtpmap:101 telephone-event/8000
>> a=fmtp:101 0-16
>> a=ptime:20
>> a=connection:new
>> a=setup:actpass
>> a=fingerprint:SHA-256
>> CE:EE:D9:28:EA:B0:6E:D0:CE:4F:5A:9A:FB:53:66:74:83:47:18:37:2F:76:C1:6D:10:C0:EE:FF:A4:56:F4:05
>> a=sendrecv
>>
>> ---
>>
>>
> That's not really DEBUG output - just VERBOSE output from the CLI with
> 'sip set debug on'.
>
> That aside, your initial e-mail provided the configuration for SIP peer
> 660, but not for SIP peer 661. In your dialplan, you are dialling SIP peer
> 661:
>
>     -- Executing [661 at default:2] Dial("SIP/660-00000007",
> "SIP/661,3600,rt") in new stack
>   == Using SIP RTP TOS bits 184
>   == Using SIP RTP CoS mark 5
>
> What is their configuration?
>
>
> --
> Matthew Jordan
> Digium, Inc. | Engineering Manager
> 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
> Check us out at: http://digium.com & http://asterisk.org
>
> --
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> New to Asterisk? Join us for a live introductory webinar every Thurs:
>                http://www.asterisk.org/hello
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20140908/522a1671/attachment.html>


More information about the asterisk-users mailing list