[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