Review Board 1.7.16

Asterisk doesn't honor Session-Expires in 200OK response when it's a RE-INVITE when asterisk is the refresher.

Review Request #2463 - Created April 22, 2013 and submitted

Alec Davis
1.8 to trunk
Refer to:
RFC 4028 Section 7.2
 "UACs MUST be prepared to receive a Session-Expires header field in a
 response, even if none were present in the request." 

Senario's below have 'Supported: timer' header: value
Prior to since ASTERISK-20787
  Devices making an inbound call to asterisk that didn't include a Session-Expires header in the INVITE, wouldn't be refreshed, thus wouldn't clear down should the connection be broken.

After ASTERISK-20787
  Inbound calls to asterisk with no Session-Expires in the INVITE are now are offered a Session-Expires (1800 asterisk default) in the response, with asterisk being the refresher.
  The issue is after the first RE-INVITE from asterisk (900 seconds), the device may respond with a much lower Session-Expires (180 in our case) value that it is now using.
  Asterisk ignores this response, as it's deemed both an INBOUND CALL, and a RE-INVITE.
  The result, after 180 more seconds the device is going to time out and hangup, asterisk is still working with the refresher period of 1800 as it ignored the 'Session Expires: 180' in the previous 200OK response.

Review request changed
Updated (May 7, 2013, 8:38 a.m.)
  • changed from pending to submitted
Committed in revision 387797 runs on a server provided by Digium, Inc. and uses bandwidth donated to the open source Asterisk community by API Digital Communications in Huntsville, AL USA.
Please report problems with this site to