Browse Source

dialog: documented send_bye parameter

Daniel-Constantin Mierla 13 năm trước cách đây
mục cha
commit
b38a0047ad

+ 143 - 127
modules_k/dialog/README

@@ -22,9 +22,9 @@ Alex Balashov
 
 
    <[email protected]>
    <[email protected]>
 
 
-   Copyright © 2006 Voice Sistem SRL
+   Copyright © 2006 Voice Sistem SRL
 
 
-   Copyright © 2011 Carsten Bock, http://www.ng-voice.com
+   Copyright © 2011 Carsten Bock, http://www.ng-voice.com
      __________________________________________________________________
      __________________________________________________________________
 
 
    Table of Contents
    Table of Contents
@@ -83,7 +83,8 @@ Alex Balashov
               5.40. profiles_with_value (string)
               5.40. profiles_with_value (string)
               5.41. profiles_no_value (string)
               5.41. profiles_no_value (string)
               5.42. bridge_controller (string)
               5.42. bridge_controller (string)
-              5.43. initial_cbs_inscript (string)
+              5.43. initial_cbs_inscript (int)
+              5.44. send_bye (int)
 
 
         6. Functions
         6. Functions
 
 
@@ -194,19 +195,20 @@ Alex Balashov
    1.41. Set profiles_no_value parameter
    1.41. Set profiles_no_value parameter
    1.42. Set bridge_controller parameter
    1.42. Set bridge_controller parameter
    1.43. Set initial_cbs_inscript parameter
    1.43. Set initial_cbs_inscript parameter
-   1.44. set_dlg_profile usage
-   1.45. unset_dlg_profile usage
-   1.46. is_in_profile usage
-   1.47. get_profile_size usage
-   1.48. dlg_isflagset usage
-   1.49. dlg_setflag usage
-   1.50. dlg_resetflag usage
-   1.51. dlg_bye usage
-   1.52. dlg_refer usage
-   1.53. dlg_manage usage
-   1.54. dlg_bridge usage
-   1.55. dlg_get usage
-   1.56. is_known_dlg() usage
+   1.44. Set send_bye parameter
+   1.45. set_dlg_profile usage
+   1.46. unset_dlg_profile usage
+   1.47. is_in_profile usage
+   1.48. get_profile_size usage
+   1.49. dlg_isflagset usage
+   1.50. dlg_setflag usage
+   1.51. dlg_resetflag usage
+   1.52. dlg_bye usage
+   1.53. dlg_refer usage
+   1.54. dlg_manage usage
+   1.55. dlg_bridge usage
+   1.56. dlg_get usage
+   1.57. is_known_dlg() usage
 
 
 Chapter 1. Admin Guide
 Chapter 1. Admin Guide
 
 
@@ -264,7 +266,8 @@ Chapter 1. Admin Guide
         5.40. profiles_with_value (string)
         5.40. profiles_with_value (string)
         5.41. profiles_no_value (string)
         5.41. profiles_no_value (string)
         5.42. bridge_controller (string)
         5.42. bridge_controller (string)
-        5.43. initial_cbs_inscript (string)
+        5.43. initial_cbs_inscript (int)
+        5.44. send_bye (int)
 
 
    6. Functions
    6. Functions
 
 
@@ -348,14 +351,14 @@ Chapter 1. Admin Guide
 2. How it works
 2. How it works
 
 
    To create the dialog associated with an initial request, the flag
    To create the dialog associated with an initial request, the flag
-   “dlg_flag� (Section 5.4, “dlg_flag (integer)�) must be set before
+   "dlg_flag" (Section 5.4, "dlg_flag (integer)") must be set before
    creating the corresponding transaction.
    creating the corresponding transaction.
 
 
-   The dialog is automatically destroyed when a “BYE� is received. In case
-   of no “BYE�, the dialog lifetime is controlled via the default timeout
-   (see “default_timeout� - Section 5.6, “default_timeout (integer)�) and
-   custom timeout (see “timeout_avp� - Section 5.5, “timeout_avp
-   (string)�). The dialog timeout is reset each time a sequential request
+   The dialog is automatically destroyed when a "BYE" is received. In case
+   of no "BYE", the dialog lifetime is controlled via the default timeout
+   (see "default_timeout" - Section 5.6, "default_timeout (integer)") and
+   custom timeout (see "timeout_avp" - Section 5.5, "timeout_avp
+   (string)"). The dialog timeout is reset each time a sequential request
    is processed.
    is processed.
 
 
 3. Dialog profiling
 3. Dialog profiling
@@ -449,7 +452,8 @@ Chapter 1. Admin Guide
    5.40. profiles_with_value (string)
    5.40. profiles_with_value (string)
    5.41. profiles_no_value (string)
    5.41. profiles_no_value (string)
    5.42. bridge_controller (string)
    5.42. bridge_controller (string)
-   5.43. initial_cbs_inscript (string)
+   5.43. initial_cbs_inscript (int)
+   5.44. send_bye (int)
 
 
 5.1. enable_stats (integer)
 5.1. enable_stats (integer)
 
 
@@ -457,7 +461,7 @@ Chapter 1. Admin Guide
    variables, the module provide information about the dialog processing.
    variables, the module provide information about the dialog processing.
    Set it to zero to disable or to non-zero to enable it.
    Set it to zero to disable or to non-zero to enable it.
 
 
-   Default value is “1 (enabled)�.
+   Default value is "1 (enabled)".
 
 
    Example 1.1. Set enable_stats parameter
    Example 1.1. Set enable_stats parameter
 ...
 ...
@@ -475,7 +479,7 @@ modparam("dialog", "enable_stats", 0)
    not take place. If you really want to modify the hash_size, you must
    not take place. If you really want to modify the hash_size, you must
    delete all table's rows before restarting the server.
    delete all table's rows before restarting the server.
 
 
-   Default value is “4096�.
+   Default value is "4096".
 
 
    Example 1.2. Set hash_size parameter
    Example 1.2. Set hash_size parameter
 ...
 ...
@@ -488,7 +492,7 @@ modparam("dialog", "hash_size", 1024)
    is used for the fast matching of sequential requests to tracked
    is used for the fast matching of sequential requests to tracked
    dialogs.
    dialogs.
 
 
-   Default value is “did�.
+   Default value is "did".
 
 
    Example 1.3. Set rr_param parameter
    Example 1.3. Set rr_param parameter
 ...
 ...
@@ -500,7 +504,7 @@ modparam("dialog", "rr_param", "xyz")
    Flag to be used for marking if a dialog should be constructed for the
    Flag to be used for marking if a dialog should be constructed for the
    current request (this make sense only for initial requests).
    current request (this make sense only for initial requests).
 
 
-   Default value is “none�.
+   Default value is "none".
 
 
    Example 1.4. Set dlg_flag parameter
    Example 1.4. Set dlg_flag parameter
 ...
 ...
@@ -513,7 +517,7 @@ modparam("dialog", "dlg_flag", 4)
    seconds) for the dialog. It may be used only in a request (initial or
    seconds) for the dialog. It may be used only in a request (initial or
    sequential) context.
    sequential) context.
 
 
-   Default value is “none�.
+   Default value is "none".
 
 
    Example 1.5. Set timeout_avp parameter
    Example 1.5. Set timeout_avp parameter
 ...
 ...
@@ -525,7 +529,7 @@ modparam("dialog", "timeout_avp", "$avp(i:10)")
    The default dialog timeout (in seconds), in the absence of a custom
    The default dialog timeout (in seconds), in the absence of a custom
    value provided in an AVP.
    value provided in an AVP.
 
 
-   Default value is “43200 (12 hours)�.
+   Default value is "43200 (12 hours)".
 
 
    Example 1.6. Set default_timeout parameter
    Example 1.6. Set default_timeout parameter
 ...
 ...
@@ -537,7 +541,7 @@ modparam("dialog", "default_timeout", 21600)
    A string containing the extra headers (full format, with EOH) to be
    A string containing the extra headers (full format, with EOH) to be
    added to requests generated locally by the module (like BYEs).
    added to requests generated locally by the module (like BYEs).
 
 
-   Default value is “NULL�.
+   Default value is "NULL".
 
 
    Example 1.7. Set dlf_extra_hdrs parameter
    Example 1.7. Set dlf_extra_hdrs parameter
 ...
 ...
@@ -558,7 +562,7 @@ modparam("dialog", "dlg_extra_hdrs", "Hint: credit expired\r\n")
      * 2 - DID_NONE - the match is done exclusively based on SIP elements;
      * 2 - DID_NONE - the match is done exclusively based on SIP elements;
        no DID information is added in RR.
        no DID information is added in RR.
 
 
-   Default value is “0 (DID_ONLY)�.
+   Default value is "0 (DID_ONLY)".
 
 
    Example 1.8. Set dlg_match_mode parameter
    Example 1.8. Set dlg_match_mode parameter
 ...
 ...
@@ -587,7 +591,7 @@ modparam("dialog", "detect_spirals", 1)
    If you want to store the information about the dialogs in a database, a
    If you want to store the information about the dialogs in a database, a
    database URL must be specified.
    database URL must be specified.
 
 
-   Default value is “mysql://openser:openserrw@localhost/openser�.
+   Default value is "mysql://openser:openserrw@localhost/openser".
 
 
    Example 1.10. Set db_url parameter
    Example 1.10. Set db_url parameter
 ...
 ...
@@ -608,7 +612,7 @@ modparam("dialog", "db_url", "dbdriver://username:password@dbhost/dbname")
      * 3 - SHUTDOWN - the dialog information will be flushed into DB only
      * 3 - SHUTDOWN - the dialog information will be flushed into DB only
        at shutdown - no runtime updates.
        at shutdown - no runtime updates.
 
 
-   Default value is “0�.
+   Default value is "0".
 
 
    Example 1.11. Set db_mode parameter
    Example 1.11. Set db_mode parameter
 ...
 ...
@@ -622,7 +626,7 @@ modparam("dialog", "db_mode", 1)
    interval will generate intensive database operations, while an
    interval will generate intensive database operations, while an
    excessively long one will miss dialogs with a short lifetime.
    excessively long one will miss dialogs with a short lifetime.
 
 
-   Default value is “60�.
+   Default value is "60".
 
 
    Example 1.12. Set db_update_period parameter
    Example 1.12. Set db_update_period parameter
 ...
 ...
@@ -638,7 +642,7 @@ modparam("dialog", "db_update_period", 120)
    fetch_result() capability. A value of 0 means the functionality is
    fetch_result() capability. A value of 0 means the functionality is
    disabled.
    disabled.
 
 
-   Default value is “200�.
+   Default value is "200".
 
 
    Example 1.13. Set db_fetch_rows parameter
    Example 1.13. Set db_fetch_rows parameter
 ...
 ...
@@ -650,7 +654,7 @@ modparam("dialog", "db_fetch_rows", 500)
    If you want to store the information about the dialogs in a database a
    If you want to store the information about the dialogs in a database a
    table name must be specified.
    table name must be specified.
 
 
-   Default value is “dialog�.
+   Default value is "dialog".
 
 
    Example 1.14. Set table_name parameter
    Example 1.14. Set table_name parameter
 ...
 ...
@@ -661,7 +665,7 @@ modparam("dialog", "table_name", "my_dialog")
 
 
    The column name in the database to store the dialogs' callid.
    The column name in the database to store the dialogs' callid.
 
 
-   Default value is “callid�.
+   Default value is "callid".
 
 
    Example 1.15. Set callid_column parameter
    Example 1.15. Set callid_column parameter
 ...
 ...
@@ -672,7 +676,7 @@ modparam("dialog", "callid_column", "callid_c_name")
 
 
    The column name in the database to store the caller's sip address.
    The column name in the database to store the caller's sip address.
 
 
-   Default value is “from_uri�.
+   Default value is "from_uri".
 
 
    Example 1.16. Set from_uri_column parameter
    Example 1.16. Set from_uri_column parameter
 ...
 ...
@@ -684,7 +688,7 @@ modparam("dialog", "from_uri_column", "from_uri_c_name")
    The column name in the database to store the From tag from the INVITE
    The column name in the database to store the From tag from the INVITE
    request.
    request.
 
 
-   Default value is “from_tag�.
+   Default value is "from_tag".
 
 
    Example 1.17. Set from_tag_column parameter
    Example 1.17. Set from_tag_column parameter
 ...
 ...
@@ -695,7 +699,7 @@ modparam("dialog", "from_tag_column", "from_tag_c_name")
 
 
    The column name in the database to store the callee's sip address.
    The column name in the database to store the callee's sip address.
 
 
-   Default value is “to_uri�.
+   Default value is "to_uri".
 
 
    Example 1.18. Set to_uri_column parameter
    Example 1.18. Set to_uri_column parameter
 ...
 ...
@@ -707,7 +711,7 @@ modparam("dialog", "to_uri_column", "to_uri_c_name")
    The column name in the database to store the To tag from the 200 OK
    The column name in the database to store the To tag from the 200 OK
    response to the INVITE request, if present.
    response to the INVITE request, if present.
 
 
-   Default value is “to_tag�.
+   Default value is "to_tag".
 
 
    Example 1.19. Set to_tag_column parameter
    Example 1.19. Set to_tag_column parameter
 ...
 ...
@@ -718,7 +722,7 @@ modparam("dialog", "to_tag_column", "to_tag_c_name")
 
 
    The column name in the database to store the cseq from caller side.
    The column name in the database to store the cseq from caller side.
 
 
-   Default value is “caller_cseq�.
+   Default value is "caller_cseq".
 
 
    Example 1.20. Set caller_cseq_column parameter
    Example 1.20. Set caller_cseq_column parameter
 ...
 ...
@@ -729,7 +733,7 @@ modparam("dialog", "caller_cseq_column", "column_name")
 
 
    The column name in the database to store the cseq from callee side.
    The column name in the database to store the cseq from callee side.
 
 
-   Default value is “callee_cseq�.
+   Default value is "callee_cseq".
 
 
    Example 1.21. Set callee_cseq_column parameter
    Example 1.21. Set callee_cseq_column parameter
 ...
 ...
@@ -741,7 +745,7 @@ modparam("dialog", "callee_cseq_column", "column_name")
    The column name in the database to store the route records from caller
    The column name in the database to store the route records from caller
    side (proxy to caller).
    side (proxy to caller).
 
 
-   Default value is “caller_route_set�.
+   Default value is "caller_route_set".
 
 
    Example 1.22. Set caller_route_column parameter
    Example 1.22. Set caller_route_column parameter
 ...
 ...
@@ -753,7 +757,7 @@ modparam("dialog", "caller_route_column", "column_name")
    The column name in the database to store the route records from callee
    The column name in the database to store the route records from callee
    side (proxy to callee).
    side (proxy to callee).
 
 
-   Default value is “callee_route_set�.
+   Default value is "callee_route_set".
 
 
    Example 1.23. Set to_route_column parameter
    Example 1.23. Set to_route_column parameter
 ...
 ...
@@ -764,7 +768,7 @@ modparam("dialog", "to_route_column", "column_name")
 
 
    The column name in the database to store the caller's contact uri.
    The column name in the database to store the caller's contact uri.
 
 
-   Default value is “from_contact�.
+   Default value is "from_contact".
 
 
    Example 1.24. Set caller_contact_column parameter
    Example 1.24. Set caller_contact_column parameter
 ...
 ...
@@ -775,7 +779,7 @@ modparam("dialog", "caller_contact_column", "column_name")
 
 
    The column name in the database to store the callee's contact uri.
    The column name in the database to store the callee's contact uri.
 
 
-   Default value is “callee_contact�.
+   Default value is "callee_contact".
 
 
    Example 1.25. Set callee_contact_column parameter
    Example 1.25. Set callee_contact_column parameter
 ...
 ...
@@ -787,7 +791,7 @@ modparam("dialog", "callee_contact_column", "column_name")
    The column name in the database to store the information about the
    The column name in the database to store the information about the
    local interface receiving the traffic from caller.
    local interface receiving the traffic from caller.
 
 
-   Default value is “caller_sock�.
+   Default value is "caller_sock".
 
 
    Example 1.26. Set caller_sock_column parameter
    Example 1.26. Set caller_sock_column parameter
 ...
 ...
@@ -799,7 +803,7 @@ modparam("dialog", "caller_sock_column", "column_name")
    The column name in the database to store information about the local
    The column name in the database to store information about the local
    interface receiving the traffic from callee.
    interface receiving the traffic from callee.
 
 
-   Default value is “callee_contact�.
+   Default value is "callee_contact".
 
 
    Example 1.27. Set callee_sock_column parameter
    Example 1.27. Set callee_sock_column parameter
 ...
 ...
@@ -811,7 +815,7 @@ modparam("dialog", "callee_sock_column", "column_name")
    The column name in the database to store the dialogs' hash id
    The column name in the database to store the dialogs' hash id
    information.
    information.
 
 
-   Default value is “hash_id�.
+   Default value is "hash_id".
 
 
    Example 1.28. Set h_id_column parameter
    Example 1.28. Set h_id_column parameter
 ...
 ...
@@ -823,7 +827,7 @@ modparam("dialog", "h_id_column", "hash_id_c_name")
    The column name in the database to store the dialogs' hash entry
    The column name in the database to store the dialogs' hash entry
    information.
    information.
 
 
-   Default value is “hash_entry�.
+   Default value is "hash_entry".
 
 
    Example 1.29. Set h_entry_column parameter
    Example 1.29. Set h_entry_column parameter
 ...
 ...
@@ -835,7 +839,7 @@ modparam("dialog", "h_entry_column", "h_entry_c_name")
    The column name in the database to store the dialogs' state
    The column name in the database to store the dialogs' state
    information.
    information.
 
 
-   Default value is “state�.
+   Default value is "state".
 
 
    Example 1.30. Set state_column parameter
    Example 1.30. Set state_column parameter
 ...
 ...
@@ -847,7 +851,7 @@ modparam("dialog", "state_column", "state_c_name")
    The column name in the database to store the dialogs' start time
    The column name in the database to store the dialogs' start time
    information.
    information.
 
 
-   Default value is “start_time�.
+   Default value is "start_time".
 
 
    Example 1.31. Set start_time_column parameter
    Example 1.31. Set start_time_column parameter
 ...
 ...
@@ -858,7 +862,7 @@ modparam("dialog", "start_time_column", "start_time_c_name")
 
 
    The column name in the database to store the dialogs' timeout.
    The column name in the database to store the dialogs' timeout.
 
 
-   Default value is “timeout�.
+   Default value is "timeout".
 
 
    Example 1.32. Set timeout_column parameter
    Example 1.32. Set timeout_column parameter
 ...
 ...
@@ -869,7 +873,7 @@ modparam("dialog", "timeout_column", "timeout_c_name")
 
 
    The column name in the database to store the script flags.
    The column name in the database to store the script flags.
 
 
-   Default value is “sflags�.
+   Default value is "sflags".
 
 
    Example 1.33. Set sflags_column parameter
    Example 1.33. Set sflags_column parameter
 ...
 ...
@@ -881,7 +885,7 @@ modparam("dialog", "sflags_column", "s_flags")
    The column name in the database to store the index of the route to be
    The column name in the database to store the index of the route to be
    executed at timeout.
    executed at timeout.
 
 
-   Default value is “toroute�.
+   Default value is "toroute".
 
 
    Example 1.34. Set toroute_column parameter
    Example 1.34. Set toroute_column parameter
 ...
 ...
@@ -893,7 +897,7 @@ modparam("dialog", "toroute_column", "timeout_route")
    If you want to store the variables for a dialog in a database a table
    If you want to store the variables for a dialog in a database a table
    name must be specified.
    name must be specified.
 
 
-   Default value is “dialog_vars�.
+   Default value is "dialog_vars".
 
 
    Example 1.35. Set vars_table_name parameter
    Example 1.35. Set vars_table_name parameter
 ...
 ...
@@ -905,7 +909,7 @@ modparam("dialog", "vars_table_name", "my_dialog_vars")
    The column name in the database to store the dialogs' hash id
    The column name in the database to store the dialogs' hash id
    information (as a reference to the dialog table).
    information (as a reference to the dialog table).
 
 
-   Default value is “hash_id�.
+   Default value is "hash_id".
 
 
    Example 1.36. Set vars_h_id_column parameter
    Example 1.36. Set vars_h_id_column parameter
 ...
 ...
@@ -917,7 +921,7 @@ modparam("dialog", "vars_h_id_column", "vars_h_id_name")
    The column name in the database to store the dialogs' hash entry
    The column name in the database to store the dialogs' hash entry
    information (as a reference to the dialog table).
    information (as a reference to the dialog table).
 
 
-   Default value is “hash_entry�.
+   Default value is "hash_entry".
 
 
    Example 1.37. Set vars_h_entry_column parameter
    Example 1.37. Set vars_h_entry_column parameter
 ...
 ...
@@ -928,7 +932,7 @@ modparam("dialog", "vars_h_entry_column", "vars_h_entry_name")
 
 
    The column name in the database to store the keys of a variable.
    The column name in the database to store the keys of a variable.
 
 
-   Default value is “dialog_key�.
+   Default value is "dialog_key".
 
 
    Example 1.38. Set vars_key_column parameter
    Example 1.38. Set vars_key_column parameter
 ...
 ...
@@ -939,7 +943,7 @@ modparam("dialog", "vars_key_column", "vars_key_name")
 
 
    The column name in the database to store the keys of a variable.
    The column name in the database to store the keys of a variable.
 
 
-   Default value is “dialog_value�.
+   Default value is "dialog_value".
 
 
    Example 1.39. Set vars_value_column parameter
    Example 1.39. Set vars_value_column parameter
 ...
 ...
@@ -950,7 +954,7 @@ modparam("dialog", "vars_value_column", "vars_value_name")
 
 
    List of names for profiles with values.
    List of names for profiles with values.
 
 
-   Default value is “empty�.
+   Default value is "empty".
 
 
    Example 1.40. Set profiles_with_value parameter
    Example 1.40. Set profiles_with_value parameter
 ...
 ...
@@ -961,7 +965,7 @@ modparam("dialog", "profiles_with_value", "caller ; my_profile")
 
 
    List of names for profiles without values.
    List of names for profiles without values.
 
 
-   Default value is “empty�.
+   Default value is "empty".
 
 
    Example 1.41. Set profiles_no_value parameter
    Example 1.41. Set profiles_no_value parameter
 ...
 ...
@@ -972,14 +976,14 @@ modparam("dialog", "profiles_no_value", "inbound ; outbound")
 
 
    SIP address to be used in From header when initiating a call bridge.
    SIP address to be used in From header when initiating a call bridge.
 
 
-   Default value is “sip:[email protected]â€�.
+   Default value is "sip:[email protected]".
 
 
    Example 1.42. Set bridge_controller parameter
    Example 1.42. Set bridge_controller parameter
 ...
 ...
 modparam("dialog", "bridge_controller", "sip:[email protected]")
 modparam("dialog", "bridge_controller", "sip:[email protected]")
 ...
 ...
 
 
-5.43. initial_cbs_inscript (string)
+5.43. initial_cbs_inscript (int)
 
 
    If the initial dialog callbacks (i.e., DLGCB_CREATED and
    If the initial dialog callbacks (i.e., DLGCB_CREATED and
    DLGCB_SPIRALED) should be executed in-script or post-script. If
    DLGCB_SPIRALED) should be executed in-script or post-script. If
@@ -995,11 +999,23 @@ modparam("dialog", "bridge_controller", "sip:[email protected]")
      * 1 - IN-SCRIPT - execute initial callbacks during script execution,
      * 1 - IN-SCRIPT - execute initial callbacks during script execution,
        i.e., right after dlg_manage() is called;
        i.e., right after dlg_manage() is called;
 
 
-   Default value is “1�.
+   Default value is "1".
 
 
    Example 1.43. Set initial_cbs_inscript parameter
    Example 1.43. Set initial_cbs_inscript parameter
 ...
 ...
-modparam("dialog", "initial_cbs_inscript", "0")
+modparam("dialog", "initial_cbs_inscript", 0)
+...
+
+5.44. send_bye (int)
+
+   If set to 1, BYE requests will be sent out for each dialog that timed
+   out. It is an alternative to $dlg_ctx(timeout_bye)=1 for all dialogs.
+
+   Default value is "0".
+
+   Example 1.44. Set send_bye parameter
+...
+modparam("dialog", "send_bye", 1)
 ...
 ...
 
 
 6. Functions
 6. Functions
@@ -1018,7 +1034,7 @@ modparam("dialog", "initial_cbs_inscript", "0")
    6.12. dlg_get(callid, ftag, ttag)
    6.12. dlg_get(callid, ftag, ttag)
    6.13. is_known_dlg()
    6.13. is_known_dlg()
 
 
-6.1.  set_dlg_profile(profile,[value])
+6.1. set_dlg_profile(profile,[value])
 
 
    Inserts the current dialog into a profile. Note that if the profile
    Inserts the current dialog into a profile. Note that if the profile
    does not support values, they will be silently discarded. Also, there
    does not support values, they will be silently discarded. Also, there
@@ -1034,13 +1050,13 @@ modparam("dialog", "initial_cbs_inscript", "0")
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
    and FAILURE_ROUTE.
    and FAILURE_ROUTE.
 
 
-   Example 1.44. set_dlg_profile usage
+   Example 1.45. set_dlg_profile usage
 ...
 ...
 set_dlg_profile("inbound_call");
 set_dlg_profile("inbound_call");
 set_dlg_profile("caller","$fu");
 set_dlg_profile("caller","$fu");
 ...
 ...
 
 
-6.2.  unset_dlg_profile(profile,[value])
+6.2. unset_dlg_profile(profile,[value])
 
 
    Removes the current dialog from a profile.
    Removes the current dialog from a profile.
 
 
@@ -1053,13 +1069,13 @@ set_dlg_profile("caller","$fu");
    This function can be used from BRANCH_ROUTE, REPLY_ROUTE and
    This function can be used from BRANCH_ROUTE, REPLY_ROUTE and
    FAILURE_ROUTE.
    FAILURE_ROUTE.
 
 
-   Example 1.45. unset_dlg_profile usage
+   Example 1.46. unset_dlg_profile usage
 ...
 ...
 unset_dlg_profile("inbound_call");
 unset_dlg_profile("inbound_call");
 unset_dlg_profile("caller","$fu");
 unset_dlg_profile("caller","$fu");
 ...
 ...
 
 
-6.3.  is_in_profile(profile,[value])
+6.3. is_in_profile(profile,[value])
 
 
    Checks if the current dialog belongs to a profile. If the profile
    Checks if the current dialog belongs to a profile. If the profile
    supports values, the check can be reinforced to take into account a
    supports values, the check can be reinforced to take into account a
@@ -1076,7 +1092,7 @@ unset_dlg_profile("caller","$fu");
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
    and FAILURE_ROUTE.
    and FAILURE_ROUTE.
 
 
-   Example 1.46. is_in_profile usage
+   Example 1.47. is_in_profile usage
 ...
 ...
 if (is_in_profile("inbound_call")) {
 if (is_in_profile("inbound_call")) {
         log("this request belongs to a inbound call\n");
         log("this request belongs to a inbound call\n");
@@ -1087,7 +1103,7 @@ if (is_in_profile("caller","XX")) {
 }
 }
 ...
 ...
 
 
-6.4.  get_profile_size(profile,[value],size)
+6.4. get_profile_size(profile,[value],size)
 
 
    Returns the number of dialogs belonging to a profile. If the profile
    Returns the number of dialogs belonging to a profile. If the profile
    supports values, the check can be reinforced to take into account a
    supports values, the check can be reinforced to take into account a
@@ -1105,7 +1121,7 @@ if (is_in_profile("caller","XX")) {
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
    and FAILURE_ROUTE.
    and FAILURE_ROUTE.
 
 
-   Example 1.47. get_profile_size usage
+   Example 1.48. get_profile_size usage
 ...
 ...
 if(get_profile_size("inbound_call","$avp(size)"))
 if(get_profile_size("inbound_call","$avp(size)"))
     xlog("currently there are $avp(size) inbound calls\n");
     xlog("currently there are $avp(size) inbound calls\n");
@@ -1114,7 +1130,7 @@ if(get_profile_size("caller","$fu","$avp(size)"))
     xlog("currently, the user $fu has $avp(size) active outgoing calls\n");
     xlog("currently, the user $fu has $avp(size) active outgoing calls\n");
 ...
 ...
 
 
-6.5.  dlg_isflagset(flag)
+6.5. dlg_isflagset(flag)
 
 
    Check if the dialog flag is set or not.
    Check if the dialog flag is set or not.
 
 
@@ -1124,7 +1140,7 @@ if(get_profile_size("caller","$fu","$avp(size)"))
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    ONREPLY_ROUTE and FAILURE_ROUTE.
    ONREPLY_ROUTE and FAILURE_ROUTE.
 
 
-   Example 1.48. dlg_isflagset usage
+   Example 1.49. dlg_isflagset usage
 ...
 ...
 if(dlg_isflagset("1"))
 if(dlg_isflagset("1"))
 {
 {
@@ -1132,7 +1148,7 @@ if(dlg_isflagset("1"))
 }
 }
 ...
 ...
 
 
-6.6.  dlg_setflag(flag)
+6.6. dlg_setflag(flag)
 
 
    Set the dialog flag.
    Set the dialog flag.
 
 
@@ -1142,12 +1158,12 @@ if(dlg_isflagset("1"))
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    ONREPLY_ROUTE and FAILURE_ROUTE.
    ONREPLY_ROUTE and FAILURE_ROUTE.
 
 
-   Example 1.49. dlg_setflag usage
+   Example 1.50. dlg_setflag usage
 ...
 ...
 dlg_setflag("1");
 dlg_setflag("1");
 ...
 ...
 
 
-6.7.  dlg_resetflag(flag)
+6.7. dlg_resetflag(flag)
 
 
    Reset the dialog flag.
    Reset the dialog flag.
 
 
@@ -1157,12 +1173,12 @@ dlg_setflag("1");
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    ONREPLY_ROUTE and FAILURE_ROUTE.
    ONREPLY_ROUTE and FAILURE_ROUTE.
 
 
-   Example 1.50. dlg_resetflag usage
+   Example 1.51. dlg_resetflag usage
 ...
 ...
 redlg_setflag("1");
 redlg_setflag("1");
 ...
 ...
 
 
-6.8.  dlg_bye(side)
+6.8. dlg_bye(side)
 
 
    Send BYE to both parties of a dialog.
    Send BYE to both parties of a dialog.
 
 
@@ -1173,12 +1189,12 @@ redlg_setflag("1");
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    ONREPLY_ROUTE and FAILURE_ROUTE.
    ONREPLY_ROUTE and FAILURE_ROUTE.
 
 
-   Example 1.51. dlg_bye usage
+   Example 1.52. dlg_bye usage
 ...
 ...
 dlg_bye("all");
 dlg_bye("all");
 ...
 ...
 
 
-6.9.  dlg_refer(side, address)
+6.9. dlg_refer(side, address)
 
 
    Refer the 'side' to a new SIP 'address'.
    Refer the 'side' to a new SIP 'address'.
 
 
@@ -1190,12 +1206,12 @@ dlg_bye("all");
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    ONREPLY_ROUTE and FAILURE_ROUTE.
    ONREPLY_ROUTE and FAILURE_ROUTE.
 
 
-   Example 1.52. dlg_refer usage
+   Example 1.53. dlg_refer usage
 ...
 ...
 dlg_refer("caller", "sip:[email protected]");
 dlg_refer("caller", "sip:[email protected]");
 ...
 ...
 
 
-6.10.  dlg_manage()
+6.10. dlg_manage()
 
 
    Process current SIP request with dialog module. It is an alternative to
    Process current SIP request with dialog module. It is an alternative to
    setting dialog flag for initial INVITE and Route-parameter-callback
    setting dialog flag for initial INVITE and Route-parameter-callback
@@ -1203,7 +1219,7 @@ dlg_refer("caller", "sip:[email protected]");
 
 
    This function can be used from REQUEST_ROUTE.
    This function can be used from REQUEST_ROUTE.
 
 
-   Example 1.53. dlg_manage usage
+   Example 1.54. dlg_manage usage
 ...
 ...
 modparam("dialog", "default_timeout", 100)
 modparam("dialog", "default_timeout", 100)
 ...
 ...
@@ -1219,25 +1235,25 @@ route {
 }
 }
 ...
 ...
 
 
-6.11.  dlg_bridge(from, to, op)
+6.11. dlg_bridge(from, to, op)
 
 
    Bridge 'from' SIP address to 'to' SIP address via outbound proxy 'op'.
    Bridge 'from' SIP address to 'to' SIP address via outbound proxy 'op'.
 
 
    Meaning of the parameters is as follows:
    Meaning of the parameters is as follows:
      * from - SIP address of first side to call.
      * from - SIP address of first side to call.
-     * to - SIP address to refer “from� to.
+     * to - SIP address to refer "from" to.
      * op - outbound proxy SIP address.
      * op - outbound proxy SIP address.
 
 
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    ONREPLY_ROUTE and FAILURE_ROUTE.
    ONREPLY_ROUTE and FAILURE_ROUTE.
 
 
-   Example 1.54. dlg_bridge usage
+   Example 1.55. dlg_bridge usage
 ...
 ...
 dlg_bridge("sip:[email protected]", "sip:[email protected]",
 dlg_bridge("sip:[email protected]", "sip:[email protected]",
    "sip:kamailio.org:5080");
    "sip:kamailio.org:5080");
 ...
 ...
 
 
-6.12.  dlg_get(callid, ftag, ttag)
+6.12. dlg_get(callid, ftag, ttag)
 
 
    Search and set current dialog based on Call-ID, From-Tag and To-Tag
    Search and set current dialog based on Call-ID, From-Tag and To-Tag
    parameters.
    parameters.
@@ -1250,7 +1266,7 @@ dlg_bridge("sip:[email protected]", "sip:[email protected]",
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    ONREPLY_ROUTE and FAILURE_ROUTE.
    ONREPLY_ROUTE and FAILURE_ROUTE.
 
 
-   Example 1.55. dlg_get usage
+   Example 1.56. dlg_get usage
 ...
 ...
 if(dlg_get("abcdef", "123", "456"))
 if(dlg_get("abcdef", "123", "456"))
 {
 {
@@ -1258,7 +1274,7 @@ if(dlg_get("abcdef", "123", "456"))
 }
 }
 ...
 ...
 
 
-6.13.  is_known_dlg()
+6.13. is_known_dlg()
 
 
    This function checks if the current SIP message being processed belongs
    This function checks if the current SIP message being processed belongs
    to any transaction within an active dialog that the dialog module is
    to any transaction within an active dialog that the dialog module is
@@ -1274,7 +1290,7 @@ if(dlg_get("abcdef", "123", "456"))
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
    and FAILURE_ROUTE.
    and FAILURE_ROUTE.
 
 
-   Example 1.56. is_known_dlg() usage
+   Example 1.57. is_known_dlg() usage
 ...
 ...
 if(!uri == myself) {
 if(!uri == myself) {
         if(is_known_dlg()) {
         if(is_known_dlg()) {
@@ -1347,12 +1363,12 @@ if(!uri == myself) {
 
 
 8.2. dlg_list_ctx
 8.2. dlg_list_ctx
 
 
-   The same as the “dlg_list� but including in the dialog description the
+   The same as the "dlg_list" but including in the dialog description the
    associated context from modules sitting on top of the dialog module.
    associated context from modules sitting on top of the dialog module.
 
 
    Name: dlg_list_ctx
    Name: dlg_list_ctx
 
 
-   Parameters: see “dlg_list�
+   Parameters: see "dlg_list"
 
 
    MI FIFO Command Format:
    MI FIFO Command Format:
                 :dlg_list_ctx:_reply_fifo_file_
                 :dlg_list_ctx:_reply_fifo_file_
@@ -1485,7 +1501,7 @@ if(!uri == myself) {
 
 
 9.2. dlg.list_ctx
 9.2. dlg.list_ctx
 
 
-   The same as the “dlg_list� but including in the dialog description the
+   The same as the "dlg_list" but including in the dialog description the
    associated context from modules sitting on top of the dialog module.
    associated context from modules sitting on top of the dialog module.
 
 
    Name: dlg.list_ctx
    Name: dlg.list_ctx
@@ -1510,13 +1526,13 @@ if(!uri == myself) {
 
 
 9.4. dlg.dlg_list_ctx
 9.4. dlg.dlg_list_ctx
 
 
-   The same as the “dlg.list_ctx� but including in the dialog description
+   The same as the "dlg.list_ctx" but including in the dialog description
    the associated context from modules sitting on top of the dialog
    the associated context from modules sitting on top of the dialog
    module.
    module.
 
 
    Name: dlg.dlg_list_ctx
    Name: dlg.dlg_list_ctx
 
 
-   Parameters: see “dlg_list�
+   Parameters: see "dlg_list"
 
 
    RPC Command Format:
    RPC Command Format:
                 serctl dlg.list_ctx [email protected] AAdfeEFF33
                 serctl dlg.list_ctx [email protected] AAdfeEFF33
@@ -1655,7 +1671,7 @@ Chapter 2. Developer Guide
    1.1. register_dlgcb (dialog, type, cb, param, free_param_cb)
    1.1. register_dlgcb (dialog, type, cb, param, free_param_cb)
    1.2. terminate_dlg (dlg, hdrs)
    1.2. terminate_dlg (dlg, hdrs)
 
 
-1.1.  register_dlgcb (dialog, type, cb, param, free_param_cb)
+1.1. register_dlgcb (dialog, type, cb, param, free_param_cb)
 
 
    Register a new callback to the dialog.
    Register a new callback to the dialog.
 
 
@@ -1697,14 +1713,14 @@ Chapter 2. Developer Guide
           + DLGCB_SPIRALED - called when the dialog matches a spiraling
           + DLGCB_SPIRALED - called when the dialog matches a spiraling
             request - it's a per dialog type.
             request - it's a per dialog type.
           + DLGCB_DESTROY
           + DLGCB_DESTROY
-     * dialog_cb cb - callback function to be called. Prototype is: “void
+     * dialog_cb cb - callback function to be called. Prototype is: "void
        (dialog_cb) (struct dlg_cell* dlg, int type, struct dlg_cb_params *
        (dialog_cb) (struct dlg_cell* dlg, int type, struct dlg_cb_params *
-       params); �
+       params); "
      * void *param - parameter to be passed to the callback function.
      * void *param - parameter to be passed to the callback function.
      * param_free callback_param_free - callback function to be called to
      * param_free callback_param_free - callback function to be called to
-       free the param. Prototype is: “void (param_free_cb) (void *param);�
+       free the param. Prototype is: "void (param_free_cb) (void *param);"
 
 
-1.2.  terminate_dlg (dlg, hdrs)
+1.2. terminate_dlg (dlg, hdrs)
 
 
    Terminate a Dialog
    Terminate a Dialog
 
 
@@ -1715,46 +1731,46 @@ Chapter 2. Developer Guide
 
 
 Chapter 3. Frequently Asked Questions
 Chapter 3. Frequently Asked Questions
 
 
-   3.1. What happend with “use_tight_match� parameter?
+   3.1. What happend with "use_tight_match" parameter?
    3.2. Where can I find more about Kamailio?
    3.2. Where can I find more about Kamailio?
    3.3. Where can I post a question about this module?
    3.3. Where can I post a question about this module?
    3.4. How can I report a bug?
    3.4. How can I report a bug?
 
 
    3.1.
    3.1.
 
 
-       What happend with “use_tight_match� parameter?
+   What happend with "use_tight_match" parameter?
 
 
-       The parameter was removed with version 1.3 as the option of tight
-       matching became mandatory and not configurable. Now, the tight matching
-       is done all the time (when using DID matching).
+   The parameter was removed with version 1.3 as the option of tight
+   matching became mandatory and not configurable. Now, the tight matching
+   is done all the time (when using DID matching).
 
 
    3.2.
    3.2.
 
 
-       Where can I find more about Kamailio?
+   Where can I find more about Kamailio?
 
 
-       Take a look at http://www.kamailio.org/.
+   Take a look at http://www.kamailio.org/.
 
 
    3.3.
    3.3.
 
 
-       Where can I post a question about this module?
+   Where can I post a question about this module?
 
 
-       First at all check if your question was already answered on one of our
-       mailing lists:
-         * User Mailing List -
-           http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-         * Developer Mailing List -
-           http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
+   First at all check if your question was already answered on one of our
+   mailing lists:
+     * User Mailing List -
+       http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
+     * Developer Mailing List -
+       http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
 
 
-       E-mails regarding any stable Kamailio release should be sent to
-       <[email protected]> and e-mails regarding development
-       versions should be sent to <[email protected]>.
+   E-mails regarding any stable Kamailio release should be sent to
+   <[email protected]> and e-mails regarding development
+   versions should be sent to <[email protected]>.
 
 
-       If you want to keep the mail private, send it to
-       <[email protected]>.
+   If you want to keep the mail private, send it to
+   <[email protected]>.
 
 
    3.4.
    3.4.
 
 
-       How can I report a bug?
+   How can I report a bug?
 
 
-       Please follow the guidelines provided at:
-       http://sip-router.org/tracker.
+   Please follow the guidelines provided at:
+   http://sip-router.org/tracker.

+ 24 - 2
modules_k/dialog/doc/dialog_admin.xml

@@ -1076,7 +1076,7 @@ modparam("dialog", "bridge_controller", "sip:[email protected]")
 	</section>
 	</section>
 
 
 	<section>
 	<section>
-		<title><varname>initial_cbs_inscript</varname> (string)</title>
+		<title><varname>initial_cbs_inscript</varname> (int)</title>
 		<para>
 		<para>
             If the initial dialog callbacks (i.e., DLGCB_CREATED and
             If the initial dialog callbacks (i.e., DLGCB_CREATED and
             DLGCB_SPIRALED) should be executed in-script or post-script.
             DLGCB_SPIRALED) should be executed in-script or post-script.
@@ -1109,7 +1109,29 @@ modparam("dialog", "bridge_controller", "sip:[email protected]")
 		<title>Set <varname>initial_cbs_inscript</varname> parameter</title>
 		<title>Set <varname>initial_cbs_inscript</varname> parameter</title>
 		<programlisting format="linespecific">
 		<programlisting format="linespecific">
 ...
 ...
-modparam("dialog", "initial_cbs_inscript", "0")
+modparam("dialog", "initial_cbs_inscript", 0)
+...
+</programlisting>
+		</example>
+	</section>
+
+	<section>
+		<title><varname>send_bye</varname> (int)</title>
+		<para>
+			If set to 1, BYE requests will be sent out for each dialog that
+			timed out. It is an alternative to $dlg_ctx(timeout_bye)=1 for
+			all dialogs.
+		</para>
+		<para>
+		<emphasis>
+			Default value is <quote>0</quote>.
+		</emphasis>
+		</para>
+		<example>
+		<title>Set <varname>send_bye</varname> parameter</title>
+		<programlisting format="linespecific">
+...
+modparam("dialog", "send_bye", 1)
 ...
 ...
 </programlisting>
 </programlisting>
 		</example>
 		</example>