[Home]

Summary:ASTERISK-26234: chan_sip: CANCEL is not sent to device that responded with 422 Session Interval Too Small to original INVITE
Reporter:Jim Beckner III (kg4ysy)Labels:
Date Opened:2016-07-25 13:29:55Date Closed:
Priority:MajorRegression?
Status:Open/NewComponents:Channels/chan_sip/General
Versions:11.17.1 13.19.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:2.6.32-573.8.1.el6.x86_64 AsteriskNOWAttachments:( 0) 26234.txt
Description:I can repeat this at will on 11.17.1.  I can also repeat on 1.8 so this has been around for a while.  ASTERISK-14731 seems similar.  This can likely be repeated easily, but I can provide a full SIP and Asterisk trace if needed.  

To repeat the following conditions are being used by me:
1. Settings -> session-timers=originate, session-expires=600, session-minse=90, session-refresher=uas
2. SIP device has a minimum session timer of 1800 (It is an Avaya 1120) (note that the device min-se is 1800 whereas I have Asterisk set to use 600).

Repeat steps:
1. Call the extension
2. Hang up after device rings
3. Device will continue to ring even though the originator hung up.

What happens:
1. INVITE is sent to device with "session-expires: 600"
2. Device responds with "422 Session Interval Too Small" with the header "Min-SE: 1800"
3. Asterisk sends another INVITE with "Session-Expires: 1800"
4. The device rings
5. Originator hang up which triggers a CANCEL to Asterisk
6. Asterisk sends a 487 back to the originator.  (originating device now is idle)
7. Asterisk never sends a CANCEL to the device that was ringing.  This causes the device to just keep ringing until you attempt to "answer" the call.
8. When you "answer", Asterisk sends a BYE to the device even though the call should have ended in step 6.

Through this process, Asterisk keeps the channel active ("sip show channels" shows the channel until the device is "answered").  At that point, the channel is terminated and the BYE is sent.

Comments:By: Asterisk Team (asteriskteam) 2016-07-25 13:29:55.792-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: Joshua C. Colp (jcolp) 2016-07-25 13:57:21.979-0500

We require additional debug to continue with triage of your issue. Please follow the instructions on the wiki [1] for how to collect debugging information from Asterisk. For expediency, where possible, attach the debug with a '.txt' file extension so that the debug will be usable for further analysis.

Thanks!

[1] https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information



By: Jim Beckner III (kg4ysy) 2016-07-25 14:06:27.062-0500

First invite in the file is the INVITE from the origination point to Asterisk.  422 is at line 1745.