aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authordvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2010-06-25 19:39:53 +0000
committerdvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2010-06-25 19:39:53 +0000
commitf6aee7220f5dbdb411a5b5e08e15695bfe48bf0f (patch)
treecc72ce478bcc80aa158ebb31bb21634509222810 /include
parent544e770531de5efcf494cd89ce83f7b1082351fd (diff)
chan_sip: more accurate retransmissions
RFC3261 states that Timer A should start at 500ms (T1) by default. In chan_sip this value initially started at 1000ms and I changed it to 500ms recently. After doing that I noticed in my packet captures that it still occasionally retransmitted starting at 1000ms instead of 500ms like I told it to. This occurs because the scheduler runs in the do_monitor thread. If a new retransmission is added while the do_monitor thread is sleeping then it may not detect that retransmission for nearly 1000ms. To fix this I just poke the do_monitor thread to wake up when a new packet is sent reliably requiring retransmits. The thread then detects the new scheduler entry and adjusts its sleep time to account for it. Review: https://reviewboard.asterisk.org/r/747 git-svn-id: http://svn.digium.com/svn/asterisk/trunk@272557 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions