[SR-Users] Dispatcher round-robin problems in 5.2

JR Richardson jmr.richardson at gmail.com
Tue Aug 13 15:40:10 CEST 2019

Hey Alex,

After I recently upgraded, I had to include more response codes, 5.2 by default only 200 OK is accepted. I had some upstream carriers sending 405 and were taken off-line as a result until I added that code in modparm:

modparam("dispatcher", "ds_ping_reply_codes", "class=2;code=405")

Not sure if this applies to what you are doing, but my dispatcher round robin distribution acts as it did prior to upgrade to 5.2, pretty even, no anomalies with any nodes getting more calls than any other.


JR Richardson
Engineering for the Masses
Chasing the Azeotrope


I've got a proxy that does very basic round-robin distribution of calls to an elastic pool of servers, defined in a simple SQLite database with equal priorities. Nothing too complicated, just a vanilla `ds_select_domain("1", "4")`. 

The only complication is that seldom are most of the gateways enabled.
Probing stuff was turned on, but didn't do quite what was desired, so it was replaced with a system that manages activation and deactivation of the gateways externally. Nevertheless, these are the left-over probing

   modparam("dispatcher", "ds_ping_method", "OPTIONS")
   modparam("dispatcher", "ds_ping_from", "sip:pinger at domain")
   modparam("dispatcher", "ds_ping_interval", 15)
   modparam("dispatcher", "ds_probing_threshold", 256)
   modparam("dispatcher", "ds_inactive_threshold", 1)
   modparam("dispatcher", "ds_probing_mode", 0)

After an upgrade from 5.1 to 5.2.3 (009f62), the round-robin has become extremely "sticky" and tendentious. That is to say, it directs _almost_ all calls to a single gateway -- the first gateway in the table -- though not 100%. There is also a marked tendency to send lots of consecutive calls to the same gateway, even if it's not the first one, though most of the time it is.

Has anyone experienced similar upon upgrading to 5.2? 

Thanks much!

-- Alex

More information about the sr-users mailing list