|
@@ -18,9 +18,9 @@ Carsten Bock
|
|
|
|
|
|
Copyright © 2004 FhG FOKUS
|
|
|
|
|
|
- Copyright © 2005 Voice-System.RO
|
|
|
- Revision History
|
|
|
- Revision $Revision$ $Date$
|
|
|
+ Copyright © 2005 Voice Sistem
|
|
|
+
|
|
|
+ Copyright © 2010 Daniel-Constantin Mierla (asipto.com)
|
|
|
__________________________________________________________________
|
|
|
|
|
|
Table of Contents
|
|
@@ -48,14 +48,20 @@ Carsten Bock
|
|
|
3.11. dst_avp (str)
|
|
|
3.12. grp_avp (str)
|
|
|
3.13. cnt_avp (str)
|
|
|
- 3.14. hash_pvar (str)
|
|
|
- 3.15. setid_pvar (str)
|
|
|
- 3.16. ds_ping_method (string)
|
|
|
- 3.17. ds_ping_from (string)
|
|
|
- 3.18. ds_ping_interval (int)
|
|
|
- 3.19. ds_probing_threshhold (int)
|
|
|
- 3.20. ds_probing_mode (int)
|
|
|
- 3.21. ds_append_branch (int)
|
|
|
+ 3.14. dstid_avp (str)
|
|
|
+ 3.15. attrs_avp (str)
|
|
|
+ 3.16. hash_pvar (str)
|
|
|
+ 3.17. setid_pvar (str)
|
|
|
+ 3.18. ds_ping_method (string)
|
|
|
+ 3.19. ds_ping_from (string)
|
|
|
+ 3.20. ds_ping_interval (int)
|
|
|
+ 3.21. ds_probing_threshhold (int)
|
|
|
+ 3.22. ds_probing_mode (int)
|
|
|
+ 3.23. ds_append_branch (int)
|
|
|
+ 3.24. ds_hash_size (int)
|
|
|
+ 3.25. ds_hash_expire (int)
|
|
|
+ 3.26. ds_hash_initexpire (int)
|
|
|
+ 3.27. ds_hash_check_interval (int)
|
|
|
|
|
|
4. Exported Functions
|
|
|
|
|
@@ -67,6 +73,8 @@ Carsten Bock
|
|
|
4.6. ds_mark_dst("s")
|
|
|
4.7. ds_is_from_list()
|
|
|
4.8. ds_is_from_list("group")
|
|
|
+ 4.9. ds_load_update()
|
|
|
+ 4.10. ds_load_unset()
|
|
|
|
|
|
5. Exported MI Functions
|
|
|
|
|
@@ -96,18 +104,25 @@ Carsten Bock
|
|
|
1.11. Set the “dst_avp” parameter
|
|
|
1.12. Set the “grp_avp” parameter
|
|
|
1.13. Set the “cnt_avp” parameter
|
|
|
- 1.14. Use $avp(i:273) for hashing:
|
|
|
- 1.15. Use combination of PVs for hashing:
|
|
|
- 1.16. Set the “setid_pvar” parameter
|
|
|
- 1.17. Set the “ds_ping_method” parameter
|
|
|
- 1.18. Set the “ds_ping_from” parameter
|
|
|
- 1.19. Set the “ds_ping_interval” parameter
|
|
|
- 1.20. Set the “ds_probing_threshhold” parameter
|
|
|
- 1.21. Set the “ds_probing_mode” parameter
|
|
|
- 1.22. Set the “ds_append_branch” parameter
|
|
|
- 1.23. ds_select_dst usage
|
|
|
- 1.24. dispatcher list file
|
|
|
- 1.25. Kamailio config script - sample dispatcher usage
|
|
|
+ 1.14. Set the “dstid_avp” parameter
|
|
|
+ 1.15. Set the “attrs_avp” parameter
|
|
|
+ 1.16. Use $avp(i:273) for hashing:
|
|
|
+ 1.17. Use combination of PVs for hashing:
|
|
|
+ 1.18. Set the “setid_pvar” parameter
|
|
|
+ 1.19. Set the “ds_ping_method” parameter
|
|
|
+ 1.20. Set the “ds_ping_from” parameter
|
|
|
+ 1.21. Set the “ds_ping_interval” parameter
|
|
|
+ 1.22. Set the “ds_probing_threshhold” parameter
|
|
|
+ 1.23. Set the “ds_probing_mode” parameter
|
|
|
+ 1.24. Set the “ds_append_branch” parameter
|
|
|
+ 1.25. Set the “ds_hash_size” parameter
|
|
|
+ 1.26. Set the “ds_hash_expire” parameter
|
|
|
+ 1.27. Set the “ds_hash_initexpire” parameter
|
|
|
+ 1.28. Set the “ds_hash_check_interval” parameter
|
|
|
+ 1.29. ds_select_dst usage
|
|
|
+ 1.30. ds_load_unset usage
|
|
|
+ 1.31. dispatcher list file
|
|
|
+ 1.32. Kamailio config script - sample dispatcher usage
|
|
|
|
|
|
Chapter 1. Admin Guide
|
|
|
|
|
@@ -134,14 +149,20 @@ Chapter 1. Admin Guide
|
|
|
3.11. dst_avp (str)
|
|
|
3.12. grp_avp (str)
|
|
|
3.13. cnt_avp (str)
|
|
|
- 3.14. hash_pvar (str)
|
|
|
- 3.15. setid_pvar (str)
|
|
|
- 3.16. ds_ping_method (string)
|
|
|
- 3.17. ds_ping_from (string)
|
|
|
- 3.18. ds_ping_interval (int)
|
|
|
- 3.19. ds_probing_threshhold (int)
|
|
|
- 3.20. ds_probing_mode (int)
|
|
|
- 3.21. ds_append_branch (int)
|
|
|
+ 3.14. dstid_avp (str)
|
|
|
+ 3.15. attrs_avp (str)
|
|
|
+ 3.16. hash_pvar (str)
|
|
|
+ 3.17. setid_pvar (str)
|
|
|
+ 3.18. ds_ping_method (string)
|
|
|
+ 3.19. ds_ping_from (string)
|
|
|
+ 3.20. ds_ping_interval (int)
|
|
|
+ 3.21. ds_probing_threshhold (int)
|
|
|
+ 3.22. ds_probing_mode (int)
|
|
|
+ 3.23. ds_append_branch (int)
|
|
|
+ 3.24. ds_hash_size (int)
|
|
|
+ 3.25. ds_hash_expire (int)
|
|
|
+ 3.26. ds_hash_initexpire (int)
|
|
|
+ 3.27. ds_hash_check_interval (int)
|
|
|
|
|
|
4. Exported Functions
|
|
|
|
|
@@ -153,6 +174,8 @@ Chapter 1. Admin Guide
|
|
|
4.6. ds_mark_dst("s")
|
|
|
4.7. ds_is_from_list()
|
|
|
4.8. ds_is_from_list("group")
|
|
|
+ 4.9. ds_load_update()
|
|
|
+ 4.10. ds_load_unset()
|
|
|
|
|
|
5. Exported MI Functions
|
|
|
|
|
@@ -205,14 +228,20 @@ Chapter 1. Admin Guide
|
|
|
3.11. dst_avp (str)
|
|
|
3.12. grp_avp (str)
|
|
|
3.13. cnt_avp (str)
|
|
|
- 3.14. hash_pvar (str)
|
|
|
- 3.15. setid_pvar (str)
|
|
|
- 3.16. ds_ping_method (string)
|
|
|
- 3.17. ds_ping_from (string)
|
|
|
- 3.18. ds_ping_interval (int)
|
|
|
- 3.19. ds_probing_threshhold (int)
|
|
|
- 3.20. ds_probing_mode (int)
|
|
|
- 3.21. ds_append_branch (int)
|
|
|
+ 3.14. dstid_avp (str)
|
|
|
+ 3.15. attrs_avp (str)
|
|
|
+ 3.16. hash_pvar (str)
|
|
|
+ 3.17. setid_pvar (str)
|
|
|
+ 3.18. ds_ping_method (string)
|
|
|
+ 3.19. ds_ping_from (string)
|
|
|
+ 3.20. ds_ping_interval (int)
|
|
|
+ 3.21. ds_probing_threshhold (int)
|
|
|
+ 3.22. ds_probing_mode (int)
|
|
|
+ 3.23. ds_append_branch (int)
|
|
|
+ 3.24. ds_hash_size (int)
|
|
|
+ 3.25. ds_hash_expire (int)
|
|
|
+ 3.26. ds_hash_initexpire (int)
|
|
|
+ 3.27. ds_hash_check_interval (int)
|
|
|
|
|
|
3.1. list_file (string)
|
|
|
|
|
@@ -354,13 +383,13 @@ modparam("dispatcher", "force_dst", 1)
|
|
|
|
|
|
Note
|
|
|
|
|
|
- You must set this parameter if you want do do load balancing fail over.
|
|
|
+ You must set this parameter if you want to do load balancing fail over.
|
|
|
|
|
|
Default value is “null” - don't add AVPs.
|
|
|
|
|
|
Example 1.11. Set the “dst_avp” parameter
|
|
|
...
|
|
|
- modparam("dispatcher", "dst_avp", "$avp(i:271)")
|
|
|
+ modparam("dispatcher", "dst_avp", "$avp(dsdst)")
|
|
|
...
|
|
|
|
|
|
3.12. grp_avp (str)
|
|
@@ -370,13 +399,13 @@ Note
|
|
|
|
|
|
Note
|
|
|
|
|
|
- You must set this parameter if you want do do load balancing fail over.
|
|
|
+ You must set this parameter if you want to do load balancing fail over.
|
|
|
|
|
|
Default value is “null” - don't add AVP.
|
|
|
|
|
|
Example 1.12. Set the “grp_avp” parameter
|
|
|
...
|
|
|
- modparam("dispatcher", "grp_avp", "$avp(i:272)")
|
|
|
+ modparam("dispatcher", "grp_avp", "$avp(dsgrp)")
|
|
|
...
|
|
|
|
|
|
3.13. cnt_avp (str)
|
|
@@ -386,16 +415,46 @@ Note
|
|
|
|
|
|
Note
|
|
|
|
|
|
- You must set this parameter if you want do do load balancing fail over.
|
|
|
+ You must set this parameter if you want to do load balancing fail over.
|
|
|
|
|
|
Default value is “null” - don't add AVP.
|
|
|
|
|
|
Example 1.13. Set the “cnt_avp” parameter
|
|
|
...
|
|
|
- modparam("dispatcher", "cnt_avp", "$avp(i:273)")
|
|
|
+ modparam("dispatcher", "cnt_avp", "$avp(dscnt)")
|
|
|
+ ...
|
|
|
+
|
|
|
+3.14. dstid_avp (str)
|
|
|
+
|
|
|
+ The name of the avp storing the destination unique ID used for call
|
|
|
+ load based dispatching.
|
|
|
+
|
|
|
+Note
|
|
|
+
|
|
|
+ You must set this parameter if you want to do load balancing on call
|
|
|
+ load (alg 10).
|
|
|
+
|
|
|
+ Default value is “null” - don't add AVP.
|
|
|
+
|
|
|
+ Example 1.14. Set the “dstid_avp” parameter
|
|
|
+ ...
|
|
|
+ modparam("dispatcher", "dstid_avp", "$avp(dsdstid)")
|
|
|
...
|
|
|
|
|
|
-3.14. hash_pvar (str)
|
|
|
+3.15. attrs_avp (str)
|
|
|
+
|
|
|
+ The name of the avp storing destination's attributes value.
|
|
|
+
|
|
|
+Note
|
|
|
+
|
|
|
+ Default value is “null” - don't add AVP.
|
|
|
+
|
|
|
+ Example 1.15. Set the “attrs_avp” parameter
|
|
|
+ ...
|
|
|
+ modparam("dispatcher", "attrs_avp", "$avp(dsattrs)")
|
|
|
+ ...
|
|
|
+
|
|
|
+3.16. hash_pvar (str)
|
|
|
|
|
|
String with PVs used for the hashing algorithm 7.
|
|
|
|
|
@@ -406,29 +465,29 @@ Note
|
|
|
|
|
|
Default value is “null” - disabled.
|
|
|
|
|
|
- Example 1.14. Use $avp(i:273) for hashing:
|
|
|
+ Example 1.16. Use $avp(i:273) for hashing:
|
|
|
...
|
|
|
modparam("dispatcher", "hash_pvar", "$avp(i:273)")
|
|
|
...
|
|
|
|
|
|
- Example 1.15. Use combination of PVs for hashing:
|
|
|
+ Example 1.17. Use combination of PVs for hashing:
|
|
|
...
|
|
|
modparam("dispatcher", "hash_pvar", "hash the $fU@$ci")
|
|
|
...
|
|
|
|
|
|
-3.15. setid_pvar (str)
|
|
|
+3.17. setid_pvar (str)
|
|
|
|
|
|
The name of the PV where to store the set ID (group ID) when calling
|
|
|
ds_is_from_list() with no parameter.
|
|
|
|
|
|
Default value is “null” - don't set PV.
|
|
|
|
|
|
- Example 1.16. Set the “setid_pvar” parameter
|
|
|
+ Example 1.18. Set the “setid_pvar” parameter
|
|
|
...
|
|
|
modparam("dispatcher", "setid_pvar", "$var(setid)")
|
|
|
...
|
|
|
|
|
|
-3.16. ds_ping_method (string)
|
|
|
+3.18. ds_ping_method (string)
|
|
|
|
|
|
With this Method you can define, with which method you want to probe
|
|
|
the gateways. Pinging gateways feature depends on ds_ping_interval
|
|
@@ -436,12 +495,12 @@ Note
|
|
|
|
|
|
Default value is “OPTIONS”.
|
|
|
|
|
|
- Example 1.17. Set the “ds_ping_method” parameter
|
|
|
+ Example 1.19. Set the “ds_ping_method” parameter
|
|
|
...
|
|
|
modparam("dispatcher", "ds_ping_method", "INFO")
|
|
|
...
|
|
|
|
|
|
-3.17. ds_ping_from (string)
|
|
|
+3.19. ds_ping_from (string)
|
|
|
|
|
|
With this Method you can define the "From:"-Line for the request, sent
|
|
|
to the failed gateways. This method is only available, if compiled with
|
|
@@ -449,12 +508,12 @@ Note
|
|
|
|
|
|
Default value is “sip:dispatcher@localhost”.
|
|
|
|
|
|
- Example 1.18. Set the “ds_ping_from” parameter
|
|
|
+ Example 1.20. Set the “ds_ping_from” parameter
|
|
|
...
|
|
|
modparam("dispatcher", "ds_ping_from", "sip:[email protected]")
|
|
|
...
|
|
|
|
|
|
-3.18. ds_ping_interval (int)
|
|
|
+3.20. ds_ping_interval (int)
|
|
|
|
|
|
With this parameter you can define the interval for sending a request
|
|
|
to a gateway marked as inactive upon a failed request routing to it.
|
|
@@ -463,12 +522,12 @@ Note
|
|
|
|
|
|
Default value is “0”.
|
|
|
|
|
|
- Example 1.19. Set the “ds_ping_interval” parameter
|
|
|
+ Example 1.21. Set the “ds_ping_interval” parameter
|
|
|
...
|
|
|
modparam("dispatcher", "ds_ping_interval", 30)
|
|
|
...
|
|
|
|
|
|
-3.19. ds_probing_threshhold (int)
|
|
|
+3.21. ds_probing_threshhold (int)
|
|
|
|
|
|
If you want to set a gateway into probing mode, you will need a
|
|
|
specific number of requests until it will change from "active" to
|
|
@@ -476,12 +535,12 @@ Note
|
|
|
|
|
|
Default value is “3”.
|
|
|
|
|
|
- Example 1.20. Set the “ds_probing_threshhold” parameter
|
|
|
+ Example 1.22. Set the “ds_probing_threshhold” parameter
|
|
|
...
|
|
|
modparam("dispatcher", "ds_probing_threshhold", 10)
|
|
|
...
|
|
|
|
|
|
-3.20. ds_probing_mode (int)
|
|
|
+3.22. ds_probing_mode (int)
|
|
|
|
|
|
Controls what gateways are tested to see if they are reachable. If set
|
|
|
to 0, only the gateways with state PROBING are tested, if set to 1, all
|
|
@@ -490,12 +549,12 @@ Note
|
|
|
|
|
|
Default value is “0”.
|
|
|
|
|
|
- Example 1.21. Set the “ds_probing_mode” parameter
|
|
|
+ Example 1.23. Set the “ds_probing_mode” parameter
|
|
|
...
|
|
|
modparam("dispatcher", "ds_probing_mode", 1)
|
|
|
...
|
|
|
|
|
|
-3.21. ds_append_branch (int)
|
|
|
+3.23. ds_append_branch (int)
|
|
|
|
|
|
If set to 1, functions will automaticall append a new branch if called
|
|
|
in FAILURE_ROUTE. If set to 0, script writer has to call
|
|
@@ -503,11 +562,62 @@ Note
|
|
|
|
|
|
Default value is “1”.
|
|
|
|
|
|
- Example 1.22. Set the “ds_append_branch” parameter
|
|
|
+ Example 1.24. Set the “ds_append_branch” parameter
|
|
|
...
|
|
|
modparam("dispatcher", "ds_append_branch", 0)
|
|
|
...
|
|
|
|
|
|
+3.24. ds_hash_size (int)
|
|
|
+
|
|
|
+ The value to be used as power of two to set the number of slots to hash
|
|
|
+ table storing data for call load dispatching (e.g., value 8 will create
|
|
|
+ a hash table with 256 slots). It must be greater than 0 to enable call
|
|
|
+ load dispatching feature (alg 10).
|
|
|
+
|
|
|
+ Default value is “0”.
|
|
|
+
|
|
|
+ Example 1.25. Set the “ds_hash_size” parameter
|
|
|
+ ...
|
|
|
+ modparam("dispatcher", "ds_hash_size", 9)
|
|
|
+ ...
|
|
|
+
|
|
|
+3.25. ds_hash_expire (int)
|
|
|
+
|
|
|
+ Expiration time in seconds to remove the load on a destination if no
|
|
|
+ BYE was received meanwhile.
|
|
|
+
|
|
|
+ Default value is “7200”.
|
|
|
+
|
|
|
+ Example 1.26. Set the “ds_hash_expire” parameter
|
|
|
+ ...
|
|
|
+ modparam("dispatcher", "ds_hash_expire", 3600)
|
|
|
+ ...
|
|
|
+
|
|
|
+3.26. ds_hash_initexpire (int)
|
|
|
+
|
|
|
+ Expiration time in seconds to remove the load on a destination if no
|
|
|
+ 200 for INVITE was received meanwhile and state updated with
|
|
|
+ ds_load_update().
|
|
|
+
|
|
|
+ Default value is “7200”.
|
|
|
+
|
|
|
+ Example 1.27. Set the “ds_hash_initexpire” parameter
|
|
|
+ ...
|
|
|
+ modparam("dispatcher", "ds_hash_initexpire", 60)
|
|
|
+ ...
|
|
|
+
|
|
|
+3.27. ds_hash_check_interval (int)
|
|
|
+
|
|
|
+ Time interval in seconds to scan internal hash table with call load
|
|
|
+ dispatching data for expired items.
|
|
|
+
|
|
|
+ Default value is “30”.
|
|
|
+
|
|
|
+ Example 1.28. Set the “ds_hash_check_interval” parameter
|
|
|
+ ...
|
|
|
+ modparam("dispatcher", "ds_hash_check_interval", 60)
|
|
|
+ ...
|
|
|
+
|
|
|
4. Exported Functions
|
|
|
|
|
|
4.1. ds_select_dst(set, alg)
|
|
@@ -518,6 +628,8 @@ Note
|
|
|
4.6. ds_mark_dst("s")
|
|
|
4.7. ds_is_from_list()
|
|
|
4.8. ds_is_from_list("group")
|
|
|
+ 4.9. ds_load_update()
|
|
|
+ 4.10. ds_load_unset()
|
|
|
|
|
|
4.1. ds_select_dst(set, alg)
|
|
|
|
|
@@ -541,6 +653,23 @@ Note
|
|
|
+ “7” - hash over the content of PVs string. Note: This works
|
|
|
only when the parameter hash_pvar is set.
|
|
|
+ “8” - use first destination (good for failover).
|
|
|
+ + “9” - use weight based load distribution. You have to set the
|
|
|
+ attribute 'weight' per each address in destination set.
|
|
|
+ + “10” - use call load distribution. You have to set the
|
|
|
+ attribute 'duid' (as an unique string id) per each address in
|
|
|
+ destination set. Also, you must set parameters 'dstid_avp' and
|
|
|
+ 'ds_hash_size'.
|
|
|
+ The algorithm can be used even with stateless proxy mode,
|
|
|
+ there is no SIP dialog tracking depending on other modules,
|
|
|
+ just an internal lightweight call tracking by Call-Id, thus is
|
|
|
+ fast and suitable even for embedded systems.
|
|
|
+ The first destination selected by this algorithm is the one
|
|
|
+ that has the least number of calls associated. The rest of the
|
|
|
+ destination list is taken in order of the entries in set -
|
|
|
+ anyhow, until a re-route to next destination happens, the load
|
|
|
+ on each address can change.
|
|
|
+ This algorithm can be used only for dispatching INVITE
|
|
|
+ requests as it is the only SIP method creating a SIP call.
|
|
|
+ “X” - if the algorithm is not implemented, the first entry in
|
|
|
set is chosen.
|
|
|
|
|
@@ -551,7 +680,7 @@ Note
|
|
|
|
|
|
This function can be used from REQUEST_ROUTE.
|
|
|
|
|
|
- Example 1.23. ds_select_dst usage
|
|
|
+ Example 1.29. ds_select_dst usage
|
|
|
...
|
|
|
ds_select_dst("1", "0");
|
|
|
...
|
|
@@ -629,6 +758,48 @@ ds_select_dst("1", "$var(a)");
|
|
|
This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
|
|
|
BRANCH_ROUTE and ONREPLY_ROUTE.
|
|
|
|
|
|
+4.9. ds_load_update()
|
|
|
+
|
|
|
+ Updates the load state:
|
|
|
+ * if it is a BYE or CANCEL - remove the load from destination address
|
|
|
+ used to forward the INVITE
|
|
|
+ * if it is a reply to INVITE - set internal state to confirmed for
|
|
|
+ call load structure when reply code is 2xx.
|
|
|
+
|
|
|
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
|
|
|
+ BRANCH_ROUTE and ONREPLY_ROUTE.
|
|
|
+
|
|
|
+4.10. ds_load_unset()
|
|
|
+
|
|
|
+ Remove the call load for the destination that routed the call.
|
|
|
+
|
|
|
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
|
|
|
+ BRANCH_ROUTE and ONREPLY_ROUTE.
|
|
|
+
|
|
|
+ Example 1.30. ds_load_unset usage
|
|
|
+...
|
|
|
+route {
|
|
|
+ ...
|
|
|
+ if(is_method("BYE|CANCEL"))
|
|
|
+ ds_load_update();
|
|
|
+ ...
|
|
|
+ ds_select_dst("1", "10");
|
|
|
+ ...
|
|
|
+}
|
|
|
+
|
|
|
+onreply_route {
|
|
|
+ ...
|
|
|
+ if(is_method("INVITE")
|
|
|
+ {
|
|
|
+ if(status=~"2[0-9][0-9]")
|
|
|
+ ds_load_update();
|
|
|
+ else if(status=~"[3-7][0-9][0-9]")
|
|
|
+ ds_load_unset();
|
|
|
+ }
|
|
|
+ ...
|
|
|
+}
|
|
|
+...
|
|
|
+
|
|
|
5. Exported MI Functions
|
|
|
|
|
|
5.1. ds_set_state
|
|
@@ -687,14 +858,33 @@ ds_select_dst("1", "$var(a)");
|
|
|
|
|
|
6.1. Destination List File
|
|
|
|
|
|
- Each destination point must be on one line. First token is the set id,
|
|
|
- followed by destination address. Optionally, the third field can be
|
|
|
- flags value (1 - destination inactive, 2 - destination in probing mod
|
|
|
- -- you can do bitwise OR to set both flags). The set id must be an
|
|
|
- integer value. Destination address must be a valid SIP URI. Empty lines
|
|
|
- or lines starting with “#” are ignored.
|
|
|
+ Each destination point must be on one line. First token is the set id
|
|
|
+ (an integer value), followed by destination address (s string value in
|
|
|
+ SIP URI format).
|
|
|
+
|
|
|
+ Optionally, these fields can be followed by:
|
|
|
+ * flags: 1 - destination inactive, 2 - destination in probing mode --
|
|
|
+ you can do bitwise OR to set both flags
|
|
|
+ * priority: sets the priority in destination list (based on it is
|
|
|
+ done the initial ordering inside the set)
|
|
|
+ * attributes: extra filed in form of name1=value1;...;nameN=valueN.
|
|
|
+ There are some predefined names that are used of weight and call
|
|
|
+ load dispatching.
|
|
|
+
|
|
|
+ Line format is:
|
|
|
+...
|
|
|
+setid(int) destination(sip uri) flags(int,opt) priority(int,opt) attrs(str,opt)
|
|
|
+...
|
|
|
+
|
|
|
+ Full line example:
|
|
|
+...
|
|
|
+1 sip:127.0.0.1:5080 0 0 duid=abc;my=xyz
|
|
|
+...
|
|
|
+
|
|
|
+ For database, each element of a line resides in a different column.
|
|
|
+ Next is a dispatcher.list file example:
|
|
|
|
|
|
- Example 1.24. dispatcher list file
|
|
|
+ Example 1.31. dispatcher list file
|
|
|
...
|
|
|
# $Id$
|
|
|
# dispatcher destination sets
|
|
@@ -718,7 +908,7 @@ ds_select_dst("1", "$var(a)");
|
|
|
|
|
|
Next picture displays a sample usage of dispatcher.
|
|
|
|
|
|
- Example 1.25. Kamailio config script - sample dispatcher usage
|
|
|
+ Example 1.32. Kamailio config script - sample dispatcher usage
|
|
|
...
|
|
|
# $Id$
|
|
|
# sample config file for dispatcher module
|