Merge the changes from issue #10665 from the team/group/sip_session_timers branch.
authorRussell Bryant <russell@russellbryant.com>
Wed, 16 Jan 2008 21:53:10 +0000 (21:53 +0000)
committerRussell Bryant <russell@russellbryant.com>
Wed, 16 Jan 2008 21:53:10 +0000 (21:53 +0000)
commit6aaa99230115240b6bcf757183d16244865e1232
tree05fe5fdc579a19a219d896b3a5d9c28a899d211f
parent934aeb6c07ac31d229a2d2198e264aa0563efbb2
Merge the changes from issue #10665 from the team/group/sip_session_timers branch.

This set of changes introduces SIP session timers support (RFC 4028).  In short,
this prevents stuck SIP sessions that were not properly torn down due to network
or endpoint failures during an established SIP session.

To quote some of the documentation supplied with the patch:
"The SIP Session-Timers is an extension of the SIP protocol that allows end-points and proxies to
refresh a session periodically. The sessions are kept alive by sending a RE-INVITE or UPDATE
request at a negotiated interval. If a session refresh fails then all the entities that support Session-
Timers clear their internal session state. In addition, UAs generate a BYE request in order to clear
the state in the proxies and the remote UA (this is done for the benefit of SIP entities in the path
that do not support Session-Timers)."

(closes issue #10665)
Reported by: rjain
Patches:
      chan_sip.c.1.diff uploaded by rjain (license 226)
      chan_sip.c.diff uploaded by rjain (license 226)
      sip.conf.sample.diff uploaded by rjain (license 226)
      proc_422_rsp_comment.diff uploaded by rjain (license 226)
      chan_sip.c.cache.diff uploaded by rjain (license 226)
      chan_sip.memalloc uploaded by rjain (license 226)
      chan_sip.memalloc.bugfix uploaded by rjain (license 226)

      Patches tracked in team/group/sip_session_timers, with some additional fixes
      by russell and oej.

Tested by: jtodd, rjain, loloski

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98978 65c4cc65-6c06-0410-ace0-fbb531ad65f3
CREDITS
channels/chan_sip.c
configs/sip.conf.sample