Browse Source

dispatcher: Edited docs xml file and generated README file using make command as suggested by @miconda

alezzandro 10 years ago
parent
commit
9153b9fa73
2 changed files with 186 additions and 167 deletions
  1. 174 167
      modules/dispatcher/README
  2. 12 0
      modules/dispatcher/doc/dispatcher.xml

+ 174 - 167
modules/dispatcher/README

@@ -26,15 +26,17 @@ Edited by
 
 
 Alessandro Arrichiello
 Alessandro Arrichiello
 
 
-   Hewlett-Packard
+   Hewlett Packard
 
 
-   Copyright © 2004 FhG FOKUS
+   Copyright © 2004 FhG FOKUS
 
 
-   Copyright © 2005 Voice Sistem
+   Copyright © 2005 Voice Sistem
 
 
-   Copyright © 2010 Daniel-Constantin Mierla (asipto.com)
+   Copyright © 2010 Daniel-Constantin Mierla (asipto.com)
 
 
-   Copyright © 2014 Olle E. Johansson, Edvina AB
+   Copyright © 2014 Olle E. Johansson, Edvina AB
+
+   Copyright © 2015 Alessandro Arrichiello, Hewlett Packard
      __________________________________________________________________
      __________________________________________________________________
 
 
    Table of Contents
    Table of Contents
@@ -124,39 +126,39 @@ Alessandro Arrichiello
 
 
    List of Examples
    List of Examples
 
 
-   1.1. Set the "list_file" parameter
-   1.2. Set "db_url" parameter
-   1.3. Set "table_name" parameter
-   1.4. Set "setid_col" parameter
-   1.5. Set "destination_col" parameter
-   1.6. Set "flags_col" parameter
-   1.7. Set "priority_col" parameter
-   1.8. Set the "force_dst" parameter
-   1.9. Set the "flags" parameter
-   1.10. Set the "use_default" parameter
-   1.11. Set the "dst_avp" parameter
-   1.12. Set the "grp_avp" parameter
-   1.13. Set the "cnt_avp" parameter
-   1.14. Set the "dstid_avp" parameter
-   1.15. Set the "attrs_avp" parameter
-   1.16. Set the "sock_avp" parameter
+   1.1. Set the “list_file� parameter
+   1.2. Set “db_url� parameter
+   1.3. Set “table_name� parameter
+   1.4. Set “setid_col� parameter
+   1.5. Set “destination_col� parameter
+   1.6. Set “flags_col� parameter
+   1.7. Set “priority_col� parameter
+   1.8. Set the “force_dst� parameter
+   1.9. Set the “flags� parameter
+   1.10. Set the “use_default� parameter
+   1.11. Set the “dst_avp� parameter
+   1.12. Set the “grp_avp� parameter
+   1.13. Set the “cnt_avp� parameter
+   1.14. Set the “dstid_avp� parameter
+   1.15. Set the “attrs_avp� parameter
+   1.16. Set the “sock_avp� parameter
    1.17. Use $avp(i:273) for hashing:
    1.17. Use $avp(i:273) for hashing:
    1.18. Use combination of PVs for hashing:
    1.18. Use combination of PVs for hashing:
-   1.19. Set the "setid_pvname" parameter
-   1.20. Set the "attrs_pvname" parameter
-   1.21. Set the "ds_ping_method" parameter
-   1.22. Set the "ds_ping_from" parameter
-   1.23. Set the "ds_ping_interval" parameter
-   1.24. Set the "ds_probing_threshold" parameter
-   1.25. Set the "ds_inactive_threshold" parameter
-   1.26. Set the "ds_ping_reply_codes" parameter
-   1.27. Set the "ds_probing_mode" parameter
-   1.28. Set the "ds_hash_size" parameter
-   1.29. Set the "ds_hash_expire" parameter
-   1.30. Set the "ds_hash_initexpire" parameter
-   1.31. Set the "ds_hash_check_interval" parameter
-   1.32. Set the "outbound_proxy" parameter
-   1.33. Set the "ds_default_socket" parameter
+   1.19. Set the “setid_pvname� parameter
+   1.20. Set the “attrs_pvname� parameter
+   1.21. Set the “ds_ping_method� parameter
+   1.22. Set the “ds_ping_from� parameter
+   1.23. Set the “ds_ping_interval� parameter
+   1.24. Set the “ds_probing_threshold� parameter
+   1.25. Set the “ds_inactive_threshold� parameter
+   1.26. Set the “ds_ping_reply_codes� parameter
+   1.27. Set the “ds_probing_mode� parameter
+   1.28. Set the “ds_hash_size� parameter
+   1.29. Set the “ds_hash_expire� parameter
+   1.30. Set the “ds_hash_initexpire� parameter
+   1.31. Set the “ds_hash_check_interval� parameter
+   1.32. Set the “outbound_proxy� parameter
+   1.33. Set the “ds_default_socket� parameter
    1.34. ds_select_dst usage
    1.34. ds_select_dst usage
    1.35. ds_mark_dst usage
    1.35. ds_mark_dst usage
    1.36. ds_list_exist usage
    1.36. ds_list_exist usage
@@ -200,14 +202,15 @@ Chapter 1. Admin Guide
         3.21. ds_ping_from (string)
         3.21. ds_ping_from (string)
         3.22. ds_ping_interval (int)
         3.22. ds_ping_interval (int)
         3.23. ds_probing_threshold (int)
         3.23. ds_probing_threshold (int)
-        3.24. ds_ping_reply_codes (string)
-        3.25. ds_probing_mode (int)
-        3.26. ds_hash_size (int)
-        3.27. ds_hash_expire (int)
-        3.28. ds_hash_initexpire (int)
-        3.29. ds_hash_check_interval (int)
-        3.30. outbound_proxy (str)
-        3.31. ds_default_socket (str)
+        3.24. ds_inactive_threshold (int)
+        3.25. ds_ping_reply_codes (string)
+        3.26. ds_probing_mode (int)
+        3.27. ds_hash_size (int)
+        3.28. ds_hash_expire (int)
+        3.29. ds_hash_initexpire (int)
+        3.30. ds_hash_check_interval (int)
+        3.31. outbound_proxy (str)
+        3.32. ds_default_socket (str)
 
 
    4. Functions
    4. Functions
 
 
@@ -306,23 +309,24 @@ Chapter 1. Admin Guide
    3.21. ds_ping_from (string)
    3.21. ds_ping_from (string)
    3.22. ds_ping_interval (int)
    3.22. ds_ping_interval (int)
    3.23. ds_probing_threshold (int)
    3.23. ds_probing_threshold (int)
-   3.24. ds_ping_reply_codes (string)
-   3.25. ds_probing_mode (int)
-   3.26. ds_hash_size (int)
-   3.27. ds_hash_expire (int)
-   3.28. ds_hash_initexpire (int)
-   3.29. ds_hash_check_interval (int)
-   3.30. outbound_proxy (str)
-   3.31. ds_default_socket (str)
+   3.24. ds_inactive_threshold (int)
+   3.25. ds_ping_reply_codes (string)
+   3.26. ds_probing_mode (int)
+   3.27. ds_hash_size (int)
+   3.28. ds_hash_expire (int)
+   3.29. ds_hash_initexpire (int)
+   3.30. ds_hash_check_interval (int)
+   3.31. outbound_proxy (str)
+   3.32. ds_default_socket (str)
 
 
 3.1. list_file (string)
 3.1. list_file (string)
 
 
    Path to the file with destination sets.
    Path to the file with destination sets.
 
 
-   Default value is "/etc/kamailio/dispatcher.list" or
-   "/usr/local/etc/kamailio/dispatcher.list".
+   Default value is “/etc/kamailio/dispatcher.list� or
+   “/usr/local/etc/kamailio/dispatcher.list�.
 
 
-   Example 1.1. Set the "list_file" parameter
+   Example 1.1. Set the “list_file� parameter
 ...
 ...
 modparam("dispatcher", "list_file", "/var/run/kamailio/dispatcher.list")
 modparam("dispatcher", "list_file", "/var/run/kamailio/dispatcher.list")
 ...
 ...
@@ -332,9 +336,9 @@ modparam("dispatcher", "list_file", "/var/run/kamailio/dispatcher.list")
    If you want to load the sets of gateways from the database you must set
    If you want to load the sets of gateways from the database you must set
    this parameter.
    this parameter.
 
 
-   Default value is "NULL" (disable DB support).
+   Default value is “NULL� (disable DB support).
 
 
-   Example 1.2. Set "db_url" parameter
+   Example 1.2. Set “db_url� parameter
 ...
 ...
 modparam("dispatcher", "db_url", "mysql://user:passwb@localhost/database")
 modparam("dispatcher", "db_url", "mysql://user:passwb@localhost/database")
 ...
 ...
@@ -344,9 +348,9 @@ modparam("dispatcher", "db_url", "mysql://user:passwb@localhost/database")
    If you want to load the sets of gateways from the database you must set
    If you want to load the sets of gateways from the database you must set
    this parameter as the database name.
    this parameter as the database name.
 
 
-   Default value is "dispatcher".
+   Default value is “dispatcher�.
 
 
-   Example 1.3. Set "table_name" parameter
+   Example 1.3. Set “table_name� parameter
 ...
 ...
 modparam("dispatcher", "table_name", "my_dispatcher")
 modparam("dispatcher", "table_name", "my_dispatcher")
 ...
 ...
@@ -355,9 +359,9 @@ modparam("dispatcher", "table_name", "my_dispatcher")
 
 
    The column's name in the database storing the gateway's group id.
    The column's name in the database storing the gateway's group id.
 
 
-   Default value is "setid".
+   Default value is “setid�.
 
 
-   Example 1.4. Set "setid_col" parameter
+   Example 1.4. Set “setid_col� parameter
 ...
 ...
 modparam("dispatcher", "setid_col", "groupid")
 modparam("dispatcher", "setid_col", "groupid")
 ...
 ...
@@ -366,9 +370,9 @@ modparam("dispatcher", "setid_col", "groupid")
 
 
    The column's name in the database storing the destination sip URI.
    The column's name in the database storing the destination sip URI.
 
 
-   Default value is "destination".
+   Default value is “destination�.
 
 
-   Example 1.5. Set "destination_col" parameter
+   Example 1.5. Set “destination_col� parameter
 ...
 ...
 modparam("dispatcher", "destination_col", "uri")
 modparam("dispatcher", "destination_col", "uri")
 ...
 ...
@@ -378,9 +382,9 @@ modparam("dispatcher", "destination_col", "uri")
    The column's name in the database storing the flags for the destination
    The column's name in the database storing the flags for the destination
    URI.
    URI.
 
 
-   Default value is "flags".
+   Default value is “flags�.
 
 
-   Example 1.6. Set "flags_col" parameter
+   Example 1.6. Set “flags_col� parameter
 ...
 ...
 modparam("dispatcher", "flags_col", "dstflags")
 modparam("dispatcher", "flags_col", "dstflags")
 ...
 ...
@@ -390,9 +394,9 @@ modparam("dispatcher", "flags_col", "dstflags")
    The column's name in the database storing the priority for destination
    The column's name in the database storing the priority for destination
    URI.
    URI.
 
 
-   Default value is "priority".
+   Default value is “priority�.
 
 
-   Example 1.7. Set "priority_col" parameter
+   Example 1.7. Set “priority_col� parameter
 ...
 ...
 modparam("dispatcher", "priority_col", "dstpriority")
 modparam("dispatcher", "priority_col", "dstpriority")
 ...
 ...
@@ -403,9 +407,9 @@ modparam("dispatcher", "priority_col", "dstpriority")
    when that is already set. If set to 0, will return error when the
    when that is already set. If set to 0, will return error when the
    destination address is already set.
    destination address is already set.
 
 
-   Default value is "1".
+   Default value is “1�.
 
 
-   Example 1.8. Set the "force_dst" parameter
+   Example 1.8. Set the “force_dst� parameter
 ...
 ...
 modparam("dispatcher", "force_dst", 1)
 modparam("dispatcher", "force_dst", 1)
 ...
 ...
@@ -424,9 +428,9 @@ modparam("dispatcher", "force_dst", 1)
    destination set in the AVP, and use these AVPs to contact next address
    destination set in the AVP, and use these AVPs to contact next address
    if the current-tried destination fails.
    if the current-tried destination fails.
 
 
-   Default value is "0".
+   Default value is “0�.
 
 
-   Example 1.9. Set the "flags" parameter
+   Example 1.9. Set the “flags� parameter
  ...
  ...
  modparam("dispatcher", "flags", 3)
  modparam("dispatcher", "flags", 3)
  ...
  ...
@@ -438,9 +442,9 @@ modparam("dispatcher", "force_dst", 1)
    useful when wanting to send the call to an anouncement server saying:
    useful when wanting to send the call to an anouncement server saying:
    "the gateways are full, try later".
    "the gateways are full, try later".
 
 
-   Default value is "0".
+   Default value is “0�.
 
 
-   Example 1.10. Set the "use_default" parameter
+   Example 1.10. Set the “use_default� parameter
  ...
  ...
  modparam("dispatcher", "use_default", 1)
  modparam("dispatcher", "use_default", 1)
  ...
  ...
@@ -458,9 +462,9 @@ Note
 
 
    You must set this parameter if you want to 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.
+   Default value is “null� - don't add AVPs.
 
 
-   Example 1.11. Set the "dst_avp" parameter
+   Example 1.11. Set the “dst_avp� parameter
  ...
  ...
  modparam("dispatcher", "dst_avp", "$avp(dsdst)")
  modparam("dispatcher", "dst_avp", "$avp(dsdst)")
  ...
  ...
@@ -474,9 +478,9 @@ Note
 
 
    You must set this parameter if you want to 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.
+   Default value is “null� - don't add AVP.
 
 
-   Example 1.12. Set the "grp_avp" parameter
+   Example 1.12. Set the “grp_avp� parameter
  ...
  ...
  modparam("dispatcher", "grp_avp", "$avp(dsgrp)")
  modparam("dispatcher", "grp_avp", "$avp(dsgrp)")
  ...
  ...
@@ -490,9 +494,9 @@ Note
 
 
    You must set this parameter if you want to 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.
+   Default value is “null� - don't add AVP.
 
 
-   Example 1.13. Set the "cnt_avp" parameter
+   Example 1.13. Set the “cnt_avp� parameter
  ...
  ...
  modparam("dispatcher", "cnt_avp", "$avp(dscnt)")
  modparam("dispatcher", "cnt_avp", "$avp(dscnt)")
  ...
  ...
@@ -507,9 +511,9 @@ Note
    You must set this parameter if you want to do load balancing on call
    You must set this parameter if you want to do load balancing on call
    load (alg 10).
    load (alg 10).
 
 
-   Default value is "null" - don't add AVP.
+   Default value is “null� - don't add AVP.
 
 
-   Example 1.14. Set the "dstid_avp" parameter
+   Example 1.14. Set the “dstid_avp� parameter
  ...
  ...
  modparam("dispatcher", "dstid_avp", "$avp(dsdstid)")
  modparam("dispatcher", "dstid_avp", "$avp(dsdstid)")
  ...
  ...
@@ -520,9 +524,9 @@ Note
 
 
 Note
 Note
 
 
-   Default value is "null" - don't add AVP.
+   Default value is “null� - don't add AVP.
 
 
-   Example 1.15. Set the "attrs_avp" parameter
+   Example 1.15. Set the “attrs_avp� parameter
  ...
  ...
  modparam("dispatcher", "attrs_avp", "$avp(dsattrs)")
  modparam("dispatcher", "attrs_avp", "$avp(dsattrs)")
  ...
  ...
@@ -537,9 +541,9 @@ Note
    If you want to do load balancing fail over, you have to set this
    If you want to do load balancing fail over, you have to set this
    parameter to use the correct socket for each gateway.
    parameter to use the correct socket for each gateway.
 
 
-   Default value is "null" - don't add AVPs.
+   Default value is “null� - don't add AVPs.
 
 
-   Example 1.16. Set the "sock_avp" parameter
+   Example 1.16. Set the “sock_avp� parameter
  ...
  ...
  modparam("dispatcher", "sock_avp", "$avp(dssocket)")
  modparam("dispatcher", "sock_avp", "$avp(dssocket)")
  ...
  ...
@@ -553,7 +557,7 @@ Note
    You must set this parameter if you want do hashing over custom message
    You must set this parameter if you want do hashing over custom message
    parts.
    parts.
 
 
-   Default value is "null" - disabled.
+   Default value is “null� - disabled.
 
 
    Example 1.17. Use $avp(i:273) for hashing:
    Example 1.17. Use $avp(i:273) for hashing:
  ...
  ...
@@ -570,9 +574,9 @@ Note
    The name of the PV where to store the set ID (group ID) when calling
    The name of the PV where to store the set ID (group ID) when calling
    ds_is_from_list() with no parameter.
    ds_is_from_list() with no parameter.
 
 
-   Default value is "null" - don't set PV.
+   Default value is “null� - don't set PV.
 
 
-   Example 1.19. Set the "setid_pvname" parameter
+   Example 1.19. Set the “setid_pvname� parameter
  ...
  ...
  modparam("dispatcher", "setid_pvname", "$var(setid)")
  modparam("dispatcher", "setid_pvname", "$var(setid)")
  ...
  ...
@@ -582,9 +586,9 @@ Note
    The name of the PV where to store the attributes of matching address
    The name of the PV where to store the attributes of matching address
    when calling ds_is_from_list().
    when calling ds_is_from_list().
 
 
-   Default value is "null" - don't set PV.
+   Default value is “null� - don't set PV.
 
 
-   Example 1.20. Set the "attrs_pvname" parameter
+   Example 1.20. Set the “attrs_pvname� parameter
  ...
  ...
  modparam("dispatcher", "attrs_pvname", "$var(attrs)")
  modparam("dispatcher", "attrs_pvname", "$var(attrs)")
  ...
  ...
@@ -595,9 +599,9 @@ Note
    the gateways. Pinging gateways feature depends on ds_ping_interval
    the gateways. Pinging gateways feature depends on ds_ping_interval
    parameter.
    parameter.
 
 
-   Default value is "OPTIONS".
+   Default value is “OPTIONS�.
 
 
-   Example 1.21. Set the "ds_ping_method" parameter
+   Example 1.21. Set the “ds_ping_method� parameter
  ...
  ...
  modparam("dispatcher", "ds_ping_method", "INFO")
  modparam("dispatcher", "ds_ping_method", "INFO")
  ...
  ...
@@ -608,9 +612,9 @@ Note
    to the failed gateways. This method is only available, if compiled with
    to the failed gateways. This method is only available, if compiled with
    the probing of failed gateways enabled.
    the probing of failed gateways enabled.
 
 
-   Default value is "sip:dispatcher@localhost".
+   Default value is “sip:dispatcher@localhost�.
 
 
-   Example 1.22. Set the "ds_ping_from" parameter
+   Example 1.22. Set the “ds_ping_from� parameter
  ...
  ...
  modparam("dispatcher", "ds_ping_from", "sip:[email protected]")
  modparam("dispatcher", "ds_ping_from", "sip:[email protected]")
  ...
  ...
@@ -620,11 +624,11 @@ Note
    With this parameter you can define the interval for sending a request
    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.
    to a gateway marked as inactive upon a failed request routing to it.
    This parameter is only used, when the TM-Module is loaded. If set to
    This parameter is only used, when the TM-Module is loaded. If set to
-   "0", the pinging of inactive gateway is disabled.
+   “0�, the pinging of inactive gateway is disabled.
 
 
-   Default value is "0".
+   Default value is “0�.
 
 
-   Example 1.23. Set the "ds_ping_interval" parameter
+   Example 1.23. Set the “ds_ping_interval� parameter
  ...
  ...
  modparam("dispatcher", "ds_ping_interval", 30)
  modparam("dispatcher", "ds_ping_interval", 30)
  ...
  ...
@@ -638,24 +642,27 @@ Note
    The number of attempts can be set with this parameter. This parameter
    The number of attempts can be set with this parameter. This parameter
    can be modified via ser config framework.
    can be modified via ser config framework.
 
 
-   Default value is "1" (set inactive with first failure).
+   Default value is “1� (set inactive with first failure).
 
 
-   Example 1.24. Set the "ds_probing_threshold" parameter
+   Example 1.24. Set the “ds_probing_threshold� parameter
  ...
  ...
  modparam("dispatcher", "ds_probing_threshold", 10)
  modparam("dispatcher", "ds_probing_threshold", 10)
  ...
  ...
 
 
 3.24. ds_inactive_threshold (int)
 3.24. ds_inactive_threshold (int)
 
 
-   If you want to set a gateway into active mode, there can be a
-   specific number of successful requests until it will change from "inactive"
-   to "active". This parameter can be modified via ser config framework.
+   If you want to set a gateway into active mode (after being inactive),
+   there can be a specific number of successful requests until it will
+   change from "inactive" to "active". The number of attempts can be set
+   with this parameter. This parameter can be modified via ser config
+   framework.
 
 
-   Default value is "1" (set active with first success).
+   Default value is “1� (set active with first success).
 
 
-   Example 1.25. Set the "ds_inactive_threshold" parameter
+   Example 1.25. Set the “ds_inactive_threshold� parameter
  ...
  ...
  modparam("dispatcher", "ds_inactive_threshold", 10)
  modparam("dispatcher", "ds_inactive_threshold", 10)
+ ...
 
 
 3.25. ds_ping_reply_codes (string)
 3.25. ds_ping_reply_codes (string)
 
 
@@ -667,12 +674,12 @@ Note
    valid response). This parameter can be modified via ser config
    valid response). This parameter can be modified via ser config
    framework.
    framework.
 
 
-   Default value is "" (only 200 OK is accepted).
+   Default value is “� (only 200 OK is accepted).
 
 
-   Example 1.26. Set the "ds_ping_reply_codes" parameter
+   Example 1.26. Set the “ds_ping_reply_codes� parameter
  ...
  ...
- modparam("dispatcher", "ds_ping_reply_codes", "class=2;code=403;code=488;class=
-3")
+ modparam("dispatcher", "ds_ping_reply_codes", "class=2;code=403;code=488;class
+=3")
  ...
  ...
 
 
 3.26. ds_probing_mode (int)
 3.26. ds_probing_mode (int)
@@ -683,9 +690,9 @@ Note
    probing mode set are tested. If set to 1 and there is a failure of
    probing mode set are tested. If set to 1 and there is a failure of
    keepalive to an active gateway, then it is set to TRYING state.
    keepalive to an active gateway, then it is set to TRYING state.
 
 
-   Default value is "0".
+   Default value is “0�.
 
 
-   Example 1.27. Set the "ds_probing_mode" parameter
+   Example 1.27. Set the “ds_probing_mode� parameter
  ...
  ...
  modparam("dispatcher", "ds_probing_mode", 1)
  modparam("dispatcher", "ds_probing_mode", 1)
  ...
  ...
@@ -697,9 +704,9 @@ Note
    a hash table with 256 slots). It must be greater than 0 to enable call
    a hash table with 256 slots). It must be greater than 0 to enable call
    load dispatching feature (alg 10).
    load dispatching feature (alg 10).
 
 
-   Default value is "0".
+   Default value is “0�.
 
 
-   Example 1.28. Set the "ds_hash_size" parameter
+   Example 1.28. Set the “ds_hash_size� parameter
  ...
  ...
  modparam("dispatcher", "ds_hash_size", 9)
  modparam("dispatcher", "ds_hash_size", 9)
  ...
  ...
@@ -709,9 +716,9 @@ Note
    Expiration time in seconds to remove the load on a destination if no
    Expiration time in seconds to remove the load on a destination if no
    BYE was received meanwhile.
    BYE was received meanwhile.
 
 
-   Default value is "7200".
+   Default value is “7200�.
 
 
-   Example 1.29. Set the "ds_hash_expire" parameter
+   Example 1.29. Set the “ds_hash_expire� parameter
  ...
  ...
  modparam("dispatcher", "ds_hash_expire", 3600)
  modparam("dispatcher", "ds_hash_expire", 3600)
  ...
  ...
@@ -722,9 +729,9 @@ Note
    200 for INVITE was received meanwhile and state updated with
    200 for INVITE was received meanwhile and state updated with
    ds_load_update().
    ds_load_update().
 
 
-   Default value is "7200".
+   Default value is “7200�.
 
 
-   Example 1.30. Set the "ds_hash_initexpire" parameter
+   Example 1.30. Set the “ds_hash_initexpire� parameter
  ...
  ...
  modparam("dispatcher", "ds_hash_initexpire", 60)
  modparam("dispatcher", "ds_hash_initexpire", 60)
  ...
  ...
@@ -734,9 +741,9 @@ Note
    Time interval in seconds to scan internal hash table with call load
    Time interval in seconds to scan internal hash table with call load
    dispatching data for expired items.
    dispatching data for expired items.
 
 
-   Default value is "30".
+   Default value is “30�.
 
 
-   Example 1.31. Set the "ds_hash_check_interval" parameter
+   Example 1.31. Set the “ds_hash_check_interval� parameter
  ...
  ...
  modparam("dispatcher", "ds_hash_check_interval", 60)
  modparam("dispatcher", "ds_hash_check_interval", 60)
  ...
  ...
@@ -747,7 +754,7 @@ Note
 
 
    By default no outbound proxy is defined.
    By default no outbound proxy is defined.
 
 
-   Example 1.32. Set the "outbound_proxy" parameter
+   Example 1.32. Set the “outbound_proxy� parameter
  ...
  ...
  modparam("dispatcher", "outbound_proxy", "sip:outbound.example.com")
  modparam("dispatcher", "outbound_proxy", "sip:outbound.example.com")
  ...
  ...
@@ -760,7 +767,7 @@ Note
    By default no default socket is defined, the first configuration script
    By default no default socket is defined, the first configuration script
    listen directive is used.
    listen directive is used.
 
 
-   Example 1.33. Set the "ds_default_socket" parameter
+   Example 1.33. Set the “ds_default_socket� parameter
  ...
  ...
  modparam("dispatcher", "ds_default_socket", "udp:192.168.0.125:5060")
  modparam("dispatcher", "ds_default_socket", "udp:192.168.0.125:5060")
  ...
  ...
@@ -777,7 +784,7 @@ Note
    4.8. ds_load_update()
    4.8. ds_load_update()
    4.9. ds_load_unset()
    4.9. ds_load_unset()
 
 
-4.1. ds_select_dst(set, alg[, limit])
+4.1.  ds_select_dst(set, alg[, limit])
 
 
    The method selects a destination from addresses set. It returns true if
    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
    a new destination is set. The selected address is set to dst_uri field
@@ -796,21 +803,21 @@ Note
        be an integer or a variable holding an integer.
        be an integer or a variable holding an integer.
      * alg - the algorithm used to select the destination address. The
      * alg - the algorithm used to select the destination address. The
        parameter can be an integer or a variable holding an interger.
        parameter can be an integer or a variable holding an interger.
-          + "0" - hash over callid
-          + "1" - hash over from URI.
-          + "2" - hash over to URI.
-          + "3" - hash over request-URI.
-          + "4" - round-robin (next destination).
-          + "5" - hash over authorization-username (Proxy-Authorization or
+          + “0� - hash over callid
+          + “1� - hash over from URI.
+          + “2� - hash over to URI.
+          + “3� - hash over request-URI.
+          + “4� - round-robin (next destination).
+          + “5� - hash over authorization-username (Proxy-Authorization or
             "normal" authorization). If no username is found, round robin
             "normal" authorization). If no username is found, round robin
             is used.
             is used.
-          + "6" - random (using rand()).
-          + "7" - hash over the content of PVs string. Note: This works
+          + “6� - random (using rand()).
+          + “7� - hash over the content of PVs string. Note: This works
             only when the parameter hash_pvar is set.
             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
+          + “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.
             attribute 'weight' per each address in destination set.
-          + "10" - use call load distribution. You have to set the
+          + “10� - use call load distribution. You have to set the
             attribute 'duid' (as an unique string id) per each address in
             attribute 'duid' (as an unique string id) per each address in
             destination set. Also, you must set parameters 'dstid_avp' and
             destination set. Also, you must set parameters 'dstid_avp' and
             'ds_hash_size'.
             'ds_hash_size'.
@@ -825,7 +832,7 @@ Note
             on each address can change.
             on each address can change.
             This algorithm can be used only for dispatching INVITE
             This algorithm can be used only for dispatching INVITE
             requests as it is the only SIP method creating a SIP call.
             requests as it is the only SIP method creating a SIP call.
-          + "X" - if the algorithm is not implemented, the first entry in
+          + “X� - if the algorithm is not implemented, the first entry in
             set is chosen.
             set is chosen.
      * limit - the maximum number of items to be stored in AVP list for
      * limit - the maximum number of items to be stored in AVP list for
        further failovers (the first selected destination and default
        further failovers (the first selected destination and default
@@ -848,7 +855,7 @@ ds_select_dst("1", "$var(a)");
 ds_select_dst("1", "4", "3");
 ds_select_dst("1", "4", "3");
 ...
 ...
 
 
-4.2. ds_select_domain(set, alg[, limit])
+4.2.  ds_select_domain(set, alg[, limit])
 
 
    The method selects a destination from addresses set and rewrites the
    The method selects a destination from addresses set and rewrites the
    host and port from R-URI. The parameters have same meaning as for
    host and port from R-URI. The parameters have same meaning as for
@@ -861,21 +868,21 @@ ds_select_dst("1", "4", "3");
 
 
    This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
    This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
 
 
-4.3. ds_next_dst()
+4.3.  ds_next_dst()
 
 
    Takes the next destination address from the AVPs with id 'dst_avp_id'
    Takes the next destination address from the AVPs with id 'dst_avp_id'
    and sets the dst_uri (outbound proxy address).
    and sets the dst_uri (outbound proxy address).
 
 
    This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
    This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
 
 
-4.4. ds_next_domain()
+4.4.  ds_next_domain()
 
 
    Takes the next destination address from the AVPs with id 'dst_avp_id'
    Takes the next destination address from the AVPs with id 'dst_avp_id'
    and sets the domain part of the request URI.
    and sets the domain part of the request URI.
 
 
    This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
    This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
 
 
-4.5. ds_mark_dst([state])
+4.5.  ds_mark_dst([state])
 
 
    Mark the last used address from destination set as inactive ("i"/"I"),
    Mark the last used address from destination set as inactive ("i"/"I"),
    active ("a"/"A"), disabled ("d"/"D") or trying ("t"/"T"). Apart of
    active ("a"/"A"), disabled ("d"/"D") or trying ("t"/"T"). Apart of
@@ -912,7 +919,7 @@ failure_route[tryagain] {
 }
 }
 ...
 ...
 
 
-4.6. ds_list_exist(groupid)
+4.6.  ds_list_exist(groupid)
 
 
    Check if a specific group is defined in dispatcher list or database.
    Check if a specific group is defined in dispatcher list or database.
      * groupid - A group ID to check.
      * groupid - A group ID to check.
@@ -926,7 +933,7 @@ if(ds_list_exist("10")) {
 }
 }
 ...
 ...
 
 
-4.7. ds_is_from_list([groupid [, mode [, uri] ] ])
+4.7.  ds_is_from_list([groupid [, mode [, uri] ] ])
 
 
    This function returns true, if there is a match of source address or
    This function returns true, if there is a match of source address or
    uri with an address in the given group of the dispatcher-list;
    uri with an address in the given group of the dispatcher-list;
@@ -975,7 +982,7 @@ if(ds_is_from_list("10", "sip:127.0.0.1:5080", "3")) {
 }
 }
 ...
 ...
 
 
-4.8. ds_load_update()
+4.8.  ds_load_update()
 
 
    Updates the load state:
    Updates the load state:
      * if it is a BYE or CANCEL - remove the load from destination address
      * if it is a BYE or CANCEL - remove the load from destination address
@@ -986,7 +993,7 @@ if(ds_is_from_list("10", "sip:127.0.0.1:5080", "3")) {
    This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
    This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
    BRANCH_ROUTE and ONREPLY_ROUTE.
    BRANCH_ROUTE and ONREPLY_ROUTE.
 
 
-4.9. ds_load_unset()
+4.9.  ds_load_unset()
 
 
    Remove the call load for the destination that routed the call.
    Remove the call load for the destination that routed the call.
 
 
@@ -1023,7 +1030,7 @@ onreply_route {
    5.2. ds_list
    5.2. ds_list
    5.3. ds_reload
    5.3. ds_reload
 
 
-5.1. ds_set_state
+5.1.  ds_set_state
 
 
    Sets the status for a destination address (can be use to mark the
    Sets the status for a destination address (can be use to mark the
    destination as active or inactive).
    destination as active or inactive).
@@ -1032,11 +1039,11 @@ onreply_route {
 
 
    Parameters:
    Parameters:
      * _state_ : state of the destination address
      * _state_ : state of the destination address
-          + "a": active
-          + "i": inactive
-          + "t": trying
-          + "d": disabled
-       The states "a", "i" or "t" can be followed by "p" to set probing
+          + “a�: active
+          + “i�: inactive
+          + “t�: trying
+          + “d�: disabled
+       The states “a�, “i� or “t� can be followed by “p� to set probing
        mode (e.g. 'ap', 'ip' or 'tp').
        mode (e.g. 'ap', 'ip' or 'tp').
      * _group_: destination group id
      * _group_: destination group id
      * _address_: address of the destination in the _group_
      * _address_: address of the destination in the _group_
@@ -1048,7 +1055,7 @@ onreply_route {
                 _address_
                 _address_
                 _empty_line_
                 _empty_line_
 
 
-5.2. ds_list
+5.2.  ds_list
 
 
    It lists the groups and included destinations.
    It lists the groups and included destinations.
 
 
@@ -1060,7 +1067,7 @@ onreply_route {
                 :ds_list:_reply_fifo_file_
                 :ds_list:_reply_fifo_file_
                 _empty_line_
                 _empty_line_
 
 
-5.3. ds_reload
+5.3.  ds_reload
 
 
    It reloads the groups and included destinations. For algorithm 10 (call
    It reloads the groups and included destinations. For algorithm 10 (call
    load distribution), old internal list of active calls is destroyed
    load distribution), old internal list of active calls is destroyed
@@ -1080,7 +1087,7 @@ onreply_route {
    6.2. dispatcher.list
    6.2. dispatcher.list
    6.3. dispatcher.reload
    6.3. dispatcher.reload
 
 
-6.1. dispatcher.set_state
+6.1.  dispatcher.set_state
 
 
    Sets the state for a destination address (can be use to mark the
    Sets the state for a destination address (can be use to mark the
    destination as active or inactive).
    destination as active or inactive).
@@ -1089,11 +1096,11 @@ onreply_route {
 
 
    Parameters:
    Parameters:
      * _state_ : state of the destination address
      * _state_ : state of the destination address
-          + "a": active
-          + "i": inactive
-          + "t": trying
-          + "d": disabled
-       The states "a", "i" or "t" can be followed by "p" to set probing
+          + “a�: active
+          + “i�: inactive
+          + “t�: trying
+          + “d�: disabled
+       The states “a�, “i� or “t� can be followed by “p� to set probing
        mode (e.g. 'ap', 'ip' or 'tp').
        mode (e.g. 'ap', 'ip' or 'tp').
      * _group_: destination group id
      * _group_: destination group id
      * _address_: address of the destination in the _group_
      * _address_: address of the destination in the _group_
@@ -1104,7 +1111,7 @@ onreply_route {
 kamcmd dispatcher.set_state ip 2 sip:127.0.0.1:5080
 kamcmd dispatcher.set_state ip 2 sip:127.0.0.1:5080
 ...
 ...
 
 
-6.2. dispatcher.list
+6.2.  dispatcher.list
 
 
    Lists the groups and included destinations.
    Lists the groups and included destinations.
 
 
@@ -1115,7 +1122,7 @@ kamcmd dispatcher.set_state ip 2 sip:127.0.0.1:5080
    Example:
    Example:
                 kamcmd dispatcher.list
                 kamcmd dispatcher.list
 
 
-6.3. dispatcher.reload
+6.3.  dispatcher.reload
 
 
    Reloads the groups and included destinations. The command is disabled
    Reloads the groups and included destinations. The command is disabled
    for call load based dispatching (algorithm 10) since removal of
    for call load based dispatching (algorithm 10) since removal of
@@ -1193,8 +1200,8 @@ setid(int) destination(sip uri) flags(int,opt) priority(int,opt) attrs(str,opt)
 #
 #
 
 
 # line format
 # line format
-# setit(int) destination(sip uri) flags(int,opt) priority(int,opt) attributes(st
-r,opt)
+# setit(int) destination(sip uri) flags(int,opt) priority(int,opt) attributes(s
+tr,opt)
 
 
 # proxies
 # proxies
 2 sip:127.0.0.1:5080
 2 sip:127.0.0.1:5080
@@ -1317,8 +1324,8 @@ modparam("rr", "append_fromtag", 0)
 modparam("acc", "log_flag", 1)
 modparam("acc", "log_flag", 1)
 modparam("acc", "failed_transaction_flag", 3)
 modparam("acc", "failed_transaction_flag", 3)
 modparam("acc", "log_extra",
 modparam("acc", "log_extra",
-        "src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd;s
-rc_ip=$si")
+        "src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd;
+src_ip=$si")
 
 
 # ----- tm params -----
 # ----- tm params -----
 modparam("tm", "fr_timer", 2000)
 modparam("tm", "fr_timer", 2000)
@@ -1428,13 +1435,13 @@ route[WITHINDLG] {
                         if ( is_method("ACK") ) {
                         if ( is_method("ACK") ) {
                                 if ( t_check_trans() ) {
                                 if ( t_check_trans() ) {
                                         # non loose-route, but stateful ACK;
                                         # non loose-route, but stateful ACK;
-                                        # must be ACK after a 487 or e.g. 404 fr
-om upstream server
+                                        # must be ACK after a 487 or e.g. 404 f
+rom upstream server
                                         t_relay();
                                         t_relay();
                                         exit;
                                         exit;
                                 } else {
                                 } else {
-                                        # ACK without matching transaction ... i
-gnore and discard.
+                                        # ACK without matching transaction ...
+ignore and discard.
                                         exit;
                                         exit;
                                 }
                                 }
                         }
                         }
@@ -1502,7 +1509,7 @@ failure_route[RTF_DISPATCH] {
    8.1. dispatcher:dst-down
    8.1. dispatcher:dst-down
    8.2. dispatcher:dst-up
    8.2. dispatcher:dst-up
 
 
-8.1. dispatcher:dst-down
+8.1.  dispatcher:dst-down
 
 
    When defined, the module calls event_route[dispatcher:ds-down] when a
    When defined, the module calls event_route[dispatcher:ds-down] when a
    destination goes down (becomes probing). A typical use case is to
    destination goes down (becomes probing). A typical use case is to
@@ -1513,7 +1520,7 @@ event_route[dispatcher:dst-down] {
 }
 }
 ...
 ...
 
 
-8.2. dispatcher:dst-up
+8.2.  dispatcher:dst-up
 
 
    When defined, the module calls event_route[dispatcher:ds-up] when a
    When defined, the module calls event_route[dispatcher:ds-up] when a
    destination that was previously down (probing) comes up. A typical use
    destination that was previously down (probing) comes up. A typical use

+ 12 - 0
modules/dispatcher/doc/dispatcher.xml

@@ -39,6 +39,14 @@
                 <email>[email protected]</email>
                 <email>[email protected]</email>
                 </address>
                 </address>
             </editor>
             </editor>
+            <editor>
+                <firstname>Alessandro</firstname>
+                <surname>Arrichiello</surname>
+                <affiliation><orgname>Hewlett Packard</orgname></affiliation>
+                <address>
+                <email>[email protected]</email>
+                </address>
+            </editor>
 	</authorgroup>
 	</authorgroup>
 	<copyright>
 	<copyright>
 	    <year>2004</year>
 	    <year>2004</year>
@@ -56,6 +64,10 @@
 	    <year>2014</year>
 	    <year>2014</year>
 	    <holder>Olle E. Johansson, Edvina AB</holder>
 	    <holder>Olle E. Johansson, Edvina AB</holder>
 	</copyright>
 	</copyright>
+	<copyright>
+            <year>2015</year>
+            <holder>Alessandro Arrichiello, Hewlett Packard</holder>
+        </copyright>
    </bookinfo>
    </bookinfo>
     <toc></toc>
     <toc></toc>