chan_sip: RFC compliant retransmission timeout
authorDavid Vossel <dvossel@digium.com>
Tue, 13 Jul 2010 22:18:38 +0000 (22:18 +0000)
committerDavid Vossel <dvossel@digium.com>
Tue, 13 Jul 2010 22:18:38 +0000 (22:18 +0000)
commit23b6e621d234255287d84a3ccbaf0084a4969672
tree76de3c342d4129d23bbf38685e91ab8cf8cc2ccb
parentb42c6cab179cb477773f81aa2f08cb5195a0efc6
chan_sip: RFC compliant retransmission timeout

Retransmission of packets should not be based on how many packets were
sent, but instead on a timeout period.  Depending on whether or not the
packet is for a INVITE or NON-INVITE transaction, the number of packets
sent during the retransmission timeout period will be different, so
timing out based on the number of packets sent is not accurate.

This patch fixes this by removing the retransmit limit and only stopping
retransmission after a timeout period is reached.  By default this
timeout period is 64*(Timer T1) for both INVITE and non-INVITE
transactions.  For more information on sip timer values refer to
RFC3261 Appendix A.

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

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