From: Kevin P. Fleming Date: Wed, 5 Oct 2005 01:31:29 +0000 (+0000) Subject: fix timer T1 handling (issue #5330) X-Git-Tag: 1.2.0-beta2~191 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d9f508c7f196180fb2aad572bb02f1fa730c8d60;p=thirdparty%2Fasterisk.git fix timer T1 handling (issue #5330) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6730 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 3fcd1a169e..7a9aeb2a32 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -126,7 +126,7 @@ static int default_expiry = DEFAULT_DEFAULT_EXPIRY; #define DEFAULT_RETRANS 1000 /* How frequently to retransmit */ /* 2 * 500 ms in RFC 3261 */ -#define MAX_RETRANS 7 /* Try only 7 times for retransmissions */ +#define MAX_RETRANS 6 /* Try only 6 times for retransmissions, a total of 7 transmissions */ #define MAX_AUTHTRIES 3 /* Try authentication three times, then fail */ @@ -1142,9 +1142,9 @@ static int retrans_pkt(void *data) pkt->timer_a = 2 * pkt->timer_a; /* For non-invites, a maximum of 4 secs */ - if (pkt->method != SIP_INVITE && pkt->timer_a > 4000) - pkt->timer_a = 4000; siptimer_a = pkt->timer_t1 * pkt->timer_a; /* Double each time */ + if (pkt->method != SIP_INVITE && siptimer_a > 4000) + siptimer_a = 4000; /* Reschedule re-transmit */ reschedule = siptimer_a;