[Home]

Summary:ASTERISK-20570: Asterisk, when acting as the UAS in Session Timer negotiation, fails to add required header in 200 response ("Require: timer")
Reporter:Matt Jordan (mjordan)Labels:
Date Opened:2012-10-16 08:55:58Date Closed:2012-11-20 10:56:45.000-0600
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/General
Versions:1.8.18.0 10.10.0 10.10.0-digiumphones Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Pretty much what the summary says.  We have to inform the UAC that they have to look for the Session-Expires header by providing a "Require:timer" header.

RFC 4028, Section 9:

{quote}
  If the refresher parameter in the Session-Expires header field in the
  2xx response has a value of 'uac', the UAS MUST place a Require
  header field into the response with the value 'timer'.  This is
  because the uac is performing refreshes and the response has to be
  processed for the UAC to know this.  If the refresher parameter in
  the 2xx response has a value of 'uas' and the Supported header field
  in the request contained the value 'timer', the UAS SHOULD place a
  Require header field into the response with the value 'timer'.  In
  this case, the UAC is not refreshing, but it is supposed to send a
  BYE if it never receives a refresh.  Since the call will still
  succeed without the UAC sending a BYE, insertion of the Require is a
  SHOULD here, and not a MUST.
{quote}
Comments:By: Matt Jordan (mjordan) 2012-10-31 08:36:57.401-0500

Just to note: this problem was found by [Olle Johansson|http://lists.digium.com/pipermail/asterisk-dev/2012-October/057300.html].