[Home]

Summary:ASTERISK-23191: Cannot get local SDP on incoming calls (WebRTC)
Reporter:Jay Jideliov (jideliov)Labels:
Date Opened:2014-01-27 17:58:17.000-0600Date Closed:2014-02-25 08:03:01.000-0600
Priority:MajorRegression?
Status:Closed/CompleteComponents:Resources/res_http_websocket
Versions:11.7.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Attachments:( 0) configs.txt
( 1) debuglog-cleared-ip.txt
( 2) Dump.txt.txt
( 3) fingerprint.txt
( 4) sip.conf
Description:This is an issue created as a follow-up to this comment (https://issues.asterisk.org/jira/browse/ASTERISK-21930?focusedCommentId=211742&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-211742) as well as due to us having the same issue when trying to receive incoming calls via WebRTC.


Asterisk 11.7 + SIPML5 + WSS, both Firefox and Chrome.


Devices register fine, and are able to make outgoing calls. However, the issue arises on incoming calls, when all we get is the error (cannot get local sdp) after which the line disconnects.
Comments:By: Jay Jideliov (jideliov) 2014-01-27 18:01:38.990-0600

[Edit by Rusty - removed inline debug]

By: Jay Jideliov (jideliov) 2014-01-27 18:01:52.594-0600

[Edit by Rusty - removed inline debug]

By: Matt Jordan (mjordan) 2014-01-27 18:02:19.546-0600

If you have logs, please attach them to this issue. Pasting large SIP messages as comments isn't very conducive to debugging :-)

By: Matt Jordan (mjordan) 2014-01-27 18:04:48.331-0600

I'm not sure how this is a bug in Asterisk.

The "Failed to get Local SDP" is coming from SIPml5. It would help if you could find out what about the SDP they don't like, but as it is, there isn't enough information here for us to determine what in the SDP is causing them a problem.


By: Jay Jideliov (jideliov) 2014-01-27 18:16:56.099-0600

I have contacted Doubango, and am waiting for their response as well. In addition, I believe we had previously achieved a setup in which the issue does not present itself (although I might be mistaken). We are currently working on finding it, but as far as I know someone has already experienced this issue and might offer some advice.

By: Jay Jideliov (jideliov) 2014-02-03 14:17:14.372-0600

Additional info that my help in troubleshooting this issue.


We are trying to establish a DTLS-SRTP-encrypted connection. On the outgoing call, we can see the following in the INVITE:

m=audio 50152 UDP/TLS/RTP/SAVPF 109 0 8 101

However, when Asterisk is bridging the connection, it sends the following INVITE:

m=audio 19798 RTP/SAVPF 0 3 8 101


However, SIPML5 is expecting UDP/TLS/RTP/SAVPF in the "m=" field.

Therefore, SIPML5 refuses the cooection with 603 Failed to get local SDP.

More info here: http://comments.gmane.org/gmane.comp.telephony.pbx.asterisk.devel/61967

By: Matt Jordan (mjordan) 2014-02-03 14:21:19.822-0600

Your recent comment description doesn't match your previous comments.

Please attach a full DEBUG log with 'sip set debug on' enabled to this issue. That should tell us exactly what Asterisk is doing.

By: Jay Jideliov (jideliov) 2014-02-03 14:28:45.920-0600

Dump attached.

By: Matt Jordan (mjordan) 2014-02-03 14:59:01.443-0600

That isn't a full DEBUG log. Please follow the instructions on the Asterisk wiki on generating a log file that contains debug information: https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information

By: Jay Jideliov (jideliov) 2014-02-04 00:09:48.388-0600

1060 & 1061 have the same ip (2.2.2.2)
Aterisk is on 1.1.1.1

By: Rusty Newton (rnewton) 2014-02-04 08:46:21.034-0600

Jay, can you post your sip.conf, rtp.conf configurations for these peers? Or their dumps from your DB if you are using a DB backend?

By: Rusty Newton (rnewton) 2014-02-04 17:17:47.622-0600

Deleted inline config file post and attaching as configs.txt

By: Rusty Newton (rnewton) 2014-02-04 17:31:16.334-0600

First, you have users.conf options in your sip.conf that won't do anything. Hopefully they are not causing issues. That is, *hasiax*,*hassip*,*autoprov* are all users.conf options. Remove those from your sip.conf configuration.

Second, you missing the "t" in "direcmedia=no" for peer 1060. That could definitely cause unexpected behavior for you.

Third, you have "allow=all" for your codec definitions, which almost never makes sense when you know what is on the other end. I also recently saw some strangeness with this. Why would you want Asterisk to offer and potentially accept a large variety of codecs when you know only one or two are supported by the far end?

Please fix the other issues and try
{noformat}
disallow=all
allow=ulaw
{noformat}
For your codec settings.

This looks to be a support issue and possibly not a bug, plus your whole configuration depends on patches that are not included yet (and could have bugs in themselves). If those fixes don't resolve your issue, then we'll go ahead and close out the issue pending inclusion of the patches you are using first. We need to fix one thing at a time.

By: Rusty Newton (rnewton) 2014-02-04 17:33:02.277-0600

Additionally, please don't attach debug in the *comments* fields. Please use More Actions > Attach Files to attach files. Thanks!

By: Jay Jideliov (jideliov) 2014-02-04 21:08:57.094-0600

Sorry, I had a miscommunication with my team, and have posted the users.conf, not the sip.conf file. I will attach the correct file shortly (attachments do make sense, thanks). However, there are no global settings except for realm and transport=udp,tls,ws,wss in our sip.conf file.

As to codecs - we are experimenting with a few things in a testing environment (we usually have disallow=all
allow=alaw,ulaw and still get to the issue in question.), so I believe those would not impact the subject of this discussion.

We have corrected "directmedia" (thanks!), but that also does not impact the situation (we have it spelled right in our other testing environments, but still have the "Failed to get Local SDP issue.



By: Jay Jideliov (jideliov) 2014-02-06 14:10:49.955-0600

Hello guys, sorry for the delayed response. Attached is the sip.conf file you requested.

In addition, I got a response from Doubango, stating:

"The SDP from Asterisk IS NOT CORRECT. Nothing to do with SIPML. SIPML is returning "Failed to get local SDP" because the WebRTC doesn't accept the incoming SDP and there is a good reason as it's incorrect."

By: Matt Jordan (mjordan) 2014-02-06 20:17:24.685-0600

Did they provide a reason why they think the SDP is incorrect?

By: Rusty Newton (rnewton) 2014-02-10 07:59:20.592-0600

Yup, if we don't know the "good reason" we can't fix the issue... Please ask them to specify what is incorrect about the SDP so we can address if needed.

By: Jay Jideliov (jideliov) 2014-02-18 13:41:04.582-0600

Because we are using DTLS, we are relying on the following key from the caller's side INVITE:


a=fingerprint:sha-256 40:30:A2:FD:C4:C8:CF:44:FB:7F:3C:4A:34:B2:08:25:CC:27:C7:78:16:8B:3D:34:5B:31:A5:28:3A:16:A0:FF


The full INVITE (as per logs posted) has the fingerprint and is sent via wss.


However, the INVITE generated by Asterisk does not have the fingerprint line.

We have also noticed that when sending a WSS invite, the invite coming from Asterisk is nonetheless going through WS. I have attached the relevant info.



By: Matt Jordan (mjordan) 2014-02-25 08:03:01.078-0600

There is already an issue open (ASTERISK-22961) with DTLS-SRTP and sha-256 - which Asterisk does not support.

Please do not file issues against bugs with patches you have applied. Please work with the creator of the patch to fix the bugs in the patch - that will help get the patch moved into Asterisk faster and create less confusion on the issue tracker.