Skip to content
Snippets Groups Projects
Commit ede9032f authored by David Vossel's avatar David Vossel
Browse files

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
parent 0c63db04
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment