modules: readme files regenerated - acc ... [skip ci]
authorKamailio Dev <kamailio.dev@kamailio.org>
Tue, 16 Jul 2019 09:23:08 +0000 (11:23 +0200)
committerKamailio Dev <kamailio.dev@kamailio.org>
Tue, 16 Jul 2019 09:23:08 +0000 (11:23 +0200)
src/modules/acc/README
src/modules/dialog/README
src/modules/dispatcher/README
src/modules/ims_ipsec_pcscf/README
src/modules/registrar/README
src/modules/sl/README
src/modules/tcpops/README
src/modules/uac/README
src/modules/usrloc/README

index c5396d2..030adfb 100644 (file)
@@ -22,8 +22,6 @@ Bogdan-Andrei Iancu
    Voice Sistem SRL
    <bogdan@voice-system.ro>
 
-Edited by
-
 Sven Knoblich
 
    1&1 Internet AG
@@ -849,6 +847,13 @@ modparam("acc", "log_flag", 2)
 6.11. log_missed_flag (integer)
 
    Request flag which needs to be set to account missed calls via syslog.
+   This can be used to e.g. account failures during the call setup phase
+   from the callee side, for example if you do forking to several
+   destinations.
+
+   Keep in mind that this flag is reset after processing. Therefore it is
+   necessary to set it again e.g. in a failure_route if you do serial
+   forking and want to log all attempts.
 
    Default value is not-set (no flag).
 
@@ -1464,52 +1469,52 @@ Chapter 2. Frequently Asked Questions
 
    2.1.
 
-       What happened with old log_fmt parameter
+   What happened with old log_fmt parameter
 
-       The parameter became obsolete with the restructure of the data logged
-       by ACC module (refer to the Overview chapter). For similar behaviour
-       you can use the extra accounting (see the corresponding chapter).
+   The parameter became obsolete with the restructure of the data logged
+   by ACC module (refer to the Overview chapter). For similar behaviour
+   you can use the extra accounting (see the corresponding chapter).
 
    2.2.
 
-       What happened with old multi_leg_enabled parameter
+   What happened with old multi_leg_enabled parameter
 
-       The parameter became obsolete by the addition of the new multi_leg_info
-       parameter. The multi-leg accounting is automatically enabled when
-       multi_leg_info is defined.
+   The parameter became obsolete by the addition of the new multi_leg_info
+   parameter. The multi-leg accounting is automatically enabled when
+   multi_leg_info is defined.
 
    2.3.
 
-       What happened with old src_leg_avp_id and dst_leg_avp_id parameters
+   What happened with old src_leg_avp_id and dst_leg_avp_id parameters
 
-       The parameter was replaced by the more generic new parameter
-       multi_leg_info. This allows logging (per-leg) of more information than
-       just dst and src.
+   The parameter was replaced by the more generic new parameter
+   multi_leg_info. This allows logging (per-leg) of more information than
+   just dst and src.
 
    2.4.
 
-       Where can I find more about Kamailio?
+   Where can I find more about Kamailio?
 
-       Take a look at https://www.kamailio.org/.
+   Take a look at https://www.kamailio.org/.
 
    2.5.
 
-       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 -
-           https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-         * Developer Mailing List -
-           https://lists.kamailio.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 -
+       https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
+     * Developer Mailing List -
+       https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
 
-       E-mails regarding any stable Kamailio release should be sent to
-       <sr-users@lists.kamailio.org> and e-mails regarding development
-       versions should be sent to <sr-dev@lists.kamailio.org>.
+   E-mails regarding any stable Kamailio release should be sent to
+   <sr-users@lists.kamailio.org> and e-mails regarding development
+   versions should be sent to <sr-dev@lists.kamailio.org>.
 
    2.6.
 
-       How can I report a bug?
+   How can I report a bug?
 
-       Please follow the guidelines provided at:
-       https://github.com/kamailio/kamailio/issues.
+   Please follow the guidelines provided at:
+   https://github.com/kamailio/kamailio/issues.
index f4bfe36..139597f 100644 (file)
-dialog Module
 
-Bogdan-Andrei Iancu
 
-   Voice Sistem SRL
-
-Carsten Bock
-
-   ng-voice.com
-
-Edited by
-
-Bogdan-Andrei Iancu
-
-Edited by
-
-Carsten Bock
-
-Edited by
-
-Alex Balashov
-
-   <abalashov@evaristesys.com>
-
-Edited by
-
-Olle E. Johansson
-
-   <oej@edvina.net>
-
-Edited by
-
-Surendra Tiwari
-
-   <surendratiwari3@gmail.com>
-
-   Copyright © 2006 Voice Sistem SRL
-
-   Copyright © 2011 Carsten Bock, http://www.ng-voice.com
-     __________________________________________________________________
-
-   Table of Contents
-
-   1. Admin Guide
-
-        1. Overview
-        2. How it works
-        3. Dialog states
-        4. Dialog profiling
-        5. Dependencies
-
-              5.1. Kamailio Modules
-              5.2. External Libraries or Applications
-
-        6. Parameters
-
-              6.1. enable_stats (integer)
-              6.2. hash_size (integer)
-              6.3. rr_param (string)
-              6.4. dlg_flag (integer)
-              6.5. timeout_avp (string)
-              6.6. default_timeout (integer)
-              6.7. early_timeout (integer)
-              6.8. noack_timeout (integer)
-              6.9. end_timeout (integer)
-              6.10. dlg_extra_hdrs (string)
-              6.11. dlg_match_mode (integer)
-              6.12. detect_spirals (integer)
-              6.13. db_url (string)
-              6.14. db_mode (integer)
-              6.15. db_update_period (integer)
-              6.16. db_fetch_rows (integer)
-              6.17. db_skip_load (integer)
-              6.18. table_name (string)
-              6.19. call_id_column (string)
-              6.20. from_uri_column (string)
-              6.21. from_tag_column (string)
-              6.22. to_uri_column (string)
-              6.23. to_tag_column (string)
-              6.24. from_cseq_column (string)
-              6.25. to_cseq_column (string)
-              6.26. from_route_column (string)
-              6.27. to_route_column (string)
-              6.28. from_contact_column (string)
-              6.29. to_contact_column (string)
-              6.30. from_sock_column (string)
-              6.31. to_sock_column (string)
-              6.32. h_id_column (string)
-              6.33. h_entry_column (string)
-              6.34. state_column (string)
-              6.35. start_time_column (string)
-              6.36. timeout_column (string)
-              6.37. sflags_column (string)
-              6.38. toroute_name_column (string)
-              6.39. vars_table_name (string)
-              6.40. vars_h_id_column (string)
-              6.41. vars_h_entry_column (string)
-              6.42. vars_key_column (string)
-              6.43. vars_value_column (string)
-              6.44. profiles_with_value (string)
-              6.45. profiles_no_value (string)
-              6.46. bridge_controller (string)
-              6.47. bridge_contact (string)
-              6.48. initial_cbs_inscript (int)
-              6.49. send_bye (int)
-              6.50. wait_ack (int)
-              6.51. ka_timer (int)
-              6.52. ka_interval (int)
-              6.53. ka_failed_limit (int)
-              6.54. timeout_noreset (int)
-              6.55. timer_procs (int)
-              6.56. enable_dmq (int)
-              6.57. track_cseq_updates (int)
-              6.58. lreq_callee_headers (string)
-              6.59. event_callback (str)
-              6.60. h_id_start (int)
-              6.61. h_id_step (int)
-
-        7. Functions
-
-              7.1. set_dlg_profile(profile,[value])
-              7.2. unset_dlg_profile(profile,[value])
-              7.3. is_in_profile(profile,[value])
-              7.4. get_profile_size(profile,[value],size)
-              7.5. dlg_isflagset(flag)
-              7.6. dlg_setflag(flag)
-              7.7. dlg_resetflag(flag)
-              7.8. dlg_bye(side)
-              7.9. dlg_refer(side, address)
-              7.10. dlg_manage()
-              7.11. dlg_bridge(from, to, op)
-              7.12. dlg_get(callid, ftag, ttag)
-              7.13. is_known_dlg()
-              7.14. dlg_set_timeout(timeout [, h_entry, h_id])
-              7.15. dlg_set_timeout_by_profile(profile, [value], timeout)
-              7.16. dlg_set_property(attr)
-              7.17. dlg_remote_profile(cmd, profile, value, uid, expires)
-              7.18. dlg_set_ruri()
-              7.19. dlg_db_load_callid(cival)
-              7.20. dlg_db_load_extra()
-
-        8. Statistics
-
-              8.1. active_dialogs
-              8.2. early_dialogs
-              8.3. processed_dialogs
-              8.4. expired_dialogs
-              8.5. failed_dialogs
-
-        9. RPC Commands
-
-              9.1. dlg.list
-              9.2. dlg.list_ctx
-              9.3. dlg.list_match
-              9.4. dlg.list_match_ctx
-              9.5. dlg.dlg_list
-              9.6. dlg.dlg_list_ctx
-              9.7. dlg.terminate_dlg
-              9.8. dlg.end_dlg
-              9.9. dlg.profile_get_size
-              9.10. dlg.profile_list
-              9.11. dlg.bridge_dlg
-              9.12. dlg.stats_active
-              9.13. dlg.is_alive
-
-        10. Exported Variables
-
-              10.1. $DLG_count
-              10.2. $DLG_status
-              10.3. $DLG_lifetime
-              10.4. $dlg(...)
-              10.5. $dlg_ctx(...)
-              10.6. $dlg_var(key)
-
-        11. Event Routes
-
-              11.1. event_route[dialog:start]
-              11.2. event_route[dialog:end]
-              11.3. event_route[dialog:failed]
-
-   2. Developer Guide
-
-        1. Available Functions
-
-              1.1. register_dlgcb (dialog, type, cb, param, free_param_cb)
-
-              1.2. terminate_dlg (dlg, hdrs)
-
-   3. Frequently Asked Questions
-
-   List of Examples
-
-   1.1. Set enable_stats parameter
-   1.2. Set hash_size parameter
-   1.3. Set rr_param parameter
-   1.4. Set dlg_flag parameter
-   1.5. Set timeout_avp parameter
-   1.6. Set default_timeout parameter
-   1.7. Set early_timeout parameter
-   1.8. Set noack_timeout parameter
-   1.9. Set end_timeout parameter
-   1.10. Set dlf_extra_hdrs parameter
-   1.11. Set dlg_match_mode parameter
-   1.12. Set detect_spirals parameter
-   1.13. Set db_url parameter
-   1.14. Set db_mode parameter
-   1.15. Set db_update_period parameter
-   1.16. Set db_fetch_rows parameter
-   1.17. Set db_skip_load parameter
-   1.18. Set table_name parameter
-   1.19. Set call_id_column parameter
-   1.20. Set from_uri_column parameter
-   1.21. Set from_tag_column parameter
-   1.22. Set to_uri_column parameter
-   1.23. Set to_tag_column parameter
-   1.24. Set from_cseq_column parameter
-   1.25. Set to_cseq_column parameter
-   1.26. Set from_route_column parameter
-   1.27. Set to_route_column parameter
-   1.28. Set from_contact_column parameter
-   1.29. Set to_contact_column parameter
-   1.30. Set from_sock_column parameter
-   1.31. Set to_sock_column parameter
-   1.32. Set h_id_column parameter
-   1.33. Set h_entry_column parameter
-   1.34. Set state_column parameter
-   1.35. Set start_time_column parameter
-   1.36. Set timeout_column parameter
-   1.37. Set sflags_column parameter
-   1.38. Set toroute_name_column parameter
-   1.39. Set vars_table_name parameter
-   1.40. Set vars_h_id_column parameter
-   1.41. Set vars_h_entry_column parameter
-   1.42. Set vars_key_column parameter
-   1.43. Set vars_value_column parameter
-   1.44. Set profiles_with_value parameter
-   1.45. Set profiles_no_value parameter
-   1.46. Set bridge_controller parameter
-   1.47. Set bridge_contact parameter
-   1.48. Set initial_cbs_inscript parameter
-   1.49. Set send_bye parameter
-   1.50. Set wait_ack parameter
-   1.51. Set ka_timer parameter
-   1.52. Set ka_interval parameter
-   1.53. Set ka_failed_limit parameter
-   1.54. Set timeout_noreset parameter
-   1.55. Set timer_procs parameter
-   1.56. Set enable_dmq parameter
-   1.57. Set track_cseq_updates parameter
-   1.58. Set lreq_callee_headers parameter
-   1.59. Set event_callback parameter
-   1.60. Set h_id_start parameter
-   1.61. Set h_id_step parameter
-   1.62. set_dlg_profile usage
-   1.63. unset_dlg_profile usage
-   1.64. is_in_profile usage
-   1.65. get_profile_size usage
-   1.66. dlg_isflagset usage
-   1.67. dlg_setflag usage
-   1.68. dlg_resetflag usage
-   1.69. dlg_bye usage
-   1.70. dlg_refer usage
-   1.71. dlg_manage usage
-   1.72. dlg_bridge usage
-   1.73. dlg_get usage
-   1.74. is_known_dlg() usage
-   1.75. dlg_set_timeout usage
-   1.76. dlg_set_timeout_by_profile usage
-   1.77. dlg_set_property usage
-   1.78. dlg_remote_profile usage
-   1.79. dlg_set_ruri() usage
-   1.80. dlg_db_load_callid() usage
-   1.81. dlg_db_load_extra() usage
-
-Chapter 1. Admin Guide
-
-   Table of Contents
-
-   1. Overview
-   2. How it works
-   3. Dialog states
-   4. Dialog profiling
-   5. Dependencies
-
-        5.1. Kamailio Modules
-        5.2. External Libraries or Applications
-
-   6. Parameters
-
-        6.1. enable_stats (integer)
-        6.2. hash_size (integer)
-        6.3. rr_param (string)
-        6.4. dlg_flag (integer)
-        6.5. timeout_avp (string)
-        6.6. default_timeout (integer)
-        6.7. early_timeout (integer)
-        6.8. noack_timeout (integer)
-        6.9. end_timeout (integer)
-        6.10. dlg_extra_hdrs (string)
-        6.11. dlg_match_mode (integer)
-        6.12. detect_spirals (integer)
-        6.13. db_url (string)
-        6.14. db_mode (integer)
-        6.15. db_update_period (integer)
-        6.16. db_fetch_rows (integer)
-        6.17. db_skip_load (integer)
-        6.18. table_name (string)
-        6.19. call_id_column (string)
-        6.20. from_uri_column (string)
-        6.21. from_tag_column (string)
-        6.22. to_uri_column (string)
-        6.23. to_tag_column (string)
-        6.24. from_cseq_column (string)
-        6.25. to_cseq_column (string)
-        6.26. from_route_column (string)
-        6.27. to_route_column (string)
-        6.28. from_contact_column (string)
-        6.29. to_contact_column (string)
-        6.30. from_sock_column (string)
-        6.31. to_sock_column (string)
-        6.32. h_id_column (string)
-        6.33. h_entry_column (string)
-        6.34. state_column (string)
-        6.35. start_time_column (string)
-        6.36. timeout_column (string)
-        6.37. sflags_column (string)
-        6.38. toroute_name_column (string)
-        6.39. vars_table_name (string)
-        6.40. vars_h_id_column (string)
-        6.41. vars_h_entry_column (string)
-        6.42. vars_key_column (string)
-        6.43. vars_value_column (string)
-        6.44. profiles_with_value (string)
-        6.45. profiles_no_value (string)
-        6.46. bridge_controller (string)
-        6.47. bridge_contact (string)
-        6.48. initial_cbs_inscript (int)
-        6.49. send_bye (int)
-        6.50. wait_ack (int)
-        6.51. ka_timer (int)
-        6.52. ka_interval (int)
-        6.53. ka_failed_limit (int)
-        6.54. timeout_noreset (int)
-        6.55. timer_procs (int)
-        6.56. enable_dmq (int)
-        6.57. track_cseq_updates (int)
-        6.58. lreq_callee_headers (string)
-        6.59. event_callback (str)
-        6.60. h_id_start (int)
-        6.61. h_id_step (int)
-
-   7. Functions
-
-        7.1. set_dlg_profile(profile,[value])
-        7.2. unset_dlg_profile(profile,[value])
-        7.3. is_in_profile(profile,[value])
-        7.4. get_profile_size(profile,[value],size)
-        7.5. dlg_isflagset(flag)
-        7.6. dlg_setflag(flag)
-        7.7. dlg_resetflag(flag)
-        7.8. dlg_bye(side)
-        7.9. dlg_refer(side, address)
-        7.10. dlg_manage()
-        7.11. dlg_bridge(from, to, op)
-        7.12. dlg_get(callid, ftag, ttag)
-        7.13. is_known_dlg()
-        7.14. dlg_set_timeout(timeout [, h_entry, h_id])
-        7.15. dlg_set_timeout_by_profile(profile, [value], timeout)
-        7.16. dlg_set_property(attr)
-        7.17. dlg_remote_profile(cmd, profile, value, uid, expires)
-        7.18. dlg_set_ruri()
-        7.19. dlg_db_load_callid(cival)
-        7.20. dlg_db_load_extra()
-
-   8. Statistics
-
-        8.1. active_dialogs
-        8.2. early_dialogs
-        8.3. processed_dialogs
-        8.4. expired_dialogs
-        8.5. failed_dialogs
-
-   9. RPC Commands
-
-        9.1. dlg.list
-        9.2. dlg.list_ctx
-        9.3. dlg.list_match
-        9.4. dlg.list_match_ctx
-        9.5. dlg.dlg_list
-        9.6. dlg.dlg_list_ctx
-        9.7. dlg.terminate_dlg
-        9.8. dlg.end_dlg
-        9.9. dlg.profile_get_size
-        9.10. dlg.profile_list
-        9.11. dlg.bridge_dlg
-        9.12. dlg.stats_active
-        9.13. dlg.is_alive
-
-   10. Exported Variables
-
-        10.1. $DLG_count
-        10.2. $DLG_status
-        10.3. $DLG_lifetime
-        10.4. $dlg(...)
-        10.5. $dlg_ctx(...)
-        10.6. $dlg_var(key)
-
-   11. Event Routes
-
-        11.1. event_route[dialog:start]
-        11.2. event_route[dialog:end]
-        11.3. event_route[dialog:failed]
-
-1. Overview
-
-   Kamailio can behave as a stateful proxy through the TM module. However,
-   "stateful" in this context refers to transaction state, not dialog
-   state. Certain applications may benefit from an awareness of "calls" in
-   the proxy, not just SIP transactions.
-
-   For example, a common need is to limit the number of calls that can be
-   made concurrently by an endpoint, account, user group, etc. In order to
-   count the number of calls in progress, it is necessary for the proxy to
-   be aware of whole dialogs, not just transactions, and to provide some
-   means of programmatically classifying these dialogs. This is just one
-   common application discussed for illustrative purposes; there are many
-   others.
-
-   The dialog module provides dialog awareness for the Kamailio proxy.
-   It's functionality is to keep track of the current dialogs, to offer
-   information about them (e.g. how many dialogs are active), and to
-   manage various characteristics of dialogs. The module exports several
-   functions that can be used directly from the configuration route script
-   as well as functions for the RPC interface.
-
-   This module also provides a API foundation on which to build more
-   complex dialog-oriented functionality in other Kamailio modules.
-
-2. How it works
-
-   To create the dialog associated with an initial INVITE request, execute
-   the function “dlg_manage()” or set the flag specified by parameter
-   “dlg_flag” (Section 6.4, “dlg_flag (integer)”) before 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 6.6, “default_timeout (integer)”) and
-   custom timeout (see “timeout_avp” - Section 6.5, “timeout_avp
-   (string)”). The dialog timeout is reset each time a sequential request
-   is processed.
-
-3. Dialog states
-
-   Dialogs have states that are shown in the RPC interface as well as
-   stored in the database.
-     * 1 : Unconfirmed dialog
-     * 2 : Early dialog (ringing)
-     * 3 : Confirmed dialog (waiting for ACK)
-     * 4 : Confirmed dialog (active call)
-     * 5 : Deleted dialog
-
-   The early and deleted dialog states are not updated in database
-   storage.
-
-4. Dialog profiling
-
-   Dialog profiling is a mechanism that helps in classifying, sorting and
-   keeping track of certain types of dialogs. The classification criteria
-   can be any attributes desired by the administrator; it can be SIP
-   message attributes, other pseudo-variables, custom values, etc. Dialogs
-   can be dynamically added into one or more profile tables. Logically,
-   each profile table can have a special meaning (like dialogs outside the
-   domain, dialogs terminated to the PSTN, etc.).
-
-   There are two types of profiles:
-     * with no value - a dialog simply belongs to a profile (for instance,
-       an outbound calls profile). There is no other additional
-       information to describe the dialog beyond its membership in the
-       profile per se.
-     * with value - a dialog belongs to a profile having a certain value
-       (like in a caller profile, where the value is the caller ID). The
-       membership of the dialog in the profile is strictly related to the
-       value. For example, if the account ID of the caller is stored in
-       the pseudo-variable $var(account_id), you can use $var(account_id)
-       as a value/key by which to group dialogs so that you can count the
-       number of open dialogs for each account, enforce concurrent call
-       limits as necessary, etc.
-
-   A dialog can be added to multiple profiles at the same time.
-
-   Profiles are visible (at the moment) in the request route (for initial
-   and sequential requests) and in the branch, failure and reply routes of
-   the original request.
-
-5. Dependencies
-
-   5.1. Kamailio Modules
-   5.2. External Libraries or Applications
-
-5.1. Kamailio Modules
-
-   The following modules must be loaded before this module:
-     * TM - Transaction module
-     * RR - Record-Route module
-     * PV - Pseudovariables module
-
-5.2. External Libraries or Applications
-
-   The following libraries or applications must be installed before
-   running Kamailio with this module loaded:
-     * None.
-
-6. Parameters
-
-   6.1. enable_stats (integer)
-   6.2. hash_size (integer)
-   6.3. rr_param (string)
-   6.4. dlg_flag (integer)
-   6.5. timeout_avp (string)
-   6.6. default_timeout (integer)
-   6.7. early_timeout (integer)
-   6.8. noack_timeout (integer)
-   6.9. end_timeout (integer)
-   6.10. dlg_extra_hdrs (string)
-   6.11. dlg_match_mode (integer)
-   6.12. detect_spirals (integer)
-   6.13. db_url (string)
-   6.14. db_mode (integer)
-   6.15. db_update_period (integer)
-   6.16. db_fetch_rows (integer)
-   6.17. db_skip_load (integer)
-   6.18. table_name (string)
-   6.19. call_id_column (string)
-   6.20. from_uri_column (string)
-   6.21. from_tag_column (string)
-   6.22. to_uri_column (string)
-   6.23. to_tag_column (string)
-   6.24. from_cseq_column (string)
-   6.25. to_cseq_column (string)
-   6.26. from_route_column (string)
-   6.27. to_route_column (string)
-   6.28. from_contact_column (string)
-   6.29. to_contact_column (string)
-   6.30. from_sock_column (string)
-   6.31. to_sock_column (string)
-   6.32. h_id_column (string)
-   6.33. h_entry_column (string)
-   6.34. state_column (string)
-   6.35. start_time_column (string)
-   6.36. timeout_column (string)
-   6.37. sflags_column (string)
-   6.38. toroute_name_column (string)
-   6.39. vars_table_name (string)
-   6.40. vars_h_id_column (string)
-   6.41. vars_h_entry_column (string)
-   6.42. vars_key_column (string)
-   6.43. vars_value_column (string)
-   6.44. profiles_with_value (string)
-   6.45. profiles_no_value (string)
-   6.46. bridge_controller (string)
-   6.47. bridge_contact (string)
-   6.48. initial_cbs_inscript (int)
-   6.49. send_bye (int)
-   6.50. wait_ack (int)
-   6.51. ka_timer (int)
-   6.52. ka_interval (int)
-   6.53. ka_failed_limit (int)
-   6.54. timeout_noreset (int)
-   6.55. timer_procs (int)
-   6.56. enable_dmq (int)
-   6.57. track_cseq_updates (int)
-   6.58. lreq_callee_headers (string)
-   6.59. event_callback (str)
-   6.60. h_id_start (int)
-   6.61. h_id_step (int)
-
-6.1. enable_stats (integer)
-
-   If statistics support should be enabled or not. Via statistics
-   variables, the module provide information about the dialog processing.
-   Set it to zero to disable or to non-zero to enable it.
-
-   Default value is “1 (enabled)”.
-
-   Example 1.1. Set enable_stats parameter
-...
-modparam("dialog", "enable_stats", 0)
-...
-
-6.2. hash_size (integer)
-
-   The size of the hash table internally used to keep the dialogs. A
-   larger table is much faster but consumes more memory. The hash size
-   must be a power of two.
-
-   IMPORTANT: If dialog information should be stored in a database, a
-   constant hash_size should be used, otherwise the restoring process will
-   not take place. If you really want to modify the hash_size, you must
-   delete all table's rows before restarting the server.
-
-   Default value is “4096”.
-
-   Example 1.2. Set hash_size parameter
-...
-modparam("dialog", "hash_size", 1024)
-...
-
-6.3. rr_param (string)
-
-   Name of the Record-Route parameter used to store the dialog cookie. It
-   is used for the fast matching of sequential requests to tracked
-   dialogs.
-
-   Default value is “did”.
-
-   Example 1.3. Set rr_param parameter
-...
-modparam("dialog", "rr_param", "xyz")
-...
-
-6.4. dlg_flag (integer)
-
-   Flag to be used for marking if a dialog should be constructed for the
-   current request (this make sense only for initial requests).
-
-   Note: it is not needed to set this parameter and its corresponding flag
-   for initial request in case the “dlg_manage()” function is used. In
-   other words, using “dlg_manage()” alone is enough.
-
-   Default value is “none”.
-
-   Example 1.4. Set dlg_flag parameter
-...
-modparam("dialog", "dlg_flag", 4)
-...
-
-6.5. timeout_avp (string)
-
-   The specification of an AVP that contains a custom timeout value (in
-   seconds) for the dialog. It may be used only in a request (initial or
-   sequential) context.
-
-   Default value is “none”.
-
-   Example 1.5. Set timeout_avp parameter
-...
-modparam("dialog", "timeout_avp", "$avp(i:10)")
-...
-
-6.6. default_timeout (integer)
-
-   The default dialog timeout (in seconds), in the absence of a custom
-   value provided in an AVP.
-
-   Default value is “43200 (12 hours)”.
-
-   Example 1.6. Set default_timeout parameter
-...
-modparam("dialog", "default_timeout", 21600)
-...
-
-6.7. early_timeout (integer)
-
-   The timeout (in seconds) after which the dialogs in unconfirmed or
-   early state (no final response received) are destroyed.
-
-   Default value is “300 (5 minutes)”.
-
-   Example 1.7. Set early_timeout parameter
-...
-modparam("dialog", "early_timeout", 180)
-...
-
-6.8. noack_timeout (integer)
-
-   The timeout (in seconds) after which the dialogs which were answered
-   with 200ok but didn't receive the ACK are marked for termination (the
-   lifetime is set to 10 more seconds).
-
-   Default value is “60 (1 minute)”.
-
-   Example 1.8. Set noack_timeout parameter
-...
-modparam("dialog", "noack_timeout", 90)
-...
-
-6.9. end_timeout (integer)
-
-   The timeout (in seconds) after which the dialogs in terminated state
-   are destroyed.
-
-   Default value is “300 (5 minutes)”.
-
-   Example 1.9. Set end_timeout parameter
-...
-modparam("dialog", "end_timeout", 180)
-...
-
-6.10. dlg_extra_hdrs (string)
-
-   A string containing the extra headers (full format, with EOH) to be
-   added to requests generated locally by the module (like BYEs).
-
-   Default value is “NULL”.
-
-   Example 1.10. Set dlf_extra_hdrs parameter
-...
-modparam("dialog", "dlg_extra_hdrs", "Hint: credit expired\r\n")
-...
-
-6.11. dlg_match_mode (integer)
-
-   How the sequential requests should be matched against the known
-   dialogs. The modes are a combination of matching based on a cookie
-   (DID) stored as cookie in Record-Route header and matching based on SIP
-   elements (as in RFC 3261).
-
-   Note: DID-based matching does not replace callid/fromtag/totag
-   comparison. It will speed up dialog matching by not iterating over the
-   whole dialog list for callid/fromtag/totag comparison, but instead it
-   uses a hash table to find the respective dialog and then doing only one
-   callid/fromtag/totag comparison. Thus, there is no security issue when
-   using DID based matching. Use DID_FALLBACK for maximum interoperability
-   or use DID_ONLY to reject buggy clients or hacking attempts. DID_NONE
-   is only useful, when you want to hide dialog-tracking from the users
-   (preventing the DID Record-Route cookie).
-
-   The supported modes are:
-     * 0 - DID_ONLY - the match is done exclusively based on DID;
-     * 1 - DID_FALLBACK - the match is first tried based on DID and if not
-       present, it will fall back to SIP matching;
-     * 2 - DID_NONE - the match is done exclusively based on SIP elements;
-       no DID information is added in RR.
-
-   Default value is “0 (DID_ONLY)”.
-
-   Example 1.11. Set dlg_match_mode parameter
-...
-modparam("dialog", "dlg_match_mode", 1)
-...
-
-6.12. detect_spirals (integer)
-
-   Whether spirals (i.e., messages routed through the proxy multiple
-   times) should be detected.
-
-   If set to 0, spirals will not be detected and result in the generation
-   of a new, possibly dangling dialog structure per occurring spiral. If
-   set to 1, spirals are detected and internally mapped to existing dialog
-   structures.
-
-   Default value is 1.
-
-   Example 1.12. Set detect_spirals parameter
-...
-modparam("dialog", "detect_spirals", 1)
-...
-
-6.13. db_url (string)
-
-   In order to store information about dialogs in a database, a database
-   URL must be specified.
-
-   Default value is “mysql://kamailio:kamailiorw@localhost/kamailio”.
-
-   Example 1.13. Set db_url parameter
-...
-modparam("dialog", "db_url", "dbdriver://username:password@dbhost/dbname")
-...
-
-6.14. db_mode (integer)
-
-   Mode of synchronisation of dialog information from memory to an
-   underlying database (if desired):
-
-   The supported modes are:
-     * 0 - NO_DB - the memory content is not flushed into DB;
-     * 1 - REALTIME - any dialog information changes will be reflected
-       into the database immediately.
-     * 2 - DELAYED - the dialog information changes will be flushed into
-       DB periodically, based on a timer routine.
-     * 3 - SHUTDOWN - the dialog information will be flushed into DB only
-       at shutdown - no runtime updates.
-
-   Default value is “0”.
-
-   Example 1.14. Set db_mode parameter
-...
-modparam("dialog", "db_mode", 1)
-...
-
-6.15. db_update_period (integer)
-
-   The interval (seconds) at which to update dialogs' information, if the
-   server is configured to store the dialog information at a given
-   interval. Too short an interval will generate intensive database
-   operations, while an excessively long one will miss dialogs with a
-   short lifetime.
-
-   Default value is “60” seconds.
-
-   Example 1.15. Set db_update_period parameter
-...
-modparam("dialog", "db_update_period", 120)
-...
-
-6.16. db_fetch_rows (integer)
-
-   The number of the rows to be fetched at once from database when loading
-   the dialog records at startup from the database. This value can be used
-   to tune the load time at startup. For 1MB of private memory (default),
-   it should be below 400. The database driver must support the
-   fetch_result() capability. A value of 0 means the database fetch is not
-   limited.
-
-   Default value is “200”.
-
-   Example 1.16. Set db_fetch_rows parameter
-...
-modparam("dialog", "db_fetch_rows", 500)
-...
-
-6.17. db_skip_load (integer)
-
-   Set db_skip_load to 1, to skip the loading of dialog data from the
-   database.
-
-   Default value is “0” ( not skipped ).
-
-   Example 1.17. Set db_skip_load parameter
-...
-modparam("dialog", "db_skip_load", 1)
-...
-
-6.18. table_name (string)
-
-   Database table name used for storing dialog information.
-
-   Default value is “dialog”.
-
-   Example 1.18. Set table_name parameter
-...
-modparam("dialog", "table_name", "my_dialog")
-...
-
-6.19. call_id_column (string)
-
-   The column name in the database to store the dialog call-id.
-
-   Default value is “callid”.
-
-   Example 1.19. Set call_id_column parameter
-...
-modparam("dialog", "call_id_column", "callid_c_name")
-...
-
-6.20. from_uri_column (string)
-
-   The column name in the database to store the caller's SIP address
-   (URI).
-
-   Default value is “from_uri”.
-
-   Example 1.20. Set from_uri_column parameter
-...
-modparam("dialog", "from_uri_column", "from_uri_c_name")
-...
-
-6.21. from_tag_column (string)
-
-   The column name in the database to store the From header tag from the
-   INVITE request.
-
-   Default value is “from_tag”.
-
-   Example 1.21. Set from_tag_column parameter
-...
-modparam("dialog", "from_tag_column", "from_tag_c_name")
-...
-
-6.22. to_uri_column (string)
-
-   The column name in the database to store the callee's SIP address
-   (URI).
-
-   Default value is “to_uri”.
-
-   Example 1.22. Set to_uri_column parameter
-...
-modparam("dialog", "to_uri_column", "to_uri_c_name")
-...
-
-6.23. to_tag_column (string)
-
-   The column name in the database to store the To header tag from the 200
-   OK response to the INVITE request, if present.
-
-   Default value is “to_tag”.
-
-   Example 1.23. Set to_tag_column parameter
-...
-modparam("dialog", "to_tag_column", "to_tag_c_name")
-...
-
-6.24. from_cseq_column (string)
-
-   The column name in the database to store the Cseq from caller side.
-
-   Default value is “caller_cseq”.
-
-   Example 1.24. Set from_cseq_column parameter
-...
-modparam("dialog", "from_cseq_column", "from_cseq")
-...
-
-6.25. to_cseq_column (string)
-
-   The column name in the database to store the cseq from callee side.
-
-   Default value is “callee_cseq”.
-
-   Example 1.25. Set to_cseq_column parameter
-...
-modparam("dialog", "to_cseq_column", "to_cseq")
-...
-
-6.26. from_route_column (string)
-
-   The column name in the database to store the route records from caller
-   side (proxy to caller).
-
-   Default value is “caller_route_set”.
-
-   Example 1.26. Set from_route_column parameter
-...
-modparam("dialog", "from_route_column", "rroute_from")
-...
-
-6.27. to_route_column (string)
-
-   The column name in the database to store the route records from callee
-   side (proxy to callee).
-
-   Default value is “callee_route_set”.
-
-   Example 1.27. Set to_route_column parameter
-...
-modparam("dialog", "to_route_column", "rroute_to")
-...
-
-6.28. from_contact_column (string)
-
-   The column name in the database to store the caller's contact uri.
-
-   Default value is “caller_contact”.
-
-   Example 1.28. Set from_contact_column parameter
-...
-modparam("dialog", "from_contact_column", "from_contact_uri")
-...
-
-6.29. to_contact_column (string)
-
-   The column name in the database to store the callee's contact uri.
-
-   Default value is “callee_contact”.
-
-   Example 1.29. Set to_contact_column parameter
-...
-modparam("dialog", "to_contact_column", "to_contact_uri")
-...
-
-6.30. from_sock_column (string)
-
-   The column name in the database to store the information about the
-   local interface receiving the traffic from caller.
-
-   Default value is “caller_sock”.
-
-   Example 1.30. Set from_sock_column parameter
-...
-modparam("dialog", "from_sock_column", "socket_from")
-...
-
-6.31. to_sock_column (string)
-
-   The column name in the database to store information about the local
-   interface receiving the traffic from callee.
-
-   Default value is “callee_sock”.
-
-   Example 1.31. Set to_sock_column parameter
-...
-modparam("dialog", "to_sock_column", "socket_to")
-...
-
-6.32. h_id_column (string)
-
-   The column name in the database to store the dialogs' hash id
-   information.
-
-   Default value is “hash_id”.
-
-   Example 1.32. Set h_id_column parameter
-...
-modparam("dialog", "h_id_column", "hash_id_c_name")
-...
-
-6.33. h_entry_column (string)
-
-   The column name in the database to store the dialog's hash entry
-   information.
-
-   Default value is “hash_entry”.
-
-   Example 1.33. Set h_entry_column parameter
-...
-modparam("dialog", "h_entry_column", "h_entry_c_name")
-...
-
-6.34. state_column (string)
-
-   The column name in the database to store the dialog's state
-   information.
-
-   Default value is “state”.
-
-   Example 1.34. Set state_column parameter
-...
-modparam("dialog", "state_column", "state_c_name")
-...
-
-6.35. start_time_column (string)
-
-   The column name in the database to store the dialog's start time
-   information.
-
-   Default value is “start_time”.
-
-   Example 1.35. Set start_time_column parameter
-...
-modparam("dialog", "start_time_column", "start_time_c_name")
-...
-
-6.36. timeout_column (string)
-
-   The column name in the database to store the dialog's timeout.
-
-   Default value is “timeout”.
-
-   Example 1.36. Set timeout_column parameter
-...
-modparam("dialog", "timeout_column", "timeout_c_name")
-...
-
-6.37. sflags_column (string)
-
-   The column name in the database to store the dialog script flags.
-
-   Default value is “sflags”.
-
-   Example 1.37. Set sflags_column parameter
-...
-modparam("dialog", "sflags_column", "s_flags")
-...
-
-6.38. toroute_name_column (string)
-
-   The column name in the database to store the index of the route to be
-   executed at timeout.
-
-   Default value is “toroute_name”.
-
-   Example 1.38. Set toroute_name_column parameter
-...
-modparam("dialog", "toroute_name_column", "timeout_route")
-...
-
-6.39. vars_table_name (string)
-
-   If you want to store the dialog variables (“$dlg_var(name)”) for a
-   dialog in a database a table name must be specified.
-
-   Default value is “dialog_vars”.
-
-   Example 1.39. Set vars_table_name parameter
-...
-modparam("dialog", "vars_table_name", "my_dialog_vars")
-...
-
-6.40. vars_h_id_column (string)
-
-   The column name in the database to store the dialog's hash id
-   information (as a reference to the dialog table).
-
-   Default value is “hash_id”.
-
-   Example 1.40. Set vars_h_id_column parameter
-...
-modparam("dialog", "vars_h_id_column", "vars_h_id_name")
-...
-
-6.41. vars_h_entry_column (string)
-
-   The column name in the database to store the dialog's hash entry
-   information (as a reference to the dialog table).
-
-   Default value is “hash_entry”.
-
-   Example 1.41. Set vars_h_entry_column parameter
-...
-modparam("dialog", "vars_h_entry_column", "vars_h_entry_name")
-...
-
-6.42. vars_key_column (string)
-
-   The column name in the database to store the names (keys) of a dialog
-   variable.
-
-   Default value is “dialog_key”.
-
-   Example 1.42. Set vars_key_column parameter
-...
-modparam("dialog", "vars_key_column", "vars_key_name")
-...
-
-6.43. vars_value_column (string)
-
-   The column name in the database to store the values of a dialog
-   variable.
-
-   Default value is “dialog_value”.
-
-   Example 1.43. Set vars_value_column parameter
-...
-modparam("dialog", "vars_value_column", "vars_value_name")
-...
-
-6.44. profiles_with_value (string)
-
-   List of names for profiles with values, separated with semi-colon ";".
-
-   Default value is “empty”.
-
-   Example 1.44. Set profiles_with_value parameter
-...
-modparam("dialog", "profiles_with_value", "caller ; my_profile")
-...
-
-6.45. profiles_no_value (string)
-
-   List of names for profiles without values, separated with semi-colon
-   ";".
-
-   Default value is “empty”.
-
-   Example 1.45. Set profiles_no_value parameter
-...
-modparam("dialog", "profiles_no_value", "inbound ; outbound")
-...
-
-6.46. bridge_controller (string)
-
-   SIP address to be used in From header when initiating a call bridge.
-
-   Default value is “sip:controller@kamailio.org”.
-
-   Example 1.46. Set bridge_controller parameter
-...
-modparam("dialog", "bridge_controller", "sip:ctd@kamailio.org")
-...
-
-6.47. bridge_contact (string)
-
-   SIP address to be used in Contact header when doing a call bridge.
-
-   Default value is “sip:controller@kamailio.org:5060”.
-
-   Example 1.47. Set bridge_contact parameter
-...
-modparam("dialog", "bridge_contact", "sip:ctd@127.0.0.1:5060")
-...
-
-6.48. initial_cbs_inscript (int)
-
-   If the initial dialog callbacks (i.e., DLGCB_CREATED and
-   DLGCB_SPIRALED) should be executed in-script or post-script. If
-   dlg_manage() is not used, the setting of this parameter does not
-   matter; otherwise, initial callbacks will be executed directly after
-   dlg_manage() is called if this parameter is enabled. If it is disabled,
-   initial callback execution will be postponed until configuration script
-   execution completes.
-
-   The supported values are:
-     * 0 - POST-SCRIPT - execute initial callbacks after the script
-       completes;
-     * 1 - IN-SCRIPT - execute initial callbacks during script execution,
-       i.e., right after dlg_manage() is called;
-
-   Default value is “1”.
-
-   Example 1.48. Set initial_cbs_inscript parameter
-...
-modparam("dialog", "initial_cbs_inscript", 0)
-...
-
-6.49. 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.49. Set send_bye parameter
-...
-modparam("dialog", "send_bye", 1)
-...
-
-6.50. wait_ack (int)
-
-   If set to 1, dialog will be kept a bit longer in memory in order to
-   absorb the ACK negative replies of initial INVITE. If not, the dialog
-   is destroyed when negative reply is sent out (less internal
-   complexity).
-
-   Default value is “1”.
-
-   Example 1.50. Set wait_ack parameter
-...
-modparam("dialog", "wait_ack", 0)
-...
-
-6.51. ka_timer (int)
-
-   Keep-alive timer step - how often to execute the callback to send
-   dialog keep alives (SIP OPTIONS requests within dialog). The value
-   represents the number of seconds.
-
-   Default value is “0” (no keep alive).
-
-   Example 1.51. Set ka_timer parameter
-...
-modparam("dialog", "ka_timer", 10)
-...
-
-6.52. ka_interval (int)
-
-   The interval between keep alives within dialog (SIP OPTIONS requests),
-   sent to caller or callee. The keep alive request will be sent by the
-   first callback fired by KA timer after the ka_interval elapsed from
-   dialog setup or previous keep-alive. The value represents the number of
-   seconds.
-
-   If the requests times out (generating a 408) or if the UA responds with
-   481 the lifetime is set to 10 seconds. When lifetime expires the dialog
-   will be terminated. Any other response (including error responses) will
-   reset the timers.
-
-   Default value is “0” (no keep alive). The lowest settable interval is
-   30 seconds.
-
-   Example 1.52. Set ka_interval parameter
-...
-modparam("dialog", "ka_interval", 300)
-...
-
-6.53. ka_failed_limit (int)
-
-   The number of failed keep-alive requests that is accepted before
-   generating a dialog timeout.
-
-   Default value is “1”.
-
-   Example 1.53. Set ka_failed_limit parameter
-...
-modparam("dialog", "ka_failed_limit", 5)
-...
-
-6.54. timeout_noreset (int)
-
-   If set to 1, the dialog timeout won't be reset each time a sequential
-   request is processed. It is an alternative to
-   dlg_set_property("timeout-noreset") for all dialogs.
-
-   Default value is “0”.
-
-   Example 1.54. Set timeout_noreset parameter
-...
-modparam("dialog", "timeout_noreset", 1)
-...
-
-6.55. timer_procs (int)
-
-   If set to 1, the dialog module will start a separate dialog timer
-   process to execute dialog timeout tasks. The default is to use the core
-   timer process.
-
-   Default value is “0” (use core timer process).
-
-   Example 1.55. Set timer_procs parameter
-...
-modparam("dialog", "timer_procs", 1)
-...
-
-6.56. enable_dmq (int)
-
-   If set to 1, the dialog will be synced via dmq. For now, only very
-   basic dialog info is shared, just enough to have synced profiles.
-   Notably, it is not possible to send in-dialog requests on any but the
-   original proxy instance.
-
-   Default value is “0”.
-
-   Example 1.56. Set enable_dmq parameter
-...
-modparam("dialog", "enable_dmq", 1)
-...
-
-6.57. track_cseq_updates (int)
-
-   Enable the callbacks for tracking if CSeq number needs to be updated.
-   It is the case when the INVITE has to be authenticated to downstream
-   provider using uac_auth() from uac module.
-
-   This is done only for requests in downstream direction. The CSeq
-   difference is stored in $dlg_var(cseq_diff), be sure this variable is
-   not overwritten via config operation.
-
-   Default value is “0” (disabled).
-
-   Example 1.57. Set track_cseq_updates parameter
-...
-modparam("dialog", "track_cseq_updates", 1)
-...
-
-6.58. lreq_callee_headers (string)
-
-   SIP headers to be added when sending local generated requests (e.g.,
-   BYE) to callee. It can be useful when you use topoh module with call-id
-   masking (see the docs of topoh module).
-
-   Default value is “null”.
-
-   Example 1.58. Set lreq_callee_headers parameter
-...
-modparam("dialog", "lreq_callee_headers", "TH: dlh\r\n")
-...
-
-6.59. event_callback (str)
-
-   The name of the function in the kemi configuration file (embedded
-   scripting language such as Lua, Python, ...) to be executed instead of
-   event_route[...] blocks.
-
-   The function receives a string parameter with the name of the event,
-   the values are: 'dialog:start', 'dialog:end', 'dialog:failed'. It is
-   also executed if '$dlg_ctx(timeout_route)' is set, the callback
-   function being executed with the variable value as parameter.
-
-   Default value is 'empty' (no function is executed for events).
-
-   Example 1.59. Set event_callback parameter
-...
-modparam("dialog", "event_callback", "ksr_dialog_event")
-...
--- event callback function implemented in Lua
-function ksr_dialog_event(evname)
-        KSR.info("===== dialog module triggered event: " .. evname .. "\n");
-        return 1;
-end
-...
-
-6.60. h_id_start (int)
-
-   Set the offset to be used for generating dialog internal hash id. If
-   set to -1, the h_id_start is set to the value of the server_id global
-   parameter.
-
-   Default value is “0”.
-
-   Example 1.60. Set h_id_start parameter
-...
-modparam("dialog", "h_id_start", 5)
-...
-
-6.61. h_id_step (int)
-
-   Set the step to increment the dialog internal hash id.
-
-   If the value is greater than 1, the internal hash id is generated with
-   the rule: h_id_start + N * h_id_step. The first value of N is randomly
-   selected at startup, then incremented by 1 for each new dialog. Setting
-   h_id_start and h_id_step to non-default values should be done when
-   using dlg_db_load_callid(...) or dlg_db_load_extra() to load dialog
-   records generated by another Kamailio instance, making also sure that
-   those Kamailio nstances are not going to generate overalapping dialog
-   hash id values by using different h_id_start and the same h_id_step
-   (h_id_step has to be greater than the maximum value of h_id_start).
-
-   Default value is “1”.
-
-   Example 1.61. Set h_id_step parameter
-...
-modparam("dialog", "h_id_step", 10)
-...
-
-7. Functions
-
-   7.1. set_dlg_profile(profile,[value])
-   7.2. unset_dlg_profile(profile,[value])
-   7.3. is_in_profile(profile,[value])
-   7.4. get_profile_size(profile,[value],size)
-   7.5. dlg_isflagset(flag)
-   7.6. dlg_setflag(flag)
-   7.7. dlg_resetflag(flag)
-   7.8. dlg_bye(side)
-   7.9. dlg_refer(side, address)
-   7.10. dlg_manage()
-   7.11. dlg_bridge(from, to, op)
-   7.12. dlg_get(callid, ftag, ttag)
-   7.13. is_known_dlg()
-   7.14. dlg_set_timeout(timeout [, h_entry, h_id])
-   7.15. dlg_set_timeout_by_profile(profile, [value], timeout)
-   7.16. dlg_set_property(attr)
-   7.17. dlg_remote_profile(cmd, profile, value, uid, expires)
-   7.18. dlg_set_ruri()
-   7.19. dlg_db_load_callid(cival)
-   7.20. dlg_db_load_extra()
-
-7.1.  set_dlg_profile(profile,[value])
-
-   Inserts the current dialog into a profile. Note that if the profile
-   does not support values, they will be silently discarded. Also, there
-   is no check for inserting the same dialog into the same profile
-   multiple times.
-
-   Meaning of the parameters is as follows:
-     * profile - name of the profile to be added to;
-     * value (optional) - string value to define the membership of the
-       dialog in the profile. Note that the profile must support values.
-       Pseudo-variables are supported.
-
-   This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
-   and FAILURE_ROUTE.
-
-   Example 1.62. set_dlg_profile usage
-...
-set_dlg_profile("inbound_call");
-set_dlg_profile("caller","$fu");
-...
-
-7.2.  unset_dlg_profile(profile,[value])
-
-   Removes the current dialog from a profile.
-
-   Meaning of the parameters is as follows:
-     * profile - name of the profile to be removed from;
-     * value (optional) - string value to define the belonging of the
-       dialog to the profile - note that the profile must support values.
-       Pseudo-variables are supported.
-
-   This function can be used from BRANCH_ROUTE, REPLY_ROUTE and
-   FAILURE_ROUTE.
-
-   Example 1.63. unset_dlg_profile usage
-...
-unset_dlg_profile("inbound_call");
-unset_dlg_profile("caller","$fu");
-...
-
-7.3.  is_in_profile(profile,[value])
-
-   Checks if the current dialog belongs to a profile. If the profile is
-   defined with values, then the check is also matching with the specific
-   value provided as parameter.
-
-   Note that if the profile is not defined with support for values, the
-   value parameter will be silently discarded.
-
-   Meaning of the parameters is as follows:
-     * profile - name of the profile to be checked against;
-     * value (optional) - string value to be matched during the check.
-       Pseudo-variables are supported.
-
-   This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
-   and FAILURE_ROUTE.
-
-   Example 1.64. is_in_profile usage
-...
-if (is_in_profile("inbound_call")) {
-        log("this request belongs to a inbound call\n");
-}
-...
-if (is_in_profile("caller","XX")) {
-        log("this request belongs to a call of user XX\n");
-}
-...
-
-7.4.  get_profile_size(profile,[value],size)
-
-   Returns the number of dialogs belonging to a profile. If the profile
-   supports values, the check can be reinforced to take into account a
-   specific value, i.e. how many dialogs were inserted into the profile
-   with a specific value. If no value is passed, only the membership of
-   the dialog in the profile per se is checked. Note that if the profile
-   does not support values, the value parameter will be silently
-   discarded.
-
-   Meaning of the parameters is as follows:
-     * profile - name of the profile to get the size for;
-     * value (optional) - string value to further restrict the check.
-       Pseudo-variables are supported;
-     * size - an AVP or script variable to return the profile size in.
-
-   This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
-   and FAILURE_ROUTE.
-
-   Example 1.65. get_profile_size usage
-...
-if(get_profile_size("inbound_call","$avp(size)"))
-    xlog("currently there are $avp(size) inbound calls\n");
-...
-if(get_profile_size("caller","$fu","$avp(size)"))
-    xlog("currently, the user $fu has $avp(size) active outgoing calls\n");
-...
-
-7.5.  dlg_isflagset(flag)
-
-   Check if the dialog flag is set or not.
-
-   Meaning of the parameters is as follows:
-     * flag - index of the flag - can be pseudo-variable.
-
-   This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
-   ONREPLY_ROUTE and FAILURE_ROUTE.
-
-   Example 1.66. dlg_isflagset usage
-...
-if(dlg_isflagset("1"))
-{
-    ...
-}
-...
-
-7.6.  dlg_setflag(flag)
-
-   Set a dialog flag.
-
-   Meaning of the parameters is as follows:
-     * flag - index of the flag - can be pseudo-variable.
-
-   This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
-   ONREPLY_ROUTE and FAILURE_ROUTE.
-
-   Example 1.67. dlg_setflag usage
-...
-dlg_setflag("1");
-...
-
-7.7.  dlg_resetflag(flag)
-
-   Reset the dialog flag.
-
-   Meaning of the parameters is as follows:
-     * flag - index of the flag - can be pseudo-variable.
-
-   This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
-   ONREPLY_ROUTE and FAILURE_ROUTE.
-
-   Example 1.68. dlg_resetflag usage
-...
-redlg_setflag("1");
-...
-
-7.8.  dlg_bye(side)
-
-   Send BYE to both parties of a dialog.
-
-   Meaning of the parameters is as follows:
-     * side - where to send the BYE. It can be: 'caller', 'callee', or
-       'all' (send to both sides).
-
-   This function can be used from ANY_ROUTE.
-
-   Example 1.69. dlg_bye usage
-...
-dlg_bye("all");
-...
-
-7.9.  dlg_refer(side, address)
-
-   Refer the 'side' to a new SIP 'address'.
-
-   Meaning of the parameters is as follows:
-     * side - which side of the dialog to REFER. It can be: 'caller' or
-       'callee'.
-     * address - SIP address to refer to.
-
-   This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
-   ONREPLY_ROUTE and FAILURE_ROUTE.
-
-   Example 1.70. dlg_refer usage
-...
-dlg_refer("caller", "sip:announcement@kamailio.org");
-...
-
-7.10.  dlg_manage()
-
-   Process current SIP request with dialog module. It is an alternative to
-   setting dialog flag for initial INVITE and Route-parameter-callback
-   execution for within-dialog requests.
-
-   This function can be used from REQUEST_ROUTE.
-
-   Example 1.71. dlg_manage usage
-...
-modparam("dialog", "default_timeout", 100)
-...
-request_route {
-...
-    if(is_method("INVITE") && !has_totag())
-    {
-        $dlg_ctx(timeout_route) = "DLGTIMEOUT";
-        $dlg_ctx(timeout_bye) = 1;
-    }
-    dlg_manage();
-...
-}
-...
-
-7.11.  dlg_bridge(from, to, op)
-
-   Bridge 'from' SIP address to 'to' SIP address via outbound proxy 'op'.
-
-   Meaning of the parameters is as follows:
-     * from - SIP address of first side to call.
-     * to - SIP address to refer “from” to.
-     * op - outbound proxy SIP address.
-
-   This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
-   ONREPLY_ROUTE and FAILURE_ROUTE.
-
-   Example 1.72. dlg_bridge usage
-...
-dlg_bridge("sip:user@kamailio.org", "sip:annoucement@kamailio.org",
-   "sip:kamailio.org:5080");
-...
-
-7.12.  dlg_get(callid, ftag, ttag)
-
-   Search and set current dialog based on Call-ID, From-Tag and To-Tag
-   parameters.
-
-   Meaning of the parameters is as follows:
-     * callid - SIP call-id.
-     * ftag - SIP From tag.
-     * ttag - SIP To tag.
-
-   This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
-   ONREPLY_ROUTE and FAILURE_ROUTE.
-
-   Example 1.73. dlg_get usage
-...
-if(dlg_get("abcdef", "123", "456"))
-{
-        dlg_bye("all");
-}
-...
-
-7.13.  is_known_dlg()
-
-   This function checks if the current SIP message being processed belongs
-   to any transaction within an active dialog that the dialog module is
-   currently tracking. This is a check for tracking of any kind, without
-   regard to profiles.
-
-   This function has numerous potential applications, among which is that
-   it can be used to strengthen security for loose-routing sequential
-   (in-dialog) requests or responses to them, as by providing a
-   preventative check against spoofing on the proxy level instead of
-   leaving the issue purely to the receiving UA.
-
-   This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
-   and FAILURE_ROUTE.
-
-   Example 1.74. is_known_dlg() usage
-...
-if(!uri == myself) {
-        if(is_known_dlg()) {
-                xlog("Request $rm from $ci is in-dialog\n");
-        }
-}
-...
-
-7.14.  dlg_set_timeout(timeout [, h_entry, h_id])
-
-   Set the dialog timeout. Dialog timeout will be updated if it was
-   already set. If h_entry and h_id parameters are not provided, the
-   dialog will be searched based on (callid, fromtag, totag) of currently
-   processed SIP message.
-
-   Meaning of the parameters is as follows:
-     * timeout - the interval in seconds after which the dialog will time
-       out.
-     * h_entry - h_entry value of the iternal dialog identifier.
-     * h_id - h_id valye if the internal dialog identifier.
-
-   This function can be used from ANY_ROUTE.
-
-   Example 1.75. dlg_set_timeout usage
-...
-if(dlg_set_timeout("180", "123", "456"))
-{
-    ...
-}
-...
-
-7.15.  dlg_set_timeout_by_profile(profile, [value], timeout)
-
-   Like dlg_set_timeout(), but simultaneously sets the timeout of all
-   dialogs in a given profile. Can be constrained by profile value.
-
-   Meaning of the parameters is as follows:
-     * profile - The dialog profile across which to apply the timeout.
-       value (optional) - The profile value to use when applying the
-       dialog timeout.
-       timeout - the interval in seconds after which the dialog will time
-       out.
-
-   This function can be used from ANY_ROUTE.
-
-   Example 1.76. dlg_set_timeout_by_profile usage
-...
-# All dialogs belonging to user abc123 (tracked via set_dlg_profile())
-# will be timed out in 3 seconds.
-
-dlg_set_timeout_by_profile("users", "abc123", "3");
-...
-
-7.16.  dlg_set_property(attr)
-
-   Set a dialog property - an attribute that enable/disable various
-   behaviours (e.g., sending keep alive requests).
-
-   Meaning of the parameters is as follows:
-     * attr - name of property. It can be:
-          + 'ka-src' - send keep alive OPTION requests to caller
-          + 'ka-dst' - send keep alive OPTION requests to callee
-          + 'timeout-noreset' - don't reset timeout on in-dialog messages
-            reception
-
-   If keep alive is enabled for a dialog, the module will send SIP OPTIONS
-   requests with CSeq lower or equal than last request within dialog, with
-   the scope of detecting if the destination is still in the call. If the
-   keep alive request results in a local timeout or '481 Call
-   Leg/Transaction Does Not Exist', then the dialog is ended from the
-   server.
-
-   If 'timeout-noreset' is set, dialog timeout won't be reset upon
-   reception of in-dialog messages (default behavior).
-
-   This function can be used from ANY_ROUTE.
-
-   Example 1.77. dlg_set_property usage
-...
-dlg_set_property("ka-src");
-dlg_set_property("ka-dst");
-dlg_set_property("timeout-noreset");
-...
-
-7.17.  dlg_remote_profile(cmd, profile, value, uid, expires)
-
-   Manage remote profile via config file. A remote profile item is
-   considered when the dialog is not managed by this server instance. The
-   notification to add/remove can be received via SIP or a RPC command,
-   the operation can be then triggered from configuration file. This
-   should allow counting active dialogs in a profile that are managed by
-   multiple SIP server instances.
-
-   Meaning of the parameters is as follows:
-     * cmd - the operations to do: add - add an item in profile; rm -
-       remove an item from profile
-     * profile - name of profile
-     * value - value for profile (if no value is needed for that profile,
-       use an empty string.
-     * expires - absolute time (unix timestamp) when this profile item
-       should be removed automatically (time based), if still in the
-       profile
-
-   This function can be used from ANY_ROUTE.
-
-   Example 1.78. dlg_remote_profile usage
-...
-$var(exp) = 3600 + $Ts;
-dlg_remote_profile("add", "caller", "test", "$sruid", "$var(exp)");
-...
-
-7.18.  dlg_set_ruri()
-
-   This function sets the R-URI with the corresponding endpoint address
-   stored in dialog structure (i.e., its Contact field).
-
-   This function can be used from ANY_ROUTE.
-
-   Example 1.79. dlg_set_ruri() usage
-...
-if(has_totag() and is_present_hf("Route") and uri==myself ) {
-        if(dlg_set_ruri()) {
-                xlog("Request URI changed from [$ou] to dlg value: [$ru]\n");
-        }
-}
-...
-
-7.19.  dlg_db_load_callid(cival)
-
-   Load dialog record from database matching on Call-Id provided as
-   parameter.
-
-   This function can be used from ANY_ROUTE.
-
-   Example 1.80. dlg_db_load_callid() usage
-...
-if(has_totag()) {
-    if(!is_known_dlg()) {
-        dlg_db_load_callid("$ci");
-            if(!is_known_dlg()) {
-            xlog("no dialog found with callid: $ci\n");
-        }
-    }
-}
-...
-
-7.20.  dlg_db_load_extra()
-
-   Load all dialog records from database that are not in memory of the
-   current Kamailio instance.
-
-   This function can be used from ANY_ROUTE.
-
-   Example 1.81. dlg_db_load_extra() usage
-...
-if(has_totag()) {
-    if(!is_known_dlg()) {
-        dlg_db_load_extra();
-            if(!is_known_dlg()) {
-            xlog("no dialog found with callid: $ci\n");
-        }
-    }
-}
-...
-
-8. Statistics
-
-   8.1. active_dialogs
-   8.2. early_dialogs
-   8.3. processed_dialogs
-   8.4. expired_dialogs
-   8.5. failed_dialogs
-
-8.1. active_dialogs
-
-   Returns the number of current active dialogs (may be confirmed or not).
-
-8.2. early_dialogs
-
-   Returns the number of early dialogs.
-
-8.3. processed_dialogs
-
-   Returns the total number of processed dialogs (terminated, expired or
-   active) from the startup.
-
-8.4. expired_dialogs
-
-   Returns the total number of expired dialogs from the startup.
-
-8.5. failed_dialogs
-
-   Returns the number of failed dialogs.
-
-9. RPC Commands
-
-   9.1. dlg.list
-   9.2. dlg.list_ctx
-   9.3. dlg.list_match
-   9.4. dlg.list_match_ctx
-   9.5. dlg.dlg_list
-   9.6. dlg.dlg_list_ctx
-   9.7. dlg.terminate_dlg
-   9.8. dlg.end_dlg
-   9.9. dlg.profile_get_size
-   9.10. dlg.profile_list
-   9.11. dlg.bridge_dlg
-   9.12. dlg.stats_active
-   9.13. dlg.is_alive
-
-9.1. dlg.list
-
-   Lists the description of all dialogs (active calls).
-
-   Name: dlg.list
-
-   RPC Command Format:
-...
-kamcmd dlg.list
-...
-
-9.2. dlg.list_ctx
-
-   The same as the “dlg_list” but including in the dialog description the
-   associated context from modules sitting on top of the dialog module.
-
-   Name: dlg.list_ctx
-
-   RPC Command Format:
-...
-kamcmd dlg.list_ctx
-...
-
-9.3. dlg.list_match
-
-   Lists the details of matching dialogs. The paramters specify the
-   matching key, operator, value and optionally a limit of matched
-   dialogs.
-
-   Name: dlg.list_match
-
-   Parameters:
-     * mkey - matching key. It can be: 'ruri' - match against R-URI of the
-       dialog; 'furi' - match against From header URI of the dialog;
-       'turi' - match against the To header URI of the dialog; 'callid' -
-       match against Call-Id value.
-     * mop - matching operator. It can be: 'eq' - match using string
-       comparison; 're' - match using regular expression; 'sw' - match
-       using starts-with (prefix) comparison.
-     * mval - matching value.
-
-   RPC Command Format:
-...
-kamcmd dlg.list_match furi eq sip:alice@test.com 2
-...
-kamcmd dlg.list_match furi sw sip:alice@
-...
-
-9.4. dlg.list_match_ctx
-
-   Similar to “dlg.list_match”, but including in the attributes associated
-   with the dialog context from modules sitting on top of the dialog
-   module.
-
-   Name: dlg.list_match_ctx
-
-   RPC Command Format:
-...
-kamcmd dlg.list_match_ctx furi sw sip:alice@
-...
-
-9.5. dlg.dlg_list
-
-   Lists the description of one dialog. The dialog identifiers are to be
-   passed as parameter (callid and optionally fromtag).
-
-   Name: dlg.dlg_list
-
-   Parameters:
-     * callid callid of the dialog to be listed.
-     * from_tag from tag (as per initial request) of the dialog to be
-       listed.
-
-   RPC Command Format:
-...
-kamcmd dlg.list abcdrssfrs122444@192.168.1.1 AAdfeEFF33
-...
-kamcmd dlg.list abcdrssfrs122444@192.168.1.1
-...
-
-9.6. dlg.dlg_list_ctx
-
-   The same as the “dlg.list_list” but including in the dialog description
-   the associated context from modules sitting on top of the dialog
-   module.
-
-   Name: dlg.dlg_list_ctx
-
-   Parameters: see “dlg_list”
-
-   RPC Command Format:
-...
-kamcmd dlg.list_ctx abcdrssfrs122444@192.168.1.1 AAdfeEFF33
-...
-kamcmd dlg.list_ctx abcdrssfrs122444@192.168.1.1
-...
-
-9.7. dlg.terminate_dlg
-
-   Terminates an ongoing dialog by sending BYE in both directions,
-   matching the dialog on call-id, from tag and to tag.
-
-   Name: dlg.terminate_dlg
-
-   Parameters:
-     * callid - callid of dialog to be terminated
-     * from_tag - from tag of the dialog to terminated
-     * to_tag - to tag of the dialog to terminated
-
-   The command works only for confirmed dialogs.
-
-   RPC Command Format:
-                kamcmd dlg.terminate_dlg callid12345 fromtag123 totag123
-
-9.8. dlg.end_dlg
-
-   Terminates an ongoing dialog by sending BYE in both directions.
-
-   Name: dlg.end_dlg
-
-   Parameters:
-     * h_entry - hash entry of the dialog in the internal dialog table
-     * h_id - hash id of the dialog on the hash entry
-     * extra_hdrs - (optional) string containg extra headers (full format)
-       to be added to the BYE requests.
-
-   The values for the h_entry and h_id can be get via the dlg_list RPC
-   command.
-
-   RPC Command Format:
-...
-kamcmd dlg.end_dlg 342 56
-...
-
-9.9. dlg.profile_get_size
-
-   Returns the number of dialogs belonging to a profile. If the profile
-   supports values, the check can be reinforced to take into account a
-   specific value - how many dialogs were inserted into the profile with a
-   specific value. If no value is passed, only the simply belonging of the
-   dialog to the profile is checked. Note that if the profile does not
-   support values, the value parameter will be silently discarded.
-
-   Name: dlg.profile_get_size
-
-   Parameters:
-     * profile - name of the profile to get the value for.
-     * value (optional)- string value to further restrict the check;
-
-   RPC Command Format:
-...
-kamcmd dlg.dlg.profile_get_size inbound_calls
-...
-
-9.10. dlg.profile_list
-
-   Lists all the dialogs belonging to a profile. If the profile supports
-   values, the check can be reinforced to take into account a specific
-   value, i.e. list only the dialogs that were inserted into the profile
-   with that specific value. If no value is passed, all dialogs belonging
-   to the profile will be listed. Note that if the profile does not
-   supports values, this will be silently discarded.
-
-   Name: dlg.profile_list
-
-   Parameters:
-     * profile - name of the profile to list the dialog for.
-     * value (optional)- string value to further restrict the check;
-
-   RPC Command Format:
-...
-kamcmd dlg.profile_list inbound_calls
-...
-
-9.11. dlg.bridge_dlg
-
-   Bridge two SIP addresses into a call using INVITE(hold)-REFER-BYE
-   mechanism.
-
-   Name: dlg.bridge_dlg
-
-   Parameters:
-     * from - SIP address to initiate the call
-     * to - SIP address to refer 'from' to
-     * op (optional) - outbound proxy SIP address. If its value is set to
-       '.' (dot), then it is ignored (like it would not have been
-       provided).
-     * body (optional) - SDP body for initial INVITE. If its value is set
-       to '.' (dot), then it is ignored (like it would not have been
-       provided). If body is not set via RPC command parameter, then an
-       internal generated SDP with G711a and G711u is used. If its value
-       is set to '' (empty string) or '_' (underline), then the INVITE is
-       sent without an SDP body.
-
-   RPC Command Format:
-...
-kamcmd dlg.bridge_dlg _from_ _to_ _op_
-...
-
-9.12. dlg.stats_active
-
-   Get stats about active dialogs by scanning internal list of dialogs
-   (not relying on core stats framework).
-
-   Name: dlg.stats_active
-
-   Parameters: none.
-
-   Returned fields
-     * starting - initial INVITE has been processed, no ringing or 1xx has
-       been received.
-     * connecting - initial INVITE was forwarded and rining or 1xx has
-       been received.
-     * answering - initial INVITE received 200ok, but ACK was not handled
-       yet.
-     * ongoing - ongoing active dialog, after the ACK was processed.
-     * all - all active dialogs, respectively the sum of the above values.
-
-   RPC Command Format:
-...
-kamcmd dlg.stats_active
-...
-
-9.13. dlg.is_alive
-
-   Check whether a dialog matching the parameter is in confirmed state
-   (answered and alive).
-
-   Name: dlg.is_alive
-
-   Parameters:
-     * callid - callid of dialog
-     * from_tag - from tag of the dialog
-     * to_tag - to tag of the dialog
-
-   This command will return error if dialog is not found or not confirmed
-   state (answered).
-
-   RPC Command Format:
-...
-kamcmd dlg.is_alive callid123 fromtag123 totag123
-...
-
-10. Exported Variables
-
-   10.1. $DLG_count
-   10.2. $DLG_status
-   10.3. $DLG_lifetime
-   10.4. $dlg(...)
-   10.5. $dlg_ctx(...)
-   10.6. $dlg_var(key)
-
-10.1. $DLG_count
-
-   Returns the number of current active dialogs (may be confirmed or not).
-
-10.2. $DLG_status
-
-   Returns the status of the dialog corresponding to the processed
-   sequential request. This PV will be available only for sequential
-   requests, after doing loose_route().
-
-   Value may be:
-     * NULL - Dialog not found.
-     * 3 - Confirmed by a final reply but no ACK received yet.
-     * 4 - Confirmed by a final reply and ACK received.
-     * 5 - Dialog ended.
-
-10.3. $DLG_lifetime
-
-   Returns the duration (in seconds) of the dialog corresponding to the
-   processed sequential request. The duration is calculated from the
-   dialog confirmation and the current moment. This PV will be available
-   only for sequential requests, after doing loose_route().
-
-   NULL will be returned if there is no dialog for the request.
-
-10.4. $dlg(...)
-
-   Access to dialog attributes.
-
-10.5. $dlg_ctx(...)
-
-   Access to dialog context attributes.
-
-10.6. $dlg_var(key)
-
-   This is a read/write variable that can be used to store custom values
-   assigned with a dialog (e.g. the URI of a billing-server, an assigned
-   emergency-server). This pseudo-variable will be available only for
-   subsequential requests after doing loose_route().
-
-   Note: You will receive "NULL", if there is no dialog for this request.
-
-11. Event Routes
-
-   11.1. event_route[dialog:start]
-   11.2. event_route[dialog:end]
-   11.3. event_route[dialog:failed]
-
-11.1. event_route[dialog:start]
-
-   Executed when 200 OK reply for INVITE is processed.
-
-11.2. event_route[dialog:end]
-
-   Executed when the BYE for the call is processed or the dialog timed
-   out.
-
-11.3. event_route[dialog:failed]
-
-   Executed when dialog is not completed (300 or greater reply code to
-   INVITE).
-
-Chapter 2. Developer Guide
-
-   Table of Contents
-
-   1. Available Functions
-
-        1.1. register_dlgcb (dialog, type, cb, param, free_param_cb)
-        1.2. terminate_dlg (dlg, hdrs)
-
-1. Available Functions
-
-   1.1. register_dlgcb (dialog, type, cb, param, free_param_cb)
-   1.2. terminate_dlg (dlg, hdrs)
-
-1.1.  register_dlgcb (dialog, type, cb, param, free_param_cb)
-
-   Register a new callback to the dialog.
-
-   Meaning of the parameters is as follows:
-     * struct dlg_cell* dlg - dialog to register callback to. If maybe
-       NULL only for DLGCB_CREATED callback type, which is not a per
-       dialog type.
-     * int type - types of callbacks; more types may be register for the
-       same callback function; only DLGCB_CREATED must be register alone.
-       Possible types:
-          + DLGCB_LOADED
-          + DLGCB_CREATED - called when a new dialog is created - it's a
-            global type (not associated to any dialog)
-          + DLGCB_FAILED - called when the dialog was negatively replied
-            (non-2xx) - it's a per dialog type.
-          + DLGCB_CONFIRMED_NA - called when the dialog is confirmed (2xx
-            replied) but the setup-concluding ACK message from the caller
-            is yet pending - it's a per dialog type.
-          + DLGCB_CONFIRMED - called when the dialog is confirmed (2xx
-            replied) and the setup-concluding ACK message from the caller
-            has been seen - it's a per dialog type.
-          + DLGCB_REQ_WITHIN - called when the dialog matches a sequential
-            request (excluding setup-concluding ACK messages which are
-            handled in DLGCB_CONFIRMED) - it's a per dialog type.
-          + DLGCB_TERMINATED - called when the dialog is terminated via
-            BYE - it's a per dialog type.
-          + DLGCB_TERMINATED_CONFIRMED - called when response to a BYE
-            request is received - it's a per dialog type.
-          + DLGCB_EXPIRED - called when the dialog expires without
-            receiving a BYE - it's a per dialog type.
-          + DLGCB_EARLY - called when the dialog is created in an early
-            state (18x replied) - it's a per dialog type.
-          + DLGCB_RESPONSE_FWDED - called when the dialog matches a reply
-            to the initial INVITE request - it's a per dialog type.
-          + DLGCB_RESPONSE_WITHIN - called when the dialog matches a reply
-            to a subsequent in dialog request - it's a per dialog type.
-          + DLGCB_RPC_CONTEXT - called when the rpc dlg_list_ctx command
-            is invoked - it's a per dialog type.
-          + DLGCB_SPIRALED - called when the dialog matches a spiraling
-            request - it's a per dialog type.
-          + DLGCB_DESTROY
-     * dialog_cb cb - callback function to be called. Prototype is: “void
-       (dialog_cb) (struct dlg_cell* dlg, int type, struct dlg_cb_params *
-       params); ”
-     * void *param - parameter to be passed to the callback function.
-     * param_free callback_param_free - callback function to be called to
-       free the param. Prototype is: “void (param_free_cb) (void *param);”
-
-1.2.  terminate_dlg (dlg, hdrs)
-
-   Terminate a Dialog
-
-   Meaning of parameters is as follows:
-     * struct dlg_cell* dlg - dialog to terminate.
-     * str* hdrs - string containing extra headers (full format) to be
-       added to the BYE requests of the dialog.
-
-Chapter 3. Frequently Asked Questions
-
-   3.1. What happened with “use_tight_match” parameter?
-   3.2. Where can I find more about Kamailio?
-   3.3. Where can I post a question about this module?
-   3.4. How can I report a bug?
-
-   3.1.
-
-       What happened 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).
-
-   3.2.
-
-       Where can I find more about Kamailio?
-
-       Take a look at https://www.kamailio.org/.
-
-   3.3.
-
-       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 -
-           https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-         * Developer Mailing List -
-           https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
-
-       E-mails regarding any stable Kamailio release should be sent to
-       <sr-users@lists.kamailio.org> and e-mails regarding development
-       versions should be sent to <sr-dev@lists.kamailio.org>.
-
-   3.4.
-
-       How can I report a bug?
-
-       Please follow the guidelines provided at:
-       https://github.com/kamailio/kamailio/issues.
index 21a1c02..ca49d40 100644 (file)
@@ -10,30 +10,20 @@ Daniel-Constantin Mierla
 
    <miconda@gmail.com>
 
-Edited by
-
 Carsten Bock
 
    ng-voice GmbH
 
-Edited by
-
 Olle E. Johansson
 
    Edvina AB
 
-Edited by
-
 Alessandro Arrichiello
 
    Hewlett Packard
 
-Edited by
-
 Luis Martin
 
-Edited by
-
 Julien Chavanton
 
    <jchavanton@gmail.com>
@@ -1548,7 +1538,7 @@ kamcmd dispatcher.remove 3 sip:127.0.0.1:5075;transport=udp
    Optionally, these fields can be followed by:
      * flags - control the mode of using the destination address and
        sending keepalives. It is a bitwise value that can be built using
-       the folowing flags:
+       the following flags:
           + 1 (bit at index 0 - 1 <<0) - inactive destination
           + 2 (bit at index 1 - 1 <<1) - temporary trying destination (in
             the way to become inactive if it does not reply to keepalives
@@ -1963,48 +1953,48 @@ Chapter 2. Frequently Asked Questions
 
    2.1.
 
-       Does dispatcher provide a fair distribution?
+   Does dispatcher provide a fair distribution?
 
-       The algorithms doing hashing over parts of SIP message don't guarantee
-       a fair distribution. You should do some measurements to decide what
-       hashing algorithm fits better in your environment.
+   The algorithms doing hashing over parts of SIP message don't guarantee
+   a fair distribution. You should do some measurements to decide what
+   hashing algorithm fits better in your environment.
 
-       Other distribution algorithms such as round robin or call load
-       dispatching do a fair distribution in terms of delivered calls to
-       gateways.
+   Other distribution algorithms such as round robin or call load
+   dispatching do a fair distribution in terms of delivered calls to
+   gateways.
 
    2.2.
 
-       Is dispatcher dialog stateful?
+   Is dispatcher dialog stateful?
 
-       No. Dispatcher is stateless, although some distribution algorithms are
-       designed to select same destination for subsequent requests of the same
-       dialog (e.g., hashing the call-id).
+   No. Dispatcher is stateless, although some distribution algorithms are
+   designed to select same destination for subsequent requests of the same
+   dialog (e.g., hashing the call-id).
 
    2.3.
 
-       Where can I find more about Kamailio?
+   Where can I find more about Kamailio?
 
-       Take a look at https://www.kamailio.org/.
+   Take a look at https://www.kamailio.org/.
 
    2.4.
 
-       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 -
-           https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-         * Developer Mailing List -
-           https://lists.kamailio.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 -
+       https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
+     * Developer Mailing List -
+       https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
 
-       E-mails regarding any stable version should be sent to
-       <sr-users@lists.kamailio.org> and e-mail regarding development versions
-       or GIT snapshots should be send to <sr-dev@lists.kamailio.org>.
+   E-mails regarding any stable version should be sent to
+   <sr-users@lists.kamailio.org> and e-mail regarding development versions
+   or GIT snapshots should be send to <sr-dev@lists.kamailio.org>.
 
    2.5.
 
-       How can I report a bug?
+   How can I report a bug?
 
-       Please follow the guidelines provided at:
-       https://github.com/kamailio/kamailio/issues
+   Please follow the guidelines provided at:
+   https://github.com/kamailio/kamailio/issues
index 06125e2..32bb2d6 100644 (file)
@@ -24,11 +24,11 @@ Tsvetomir Dimitrov
 
    <tsv.dimitrov@gmail.com>
 
-   Copyright © 2007 FhG FOKUS
+   Copyright Â© 2007 FhG FOKUS
 
-   Copyright © 2012 Smile Communications
+   Copyright Â© 2012 Smile Communications
 
-   Copyright © 2015 ng-voice GmbH
+   Copyright Â© 2015 ng-voice GmbH
      __________________________________________________________________
 
    Table of Contents
@@ -47,8 +47,9 @@ Tsvetomir Dimitrov
               3.2. ipsec_listen_addr6 (string)
               3.3. ipsec_client_port (int)
               3.4. ipsec_server_port (int)
-              3.5. ipsec_spi_id_start (int)
-              3.6. ipsec_spi_id_range (int)
+              3.5. ipsec_max_connections (int)
+              3.6. ipsec_spi_id_start (int)
+              3.7. ipsec_spi_id_range (int)
 
         4. Functions
 
@@ -62,11 +63,12 @@ Tsvetomir Dimitrov
    1.2. ipsec_listen_addr6 parameter usage
    1.3. ipsec_client_port parameter usage
    1.4. ipsec_server_port parameter usage
-   1.5. ipsec_spi_id_start parameter usage
-   1.6. ipsec_spi_id_range parameter usage
-   1.7. ipsec_create
-   1.8. ipsec_forward
+   1.5. ipsec_max_connections parameter usage
+   1.6. ipsec_spi_id_start parameter usage
+   1.7. ipsec_spi_id_range parameter usage
+   1.8. ipsec_create
    1.9. ipsec_forward
+   1.10. ipsec_destroy
 
 Chapter 1. Admin Guide
 
@@ -84,8 +86,9 @@ Chapter 1. Admin Guide
         3.2. ipsec_listen_addr6 (string)
         3.3. ipsec_client_port (int)
         3.4. ipsec_server_port (int)
-        3.5. ipsec_spi_id_start (int)
-        3.6. ipsec_spi_id_range (int)
+        3.5. ipsec_max_connections (int)
+        3.6. ipsec_spi_id_start (int)
+        3.7. ipsec_spi_id_range (int)
 
    4. Functions
 
@@ -120,8 +123,9 @@ Chapter 1. Admin Guide
    3.2. ipsec_listen_addr6 (string)
    3.3. ipsec_client_port (int)
    3.4. ipsec_server_port (int)
-   3.5. ipsec_spi_id_start (int)
-   3.6. ipsec_spi_id_range (int)
+   3.5. ipsec_max_connections (int)
+   3.6. ipsec_spi_id_start (int)
+   3.7. ipsec_spi_id_range (int)
 
 3.1. ipsec_listen_addr (string)
 
@@ -151,9 +155,10 @@ modparam("ims_ipsec_pcscf", "ipsec_listen_addr6", "")
 
 3.3. ipsec_client_port (int)
 
-   Port number which will be bound for incoming (server) IPSec traffic.
+   Start port number which will be bound for incoming (server) IPSec
+   traffic.
 
-   Default value is 5963.
+   Default value is 5062.
 
    Example 1.3. ipsec_client_port parameter usage
 ...
@@ -162,7 +167,8 @@ modparam("ims_ipsec_pcscf", "ipsec_client_port", 5062)
 
 3.4. ipsec_server_port (int)
 
-   Port number which will be bound for incoming (server) IPSec traffic.
+   Start port number which will be bound for incoming (server) IPSec
+   traffic.
 
    Default value is 5063.
 
@@ -171,7 +177,22 @@ modparam("ims_ipsec_pcscf", "ipsec_client_port", 5062)
 modparam("ims_ipsec_pcscf", "ipsec_server_port", 5063)
 ...
 
-3.5. ipsec_spi_id_start (int)
+3.5. ipsec_max_connections (int)
+
+   Maximum IPSec connections for the process. E.g. if
+   ipsec_client_port=5100, ipsec_server_port=6100 and
+   ipsec_max_connections=10, all client ports between 5100 and 5109 and
+   all server ports between 6100 and 6109 will be used for maximum to 10
+   IPSec connections.
+
+   Default value is 2.
+
+   Example 1.5. ipsec_max_connections parameter usage
+...
+modparam("ims_ipsec_pcscf", "ipsec_max_connections", 10)
+...
+
+3.6. ipsec_spi_id_start (int)
 
    Each IPSec tunnel has a unique system-wide identifier. This and the
    following option allows to tune the SPIs used by Kamailio in order to
@@ -180,12 +201,12 @@ modparam("ims_ipsec_pcscf", "ipsec_server_port", 5063)
 
    Default value is 100.
 
-   Example 1.5. ipsec_spi_id_start parameter usage
+   Example 1.6. ipsec_spi_id_start parameter usage
 ...
 modparam("ims_ipsec_pcscf", "ipsec_spi_id_start", 100)
 ...
 
-3.6. ipsec_spi_id_range (int)
+3.7. ipsec_spi_id_range (int)
 
    How many SPIs to be allocated for the process. E.g. if
    ipsec_spi_id_start = 100 and ipsec_spi_id_range = 1000, SPIs between
@@ -193,7 +214,7 @@ modparam("ims_ipsec_pcscf", "ipsec_spi_id_start", 100)
 
    Default value is 1000.
 
-   Example 1.6. ipsec_spi_id_range parameter usage
+   Example 1.7. ipsec_spi_id_range parameter usage
 ...
 modparam("ims_ipsec_pcscf", "ipsec_spi_id_range", 1000)
 ...
@@ -215,7 +236,7 @@ modparam("ims_ipsec_pcscf", "ipsec_spi_id_range", 1000)
      * domain - Logical domain within the registrar. If a database is used
        then this must be name of the table which stores the contacts.
 
-   Example 1.7. ipsec_create
+   Example 1.8. ipsec_create
 ...
 ipsec_create("location");
 ...
@@ -229,7 +250,7 @@ ipsec_create("location");
      * domain - Logical domain within the registrar. If a database is used
        then this must be name of the table which stores the contacts.
 
-   Example 1.8. ipsec_forward
+   Example 1.9. ipsec_forward
 ...
 ipsec_forward("location");
 ...
@@ -242,7 +263,7 @@ ipsec_forward("location");
      * domain - Logical domain within the registrar. If a database is used
        then this must be name of the table which stores the contacts.
 
-   Example 1.9. ipsec_forward
+   Example 1.10. ipsec_destroy
 ...
 ipsec_destroy("location");
 ...
index 83d6960..d55fc5a 100644 (file)
@@ -24,8 +24,6 @@ Jan Janak
 
    <jan@iptel.org>
 
-Edited by
-
 Bogdan-Andre Iancu
 
    Copyright © 2003 FhG FOKUS
@@ -91,6 +89,7 @@ Bogdan-Andre Iancu
               4.6. unregister(domain, uri[, ruid])
               4.7. reg_fetch_contacts(domain, uri, profile)
               4.8. reg_free_contacts(profile)
+              4.9. reg_send_reply()
 
         5. Event Routes
 
@@ -150,8 +149,9 @@ Bogdan-Andre Iancu
    1.36. unregister usage
    1.37. reg_fetch_contacts usage
    1.38. reg_free_contacts usage
-   1.39. event_route[usrloc:contact-expired] usage
-   1.40. $ulc(name) usage
+   1.39. reg_send_reply usage
+   1.40. event_route[usrloc:contact-expired] usage
+   1.41. $ulc(name) usage
 
 Chapter 1. Admin Guide
 
@@ -211,6 +211,7 @@ Chapter 1. Admin Guide
         4.6. unregister(domain, uri[, ruid])
         4.7. reg_fetch_contacts(domain, uri, profile)
         4.8. reg_free_contacts(profile)
+        4.9. reg_send_reply()
 
    5. Event Routes
 
@@ -886,6 +887,7 @@ request_route {
    4.6. unregister(domain, uri[, ruid])
    4.7. reg_fetch_contacts(domain, uri, profile)
    4.8. reg_free_contacts(profile)
+   4.9. reg_send_reply()
 
 4.1.  save(domain, [, flags [, uri]])
 
@@ -1124,6 +1126,22 @@ reg_fetch_contacts("location", "sip:user@kamailio.org", "caller");
 reg_free_contacts("callee");
 ...
 
+4.9.  reg_send_reply()
+
+   The function sends the SIP reply that is normally sent by save(...),
+   but that was skipped due to flag 0x2. It must be used after save(...,
+   "0x2"). Practically it allows saving registration to location table, do
+   other operations and then send the reply.
+
+   This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
+
+   Example 1.39. reg_send_reply usage
+...
+save("location", "0x2");
+...
+reg_send_reply();
+...
+
 5. Event Routes
 
    5.1. event_route[usrloc:contact-expired]
@@ -1133,7 +1151,7 @@ reg_free_contacts("callee");
    Executed when a contact in location table has expired. The variable
    $ulc(exp=>...) is filled with the attributes of the expired contact.
 
-   Example 1.39. event_route[usrloc:contact-expired] usage
+   Example 1.40. event_route[usrloc:contact-expired] usage
 ...
 event_route[usrloc:contact-expired] {
     xlog("expired contact for $ulc(exp=>aor)\n");
@@ -1207,7 +1225,7 @@ event_route[usrloc:contact-expired] {
    The pseudo-variable accepts positive index value to access a specific
    contact record.
 
-   Example 1.40. $ulc(name) usage
+   Example 1.41. $ulc(name) usage
 ...
 if(reg_fetch_contacts("location", "$fu", "caller"))
 {
index c51d24b..2091f24 100644 (file)
@@ -28,7 +28,7 @@ Daniel-Constantin Mierla
               3.1. sl_send_reply(code, reason)
               3.2. send_reply(code, reason)
               3.3. sl_reply_error()
-              3.4. sl_forward _reply([ code, [ reason ] ])
+              3.4. sl_forward_reply([ code, [ reason ] ])
 
         4. Statistics
 
@@ -90,7 +90,7 @@ Chapter 1. Admin Guide
         3.1. sl_send_reply(code, reason)
         3.2. send_reply(code, reason)
         3.3. sl_reply_error()
-        3.4. sl_forward _reply([ code, [ reason ] ])
+        3.4. sl_forward_reply([ code, [ reason ] ])
 
    4. Statistics
 
@@ -213,7 +213,7 @@ modparam("sl", "rich_redirect", 3)
    3.1. sl_send_reply(code, reason)
    3.2. send_reply(code, reason)
    3.3. sl_reply_error()
-   3.4. sl_forward _reply([ code, [ reason ] ])
+   3.4. sl_forward_reply([ code, [ reason ] ])
 
 3.1.  sl_send_reply(code, reason)
 
@@ -274,7 +274,7 @@ send_reply("403", "Invalid user - $fU");
 sl_reply_error();
 ...
 
-3.4.  sl_forward _reply([ code, [ reason ] ])
+3.4.  sl_forward_reply([ code, [ reason ] ])
 
    Forward statelessly the current received SIP reply, with the option to
    change the status code and reason text. The new code has to be in the
index 87e1488..4c08b36 100644 (file)
@@ -340,7 +340,7 @@ event_route[tcp:closed] {
 
    Example 1.9. tcp_get_conid usage
 ...
-        if(tcp_conid_alive("127.0.0.1:5060", "$var(conid)")) {
+        if(tcp_get_conid("127.0.0.1:5060", "$var(conid)")) {
                 xlog("connection id is: $var(conid)\n");
         }
 ...
index 4f7aa74..8ab4ec6 100644 (file)
@@ -987,7 +987,10 @@ event_route[uac:reply] {
 
 8.5.  uac.reg_reload
 
-   Reload the records from database for remote registrations.
+   Reload the records from database for remote registrations. There is a
+   limit of how often the reload command can be executed, by default is
+   150 seconds between reloads -- see the reg_gc_interval parameter for
+   more details.
 
    Example 1.40. uac.reg_reload usage
 ...
index e8e039f..fdf6b6f 100644 (file)
@@ -12,12 +12,8 @@ Edited by
 
 Jan Janak
 
-Edited by
-
 Bogdan-Andrei Iancu
 
-Edited by
-
 Carsten Bock
 
    ng-voice GmbH
@@ -44,7 +40,7 @@ Carsten Bock
 
         3. Parameters
 
-              3.1. nat_bflag (integer)
+              3.1. nat_bflag (int)
               3.2. user_column (string)
               3.3. domain_column (string)
               3.4. contact_column (string)
@@ -65,17 +61,17 @@ Carsten Bock
               3.19. connection_id_column (string)
               3.20. keepalive_column (string)
               3.21. partition_column (string)
-              3.22. use_domain (integer)
-              3.23. desc_time_order (integer)
-              3.24. timer_interval (integer)
+              3.22. use_domain (int)
+              3.23. desc_time_order (int)
+              3.24. timer_interval (int)
               3.25. db_url (string)
-              3.26. db_mode (integer)
-              3.27. db_load (integer)
-              3.28. db_insert_update (integer)
-              3.29. matching_mode (integer)
-              3.30. cseq_delay (integer)
-              3.31. fetch_rows (integer)
-              3.32. hash_size (integer)
+              3.26. db_mode (int)
+              3.27. db_load (int)
+              3.28. db_insert_update (int)
+              3.29. matching_mode (int)
+              3.30. cseq_delay (int)
+              3.31. fetch_rows (int)
+              3.32. hash_size (int)
               3.33. preload (string)
               3.34. db_update_as_insert (int)
               3.35. db_check_update (int)
@@ -91,7 +87,7 @@ Carsten Bock
               3.45. db_timer_clean (int)
               3.46. rm_expired_delay (int)
               3.47. server_id_filter (int)
-              3.48. version_table (integer)
+              3.48. version_table (int)
 
         4. RPC Commands
 
@@ -203,7 +199,7 @@ Chapter 1. Admin Guide
 
    3. Parameters
 
-        3.1. nat_bflag (integer)
+        3.1. nat_bflag (int)
         3.2. user_column (string)
         3.3. domain_column (string)
         3.4. contact_column (string)
@@ -224,17 +220,17 @@ Chapter 1. Admin Guide
         3.19. connection_id_column (string)
         3.20. keepalive_column (string)
         3.21. partition_column (string)
-        3.22. use_domain (integer)
-        3.23. desc_time_order (integer)
-        3.24. timer_interval (integer)
+        3.22. use_domain (int)
+        3.23. desc_time_order (int)
+        3.24. timer_interval (int)
         3.25. db_url (string)
-        3.26. db_mode (integer)
-        3.27. db_load (integer)
-        3.28. db_insert_update (integer)
-        3.29. matching_mode (integer)
-        3.30. cseq_delay (integer)
-        3.31. fetch_rows (integer)
-        3.32. hash_size (integer)
+        3.26. db_mode (int)
+        3.27. db_load (int)
+        3.28. db_insert_update (int)
+        3.29. matching_mode (int)
+        3.30. cseq_delay (int)
+        3.31. fetch_rows (int)
+        3.32. hash_size (int)
         3.33. preload (string)
         3.34. db_update_as_insert (int)
         3.35. db_check_update (int)
@@ -250,7 +246,7 @@ Chapter 1. Admin Guide
         3.45. db_timer_clean (int)
         3.46. rm_expired_delay (int)
         3.47. server_id_filter (int)
-        3.48. version_table (integer)
+        3.48. version_table (int)
 
    4. RPC Commands
 
@@ -310,7 +306,7 @@ Chapter 1. Admin Guide
 
    To find out how to control/select the contact matching algorithm,
    please see the module parameter matching_mode - Section 3.29,
-   “matching_mode (integer)”.
+   “matching_mode (int)”.
 
 2. Dependencies
 
@@ -330,7 +326,7 @@ Chapter 1. Admin Guide
 
 3. Parameters
 
-   3.1. nat_bflag (integer)
+   3.1. nat_bflag (int)
    3.2. user_column (string)
    3.3. domain_column (string)
    3.4. contact_column (string)
@@ -351,17 +347,17 @@ Chapter 1. Admin Guide
    3.19. connection_id_column (string)
    3.20. keepalive_column (string)
    3.21. partition_column (string)
-   3.22. use_domain (integer)
-   3.23. desc_time_order (integer)
-   3.24. timer_interval (integer)
+   3.22. use_domain (int)
+   3.23. desc_time_order (int)
+   3.24. timer_interval (int)
    3.25. db_url (string)
-   3.26. db_mode (integer)
-   3.27. db_load (integer)
-   3.28. db_insert_update (integer)
-   3.29. matching_mode (integer)
-   3.30. cseq_delay (integer)
-   3.31. fetch_rows (integer)
-   3.32. hash_size (integer)
+   3.26. db_mode (int)
+   3.27. db_load (int)
+   3.28. db_insert_update (int)
+   3.29. matching_mode (int)
+   3.30. cseq_delay (int)
+   3.31. fetch_rows (int)
+   3.32. hash_size (int)
    3.33. preload (string)
    3.34. db_update_as_insert (int)
    3.35. db_check_update (int)
@@ -377,9 +373,9 @@ Chapter 1. Admin Guide
    3.45. db_timer_clean (int)
    3.46. rm_expired_delay (int)
    3.47. server_id_filter (int)
-   3.48. version_table (integer)
+   3.48. version_table (int)
 
-3.1. nat_bflag (integer)
+3.1. nat_bflag (int)
 
    The index of the branch flag to be used as NAT marker (if the contact
    is or not natted). This is a branch flag and it will be imported and
@@ -616,7 +612,7 @@ modparam("usrloc", "keepalive_column", "kalive")
 modparam("usrloc", "partition_column", "part")
 ...
 
-3.22. use_domain (integer)
+3.22. use_domain (int)
 
    If the domain part of the user should be also saved and used for
    identifying the user (along with the username part). Useful in multi
@@ -629,7 +625,7 @@ modparam("usrloc", "partition_column", "part")
 modparam("usrloc", "use_domain", 1)
 ...
 
-3.23. desc_time_order (integer)
+3.23. desc_time_order (int)
 
    If the user's contacts should be kept timestamp ordered; otherwise the
    contact will be ordered based on q value. Non 0 value means true.
@@ -641,7 +637,7 @@ modparam("usrloc", "use_domain", 1)
 modparam("usrloc", "desc_time_order", 1)
 ...
 
-3.24. timer_interval (integer)
+3.24. timer_interval (int)
 
    Number of seconds between two timer runs. The module uses a timer to
    delete expired contacts, synchronize with database and other tasks,
@@ -665,7 +661,7 @@ modparam("usrloc", "timer_interval", 120)
 modparam("usrloc", "db_url", "dbdriver://username:password@dbhost/dbname")
 ...
 
-3.26. db_mode (integer)
+3.26. db_mode (int)
 
    The usrloc module can utilize a database for persistent contact
    storage. If a database is used, the location database (contacts) will
@@ -716,7 +712,7 @@ Warning
 modparam("usrloc", "db_mode", 2)
 ...
 
-3.27. db_load (integer)
+3.27. db_load (int)
 
    Determine if the usrloc module should load contacts from the database
    storage during module initialization A value of 0 disable the loading
@@ -726,10 +722,10 @@ modparam("usrloc", "db_mode", 2)
 
    Example 1.27. Set db_load parameter
 ...
-modparam("usrloc", "db_load", "0")
+modparam("usrloc", "db_load", 0)
 ...
 
-3.28. db_insert_update (integer)
+3.28. db_insert_update (int)
 
    Determine if the usrloc module should do an update when a duplicate key
    is found while inserting A value of 1 will activate update on duplicate
@@ -739,13 +735,13 @@ modparam("usrloc", "db_load", "0")
 
    Example 1.28. Set db_insert_update parameter
 ...
-modparam("usrloc", "db_insert_update", "1")
+modparam("usrloc", "db_insert_update", 1)
 ...
 
-3.29. matching_mode (integer)
+3.29. matching_mode (int)
 
-   What contact matching algorithm to be used. Refer to section
-   Section 1.1, “Contact matching” for the description of the algorithms.
+   What contact matching algorithm to be used. Refer to section ??? for
+   the description of the algorithms.
 
    The parameter may take the following values:
      * 0 - CONTACT ONLY based matching algorithm.
@@ -763,7 +759,7 @@ modparam("usrloc", "db_insert_update", "1")
 modparam("usrloc", "matching_mode", 1)
 ...
 
-3.30. cseq_delay (integer)
+3.30. cseq_delay (int)
 
    Delay (in seconds) for accepting as retransmissions register requests
    with same Call-ID and Cseq. The delay is calculated starting from the
@@ -782,7 +778,7 @@ modparam("usrloc", "matching_mode", 1)
 modparam("usrloc", "cseq_delay", 5)
 ...
 
-3.31. fetch_rows (integer)
+3.31. fetch_rows (int)
 
    The number of the rows to be fetched at once from database when loading
    the location records. This value can be used to tune the load time at
@@ -796,7 +792,7 @@ modparam("usrloc", "cseq_delay", 5)
 modparam("usrloc", "fetch_rows", 3000)
 ...
 
-3.32. hash_size (integer)
+3.32. hash_size (int)
 
    The number of entries of the hash table used by usrloc to store the
    location records is 2^hash_size. For hash_size=4, the number of slots
@@ -1019,7 +1015,7 @@ modparam("usrloc", "rm_expired_delay", 30)
 modparam("usrloc", "server_id_filter", 1)
 ...
 
-3.48. version_table (integer)
+3.48. version_table (int)
 
    If set to 0, the module will skip checking the version for location
    table.