[asterisk-dev] more granular control of TImer T1

Damon Estep damon at soho-systems.com
Wed Nov 13 11:34:25 CST 2013

I think a logged warning below 100ms would accomplish that:

timerB (INVITE transaction timeout), according to the RFC MUST be 64*timerT1. In order to advance call routes to the next host (before the ISDN/SS7 network times the call out) in the event of a network or service outage, timerB needs to be in the 6-7 seconds range. This requires TimerT1 to be ~100ms.

Additionally, 100ms is a widely accepted maximum RTT threshold for good RTP quality. Everyone's needs are slightly different, so the warn level might also be configurable and default to 100ms. This may be more complex than needed, so I would lean towards a static warn level of 100ms, but it would be a warning only, not a minimum. For a directly connected media gateway (as in same LAN) timers as low as 50ms are practical.

I am still uncertain about whether a defined peer_timert1 should override a calculated peer_timert1 for monitored hosts. My opinion is that if the user took the time to define peer_timert1 it should be honored (with a warning below 100ms) and the calculated peer_timert1 for monitored host would only apply where peer_timert1 is not defined or null. I have this opinion because the only alternative would be to turn off qualify if you want to define peer_timert1, and I would like to be able to use qualify for other reasons while still being able to define peer_timert1.

From: asterisk-dev-bounces at lists.digium.com [mailto:asterisk-dev-bounces at lists.digium.com] On Behalf Of Matthew Jordan
Sent: Wednesday, November 13, 2013 8:52 AM
To: Asterisk Developers Mailing List
Subject: Re: [asterisk-dev] more granular control of TImer T1

On Wed, Nov 13, 2013 at 9:28 AM, Damon Estep <damon at soho-systems.com<mailto:damon at soho-systems.com>> wrote:
"T1min was used as the lowest possible value of T1 for a monitored host - with qualify=yes. If that's changed, we need to re-review that."

Yes, it has changed (if it ever really was that way) you cannot configure a value lower than T1min for an unmonitored host, if you do a warning is logged and the t1min value is used instead. There appear to be 3 or 4 checks in the code for this. There is also a check for values below 200, which is completely arbitrary.

I'm fine if t1min is not used as a lower bounds for the T1 timer for unmonitored hosts.

That being said, I'd prefer there to be *some* lower bound provided. A user accidentally enters an extremely low value (such as 0 or 1) - and who gets no WARNING or lower bound correction - will experience some interesting behavioral problems that could be difficult to diagnose.


Matthew Jordan
Digium, Inc. | Engineering Manager
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20131113/1e4f435c/attachment-0001.html>

More information about the asterisk-dev mailing list