Summary: | ASTERISK-24009: Disable T.38 (t38pt_udptl=no) reject T.38 REINVITE with 488 Not acceptable here | ||
Reporter: | nicolasom (nicolasom) | Labels: | |
Date Opened: | 2014-07-09 11:03:45 | Date Closed: | 2014-07-09 12:01:51 |
Priority: | Major | Regression? | |
Status: | Closed/Complete | Components: | Channels/chan_sip/T.38 |
Versions: | 1.8.28.2 | Frequency of Occurrence | Constant |
Related Issues: | |||
Environment: | Attachments: | ( 0) trace.cap | |
Description: | Incoming call offers T.38,alaw,ulaw for fax. Is rejected if T.38 is disabled instead of accept alaw or ulaw codecs.
I think the problem is in function process_sdp in chan_sip.c: {code} 9531 if (initialize_udptl(p)) { 9532 ast_log(LOG_WARNING, "Rejecting offer with image stream due to UDPTL initialization failure\n"); 9533 return -1; 9534 } {code} The function initialize_udptl return 1 if T.38 is disabled. I would change 'return -1' with 'continue' for ignore T.38 if is disabled or the initialization failed. In the past works. This revision changes the behavior: http://svnview.digium.com/svn/asterisk/branches/1.8?view=revision&revision=368218 | ||
Comments: | By: Matt Jordan (mjordan) 2014-07-09 12:01:51.161-0500 That change was intentional. Quoting from the review: {quote} * Nearly all SDP errors will result in a '488 Not Acceptable Here' response, rather than an attempt to use some part of the offer/answer presented in the SDP. {quote} There was a lengthy discussion of this on the -dev list. Today, {{chan_sip}} does not have a mechanism in its SDP generation code to decline media streams that it doesn't understand. Because of that, it has to treat offers as an "all or nothing" - otherwise, it will negotiate back things that it doesn't understand and is not equipped to handle. Relevant asterisk-dev discussion: http://lists.digium.com/pipermail/asterisk-dev/2012-May/055365.html |