[sr-dev] congestion control priority for priority based dispatching

Julien Chavanton jchavanton at gmail.com
Thu May 14 19:25:30 CEST 2020


Hi Folks,

Just found another simple use case of the dispatcher latency stats.

Just shraing this idea of a feature I want to contribute.

When using dispatcher algorithm 8:

   “8” - select destination sorted by priority attribute value (serial
forking ordered by priority).

If the gateway as the attribute, the priority becomes the estimated latency.

   cc-priority

- The dispatcher would automatically prioritize the closest one.
- If a gateway is becoming unresponsive it will automatically become de
prioritize.

Consider this real life scenario where you have gateways in East and West
Coast
Example

URI: sip:28.71.19.140


FLAGS: AP
PRIORITY: 10
ATTRS: {
        BODY: cc_priority=1
}
LATENCY: {
        AVG: 84.001000
        STD: 0.062000
        EST: 84.001000 (high == low priority)
        MAX: 93
        TIMEOUT: 0
URI: sip:28.71.16.140
FLAGS: AP
PRIORITY: 10
ATTRS: {
        BODY: cc_priority=1
}
LATENCY: {
        AVG: 29.110000
        STD: 2.383000
        EST: 31.999000 (low == high priority)
        MAX: 1499
        TIMEOUT: 1


Another major improvement to all of this would be to gather stats on INVITE
<> 100 to have a very accurate latency estimation even if the gateway does
not support SIP OPTIONS pings
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20200514/fc86a9a8/attachment.html>


More information about the sr-dev mailing list