[asterisk-bugs] [Asterisk 0018127]: Session timer refresher role swap on reinvite requested, but not not honoured

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Oct 13 15:52:55 CDT 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18127 
====================================================================== 
Reported By:                abalashov
Assigned To:                dvossel
====================================================================== 
Project:                    Asterisk
Issue ID:                   18127
Category:                   Channels/chan_sip/Interoperability
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
Asterisk Version:           1.6.2.13 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-10-12 21:21 CDT
Last Modified:              2010-10-13 15:52 CDT
====================================================================== 
Summary:                    Session timer refresher role swap on reinvite
requested, but not not honoured
Description: 
In Asterisk >= 1.6.2.12 (and, as far as I can tell, earlier releases that
have SST support as well), Asterisk appears to request a refresher role
swap relative to the original refresher roles established in the initial
INVITE that set up the session/dialog, but does not actually perform the
refreshes.  

The call path (INVITE) in my testing scenario is:

   (Asterisk) --> (B2BUA)

In the 200 OK that establishes the dialog (the response to the initial
INVITE), Asterisk receives the SST headers:

    Supported: timer
    Session-Expires: 120;refresher=uas

This establishes the UAS (the B2BUA) as the refresher for this session. 
The refresh interval on the B2BUA is set to 60 seconds, and the timeout to
120 seconds.  This means that Asterisk expects the B2BUA to send the
reinvites (or UPDATEs) for session timer maintenance.

Consistently with this fact, 60 seconds later the B2BUA sends a reinvite
to Asterisk with the following headers:

   Supported: timer
   Session-Expires: 120
   Min-SE: 90

Curiously, Asterisk responds to this reinvite with a 200 OK that
designates itself as the refresher:

   Supported: replaces, timer
   Session-Expires: 120;refresher=uas

Because Asterisk is the UAS relative to the direction of this reinvite (it
is sent by the B2BUA, which is the UAC, to Asterisk, which is the UAS), the
B2BUA concludes that Asterisk will now be performing the refresh
reinvites.

Asterisk does not, however, actually send any reinvites, so at 120
seconds, the B2BUA sends a BYE ending the call.  

That very behaviour is the substance on which this bug report is
predicated.
====================================================================== 

---------------------------------------------------------------------- 
 (0127985) abalashov (reporter) - 2010-10-13 15:52
 https://issues.asterisk.org/view.php?id=18127#c127985 
---------------------------------------------------------------------- 
What happens if we just do session-timers=refuse? 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-10-13 15:52 abalashov      Note Added: 0127985                          
======================================================================




More information about the asterisk-bugs mailing list