[asterisk-bugs] [JIRA] (ASTERISK-23096) Improve documentation of t1min by clarifying its behavior as a global T1 minimum setting

Rusty Newton (JIRA) noreply at issues.asterisk.org
Fri Jan 3 18:29:04 CST 2014


Rusty Newton created ASTERISK-23096:
---------------------------------------

             Summary: Improve documentation of t1min by clarifying its behavior as a global T1 minimum setting
                 Key: ASTERISK-23096
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-23096
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: Channels/chan_sip/General, Documentation
    Affects Versions: 1.8.24.0
         Environment: all
            Reporter: sohosys
            Assignee: Matt Jordan
            Severity: Minor


The definition of timer t1min is "Minimum roundtrip time for messages to monitored hosts" the key word is "monitored", which means qualify= is set to yes or a numeric value.

The value of t1min is being evaluated when the timert1 value for a non-monitored host is read from the configuration and a warning is logged and timert1 is set to global_timert1 if the configured timert1 value for the non-monitored host is less than t1min.

t1min should not apply to non-monitored hosts by definition and the user should be able to set a timer1 value that is less than t1min for a non-monitored host.

Here is where the bug report ends and an opinion/feature request starts:
If T1 is set in the config for a monitored host it should be used instead of the last qualify result.

A case where this is needed is when there is a SBC in front of the monitored host. The SBC may answer the OPTIONS query directly and not pass it to the host which is behind the SBC. In this case the lastms is set to the RTT to the SBC, which is not indicative of the actual RTT for an INVITE which is proxied to the host (which adds additional delay).

Setting T1 to the last measured OPTIONS RTT is a problematic for another reason as well. Any amount of jitter in the network can result in unneeded retransmits. In practice T1 is set to the estimated RTT which is not always the last RTT but rather the average RTT plus an allowance for network jitter. There are many reasons when a user might want to adjust timer T1 on a peer by peer basis. They should not be forced to accept a global minimum or system calculated T1 regardless of whether qualify is on. Qualify is used in other ways by many users, not just as a means of setting T1.

The current timer configuration could be improved by adding a T1 jitter configuration value (in addition to or in place of T1min, which would be added to lastms to set T1. For example, if the lastms for a peer was 40ms and the T1jitter setting was 20, then T1 would be set to 60ms.

Again, a statically configured timert1 should override any calculated T1 regardless of the values set elsewhere, for both monitored and un-monitored peers.

Whether you agree with the opinion or not, the fact that t1min is being enforced on a non-monitored host appears to be a bug, or at the very minimum, the definition of t1min in the sample config file and the code comments is wrong.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list