chan_sip: Start session timer at 200, not at INVITE.
authorWalter Doekes <walter+asterisk@wjd.nu>
Tue, 27 May 2014 21:23:16 +0000 (21:23 +0000)
committerWalter Doekes <walter+asterisk@wjd.nu>
Tue, 27 May 2014 21:23:16 +0000 (21:23 +0000)
commitd14983dbce5f5d51d24bd4f90a5e44d8b02535b3
treeac3727a961c61b539d52d765f99192879e5c8933
parentb14a4389e685e34ee1ebcd41316c1c4ddac03404
chan_sip: Start session timer at 200, not at INVITE.

Asterisk started counting the session timer at INVITE while the other
end correctly started at 200. This meant that for short session-expiries
(90 seconds) combined with long ringing times (e.g. 30 seconds), asterisk
would wrongly assume that the timer was hit before the other end thought
it was time to send a session refresh. This resulted in prematurely
ended calls.

This changes the session timer to start counting first at 200 like RFC
says it should.

(Also removed a few excess NULL checks that would never hit, because if
they did, asterisk would have crashed already.)

ASTERISK-22551 #close
Reported by: i2045

Review: https://reviewboard.asterisk.org/r/3562/
........

Merged revisions 414620 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 414628 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 414636 from http://svn.asterisk.org/svn/asterisk/branches/12

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@414643 65c4cc65-6c06-0410-ace0-fbb531ad65f3
channels/chan_sip.c