diff options
author | zuul <zuul@gerrit.asterisk.org> | 2016-09-14 19:21:50 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2016-09-14 19:21:50 -0500 |
commit | 1ddaa825eced6dd278332ba8431f73ec7d35dc5e (patch) | |
tree | b52df3a0952c3f4ff464870a6319516daea703a2 | |
parent | f0baa12538b1ab0b6ea58d6ddd4efa860acadd57 (diff) | |
parent | 98e42cc6624a02bede84c38772412b6ff9d8fa2f (diff) |
Merge "chan_sip: Fix session timeout on retransmit of non-UDP packets" into 13
-rw-r--r-- | channels/chan_sip.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 9c9a407ad..51a08690e 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -4238,7 +4238,10 @@ static enum sip_result __sip_reliable_xmit(struct sip_pvt *p, uint32_t seqno, in pkt->retrans_stop_time = 64 * (pkt->timer_t1 ? pkt->timer_t1 : DEFAULT_TIMER_T1); /* time in ms after pkt->time_sent to stop retransmission */ if (!(p->socket.type & AST_TRANSPORT_UDP)) { + /* TCP does not need retransmits as that's built in, but with + * retrans_stop set, we must give it the full timer_H treatment */ pkt->retrans_stop = 1; + siptimer_a = pkt->retrans_stop_time; } /* Schedule retransmission */ |