This module offers SIP load balancer functionality and it can be used as SIP traffic dispatcher. There are many load balancing and traffic dispatching algorithms that you can choose from, for example: round-robin, weight based load balancing, call load distribution, and hashing over SIP message attributes. The module can be used as a stateless load balancer; it does not depend on any call state tracking module. It requires the TM module if you enable auto-discovery of active/inactive gateways. It is very lightweight, therefore suitable for handling heavy SIP traffic. As the module has a small footprint and the ability to load balancing rules from a plain text file, it is suitable for embedded systems.
| Parámetro | Tipo | Descripción |
|---|---|---|
| list_file | string | 3.2. db_url (string) 3.3. table_name (string) 3.4. setid_col (string) 3.5. destination_col (string) 3.6. flags_col (string) 3.7. priority_col (string) 3.8. attrs_col (string) 3.9. force_dst (int) 3.10 |
| db_url | string | 3.3. table_name (string) 3.4. setid_col (string) 3.5. destination_col (string) 3.6. flags_col (string) 3.7. priority_col (string) 3.8. attrs_col (string) 3.9. force_dst (int) 3.10. flags (int) 3.11. u |
| table_name | string | 3.4. setid_col (string) 3.5. destination_col (string) 3.6. flags_col (string) 3.7. priority_col (string) 3.8. attrs_col (string) 3.9. force_dst (int) 3.10. flags (int) 3.11. use_default (int) 3.12. xa |
| setid_col | string | 3.5. destination_col (string) 3.6. flags_col (string) 3.7. priority_col (string) 3.8. attrs_col (string) 3.9. force_dst (int) 3.10. flags (int) 3.11. use_default (int) 3.12. xavp_dst (str) 3.13. xavp_ |
| destination_col | string | 3.6. flags_col (string) 3.7. priority_col (string) 3.8. attrs_col (string) 3.9. force_dst (int) 3.10. flags (int) 3.11. use_default (int) 3.12. xavp_dst (str) 3.13. xavp_dst_mode (int) 3.14. xavp_ctx |
| flags_col | string | 3.7. priority_col (string) 3.8. attrs_col (string) 3.9. force_dst (int) 3.10. flags (int) 3.11. use_default (int) 3.12. xavp_dst (str) 3.13. xavp_dst_mode (int) 3.14. xavp_ctx (str) 3.15. xavp_ctx_mod |
| priority_col | string | 3.8. attrs_col (string) 3.9. force_dst (int) 3.10. flags (int) 3.11. use_default (int) 3.12. xavp_dst (str) 3.13. xavp_dst_mode (int) 3.14. xavp_ctx (str) 3.15. xavp_ctx_mode (int) 3.16. hash_pvar (st |
| attrs_col | string | 3.9. force_dst (int) 3.10. flags (int) 3.11. use_default (int) 3.12. xavp_dst (str) 3.13. xavp_dst_mode (int) 3.14. xavp_ctx (str) 3.15. xavp_ctx_mode (int) 3.16. hash_pvar (str) 3.17. setid_pvname (s |
| force_dst | int | 3.10. flags (int) 3.11. use_default (int) 3.12. xavp_dst (str) 3.13. xavp_dst_mode (int) 3.14. xavp_ctx (str) 3.15. xavp_ctx_mode (int) 3.16. hash_pvar (str) 3.17. setid_pvname (str) 3.18. attrs_pvnam |
| flags | int | 3.11. use_default (int) 3.12. xavp_dst (str) 3.13. xavp_dst_mode (int) 3.14. xavp_ctx (str) 3.15. xavp_ctx_mode (int) 3.16. hash_pvar (str) 3.17. setid_pvname (str) 3.18. attrs_pvname (str) 3.19. ds_p |
| use_default | int | 3.12. xavp_dst (str) 3.13. xavp_dst_mode (int) 3.14. xavp_ctx (str) 3.15. xavp_ctx_mode (int) 3.16. hash_pvar (str) 3.17. setid_pvname (str) 3.18. attrs_pvname (str) 3.19. ds_ping_method (string) 3.20 |
| xavp_dst | str | 3.13. xavp_dst_mode (int) 3.14. xavp_ctx (str) 3.15. xavp_ctx_mode (int) 3.16. hash_pvar (str) 3.17. setid_pvname (str) 3.18. attrs_pvname (str) 3.19. ds_ping_method (string) 3.20. ds_ping_from (strin |
| xavp_dst_mode | int | 3.14. xavp_ctx (str) 3.15. xavp_ctx_mode (int) 3.16. hash_pvar (str) 3.17. setid_pvname (str) 3.18. attrs_pvname (str) 3.19. ds_ping_method (string) 3.20. ds_ping_from (string) 3.21. ds_ping_interval |
| xavp_ctx | str | 3.15. xavp_ctx_mode (int) 3.16. hash_pvar (str) 3.17. setid_pvname (str) 3.18. attrs_pvname (str) 3.19. ds_ping_method (string) 3.20. ds_ping_from (string) 3.21. ds_ping_interval (int) 3.22. ds_ping_f |
| xavp_ctx_mode | int | 3.16. hash_pvar (str) 3.17. setid_pvname (str) 3.18. attrs_pvname (str) 3.19. ds_ping_method (string) 3.20. ds_ping_from (string) 3.21. ds_ping_interval (int) 3.22. ds_ping_fr_timer (int) 3.23. ds_pro |
| hash_pvar | str | 3.17. setid_pvname (str) 3.18. attrs_pvname (str) 3.19. ds_ping_method (string) 3.20. ds_ping_from (string) 3.21. ds_ping_interval (int) 3.22. ds_ping_fr_timer (int) 3.23. ds_probing_threshold (int) 3 |
| setid_pvname | str | 3.18. attrs_pvname (str) 3.19. ds_ping_method (string) 3.20. ds_ping_from (string) 3.21. ds_ping_interval (int) 3.22. ds_ping_fr_timer (int) 3.23. ds_probing_threshold (int) 3.24. ds_inactive_threshol |
| attrs_pvname | str | 3.19. ds_ping_method (string) 3.20. ds_ping_from (string) 3.21. ds_ping_interval (int) 3.22. ds_ping_fr_timer (int) 3.23. ds_probing_threshold (int) 3.24. ds_inactive_threshold (int) 3.25. ds_ping_rep |
| ds_ping_method | string | 3.20. ds_ping_from (string) 3.21. ds_ping_interval (int) 3.22. ds_ping_fr_timer (int) 3.23. ds_probing_threshold (int) 3.24. ds_inactive_threshold (int) 3.25. ds_ping_reply_codes (string) 3.26. ds_pro |
| ds_ping_from | string | 3.21. ds_ping_interval (int) 3.22. ds_ping_fr_timer (int) 3.23. ds_probing_threshold (int) 3.24. ds_inactive_threshold (int) 3.25. ds_ping_reply_codes (string) 3.26. ds_probing_mode (int) 3.27. ds_pin |
| ds_ping_interval | int | 3.22. ds_ping_fr_timer (int) 3.23. ds_probing_threshold (int) 3.24. ds_inactive_threshold (int) 3.25. ds_ping_reply_codes (string) 3.26. ds_probing_mode (int) 3.27. ds_ping_latency_stats (int) 3.28. d |
| ds_ping_fr_timer | int | 3.23. ds_probing_threshold (int) 3.24. ds_inactive_threshold (int) 3.25. ds_ping_reply_codes (string) 3.26. ds_probing_mode (int) 3.27. ds_ping_latency_stats (int) 3.28. ds_retain_latency_stats (int) |
| ds_probing_threshold | int | 3.24. ds_inactive_threshold (int) 3.25. ds_ping_reply_codes (string) 3.26. ds_probing_mode (int) 3.27. ds_ping_latency_stats (int) 3.28. ds_retain_latency_stats (int) 3.29. ds_latency_estimator_alpha |
| ds_inactive_threshold | int | 3.25. ds_ping_reply_codes (string) 3.26. ds_probing_mode (int) 3.27. ds_ping_latency_stats (int) 3.28. ds_retain_latency_stats (int) 3.29. ds_latency_estimator_alpha (int) 3.30. ds_hash_size (int) 3.3 |
| ds_ping_reply_codes | string | 3.26. ds_probing_mode (int) 3.27. ds_ping_latency_stats (int) 3.28. ds_retain_latency_stats (int) 3.29. ds_latency_estimator_alpha (int) 3.30. ds_hash_size (int) 3.31. ds_hash_expire (int) 3.32. ds_ha |
| ds_probing_mode | int | 3.27. ds_ping_latency_stats (int) 3.28. ds_retain_latency_stats (int) 3.29. ds_latency_estimator_alpha (int) 3.30. ds_hash_size (int) 3.31. ds_hash_expire (int) 3.32. ds_hash_initexpire (int) 3.33. ds |
| ds_ping_latency_stats | int | 3.28. ds_retain_latency_stats (int) 3.29. ds_latency_estimator_alpha (int) 3.30. ds_hash_size (int) 3.31. ds_hash_expire (int) 3.32. ds_hash_initexpire (int) 3.33. ds_hash_check_interval (int) 3.34. o |
| ds_retain_latency_stats | int | 3.29. ds_latency_estimator_alpha (int) 3.30. ds_hash_size (int) 3.31. ds_hash_expire (int) 3.32. ds_hash_initexpire (int) 3.33. ds_hash_check_interval (int) 3.34. outbound_proxy (str) 3.35. ds_default |
| ds_latency_estimator_alpha | int | 3.30. ds_hash_size (int) 3.31. ds_hash_expire (int) 3.32. ds_hash_initexpire (int) 3.33. ds_hash_check_interval (int) 3.34. outbound_proxy (str) 3.35. ds_default_socket (str) 3.36. ds_default_sockname |
| ds_hash_size | int | 3.31. ds_hash_expire (int) 3.32. ds_hash_initexpire (int) 3.33. ds_hash_check_interval (int) 3.34. outbound_proxy (str) 3.35. ds_default_socket (str) 3.36. ds_default_sockname (str) 3.37. ds_ping_sock |
4.2. ds_select_domain(set, alg[, limit]) 4.3. ds_select(set, alg [, limit]) 4.4. ds_select_routes(rules, mode [, limit]) 4.5. ds_next_dst() 4.6. ds_next_domain() 4.7. ds_set_dst() 4.8. ds_set_domain() 4.9. ds_mark_dst([state]) 4.10. ds_mark_addr(stat
4.3. ds_select(set, alg [, limit]) 4.4. ds_select_routes(rules, mode [, limit]) 4.5. ds_next_dst() 4.6. ds_next_domain() 4.7. ds_set_dst() 4.8. ds_set_domain() 4.9. ds_mark_dst([state]) 4.10. ds_mark_addr(state, setid, uri) 4.11. ds_list_exists(group
4.4. ds_select_routes(rules, mode [, limit]) 4.5. ds_next_dst() 4.6. ds_next_domain() 4.7. ds_set_dst() 4.8. ds_set_domain() 4.9. ds_mark_dst([state]) 4.10. ds_mark_addr(state, setid, uri) 4.11. ds_list_exists(groupid) 4.12. ds_is_from_list([groupid
4.5. ds_next_dst() 4.6. ds_next_domain() 4.7. ds_set_dst() 4.8. ds_set_domain() 4.9. ds_mark_dst([state]) 4.10. ds_mark_addr(state, setid, uri) 4.11. ds_list_exists(groupid) 4.12. ds_is_from_list([groupid [, mode [, uri] ] ]) 4.13. ds_is_active(group
4.6. ds_next_domain() 4.7. ds_set_dst() 4.8. ds_set_domain() 4.9. ds_mark_dst([state]) 4.10. ds_mark_addr(state, setid, uri) 4.11. ds_list_exists(groupid) 4.12. ds_is_from_list([groupid [, mode [, uri] ] ]) 4.13. ds_is_active(groupid [, uri]) 4.14. d
4.7. ds_set_dst() 4.8. ds_set_domain() 4.9. ds_mark_dst([state]) 4.10. ds_mark_addr(state, setid, uri) 4.11. ds_list_exists(groupid) 4.12. ds_is_from_list([groupid [, mode [, uri] ] ]) 4.13. ds_is_active(groupid [, uri]) 4.14. ds_load_update() 4.15.
4.8. ds_set_domain() 4.9. ds_mark_dst([state]) 4.10. ds_mark_addr(state, setid, uri) 4.11. ds_list_exists(groupid) 4.12. ds_is_from_list([groupid [, mode [, uri] ] ]) 4.13. ds_is_active(groupid [, uri]) 4.14. ds_load_update() 4.15. ds_load_unset() 4.
4.9. ds_mark_dst([state]) 4.10. ds_mark_addr(state, setid, uri) 4.11. ds_list_exists(groupid) 4.12. ds_is_from_list([groupid [, mode [, uri] ] ]) 4.13. ds_is_active(groupid [, uri]) 4.14. ds_load_update() 4.15. ds_load_unset() 4.16. ds_reload() 4.17.
4.10. ds_mark_addr(state, setid, uri) 4.11. ds_list_exists(groupid) 4.12. ds_is_from_list([groupid [, mode [, uri] ] ]) 4.13. ds_is_active(groupid [, uri]) 4.14. ds_load_update() 4.15. ds_load_unset() 4.16. ds_reload() 4.17. ds_dsg_fetch(setid) 4.18.
4.11. ds_list_exists(groupid) 4.12. ds_is_from_list([groupid [, mode [, uri] ] ]) 4.13. ds_is_active(groupid [, uri]) 4.14. ds_load_update() 4.15. ds_load_unset() 4.16. ds_reload() 4.17. ds_dsg_fetch(setid) 4.18. ds_dsg_fetch_uri(setid, uri) 4.19. ds
4.12. ds_is_from_list([groupid [, mode [, uri] ] ]) 4.13. ds_is_active(groupid [, uri]) 4.14. ds_load_update() 4.15. ds_load_unset() 4.16. ds_reload() 4.17. ds_dsg_fetch(setid) 4.18. ds_dsg_fetch_uri(setid, uri) 4.19. ds_oc_set_attrs(setid, uri, rval
4.13. ds_is_active(groupid [, uri]) 4.14. ds_load_update() 4.15. ds_load_unset() 4.16. ds_reload() 4.17. ds_dsg_fetch(setid) 4.18. ds_dsg_fetch_uri(setid, uri) 4.19. ds_oc_set_attrs(setid, uri, rval, tval, sval)
4.14. ds_load_update() 4.15. ds_load_unset() 4.16. ds_reload() 4.17. ds_dsg_fetch(setid) 4.18. ds_dsg_fetch_uri(setid, uri) 4.19. ds_oc_set_attrs(setid, uri, rval, tval, sval)
4.15. ds_load_unset() 4.16. ds_reload() 4.17. ds_dsg_fetch(setid) 4.18. ds_dsg_fetch_uri(setid, uri) 4.19. ds_oc_set_attrs(setid, uri, rval, tval, sval)
4.16. ds_reload() 4.17. ds_dsg_fetch(setid) 4.18. ds_dsg_fetch_uri(setid, uri) 4.19. ds_oc_set_attrs(setid, uri, rval, tval, sval)
4.17. ds_dsg_fetch(setid) 4.18. ds_dsg_fetch_uri(setid, uri) 4.19. ds_oc_set_attrs(setid, uri, rval, tval, sval)
4.18. ds_dsg_fetch_uri(setid, uri) 4.19. ds_oc_set_attrs(setid, uri, rval, tval, sval)
4.19. ds_oc_set_attrs(setid, uri, rval, tval, sval)
4.1. ds_select_dst(set, alg[, limit])
The method selects a destination from addresses set. It returns true if a new destination is set. The selected address is set to dst_uri field (aka the outbound proxy address or the $du variable), not being visible in the SIP request.
The method selects a destination from addresses set and rewrites the host and port from R-URI. The parameters have same meaning as for ds_select_dst().
The method selects a destination from addresses set and adds it in the XAVP specified for this module. It is not updating R-URI nor the destination URI. The parameters have same meaning as for ds_select_dst().
The method selects destinations following the rules combining groups add algorithms, controlling where the first destination address is pushed, and optionally setting a limit of selected addresses.
Takes the next destination address from the corresponding XAVPs and sets the dst_uri (outbound proxy address).
Takes the next destination address from the corresponding XAVPs and sets the domain part of the request URI.
Copyright © 2004 FhG FOKUS
Copyright © 2005 Voice Sistem
Copyright © 2010 Daniel-Constantin Mierla (asipto.com)
Copyright © 2014 Olle E. Johansson, Edvina AB
Copyright © 2015 Alessandro Arrichiello, Hewlett Packard
Copyright © 2017, 2018 Julien chavanton, Flowroute
Copyright © 2020 Federico Cabiddu, Libon
Copyright © 2025 Tyler Moore, dOpenSource