diff options
author | Alec L Davis <sivad.a@paradise.net.nz> | 2013-05-02 07:25:33 +0000 |
---|---|---|
committer | Alec L Davis <sivad.a@paradise.net.nz> | 2013-05-02 07:25:33 +0000 |
commit | 7f0f53958b463ae4ef8bbeb219dec3909e54e4cd (patch) | |
tree | e452024e5e8b99dc04abe72d8beabf3e717860a3 /include/asterisk/event_defs.h | |
parent | 0b020e8c0bcac71309ddb050f5d033053b1d2419 (diff) |
chan_sip: Honor Session-Expires in 200OK response when it's a RE-INVITE when asterisk is the refresher.
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."
What changed
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 as the refresher.
Symptom:
After 900 seconds (asterisk default refresher period 1800), asterisk RE-INVITEs the device, 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.
After 180 seconds the device times out and sends BYE (hangs up), asterisk is still working with the
refresher period of 1800 as it ignored the 'Session Expires: 180' in the previous 200OK response.
Fix:
handle_response_invite() when 200OK, remove check for outbound and reinvite.
(closes issue ASTERISK-21664)
Reported by: alecdavis
Tested by: alecdavis
alecdavis (license 585)
Review https://reviewboard.asterisk.org/r/2463/
........
Merged revisions 387312 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 387319 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@387327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/event_defs.h')
0 files changed, 0 insertions, 0 deletions