Summary:ASTERISK-15619: SDP in a session refresh re-INVITE does not contain T.38 when it should
Reporter:Dmitry Panov (dop251)Labels:
Date Opened:2010-02-12 16:22:29.000-0600Date Closed:2011-07-27 13:40:41
Versions:Frequency of
Environment:Attachments:( 0) extensions.conf
( 1) ngrep.txt
( 2) sip.conf
Description:I tried to send a rather long fax (58 pages) and found that the call is dropped after a while. It looks like it's because the re-INVITE which is sent to refresh the session contains usual audio codecs instead of T.38.

[Feb 13 01:02:09] DEBUG[25129] chan_sip.c: Session timer expired: 28 - 8F3E8D271
[Feb 13 01:02:09] DEBUG[25129] chan_sip.c: ** Our capability: 0xc (ulaw|alaw) Vi
deo flag: True Text flag: True                                                  
[Feb 13 01:02:09] DEBUG[25129] chan_sip.c: ** Our prefcodec: 0x0 (nothing)      
[Feb 13 01:02:09] DEBUG[25129] chan_sip.c: -- Done with adding codecs to SDP    
[Feb 13 01:02:09] DEBUG[25129] channel.c: Internal timing is disabled (option_in
ternal_timing=0 chan->timingfd=35)                                              
[Feb 13 01:02:09] DEBUG[25129] chan_sip.c: Done building SDP. Settling with this
capability: 0xc (ulaw|alaw)          

After receiving this reinvite the other end (which in my case was the same instance of asterisk -- the call was handled via an external SIP proxy, but I don't think it matters) tore the call down:

[Feb 13 01:02:14] DEBUG[25292] app_fax.c: T38 down, finishing                  
[Feb 13 01:02:14] DEBUG[25292] app_fax.c: Loop finished, res=6                  
[Feb 13 01:02:14] DEBUG[25292] app_fax.c: Fax phase E handler. result=49        
[Feb 13 01:02:14] DEBUG[25292] app_fax.c: FLOW T.30 Changing from state 12 to 32
[Feb 13 01:02:14] DEBUG[25292] app_fax.c: FLOW T.30 Changing from phase T30_PHAS
E_C_ECM_RX to T30_PHASE_CALL_FINISHED                                          
[Feb 13 01:02:14] DEBUG[25292] app_fax.c: FLOW T.38T Set rx type 8              
[Feb 13 01:02:14] DEBUG[25292] app_fax.c: FLOW T.38T Set tx type 8              
[Feb 13 01:02:14] DEBUG[25292] app_fax.c: FLOW T.38T FAX exchange complete
Comments:By: Leif Madsen (lmadsen) 2010-02-17 13:47:35.000-0600

Both sides are Asterisk right? Are you using Fax For Asterisk, or SpanDSP?

It may be useful to provide the configuration on both ends, and perhaps a sample of the large fax for reproducing the issue? I think the configuration will be the most important though. Thanks!

By: Dmitry Panov (dop251) 2010-02-18 14:24:19.000-0600

Both sides are asterisk, moreover, the same instance of asterisk, even though the call was made via an external SIP proxy. The media path was via loopback interface. I don't think it matters though (at least in shouldn't).

The configuration is fairly straightforward, I'm attaching sip.conf and extensions.conf

Hope this helps.

By: Jamuel Starkey (jamuel) 2010-05-01 17:03:23

I see this same issue with a more "traditional" setup:

PSTN --> SIP Carrier/Acme Packets SBC --> Asterisk --> Receive Fax

The carrier is requiring sip session-timers (1800 sec) and at the 900-sec refresh interval we see a RE-INVITE from the Acme then Asterisk replies 488 Not Acceptable.

Attaching SIP signaling.

By: Russell Bryant (russell) 2011-07-27 13:40:35.860-0500

Per the Asterisk maintenance timeline page at http://www.asterisk.org/asterisk-versions maintenance (bug) support for the 1.4 and 1.6.x branches has ended. For continued maintenance support please move to the 1.8 branch which is a long term support (LTS) branch. For more information about branch support, please see https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions

If this is still an issue, please open a new issue so it can be re-triaged appropriately. Thanks!