Summary:ASTERISK-21664: Asterisk terminates calls if Session-Expires isn't present on INVITE
Reporter:Alec Davis (alecdavis)Labels:
Date Opened:2013-04-22 05:58:42Date Closed:2013-05-02 02:31:38
Versions:11.4.0 Frequency of
is caused byASTERISK-20787 Asterisk should inspect Min-SE header in an INVITE even if there is no Session-Expires present
is related toASTERISK-22551 Session timer : UAS (Asterisk) starts counting at Invite, UAC starts counting at 200 OK.
Environment:SVN-branch-1.8-r385916MAttachments:( 0) bug21664.diff.txt
( 1) session_expired-1.8_sip_debug.txt
Description: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."

With phone GXP1200 Session-Expires = 180
Asterisk Session-Expires = 1800

Outbound sip call will last 17 Minutes and 27 Seconds

This is because asterisk now sends the 'Session-Expires: 1800' in the SIP OK 200 response since ASTERISK-20787 when 'Supported: timer' header is present.

After 900 seconds, asterisk refreshes with an INVITE, but the phone's response has 'Session-Expires: 180' in the SIP OK 200 response.
Asterisk currently ignores this request for 180 second refreshes.

So after another 180 seconds, the phone sends a BYE, with "SESSION EXPIRED" on the display.

1048 seconds = 17m28s = 1800/2 seconds + 180 seconds - 32seconds(recommended before expiration see RFC4028 section 10)

Comments:By: Alec Davis (alecdavis) 2013-04-22 06:01:26.226-0500

attached bug21664.diff.txt

By: Alec Davis (alecdavis) 2013-04-22 06:27:39.848-0500

attached 'session expired-1.8 sip debug.txt'