-
- Downloads
Merged revisions 285564 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r285564 | dvossel | 2010-09-08 16:48:37 -0500 (Wed, 08 Sep 2010) | 60 lines Merged revisions 285563 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r285563 | dvossel | 2010-09-08 16:47:29 -0500 (Wed, 08 Sep 2010) | 54 lines Fixes interoperability problems with session timer behavior in Asterisk. CHANGES: 1. Never put "timer" in "Require" header. This is not to our benefit and RFC 4028 section 7.1 even warns against it. It is possible for one endpoint to perform session-timer refreshes while the other endpoint does not support them. If in this case the end point performing the refreshing puts "timer" in the Require field during a refresh, the dialog will likely get terminated by the other end. 2. Change the behavior of 'session-timer=accept' in sip.conf (which is the default behavior of Asterisk with no session timer configuration specified) to only run session-timers as result of an incoming INVITE request if the INVITE contains an "Session-Expires" header... Asterisk is currently treating having the "timer" option in the "Supported" header as a request for session timers by the UAC. I do not agree with this. Session timers should only be negotiated in "accept" mode when the incoming INVITE supplies a "Session-Expires" header, otherwise RFC 4028 says we should treat a request containing no "Session-Expires" header as a session with no expiration. Below I have outlined some situations and what Asterisk's behavior is. The table reflects the behavior changes implemented by this patch. SITUATIONS: -Asterisk as UAS 1. Incoming INVITE: NO "Session-Expires" 2. Incoming INVITE: HAS "Session-Expires" -Asterisk as UAC 3. Outgoing INVITE: NO "Session-Expires". 200 Ok Response HAS "Session-Expires" header 4. Outgoing INVITE: NO "Session-Expires". 200 Ok Response NO "Session-Expires" header 5. Outgoing INVITE: HAS "Session-Expires". Active - Asterisk will have an active refresh timer regardless if the other endpoint does. Inactive - Asterisk does not have an active refresh timer regardless if the other endpoint does. XXXXXXX - Not possible for mode. ______________________________________ |SITUATIONS | 'session-timer' MODES | |___________|________________________| | | originate | accept | |-----------|------------|-----------| |1. | Active | Inactive | |2. | Active | Active | |3. | XXXXXXXX | Active | |4. | XXXXXXXX | Inactive | |5. | Active | XXXXXXXX | -------------------------------------- (closes issue #17005) Reported by: alexrecarey ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Loading
Please register or sign in to comment