[Home]

Summary:ASTERISK-26100: [patch] Asterisk will reject, with a 488, subsequent T.38 reinvite to T.38 negotiation.
Reporter:Parantido Julius De Rica (parantido)Labels:
Date Opened:2016-06-09 05:20:58Date Closed:2020-01-14 11:13:47.000-0600
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/T.38
Versions:11.22.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Ubuntu 14.04 LTS (asterisk is always compiled from scratch)Attachments:( 0) fax-trace.pcap
Description:Hi all,

I already searched bug tracker and found similar solved bug, but no one fixed my issue.

I've the following scenario:
{noformat}
FAX (Offerer) <--> SIP Server <--> Asterisk T.38 Passthrough <--> Oracle SBC (ex Acme Packet) <--> PSTN <--> Fax (Receiver)
{noformat}

Offerer starts a Fax transmission as in-audio call (g729 coded). This call get switched by network side (Oracle SBC) as T.38 with a first invite. During fax negotiation Oracle SBC send back a second T.38 re-invite and Asterisk answer with a 488 after 5 seconds due the following code statement:
{noformat}
p->t38id = ast_sched_add(sched, 5000, sip_t38_abort, dialog_ref(p, "passing dialog ptr into sched structure based on t38id for sip_t38_abort."));
{noformat}

Reading code seems that a reinvite is not allowed, during fax transmission, after channel is placed in AST_STATE_UP.

Reading all RFCs and ITU-T specifications no one describe this scenario but  at the same times no one disallow it.

I wrote a patch for chan_sip.c to handle this behaviour. All seems to works fine for all customers that reports to me this issue and no regressions are observed.

I attached a PCAP trace (for better scenario description) and a patch.

Regards
Comments:By: Asterisk Team (asteriskteam) 2016-06-09 05:20:59.684-0500

The severity of this issue has been automatically downgraded from "Blocker" to "Major". The "Blocker" severity is reserved for issues which have been determined to block the next release of Asterisk. This severity can only be set by privileged users. If this issue is deemed to block the next release it will be updated accordingly during the triage process.

By: Asterisk Team (asteriskteam) 2016-06-09 05:20:59.993-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: Parantido Julius De Rica (parantido) 2016-06-09 05:25:04.851-0500

Issue PCAP trace and patch for issue solving

By: Richard Mudgett (rmudgett) 2016-06-09 11:44:55.207-0500

[^t38-488-reinvite.diff] is not marked as a contribution and is not in the needed format.

Please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: Joshua C. Colp (jcolp) 2016-06-10 06:02:51.571-0500

Per the comment from [~rmudgett] I've removed the patch as it has to be marked as a code contribution.

An Asterisk console log and configuration would also be useful for this.

By: Parantido Julius De Rica (parantido) 2016-06-10 08:08:17.206-0500

Hi,

sorry for wrong patch posting (this is my first time I publish one). I committed code to Gerrit to the following change:

https://gerrit.asterisk.org/#/c/3006/



By: Joshua C. Colp (jcolp) 2016-06-13 10:17:46.097-0500

Per my code review we really need to see an Asterisk log here to see what is going on to determine the right way to fix it.

By: Asterisk Team (asteriskteam) 2016-06-27 12:00:01.037-0500

Suspended due to lack of activity. This issue will be automatically re-opened if the reporter posts a comment. If you are not the reporter and would like this re-opened please create a new issue instead. If the new issue is related to this one a link will be created during the triage process. Further information on issue tracker usage can be found in the Asterisk Issue Guidlines [1].

[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines