2
0
Эх сурвалжийг харах

modules: bulk regeneration of README files

- some modules had xml files updated, but no refresh for README files
Daniel-Constantin Mierla 11 жил өмнө
parent
commit
fe9c6ddd1d

+ 3 - 1
modules/acc/README

@@ -1021,7 +1021,9 @@ modparam("acc", "db_extra", "ct=$hdr(Content-type); email=$avp(s:email)")
 
    If set to 1, use INSERT DELAYED to add records to accounting tables
    when the DB driver has support for it. If no INSERT DELAYED support is
-   offered by DB driver, then standard INSERT is used.
+   offered by DB driver, then standard INSERT is used. Beware that MySQL
+   InnoDB engine doesn't support INSERT DELAYED, thus be sure the acc
+   tables are defined with different type (e.g., MyISAM).
 
    Default value is 0 (no INSERT DELAYED).
 

+ 104 - 104
modules/dialog/README

@@ -22,9 +22,9 @@ Alex Balashov
 
    <[email protected]>
 
-   Copyright © 2006 Voice Sistem SRL
+   Copyright © 2006 Voice Sistem SRL
 
-   Copyright © 2011 Carsten Bock, http://www.ng-voice.com
+   Copyright © 2011 Carsten Bock, http://www.ng-voice.com
      __________________________________________________________________
 
    Table of Contents
@@ -384,14 +384,14 @@ Chapter 1. Admin Guide
 2. How it works
 
    To create the dialog associated with an initial request, the flag
-   “dlg_flag� (Section 5.4, “dlg_flag (integer)�) must be set before
+   "dlg_flag" (Section 5.4, "dlg_flag (integer)") must be set before
    creating the corresponding transaction.
 
-   The dialog is automatically destroyed when a “BYE� is received. In case
-   of no “BYE�, the dialog lifetime is controlled via the default timeout
-   (see “default_timeout� - Section 5.6, “default_timeout (integer)�) and
-   custom timeout (see “timeout_avp� - Section 5.5, “timeout_avp
-   (string)�). The dialog timeout is reset each time a sequential request
+   The dialog is automatically destroyed when a "BYE" is received. In case
+   of no "BYE", the dialog lifetime is controlled via the default timeout
+   (see "default_timeout" - Section 5.6, "default_timeout (integer)") and
+   custom timeout (see "timeout_avp" - Section 5.5, "timeout_avp
+   (string)"). The dialog timeout is reset each time a sequential request
    is processed.
 
 3. Dialog profiling
@@ -498,7 +498,7 @@ Chapter 1. Admin Guide
    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)�.
+   Default value is "1 (enabled)".
 
    Example 1.1. Set enable_stats parameter
 ...
@@ -516,7 +516,7 @@ modparam("dialog", "enable_stats", 0)
    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�.
+   Default value is "4096".
 
    Example 1.2. Set hash_size parameter
 ...
@@ -529,7 +529,7 @@ modparam("dialog", "hash_size", 1024)
    is used for the fast matching of sequential requests to tracked
    dialogs.
 
-   Default value is “did�.
+   Default value is "did".
 
    Example 1.3. Set rr_param parameter
 ...
@@ -541,7 +541,7 @@ modparam("dialog", "rr_param", "xyz")
    Flag to be used for marking if a dialog should be constructed for the
    current request (this make sense only for initial requests).
 
-   Default value is “none�.
+   Default value is "none".
 
    Example 1.4. Set dlg_flag parameter
 ...
@@ -554,7 +554,7 @@ modparam("dialog", "dlg_flag", 4)
    seconds) for the dialog. It may be used only in a request (initial or
    sequential) context.
 
-   Default value is “none�.
+   Default value is "none".
 
    Example 1.5. Set timeout_avp parameter
 ...
@@ -566,7 +566,7 @@ modparam("dialog", "timeout_avp", "$avp(i:10)")
    The default dialog timeout (in seconds), in the absence of a custom
    value provided in an AVP.
 
-   Default value is “43200 (12 hours)�.
+   Default value is "43200 (12 hours)".
 
    Example 1.6. Set default_timeout parameter
 ...
@@ -578,7 +578,7 @@ modparam("dialog", "default_timeout", 21600)
    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�.
+   Default value is "NULL".
 
    Example 1.7. Set dlf_extra_hdrs parameter
 ...
@@ -609,7 +609,7 @@ modparam("dialog", "dlg_extra_hdrs", "Hint: credit expired\r\n")
      * 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)�.
+   Default value is "0 (DID_ONLY)".
 
    Example 1.8. Set dlg_match_mode parameter
 ...
@@ -638,7 +638,7 @@ modparam("dialog", "detect_spirals", 1)
    If you want to store the information about the dialogs in a database, a
    database URL must be specified.
 
-   Default value is “mysql://kamailio:kamailiorw@localhost/kamailio�.
+   Default value is "mysql://kamailio:kamailiorw@localhost/kamailio".
 
    Example 1.10. Set db_url parameter
 ...
@@ -659,7 +659,7 @@ modparam("dialog", "db_url", "dbdriver://username:password@dbhost/dbname")
      * 3 - SHUTDOWN - the dialog information will be flushed into DB only
        at shutdown - no runtime updates.
 
-   Default value is “0�.
+   Default value is "0".
 
    Example 1.11. Set db_mode parameter
 ...
@@ -673,7 +673,7 @@ modparam("dialog", "db_mode", 1)
    interval will generate intensive database operations, while an
    excessively long one will miss dialogs with a short lifetime.
 
-   Default value is “60�.
+   Default value is "60".
 
    Example 1.12. Set db_update_period parameter
 ...
@@ -689,7 +689,7 @@ modparam("dialog", "db_update_period", 120)
    fetch_result() capability. A value of 0 means the functionality is
    disabled.
 
-   Default value is “200�.
+   Default value is "200".
 
    Example 1.13. Set db_fetch_rows parameter
 ...
@@ -701,7 +701,7 @@ modparam("dialog", "db_fetch_rows", 500)
    If you want to store the information about the dialogs in a database a
    table name must be specified.
 
-   Default value is “dialog�.
+   Default value is "dialog".
 
    Example 1.14. Set table_name parameter
 ...
@@ -712,7 +712,7 @@ modparam("dialog", "table_name", "my_dialog")
 
    The column name in the database to store the dialogs' callid.
 
-   Default value is “callid�.
+   Default value is "callid".
 
    Example 1.15. Set callid_column parameter
 ...
@@ -723,7 +723,7 @@ modparam("dialog", "callid_column", "callid_c_name")
 
    The column name in the database to store the caller's sip address.
 
-   Default value is “from_uri�.
+   Default value is "from_uri".
 
    Example 1.16. Set from_uri_column parameter
 ...
@@ -735,7 +735,7 @@ modparam("dialog", "from_uri_column", "from_uri_c_name")
    The column name in the database to store the From tag from the INVITE
    request.
 
-   Default value is “from_tag�.
+   Default value is "from_tag".
 
    Example 1.17. Set from_tag_column parameter
 ...
@@ -746,7 +746,7 @@ modparam("dialog", "from_tag_column", "from_tag_c_name")
 
    The column name in the database to store the callee's sip address.
 
-   Default value is “to_uri�.
+   Default value is "to_uri".
 
    Example 1.18. Set to_uri_column parameter
 ...
@@ -758,7 +758,7 @@ modparam("dialog", "to_uri_column", "to_uri_c_name")
    The column name in the database to store the To tag from the 200 OK
    response to the INVITE request, if present.
 
-   Default value is “to_tag�.
+   Default value is "to_tag".
 
    Example 1.19. Set to_tag_column parameter
 ...
@@ -769,7 +769,7 @@ modparam("dialog", "to_tag_column", "to_tag_c_name")
 
    The column name in the database to store the cseq from caller side.
 
-   Default value is “caller_cseq�.
+   Default value is "caller_cseq".
 
    Example 1.20. Set caller_cseq_column parameter
 ...
@@ -780,7 +780,7 @@ modparam("dialog", "caller_cseq_column", "column_name")
 
    The column name in the database to store the cseq from callee side.
 
-   Default value is “callee_cseq�.
+   Default value is "callee_cseq".
 
    Example 1.21. Set callee_cseq_column parameter
 ...
@@ -792,7 +792,7 @@ modparam("dialog", "callee_cseq_column", "column_name")
    The column name in the database to store the route records from caller
    side (proxy to caller).
 
-   Default value is “caller_route_set�.
+   Default value is "caller_route_set".
 
    Example 1.22. Set caller_route_column parameter
 ...
@@ -804,7 +804,7 @@ modparam("dialog", "caller_route_column", "column_name")
    The column name in the database to store the route records from callee
    side (proxy to callee).
 
-   Default value is “callee_route_set�.
+   Default value is "callee_route_set".
 
    Example 1.23. Set to_route_column parameter
 ...
@@ -815,7 +815,7 @@ modparam("dialog", "callee_route_column", "column_name")
 
    The column name in the database to store the caller's contact uri.
 
-   Default value is “from_contact�.
+   Default value is "from_contact".
 
    Example 1.24. Set caller_contact_column parameter
 ...
@@ -826,7 +826,7 @@ modparam("dialog", "caller_contact_column", "column_name")
 
    The column name in the database to store the callee's contact uri.
 
-   Default value is “callee_contact�.
+   Default value is "callee_contact".
 
    Example 1.25. Set callee_contact_column parameter
 ...
@@ -838,7 +838,7 @@ modparam("dialog", "callee_contact_column", "column_name")
    The column name in the database to store the information about the
    local interface receiving the traffic from caller.
 
-   Default value is “caller_sock�.
+   Default value is "caller_sock".
 
    Example 1.26. Set caller_sock_column parameter
 ...
@@ -850,7 +850,7 @@ modparam("dialog", "caller_sock_column", "column_name")
    The column name in the database to store information about the local
    interface receiving the traffic from callee.
 
-   Default value is “callee_contact�.
+   Default value is "callee_contact".
 
    Example 1.27. Set callee_sock_column parameter
 ...
@@ -862,7 +862,7 @@ modparam("dialog", "callee_sock_column", "column_name")
    The column name in the database to store the dialogs' hash id
    information.
 
-   Default value is “hash_id�.
+   Default value is "hash_id".
 
    Example 1.28. Set h_id_column parameter
 ...
@@ -874,7 +874,7 @@ modparam("dialog", "h_id_column", "hash_id_c_name")
    The column name in the database to store the dialogs' hash entry
    information.
 
-   Default value is “hash_entry�.
+   Default value is "hash_entry".
 
    Example 1.29. Set h_entry_column parameter
 ...
@@ -886,7 +886,7 @@ modparam("dialog", "h_entry_column", "h_entry_c_name")
    The column name in the database to store the dialogs' state
    information.
 
-   Default value is “state�.
+   Default value is "state".
 
    Example 1.30. Set state_column parameter
 ...
@@ -898,7 +898,7 @@ modparam("dialog", "state_column", "state_c_name")
    The column name in the database to store the dialogs' start time
    information.
 
-   Default value is “start_time�.
+   Default value is "start_time".
 
    Example 1.31. Set start_time_column parameter
 ...
@@ -909,7 +909,7 @@ modparam("dialog", "start_time_column", "start_time_c_name")
 
    The column name in the database to store the dialogs' timeout.
 
-   Default value is “timeout�.
+   Default value is "timeout".
 
    Example 1.32. Set timeout_column parameter
 ...
@@ -920,7 +920,7 @@ modparam("dialog", "timeout_column", "timeout_c_name")
 
    The column name in the database to store the script flags.
 
-   Default value is “sflags�.
+   Default value is "sflags".
 
    Example 1.33. Set sflags_column parameter
 ...
@@ -932,7 +932,7 @@ modparam("dialog", "sflags_column", "s_flags")
    The column name in the database to store the index of the route to be
    executed at timeout.
 
-   Default value is “toroute�.
+   Default value is "toroute".
 
    Example 1.34. Set toroute_column parameter
 ...
@@ -944,7 +944,7 @@ modparam("dialog", "toroute_column", "timeout_route")
    If you want to store the variables for a dialog in a database a table
    name must be specified.
 
-   Default value is “dialog_vars�.
+   Default value is "dialog_vars".
 
    Example 1.35. Set vars_table_name parameter
 ...
@@ -956,7 +956,7 @@ modparam("dialog", "vars_table_name", "my_dialog_vars")
    The column name in the database to store the dialogs' hash id
    information (as a reference to the dialog table).
 
-   Default value is “hash_id�.
+   Default value is "hash_id".
 
    Example 1.36. Set vars_h_id_column parameter
 ...
@@ -968,7 +968,7 @@ modparam("dialog", "vars_h_id_column", "vars_h_id_name")
    The column name in the database to store the dialogs' hash entry
    information (as a reference to the dialog table).
 
-   Default value is “hash_entry�.
+   Default value is "hash_entry".
 
    Example 1.37. Set vars_h_entry_column parameter
 ...
@@ -979,7 +979,7 @@ modparam("dialog", "vars_h_entry_column", "vars_h_entry_name")
 
    The column name in the database to store the keys of a variable.
 
-   Default value is “dialog_key�.
+   Default value is "dialog_key".
 
    Example 1.38. Set vars_key_column parameter
 ...
@@ -990,7 +990,7 @@ modparam("dialog", "vars_key_column", "vars_key_name")
 
    The column name in the database to store the keys of a variable.
 
-   Default value is “dialog_value�.
+   Default value is "dialog_value".
 
    Example 1.39. Set vars_value_column parameter
 ...
@@ -1001,7 +1001,7 @@ modparam("dialog", "vars_value_column", "vars_value_name")
 
    List of names for profiles with values.
 
-   Default value is “empty�.
+   Default value is "empty".
 
    Example 1.40. Set profiles_with_value parameter
 ...
@@ -1012,7 +1012,7 @@ modparam("dialog", "profiles_with_value", "caller ; my_profile")
 
    List of names for profiles without values.
 
-   Default value is “empty�.
+   Default value is "empty".
 
    Example 1.41. Set profiles_no_value parameter
 ...
@@ -1023,7 +1023,7 @@ modparam("dialog", "profiles_no_value", "inbound ; outbound")
 
    SIP address to be used in From header when initiating a call bridge.
 
-   Default value is “sip:[email protected]â€�.
+   Default value is "sip:[email protected]".
 
    Example 1.42. Set bridge_controller parameter
 ...
@@ -1034,7 +1034,7 @@ modparam("dialog", "bridge_controller", "sip:[email protected]")
 
    SIP address to be used in Contact header when doing a call bridge.
 
-   Default value is “sip:[email protected]:5060â€�.
+   Default value is "sip:[email protected]:5060".
 
    Example 1.43. Set bridge_contact parameter
 ...
@@ -1057,7 +1057,7 @@ modparam("dialog", "bridge_contact", "sip:[email protected]:5060")
      * 1 - IN-SCRIPT - execute initial callbacks during script execution,
        i.e., right after dlg_manage() is called;
 
-   Default value is “1�.
+   Default value is "1".
 
    Example 1.44. Set initial_cbs_inscript parameter
 ...
@@ -1069,7 +1069,7 @@ modparam("dialog", "initial_cbs_inscript", 0)
    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�.
+   Default value is "0".
 
    Example 1.45. Set send_bye parameter
 ...
@@ -1083,7 +1083,7 @@ modparam("dialog", "send_bye", 1)
    is destroyed when negative reply is sent out (less internal
    complexity).
 
-   Default value is “1�.
+   Default value is "1".
 
    Example 1.46. Set wait_ack parameter
 ...
@@ -1096,7 +1096,7 @@ modparam("dialog", "wait_ack", 0)
    dialog keep alives (SIP OPTIONS requests within dialog). The value
    represents the number of seconds.
 
-   Default value is “0� (no keep alive).
+   Default value is "0" (no keep alive).
 
    Example 1.47. Set ka_timer parameter
 ...
@@ -1111,7 +1111,7 @@ modparam("dialog", "ka_timer", 10)
    dialog setup or previous keep-alive. The value represents the number of
    seconds.
 
-   Default value is “0� (no keep alive).
+   Default value is "0" (no keep alive).
 
    Example 1.48. Set ka_interval parameter
 ...
@@ -1137,7 +1137,7 @@ modparam("dialog", "ka_interval", 300)
    6.15. dlg_set_timeout_by_profile(profile, [value], timeout)
    6.16. dlg_set_property(attr)
 
-6.1.  set_dlg_profile(profile,[value])
+6.1. set_dlg_profile(profile,[value])
 
    Inserts the current dialog into a profile. Note that if the profile
    does not support values, they will be silently discarded. Also, there
@@ -1159,7 +1159,7 @@ set_dlg_profile("inbound_call");
 set_dlg_profile("caller","$fu");
 ...
 
-6.2.  unset_dlg_profile(profile,[value])
+6.2. unset_dlg_profile(profile,[value])
 
    Removes the current dialog from a profile.
 
@@ -1178,7 +1178,7 @@ unset_dlg_profile("inbound_call");
 unset_dlg_profile("caller","$fu");
 ...
 
-6.3.  is_in_profile(profile,[value])
+6.3. is_in_profile(profile,[value])
 
    Checks if the current dialog belongs to a profile. If the profile
    supports values, the check can be reinforced to take into account a
@@ -1206,7 +1206,7 @@ if (is_in_profile("caller","XX")) {
 }
 ...
 
-6.4.  get_profile_size(profile,[value],size)
+6.4. get_profile_size(profile,[value],size)
 
    Returns the number of dialogs belonging to a profile. If the profile
    supports values, the check can be reinforced to take into account a
@@ -1233,7 +1233,7 @@ if(get_profile_size("caller","$fu","$avp(size)"))
     xlog("currently, the user $fu has $avp(size) active outgoing calls\n");
 ...
 
-6.5.  dlg_isflagset(flag)
+6.5. dlg_isflagset(flag)
 
    Check if the dialog flag is set or not.
 
@@ -1251,7 +1251,7 @@ if(dlg_isflagset("1"))
 }
 ...
 
-6.6.  dlg_setflag(flag)
+6.6. dlg_setflag(flag)
 
    Set the dialog flag.
 
@@ -1266,7 +1266,7 @@ if(dlg_isflagset("1"))
 dlg_setflag("1");
 ...
 
-6.7.  dlg_resetflag(flag)
+6.7. dlg_resetflag(flag)
 
    Reset the dialog flag.
 
@@ -1281,7 +1281,7 @@ dlg_setflag("1");
 redlg_setflag("1");
 ...
 
-6.8.  dlg_bye(side)
+6.8. dlg_bye(side)
 
    Send BYE to both parties of a dialog.
 
@@ -1297,7 +1297,7 @@ redlg_setflag("1");
 dlg_bye("all");
 ...
 
-6.9.  dlg_refer(side, address)
+6.9. dlg_refer(side, address)
 
    Refer the 'side' to a new SIP 'address'.
 
@@ -1314,7 +1314,7 @@ dlg_bye("all");
 dlg_refer("caller", "sip:[email protected]");
 ...
 
-6.10.  dlg_manage()
+6.10. dlg_manage()
 
    Process current SIP request with dialog module. It is an alternative to
    setting dialog flag for initial INVITE and Route-parameter-callback
@@ -1338,13 +1338,13 @@ route {
 }
 ...
 
-6.11.  dlg_bridge(from, to, op)
+6.11. dlg_bridge(from, to, op)
 
    Bridge 'from' SIP address to 'to' SIP address via outbound proxy 'op'.
 
    Meaning of the parameters is as follows:
      * from - SIP address of first side to call.
-     * to - SIP address to refer “from� to.
+     * to - SIP address to refer "from" to.
      * op - outbound proxy SIP address.
 
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
@@ -1356,7 +1356,7 @@ dlg_bridge("sip:[email protected]", "sip:[email protected]",
    "sip:kamailio.org:5080");
 ...
 
-6.12.  dlg_get(callid, ftag, ttag)
+6.12. dlg_get(callid, ftag, ttag)
 
    Search and set current dialog based on Call-ID, From-Tag and To-Tag
    parameters.
@@ -1377,7 +1377,7 @@ if(dlg_get("abcdef", "123", "456"))
 }
 ...
 
-6.13.  is_known_dlg()
+6.13. is_known_dlg()
 
    This function checks if the current SIP message being processed belongs
    to any transaction within an active dialog that the dialog module is
@@ -1402,7 +1402,7 @@ if(!uri == myself) {
 }
 ...
 
-6.14.  dlg_set_timeout(timeout [, h_entry, h_id])
+6.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
@@ -1425,7 +1425,7 @@ if(dlg_set_timeout("180", "123", "456"))
 }
 ...
 
-6.15.  dlg_set_timeout_by_profile(profile, [value], timeout)
+6.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.
@@ -1447,7 +1447,7 @@ if(dlg_set_timeout("180", "123", "456"))
 dlg_set_timeout_by_profile("users", "abc123", "3");
 ...
 
-6.16.  dlg_set_property(attr)
+6.16. dlg_set_property(attr)
 
    Set a dialog property - an attribute that enable/disable various
    behaviours (e.g., sending keep alive requests).
@@ -1536,12 +1536,12 @@ dlg_set_property("ka-dst");
 
 8.2. dlg_list_ctx
 
-   The same as the “dlg_list� but including in the dialog description the
+   The same as the "dlg_list" but including in the dialog description the
    associated context from modules sitting on top of the dialog module.
 
    Name: dlg_list_ctx
 
-   Parameters: see “dlg_list�
+   Parameters: see "dlg_list"
 
    MI FIFO Command Format:
                 :dlg_list_ctx:_reply_fifo_file_
@@ -1674,7 +1674,7 @@ dlg_set_property("ka-dst");
 
 9.2. dlg.list_ctx
 
-   The same as the “dlg_list� but including in the dialog description the
+   The same as the "dlg_list" but including in the dialog description the
    associated context from modules sitting on top of the dialog module.
 
    Name: dlg.list_ctx
@@ -1699,13 +1699,13 @@ dlg_set_property("ka-dst");
 
 9.4. dlg.dlg_list_ctx
 
-   The same as the “dlg.list_ctx� but including in the dialog description
+   The same as the "dlg.list_ctx" but including in the dialog description
    the associated context from modules sitting on top of the dialog
    module.
 
    Name: dlg.dlg_list_ctx
 
-   Parameters: see “dlg_list�
+   Parameters: see "dlg_list"
 
    RPC Command Format:
                 serctl dlg.list_ctx [email protected] AAdfeEFF33
@@ -1862,7 +1862,7 @@ Chapter 2. Developer Guide
    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)
+1.1. register_dlgcb (dialog, type, cb, param, free_param_cb)
 
    Register a new callback to the dialog.
 
@@ -1904,14 +1904,14 @@ Chapter 2. Developer Guide
           + 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 cb - callback function to be called. Prototype is: "void
        (dialog_cb) (struct dlg_cell* dlg, int type, struct dlg_cb_params *
-       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);�
+       free the param. Prototype is: "void (param_free_cb) (void *param);"
 
-1.2.  terminate_dlg (dlg, hdrs)
+1.2. terminate_dlg (dlg, hdrs)
 
    Terminate a Dialog
 
@@ -1922,46 +1922,46 @@ Chapter 2. Developer Guide
 
 Chapter 3. Frequently Asked Questions
 
-   3.1. What happend with “use_tight_match� parameter?
+   3.1. What happend with "use_tight_match" parameter?
    3.2. Where can I find more about Kamailio?
    3.3. Where can I post a question about this module?
    3.4. How can I report a bug?
 
    3.1.
 
-       What happend with “use_tight_match� parameter?
+   What happend with "use_tight_match" parameter?
 
-       The parameter was removed with version 1.3 as the option of tight
-       matching became mandatory and not configurable. Now, the tight matching
-       is done all the time (when using DID matching).
+   The parameter was removed with version 1.3 as the option of tight
+   matching became mandatory and not configurable. Now, the tight matching
+   is done all the time (when using DID matching).
 
    3.2.
 
-       Where can I find more about Kamailio?
+   Where can I find more about Kamailio?
 
-       Take a look at http://www.kamailio.org/.
+   Take a look at http://www.kamailio.org/.
 
    3.3.
 
-       Where can I post a question about this module?
+   Where can I post a question about this module?
 
-       First at all check if your question was already answered on one of our
-       mailing lists:
-         * User Mailing List -
-           http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-         * Developer Mailing List -
-           http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
+   First at all check if your question was already answered on one of our
+   mailing lists:
+     * User Mailing List -
+       http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
+     * Developer Mailing List -
+       http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
 
-       E-mails regarding any stable Kamailio release should be sent to
-       <[email protected]> and e-mails regarding development
-       versions should be sent to <[email protected]>.
+   E-mails regarding any stable Kamailio release should be sent to
+   <[email protected]> and e-mails regarding development
+   versions should be sent to <[email protected]>.
 
-       If you want to keep the mail private, send it to
-       <[email protected]>.
+   If you want to keep the mail private, send it to
+   <[email protected]>.
 
    3.4.
 
-       How can I report a bug?
+   How can I report a bug?
 
-       Please follow the guidelines provided at:
-       http://sip-router.org/tracker.
+   Please follow the guidelines provided at:
+   http://sip-router.org/tracker.

+ 125 - 125
modules/dialog_ng/README

@@ -32,9 +32,9 @@ Edited by
 
 Richard Good
 
-   Copyright © 2006 Voice Sistem SRL
+   Copyright © 2006 Voice Sistem SRL
 
-   Copyright © 2011 Carsten Bock, http://www.ng-voice.com
+   Copyright © 2011 Carsten Bock, http://www.ng-voice.com
      __________________________________________________________________
 
    Table of Contents
@@ -247,14 +247,14 @@ Chapter 1. Admin Guide
 
 1. Overview
 
-   The dialog_ng module provides dialog awareness to the Kamailio proxy. Its
-   functionality is to keep track of the current dialogs, to offer
+   The dialog_ng module provides dialog awareness to the Kamailio proxy.
+   Its functionality is to keep track of the current dialogs, to offer
    information about them (like how many dialogs are active) or to manage
    them. The module exports several functions that could be used directly
-   from scripts. The dialog_ng module extends the original dialog module by
-   providing support for forked calling and early dialog termination. It
-   is the intention that the dialog_ng module will eventually replace the
-   dialog module.
+   from scripts. The dialog_ng module extends the original dialog module
+   by providing support for forked calling and early dialog termination.
+   It is the intention that the dialog_ng module will eventually replace
+   the dialog module.
 
    The module, via an internal API, also provide the foundation to build
    on top of it more complex dialog-based functionalities via other
@@ -263,14 +263,14 @@ Chapter 1. Admin Guide
 2. How it works
 
    To create the dialog associated to an initial request, the flag
-   “dlg_flag� ( Section 5.4, “ dlg_flag (integer) �) must be set before
+   "dlg_flag" ( Section 5.4, " dlg_flag (integer) ") must be set before
    creating the corresponding transaction.
 
-   The dialog is automatically destroyed when a “BYE� is received. In case
-   of no “BYE�, the dialog lifetime is controlled via the default timeout
-   (see “default_timeout� - Section 5.6, “ default_timeout (integer) �)
-   and custom timeout (see “timeout_avp� - Section 5.5, “ timeout_avp
-   (string) �). The dialog timeout is reset each time a sequential request
+   The dialog is automatically destroyed when a "BYE" is received. In case
+   of no "BYE", the dialog lifetime is controlled via the default timeout
+   (see "default_timeout" - Section 5.6, " default_timeout (integer) ")
+   and custom timeout (see "timeout_avp" - Section 5.5, " timeout_avp
+   (string) "). The dialog timeout is reset each time a sequential request
    passes.
 
 3. Dialog profiling
@@ -335,12 +335,12 @@ Chapter 1. Admin Guide
    5.17. bridge_controller (string)
    5.18. initial_cbs_inscript (string)
 
-5.1.  enable_stats (integer)
+5.1. enable_stats (integer)
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-5.2.  hash_size (integer)
+5.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
@@ -351,78 +351,78 @@ Chapter 1. Admin Guide
    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�.
+   Default value is "4096".
 
    Example 1.1. Set hash_size parameter
 ...
 modparam("dialog_ng", "hash_size", 1024)
 ...
 
-5.3.  rr_param (string)
+5.3. rr_param (string)
 
    Name of the Record-Route parameter to be added with the dialog cookie.
    It is used for the fast dialog matching of sequential requests.
 
-   Default value is “did�.
+   Default value is "did".
 
    Example 1.2. Set rr_param parameter
 ...
 modparam("dialog_ng", "rr_param", "xyz")
 ...
 
-5.4.  dlg_flag (integer)
+5.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).
 
-   Default value is “none�.
+   Default value is "none".
 
    Example 1.3. Set dlg_flag parameter
 ...
 modparam("dialog_ng", "dlg_flag", 4)
 ...
 
-5.5.  timeout_avp (string)
+5.5. timeout_avp (string)
 
    The specification of an AVP that contain a custom timeout (in seconds)
    for the dialog. It may be used only in a request (initial or
    sequential) context
 
-   Default value is “none�.
+   Default value is "none".
 
    Example 1.4. Set timeout_avp parameter
 ...
 modparam("dialog_ng", "timeout_avp", "$avp(i:10)")
 ...
 
-5.6.  default_timeout (integer)
+5.6. default_timeout (integer)
 
    The default dialog timeout (in seconds) if no custom one is set.
 
-   Default value is “43200 (12 hours)�.
+   Default value is "43200 (12 hours)".
 
    Example 1.5. Set default_timeout parameter
 ...
 modparam("dialog_ng", "default_timeout", 21600)
 ...
 
-5.7.  dlg_extra_hdrs (string)
+5.7. dlg_extra_hdrs (string)
 
    A string containing the extra headers (full format, with EOH) to be
    added in the requests generated by the module (like BYEs).
 
-   Default value is “NULL�.
+   Default value is "NULL".
 
    Example 1.6. Set dlf_extra_hdrs parameter
 ...
 modparam("dialog_ng", "dlg_extra_hdrs", "Hint: credit expired\r\n")
 ...
 
-5.8.  dlg_match_mode (integer)
+5.8. dlg_match_mode (integer)
 
    Deprecated - in the new dialog module we always match using DID ONLY
 
-5.9.  detect_spirals (integer)
+5.9. detect_spirals (integer)
 
    Whether spirals (i.e., messages routed through the proxy multiple
    times) should be detected or not.
@@ -439,60 +439,60 @@ modparam("dialog_ng", "dlg_extra_hdrs", "Hint: credit expired\r\n")
 modparam("dialog_ng", "detect_spirals", 1)
 ...
 
-5.10.  db_url (string)
+5.10. db_url (string)
 
    Db storage not yet supported by dialog_ng - this to be done in future.
 
-5.11.  db_mode (integer)
+5.11. db_mode (integer)
 
    Db storage not yet supported by dialog_ng - this to be done in future.
 
-5.12.  db_update_period (integer)
+5.12. db_update_period (integer)
 
    Db storage not yet supported by dialog_ng - this to be done in future.
 
-5.13.  db_fetch_rows (integer)
+5.13. db_fetch_rows (integer)
 
    Db storage not yet supported by dialog_ng - this to be done in future.
 
-5.14.  table_name (string)
+5.14. table_name (string)
 
    Db storage not yet supported by dialog_ng - this to be done in future.
 
-5.15.  profiles_with_value (string)
+5.15. profiles_with_value (string)
 
    List of names for profiles with values.
 
-   Default value is “empty�.
+   Default value is "empty".
 
    Example 1.8. Set profiles_with_value parameter
 ...
 modparam("dialog", "profiles_with_value", "caller ; my_profile")
 ...
 
-5.16.  profiles_no_value (string)
+5.16. profiles_no_value (string)
 
    List of names for profiles without values.
 
-   Default value is “empty�.
+   Default value is "empty".
 
    Example 1.9. Set profiles_no_value parameter
 ...
 modparam("dialog", "profiles_no_value", "inbound ; outbound")
 ...
 
-5.17.  bridge_controller (string)
+5.17. bridge_controller (string)
 
    SIP address to be used in From header when initiating a call bridge.
 
-   Default value is “sip:[email protected]â€�.
+   Default value is "sip:[email protected]".
 
    Example 1.10. Set bridge_controller parameter
 ...
 modparam("dialog", "bridge_controller", "sip:[email protected]")
 ...
 
-5.18.  initial_cbs_inscript (string)
+5.18. initial_cbs_inscript (string)
 
    This has been deprecated since dlg_manage has been removed.
 
@@ -512,7 +512,7 @@ modparam("dialog", "bridge_controller", "sip:[email protected]")
    6.12. dlg_get(callid, ftag, ttag)
    6.13. is_known_dlg()
 
-6.1.  set_dlg_profile(profile,[value])
+6.1. set_dlg_profile(profile,[value])
 
    Inserts the current dialog into a profile. Note that if the profile
    does not supports values, this will be silently discarded. Also, there
@@ -528,13 +528,13 @@ modparam("dialog", "bridge_controller", "sip:[email protected]")
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
    and FAILURE_ROUTE.
 
-   Example 1.11.  set_dlg_profile usage
+   Example 1.11. set_dlg_profile usage
 ...
 set_dlg_profile("inbound_call");
 set_dlg_profile("caller","$fu");
 ...
 
-6.2.  unset_dlg_profile(profile,[value])
+6.2. unset_dlg_profile(profile,[value])
 
    Removes the current dialog from a profile.
 
@@ -547,13 +547,13 @@ set_dlg_profile("caller","$fu");
    This function can be used from BRANCH_ROUTE, REPLY_ROUTE and
    FAILURE_ROUTE.
 
-   Example 1.12.  unset_dlg_profile usage
+   Example 1.12. unset_dlg_profile usage
 ...
 unset_dlg_profile("inbound_call");
 unset_dlg_profile("caller","$fu");
 ...
 
-6.3.  is_in_profile(profile,[value])
+6.3. is_in_profile(profile,[value])
 
    Checks if the current dialog belongs to a profile. If the profile
    supports values, the check can be reinforced to take into account a
@@ -570,7 +570,7 @@ unset_dlg_profile("caller","$fu");
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
    and FAILURE_ROUTE.
 
-   Example 1.13.  is_in_profile usage
+   Example 1.13. is_in_profile usage
 ...
 if (is_in_profile("inbound_call")) {
         log("this request belongs to a inbound call\n");
@@ -581,7 +581,7 @@ if (is_in_profile("caller","XX")) {
 }
 ...
 
-6.4.  get_profile_size(profile,[value],size)
+6.4. get_profile_size(profile,[value],size)
 
    Returns the number of dialogs belonging to a profile. If the profile
    supports values, the check can be reinforced to take into account a
@@ -599,7 +599,7 @@ if (is_in_profile("caller","XX")) {
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
    and FAILURE_ROUTE.
 
-   Example 1.14.  get_profile_size usage
+   Example 1.14. get_profile_size usage
 ...
 if(get_profile_size("inbound_call","$avp(size)"))
     xlog("currently there are $avp(size) inbound calls\n");
@@ -608,7 +608,7 @@ if(get_profile_size("caller","$fu","$avp(size)"))
     xlog("currently, the user $fu has $avp(size) active outgoing calls\n");
 ...
 
-6.5.  dlg_isflagset(flag)
+6.5. dlg_isflagset(flag)
 
    Check if the dialog flag is set or not.
 
@@ -618,7 +618,7 @@ if(get_profile_size("caller","$fu","$avp(size)"))
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    ONREPLY_ROUTE and FAILURE_ROUTE.
 
-   Example 1.15.  dlg_isflagset usage
+   Example 1.15. dlg_isflagset usage
 ...
 if(dlg_isflagset("1"))
 {
@@ -626,7 +626,7 @@ if(dlg_isflagset("1"))
 }
 ...
 
-6.6.  dlg_setflag(flag)
+6.6. dlg_setflag(flag)
 
    Set the dialog flag.
 
@@ -636,12 +636,12 @@ if(dlg_isflagset("1"))
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    ONREPLY_ROUTE and FAILURE_ROUTE.
 
-   Example 1.16.  dlg_setflag usage
+   Example 1.16. dlg_setflag usage
 ...
 dlg_setflag("1");
 ...
 
-6.7.  dlg_resetflag(flag)
+6.7. dlg_resetflag(flag)
 
    Reset the dialog flag.
 
@@ -651,12 +651,12 @@ dlg_setflag("1");
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    ONREPLY_ROUTE and FAILURE_ROUTE.
 
-   Example 1.17.  dlg_resetflag usage
+   Example 1.17. dlg_resetflag usage
 ...
 redlg_setflag("1");
 ...
 
-6.8.  dlg_terminate
+6.8. dlg_terminate
 
    Terminates a dialog. In dialog_ng module this function now includes
    support for early as well as confirmed dialogs.
@@ -669,33 +669,33 @@ redlg_setflag("1");
    This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
    ONREPLY_ROUTE and FAILURE_ROUTE.
 
-   Example 1.18.  dlg_terminate usage
+   Example 1.18. dlg_terminate usage
 ...
 dlg_terminate("all", "Insufficient QoS");
 ...
 
-6.9.  dlg_refer(side, address)
+6.9. dlg_refer(side, address)
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-6.10.  dlg_manage()
+6.10. dlg_manage()
 
    This has been deprecated in dialog_ng. Instead set dialog flag for
    initial INVITE and Route-parameter-callback execution for within-dialog
    requests.
 
-6.11.  dlg_bridge(from, to, op)
+6.11. dlg_bridge(from, to, op)
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-6.12.  dlg_get(callid, ftag, ttag)
+6.12. dlg_get(callid, ftag, ttag)
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-6.13.  is_known_dlg()
+6.13. is_known_dlg()
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
@@ -708,27 +708,27 @@ dlg_terminate("all", "Insufficient QoS");
    7.4. expired_dialogs
    7.5. failed_dialogs
 
-7.1.  active_dialogs
+7.1. active_dialogs
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-7.2.  early_dialogs
+7.2. early_dialogs
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-7.3.  processed_dialogs
+7.3. processed_dialogs
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-7.4.  expired_dialogs
+7.4. expired_dialogs
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-7.5.  failed_dialogs
+7.5. failed_dialogs
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
@@ -743,7 +743,7 @@ dlg_terminate("all", "Insufficient QoS");
    8.6. profile_list_dlgs
    8.7. dlg_bridge
 
-8.1.  dlg_list
+8.1. dlg_list
 
    Lists the description of a dialog or of all dialogs (calls). If only
    one dialogs is to be listed, the dialog identifiers are to be passed as
@@ -767,21 +767,21 @@ dlg_terminate("all", "Insufficient QoS");
                 [email protected]
                 AAdfeEFF33
 
-8.2.  dlg_list_ctx
+8.2. dlg_list_ctx
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-8.3.  dlg_end_dlg
+8.3. dlg_end_dlg
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-8.4.  dlg_terminate_dlg
+8.4. dlg_terminate_dlg
 
    Terminates a singe dialog, identified by the call_id, ftag, ttag. In
-   dialog_ng module this dialog can be terminated in the early or confirmed
-   states.
+   dialog_ng module this dialog can be terminated in the early or
+   confirmed states.
 
    Name: dlg_terminate_dlg
 
@@ -797,17 +797,17 @@ dlg_terminate("all", "Insufficient QoS");
                 [email protected]
                 AAdfeEFF33 ftag-1234 t-tag1234
 
-8.5.  profile_get_size
+8.5. profile_get_size
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-8.6.  profile_list_dlgs
+8.6. profile_list_dlgs
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-8.7.  dlg_bridge
+8.7. dlg_bridge
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
@@ -823,42 +823,42 @@ dlg_terminate("all", "Insufficient QoS");
    9.7. dlg.profile_list
    9.8. dlg.bridge_dlg
 
-9.1.  dlg.list
+9.1. dlg.list
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-9.2.  dlg.list_ctx
+9.2. dlg.list_ctx
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-9.3.  dlg.dlg_list
+9.3. dlg.dlg_list
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-9.4.  dlg.dlg_list_ctx
+9.4. dlg.dlg_list_ctx
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-9.5.  dlg.end_dlg
+9.5. dlg.end_dlg
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-9.6.  dlg.profile_get_size
+9.6. dlg.profile_get_size
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-9.7.  dlg.profile_list
+9.7. dlg.profile_list
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-9.8.  dlg.bridge_dlg
+9.8. dlg.bridge_dlg
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
@@ -872,32 +872,32 @@ dlg_terminate("all", "Insufficient QoS");
    10.5. $dlg_ctx(...)
    10.6. $dlg_var(key)
 
-10.1.  $DLG_count
+10.1. $DLG_count
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-10.2.  $DLG_status
+10.2. $DLG_status
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-10.3.  $DLG_lifetime
+10.3. $DLG_lifetime
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-10.4.  $dlg(...)
+10.4. $dlg(...)
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-10.5.  $dlg_ctx(...)
+10.5. $dlg_ctx(...)
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
 
-10.6.  $dlg_var(key)
+10.6. $dlg_var(key)
 
    This function is currently not supported by the dialog_ng module. To be
    incorporated in the future.
@@ -922,7 +922,7 @@ Chapter 2. Developer Guide
    1.4. get_dlg_var (dlg, key)
    1.5. get_current_dialog ()
 
-1.1.  register_dlgcb (dialog, type, cb, param, free_param_cb)
+1.1. register_dlgcb (dialog, type, cb, param, free_param_cb)
 
    Register a new callback to the dialog.
 
@@ -964,14 +964,14 @@ Chapter 2. Developer Guide
           + 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 cb - callback function to be called. Prototype is: "void
        (dialog_cb) (struct dlg_cell* dlg, int type, struct dlg_cb_params *
-       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);�
+       free the param. Prototype is: "void (param_free_cb) (void *param);"
 
-1.2.  terminate_dlg (str callid, str ftag, str ttag, hdrs)
+1.2. terminate_dlg (str callid, str ftag, str ttag, hdrs)
 
    Terminate a Dialog identified by callid, ftag and ttag in early or
    confirmed state.
@@ -983,7 +983,7 @@ Chapter 2. Developer Guide
      * str* hdrs - string containg extra headers (full format) to be added
        to the BYE requests of the dialog.
 
-1.3.  set_dlg_var (dlg, key, val)
+1.3. set_dlg_var (dlg, key, val)
 
    Add a variable to the dialog structure
 
@@ -992,7 +992,7 @@ Chapter 2. Developer Guide
      * str* key - Name of the variable.
      * str* val - Value of the variable.
 
-1.4.  get_dlg_var (dlg, key)
+1.4. get_dlg_var (dlg, key)
 
    Retrieves a variable attached to the dialog structure
 
@@ -1000,13 +1000,13 @@ Chapter 2. Developer Guide
      * struct dlg_cell* dlg - dialog to get the variable from.
      * str* key - Name of the variable.
 
-1.5.  get_current_dialog ()
+1.5. get_current_dialog ()
 
    Get the current dialog for a message, if exists
 
 Chapter 3. Frequently Asked Questions
 
-   3.1. What happend with “use_tight_match� parameter?
+   3.1. What happend with "use_tight_match" parameter?
    3.2. Why is there a dialog_ng module and a dialog module?
    3.3. Where can I find more about Kamailio?
    3.4. Where can I post a question about this module?
@@ -1014,48 +1014,48 @@ Chapter 3. Frequently Asked Questions
 
    3.1.
 
-       What happend with “use_tight_match� parameter?
+   What happend with "use_tight_match" parameter?
 
-       The parameter was removed with version 1.3 as the option of tight
-       matching became mandatory and not configurable. Now, the tight matching
-       is done all the time (when using DID matching).
+   The parameter was removed with version 1.3 as the option of tight
+   matching became mandatory and not configurable. Now, the tight matching
+   is done all the time (when using DID matching).
 
    3.2.
 
-       Why is there a dialog_ng module and a dialog module?
+   Why is there a dialog_ng module and a dialog module?
 
-       The dialog_ng module addresses shortcomings in the intial dialog module
-       design. It makes some large changes to the API and therefore must be
-       introduced slowly. It is currently in the early development stages.
-       Eventually the dialog_ng module should replace the dialog module.
+   The dialog_ng module addresses shortcomings in the intial dialog module
+   design. It makes some large changes to the API and therefore must be
+   introduced slowly. It is currently in the early development stages.
+   Eventually the dialog_ng module should replace the dialog module.
 
    3.3.
 
-       Where can I find more about Kamailio?
+   Where can I find more about Kamailio?
 
-       Take a look at http://www.kamailio.org/.
+   Take a look at http://www.kamailio.org/.
 
    3.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 -
-           http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-         * Developer Mailing List -
-           http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
+   First at all check if your question was already answered on one of our
+   mailing lists:
+     * User Mailing List -
+       http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
+     * Developer Mailing List -
+       http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
 
-       E-mails regarding any stable Kamailio release should be sent to
-       <[email protected]> and e-mails regarding development
-       versions should be sent to <[email protected]>.
+   E-mails regarding any stable Kamailio release should be sent to
+   <[email protected]> and e-mails regarding development
+   versions should be sent to <[email protected]>.
 
-       If you want to keep the mail private, send it to
-       <[email protected]>.
+   If you want to keep the mail private, send it to
+   <[email protected]>.
 
    3.5.
 
-       How can I report a bug?
+   How can I report a bug?
 
-       Please follow the guidelines provided at:
-       http://sip-router.org/tracker.
+   Please follow the guidelines provided at:
+   http://sip-router.org/tracker.

+ 14 - 14
modules/ims_auth/README

@@ -15,9 +15,9 @@ Richard Good
    Smile Communications
    <[email protected]>
 
-   Copyright © 2007 FhG FOKUS
+   Copyright © 2007 FhG FOKUS
 
-   Copyright © 2012 Smile Communications
+   Copyright © 2012 Smile Communications
      __________________________________________________________________
 
    Table of Contents
@@ -163,7 +163,7 @@ modparam("ims_auth", "name", "sip:scscf3.ims.smilecoms.com:6060")
    Default value is fine for most people. Use the parameter if you really
    need to change it.
 
-   Default value is “1024�.
+   Default value is "1024".
 
    Example 1.2. auth_data_hash_size parameter usage
 ...
@@ -175,7 +175,7 @@ modparam("ims_auth", "auth_data_hash_size", 1024)
    This is the time, in seconds, that a SENTauth vector is valid for. If
    there is no response ...
 
-   Default value is “60�.
+   Default value is "60".
 
    Example 1.3. auth_vector_timeout parameter usage
 ...
@@ -186,7 +186,7 @@ modparam("ims_auth", "auth_vector_timeout", "domain")
 
    Time, in seconds, an used auth vector is valid for.
 
-   Default value is “60�.
+   Default value is "60".
 
    Example 1.4. password_column parameter usage
 ...
@@ -224,7 +224,7 @@ modparam("ims_auth", "av_request_at_sync", 1)
      * MD5
      * HSS-Selected - HSS will decide on auth algorithm
 
-   Default value is “AKAv1-MD5�.
+   Default value is "AKAv1-MD5".
 
    Example 1.7. registration_default_algorithm parameter usage
 ...
@@ -235,7 +235,7 @@ modparam("ims_auth", "registration_default_algorithm", "HSS-Selected")
 
    The QOP options to put in the authorisation challenges.
 
-   Default value of this parameter is “auth,auth-int�.
+   Default value of this parameter is "auth,auth-int".
 
    Example 1.8. load_credentials parameter usage
 ...
@@ -246,7 +246,7 @@ modparam("ims_auth", "load_credentials", "auth-int")
 
    FQDN of Diameter Peer (HSS) to use for communication (MAR)
 
-   Default value is “�.
+   Default value is "".
 
    Example 1.9. cxdx_forced_peer parameter usage
 ...
@@ -257,7 +257,7 @@ modparam("ims_auth", "cxdx_forced_peer", "hss.ims.smilecoms.com")
 
    Destination realm to be used in Diameter messags to HSS
 
-   Default value is “ims.smilecoms.com�.
+   Default value is "ims.smilecoms.com".
 
    Example 1.10. version_table parameter usage
 ...
@@ -291,7 +291,7 @@ modparam("ims_auth", "cxdx_dest_realm", "ims.smilecoms.com")
      * realm - Realm is a opaque string that the user agent should present
        to the user so he can decide what username and password to use.
        Usually this is domain of the host the server is running on.
-       It must not be empty string “�. In case of REGISTER requests To
+       It must not be empty string "". In case of REGISTER requests To
        header field domain (e.g., variable $td) can be used (because this
        header field represents the user being registered), for all other
        messages From header field domain can be used (e.g., variable $fd).
@@ -331,9 +331,9 @@ if (!www_authorize("kamailio.org", "subscriber")) {
      * realm - Realm is a opaque string that the user agent should present
        to the user so he can decide what username and password to use.
        Usually this is domain of the host the server is running on.
-       It must not be empty string “�. Apart of a static strinh, typical
+       It must not be empty string "". Apart of a static strinh, typical
        value is From header field domain (e.g., variable $fd).
-       If an empty string “� is used then the server will generate it from
+       If an empty string "" is used then the server will generate it from
        the request. From header field domain will be used as realm.
        The string may contain pseudo variables.
      * table - Table to be used to lookup usernames and passwords (usually
@@ -365,9 +365,9 @@ if (!proxy_authorize("$fd", "subscriber)) {
      * realm - Realm is a opaque string that the user agent should present
        to the user so he can decide what username and password to use.
        Usually this is domain of the host the server is running on.
-       It must not be empty string “�. Apart of a static strinh, typical
+       It must not be empty string "". Apart of a static strinh, typical
        value is From header field domain (e.g., variable $fd).
-       If an empty string “� is used then the server will generate it from
+       If an empty string "" is used then the server will generate it from
        the request. From header field domain will be used as realm.
        The string may contain pseudo variables.
      * table - Table to be used to lookup usernames and passwords (usually

+ 2 - 2
modules/ims_icscf/README

@@ -15,9 +15,9 @@ Richard Good
    Smile Communications
    <[email protected]>
 
-   Copyright © 2007 FhG FOKUS
+   Copyright © 2007 FhG FOKUS
 
-   Copyright © 2012 Smile Communications
+   Copyright © 2012 Smile Communications
      __________________________________________________________________
 
    Table of Contents

+ 2 - 2
modules/ims_isc/README

@@ -15,9 +15,9 @@ Richard Good
    Smile Communications
    <[email protected]>
 
-   Copyright © 2007 FhG FOKUS
+   Copyright © 2007 FhG FOKUS
 
-   Copyright © 2012 Smile Communications
+   Copyright © 2012 Smile Communications
      __________________________________________________________________
 
    Table of Contents

+ 2 - 2
modules/ims_qos/README

@@ -15,9 +15,9 @@ Richard Good
    Smile Communications
    <[email protected]>
 
-   Copyright © 2007 FhG FOKUS
+   Copyright © 2007 FhG FOKUS
 
-   Copyright © 2012 Smile Communications
+   Copyright © 2012 Smile Communications
      __________________________________________________________________
 
    Table of Contents

+ 18 - 18
modules/ims_usrloc_pcscf/README

@@ -10,7 +10,7 @@ Richard Good
 
    Smile Communications
 
-   Copyright © 2012 Smile Communications
+   Copyright © 2012 Smile Communications
      __________________________________________________________________
 
    Table of Contents
@@ -184,31 +184,31 @@ Chapter 2. Frequently Asked Questions
 
    2.1.
 
-       Where can I find more about Kamailio?
+   Where can I find more about Kamailio?
 
-       Take a look at http://www.kamailio.org/.
+   Take a look at http://www.kamailio.org/.
 
    2.2.
 
-       Where can I post a question about this module?
+   Where can I post a question about this module?
 
-       First at all check if your question was already answered on one of our
-       mailing lists:
-         * User Mailing List -
-           http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-         * Developer Mailing List -
-           http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
+   First at all check if your question was already answered on one of our
+   mailing lists:
+     * User Mailing List -
+       http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
+     * Developer Mailing List -
+       http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
 
-       E-mails regarding any stable Kamailio release should be sent to
-       <[email protected]> and e-mails regarding development
-       versions should be sent to <[email protected]>.
+   E-mails regarding any stable Kamailio release should be sent to
+   <[email protected]> and e-mails regarding development
+   versions should be sent to <[email protected]>.
 
-       If you want to keep the mail private, send it to
-       <[email protected]>.
+   If you want to keep the mail private, send it to
+   <[email protected]>.
 
    2.3.
 
-       How can I report a bug?
+   How can I report a bug?
 
-       Please follow the guidelines provided at:
-       http://sip-router.org/tracker.
+   Please follow the guidelines provided at:
+   http://sip-router.org/tracker.

+ 203 - 208
modules/iptrtpproxy/README

@@ -1,4 +1,3 @@
-
 The Iptrtpproxy module
 
 Tomas Mandys
@@ -6,7 +5,7 @@ Tomas Mandys
    Iptel.org
 
    Copyright © 2007 Tomas Mandys
-     _________________________________________________________________
+     __________________________________________________________________
 
    Table of Contents
 
@@ -25,32 +24,32 @@ Tomas Mandys
 
         4. Functions
 
-              4.1. iptrtpproxy_alloc(gate_a_to_b [, existing_sess_ids]) 
-              4.2. iptrtpproxy_update(gate_a_to_b, session_ids) 
-              4.3. iptrtpproxy_adjust_timeout(gate_a_to_b, session_ids) 
-              4.4. iptrtpproxy_delete(session_ids) 
-              4.5. iptrtpproxy_authorize_media() 
-              4.6. iptrtpproxy_set_param(param, value) 
+              4.1. iptrtpproxy_alloc(gate_a_to_b [, existing_sess_ids])
+              4.2. iptrtpproxy_update(gate_a_to_b, session_ids)
+              4.3. iptrtpproxy_adjust_timeout(gate_a_to_b, session_ids)
+              4.4. iptrtpproxy_delete(session_ids)
+              4.5. iptrtpproxy_authorize_media()
+              4.6. iptrtpproxy_set_param(param, value)
               4.7.
-                      iptrtpproxy_set_param("(aggregation/switchboard)_by_sip
-                      _ip_(a/b)", sip_ip) 
+                      iptrtpproxy_set_param("(aggregation/switchboard)_by_sip_
+                      ip_(a/b)", sip_ip)
 
               4.8. iptrtpproxy_set_param("protected_session_ids",
-                      sess_ids) 
+                      sess_ids)
 
-              4.9. iptrtpproxy_set_param("o_name", value) 
-              4.10. iptrtpproxy_set_param("o_addr", value) 
-              4.11. iptrtpproxy_set_param("codec_set", value) 
-              4.12. iptrtpproxy_set_param("remove_codec_mask", value) 
+              4.9. iptrtpproxy_set_param("o_name", value)
+              4.10. iptrtpproxy_set_param("o_addr", value)
+              4.11. iptrtpproxy_set_param("codec_set", value)
+              4.12. iptrtpproxy_set_param("remove_codec_mask", value)
 
         5. Selects
 
-              5.1. @iptrtpproxy.session_ids 
-              5.2. @iptrtpproxy.sdp_ip 
-              5.3. @iptrtpproxy.o_name 
-              5.4. @iptrtpproxy.o_addr 
-              5.5. @iptrtpproxy.auth_rights 
-              5.6. @iptrtpproxy.active_media_num 
+              5.1. @iptrtpproxy.session_ids
+              5.2. @iptrtpproxy.sdp_ip
+              5.3. @iptrtpproxy.o_name
+              5.4. @iptrtpproxy.o_addr
+              5.5. @iptrtpproxy.auth_rights
+              5.6. @iptrtpproxy.active_media_num
 
    List of Examples
 
@@ -79,55 +78,55 @@ Chapter 1. Admin Guide
 
    4. Functions
 
-        4.1. iptrtpproxy_alloc(gate_a_to_b [, existing_sess_ids]) 
-        4.2. iptrtpproxy_update(gate_a_to_b, session_ids) 
-        4.3. iptrtpproxy_adjust_timeout(gate_a_to_b, session_ids) 
-        4.4. iptrtpproxy_delete(session_ids) 
-        4.5. iptrtpproxy_authorize_media() 
-        4.6. iptrtpproxy_set_param(param, value) 
+        4.1. iptrtpproxy_alloc(gate_a_to_b [, existing_sess_ids])
+        4.2. iptrtpproxy_update(gate_a_to_b, session_ids)
+        4.3. iptrtpproxy_adjust_timeout(gate_a_to_b, session_ids)
+        4.4. iptrtpproxy_delete(session_ids)
+        4.5. iptrtpproxy_authorize_media()
+        4.6. iptrtpproxy_set_param(param, value)
         4.7.
-                iptrtpproxy_set_param("(aggregation/switchboard)_by_sip_ip_(a
-                /b)", sip_ip) 
+                iptrtpproxy_set_param("(aggregation/switchboard)_by_sip_ip_(a/
+                b)", sip_ip)
 
-        4.8. iptrtpproxy_set_param("protected_session_ids", sess_ids) 
-        4.9. iptrtpproxy_set_param("o_name", value) 
-        4.10. iptrtpproxy_set_param("o_addr", value) 
-        4.11. iptrtpproxy_set_param("codec_set", value) 
-        4.12. iptrtpproxy_set_param("remove_codec_mask", value) 
+        4.8. iptrtpproxy_set_param("protected_session_ids", sess_ids)
+        4.9. iptrtpproxy_set_param("o_name", value)
+        4.10. iptrtpproxy_set_param("o_addr", value)
+        4.11. iptrtpproxy_set_param("codec_set", value)
+        4.12. iptrtpproxy_set_param("remove_codec_mask", value)
 
    5. Selects
 
-        5.1. @iptrtpproxy.session_ids 
-        5.2. @iptrtpproxy.sdp_ip 
-        5.3. @iptrtpproxy.o_name 
-        5.4. @iptrtpproxy.o_addr 
-        5.5. @iptrtpproxy.auth_rights 
-        5.6. @iptrtpproxy.active_media_num 
+        5.1. @iptrtpproxy.session_ids
+        5.2. @iptrtpproxy.sdp_ip
+        5.3. @iptrtpproxy.o_name
+        5.4. @iptrtpproxy.o_addr
+        5.5. @iptrtpproxy.auth_rights
+        5.6. @iptrtpproxy.active_media_num
 
 1. Overview
 
-   This   module   provides   similar   functionality  as  nathelper  but
-   communicates  with  netfilter  kernel  xt_RTPPROXY  module  using  the
-   libipt_RTPPROXY  userspace  library.  All  RTP streams are manipulated
-   directly  in  kernel space, no data is copied from kernel to userspace
+   This module provides similar functionality as nathelper but
+   communicates with netfilter kernel xt_RTPPROXY module using the
+   libipt_RTPPROXY userspace library. All RTP streams are manipulated
+   directly in kernel space, no data is copied from kernel to userspace
    and back, it reduces load and delay. See
    http://www.2p.cz/en/netfilter_rtp_proxy for more details.
 
-   This  Kamailio module is written as a light-weight module, there is no
-   dialog  managment  as  in  Nathelper.  The  reason is that such an API
-   should  be  provided  by  core or a specialized dialog manager module.
-   Because  such  module is not in git, session information may be stored
-   in  extra attributes of the avp_db module and the session id itself in
-   record route as cookie, see the rr module.
+   This Kamailio module is written as a light-weight module, there is no
+   dialog managment as in Nathelper. The reason is that such an API should
+   be provided by core or a specialized dialog manager module. Because
+   such module is not in git, session information may be stored in extra
+   attributes of the avp_db module and the session id itself in record
+   route as cookie, see the rr module.
 
-   It  should  be able to support all cases as re-invites when SIP client
-   offers  media  change in SDP and when number of medias in offer/answer
+   It should be able to support all cases as re-invites when SIP client
+   offers media change in SDP and when number of medias in offer/answer
    are different.
 
    Nathelper may be still used for testing if client is behind the NAT.
 
-   There  is  also  support for media authorization. Number of codec sets
-   may  be  defined.  When a message containing SDP offer/answer is being
+   There is also support for media authorization. Number of codec sets may
+   be defined. When a message containing SDP offer/answer is being
    processed then current codecs and streams may be inspected, removed or
    signallized according a codec set.
 
@@ -137,14 +136,14 @@ Chapter 1. Admin Guide
 
 2. Dependencies
 
-   The  following  libraries  or  applications  must  be installed before
+   The following libraries or applications must be installed before
    running Kamailio with this module loaded:
-     * netfilter       xt_RTPPROXY       &      libipt_RTPPROXY,      see
+     * netfilter xt_RTPPROXY & libipt_RTPPROXY, see
        http://www.2p.cz/en/netfilter_rtp_proxy
 
 Note
 
-   The  modules Makefile must be edited and iptdir setup to the directory
+   The modules Makefile must be edited and iptdir setup to the directory
    with the iptable sources (if different from ~/iptables). Alternatively
    compile the module using:
                 make -C modules/iptrtpproxy iptdir=path_to_iptables_src
@@ -160,8 +159,8 @@ Note
 
 3.1. config (string)
 
-   References  iptrtpproxy.cfg,  see iptrtpproxy_helper. Default value is
-   /etc/iptrtpproxy.cfg.  If  only codec authorization is to be used then
+   References iptrtpproxy.cfg, see iptrtpproxy_helper. Default value is
+   /etc/iptrtpproxy.cfg. If only codec authorization is to be used then
    /dev/null may be used.
 
 3.2. switchboard (string)
@@ -173,26 +172,25 @@ Note
 
   name =  "aggregation" | "sip-addr-"
 
-   The  name  is  the  switchboard name as declared in config and will be
-   used  by  script  functions and references switchboard. It's mandatory
+   The name is the switchboard name as declared in config and will be used
+   by script functions and references switchboard. It's mandatory
    parameter. The special name * set values for all switchboards.
 
-   The  sip-addr  is  address used by iptrtpproxy_ser_param(by_sip_ip) to
-   find  a  switchboard  for  particular  connection.  If  not explicitly
-   configured  then  RTP  switchboard  gate  address  are  used  for this
-   feature.
+   The sip-addr is address used by iptrtpproxy_ser_param(by_sip_ip) to
+   find a switchboard for particular connection. If not explicitly
+   configured then RTP switchboard gate address are used for this feature.
 
-   The  aggregation enables to aggregate more switchboards in cluster and
-   to  widden  bandwidth.  Aggregation  will take sip-addr from the first
+   The aggregation enables to aggregate more switchboards in cluster and
+   to widden bandwidth. Aggregation will take sip-addr from the first
    switchboard of its.
 
    Example 1.1. Declare switchboard
         ...
         modparam("iptrtpproxy", "config", "/etc/iptrtpproxy.cfg");
-        modparam("iptrtpproxy", "switchboard", "name=my1;sip-addr-a=1.2.3.4;sip
--addr-b=5.6.7.8");
-        modparam("iptrtpproxy", "switchboard", "name=my2;sip-addr-a=2.3.4.5;sip
--addr-b=3.4.5.6;aggregation=my23");
+        modparam("iptrtpproxy", "switchboard", "name=my1;sip-addr-a=1.2.3.4;sip-
+addr-b=5.6.7.8");
+        modparam("iptrtpproxy", "switchboard", "name=my2;sip-addr-a=2.3.4.5;sip-
+addr-b=3.4.5.6;aggregation=my23");
         modparam("iptrtpproxy", "switchboard", "name=my3;aggregation=my23");
         modparam("iptrtpproxy", "switchboard", "name=*;aggregation=my123");
         ...
@@ -201,14 +199,14 @@ Note
 
    Timeout in seconds used for rerequest remote RTP proxy via RPC command
    after preceeding error. In other words if a RPC server is unresponsive
-   at  the  moment  then  next attempt will be forced after this timeout.
+   at the moment then next attempt will be forced after this timeout.
    Default value is 30.
 
 3.4. hostname (string)
 
-   The  hostname  used by RPC to identify machine where Ser is running to
-   communicate  which  RTP  proxy  via  local interface. Default value is
-   taken from system hostname.
+   The hostname used by RPC to identify machine where Ser is running to
+   communicate which RTP proxy via local interface. Default value is taken
+   from system hostname.
 
 3.5. declare_codec (string)
 
@@ -217,112 +215,110 @@ Note
 
 3.6. codec_set (string)
 
-   Declares  new  codec  set.  Codecs  are  declared  for each media type
+   Declares new codec set. Codecs are declared for each media type
    independently.
 
    The format is:
   "name=" value * ( ";" name "=" value )
 
   name =  "media_type" | "rights" | "codecs" | "max_streams" | ( "rtp" | "rtcp"
- ) "_" ( "bytes" | "packets" )
+) "_" ( "bytes" | "packets" )
 
   media_types = "audio" | "video" | "application" | "text" | "message" | "data"
- | "control" | "?" | "*"
+| "control" | "?" | "*"
 
    The name is the codec set name to be defined.
 
-   The  media_type  belongs  to  type at m= SDP line. Question mark means
+   The media_type belongs to type at m= SDP line. Question mark means
    "unknown media" type and asterisk "all media types".
 
-   The  max_streams  defines  how  many streams (m= lines) is allowed per
+   The max_streams defines how many streams (m= lines) is allowed per
    media type.
 
-   The  rights defines if particular codec is allowed 0, disallowed, i.e.
-   will  be  removed  if  bit  AND  operation  with  remove_codec_mask is
-   non-zero     or     its    presence    will    be    signallized    by
-   @iptrtpproxy.auth_rights (any other value).
+   The rights defines if particular codec is allowed 0, disallowed, i.e.
+   will be removed if bit AND operation with remove_codec_mask is non-zero
+   or its presence will be signallized by @iptrtpproxy.auth_rights (any
+   other value).
 
-   The  codecs comma separated list of codecs. Previous media_type&rights
+   The codecs comma separated list of codecs. Previous media_type&rights
    will be applied.
 
-   The  rtp/rtcp_bytes/packets  limits  bandwidth  per  media_type  (0 is
-   unlimited).     It     will     override    bandwidth    limited    by
+   The rtp/rtcp_bytes/packets limits bandwidth per media_type (0 is
+   unlimited). It will override bandwidth limited by
    iptrtpproxy_set_param("throttle_*").
 
    Example 1.2. Declare codec_set
         ...
         # enable all codecs, default state when codec is declared
-        modparam("iptrtpproxy", "codec_set", "name=cs1;media_type=*;max_streams
-=9999;rights=0;codecs=*");
+        modparam("iptrtpproxy", "codec_set", "name=cs1;media_type=*;max_streams=
+9999;rights=0;codecs=*");
         # allow only 2 audio and 1 video stream
-        modparam("iptrtpproxy", "codec_set", "name=cs2;media_type=*;max_streams
-=0;media_type=audio;max_streams=2;media_type=video;max_streams=1");
-        # dtto, allow only a few audio and video codecs, GSM codec is allowed b
-ut signallized
-        modparam("iptrtpproxy", "codec_set", "name=cs3;media_type=*;max_streams
-=0;rights=1;codecs=*;media_type=audio;max_streams=2;rights=0;codecs=PCMU,G729,G
-728,parityfec,telephone-events;rights=2;codecs=GSM;media_type=video;max_streams
-=1;rights=0;codecs=jpeg,parityfec");
+        modparam("iptrtpproxy", "codec_set", "name=cs2;media_type=*;max_streams=
+0;media_type=audio;max_streams=2;media_type=video;max_streams=1");
+        # dtto, allow only a few audio and video codecs, GSM codec is allowed bu
+t signallized
+        modparam("iptrtpproxy", "codec_set", "name=cs3;media_type=*;max_streams=
+0;rights=1;codecs=*;media_type=audio;max_streams=2;rights=0;codecs=PCMU,G729,G72
+8,parityfec,telephone-events;rights=2;codecs=GSM;media_type=video;max_streams=1;
+rights=0;codecs=jpeg,parityfec");
         # limit max. bandwidth for video¨
-        modparam("iptrtpproxy", "codec_set", "name=cs4;media_type=video;rtp_byt
-es=10000;rtcp_bytes=1000");
+        modparam("iptrtpproxy", "codec_set", "name=cs4;media_type=video;rtp_byte
+s=10000;rtcp_bytes=1000");
         ...
 
 4. Functions
 
-   4.1. iptrtpproxy_alloc(gate_a_to_b [, existing_sess_ids]) 
-   4.2. iptrtpproxy_update(gate_a_to_b, session_ids) 
-   4.3. iptrtpproxy_adjust_timeout(gate_a_to_b, session_ids) 
-   4.4. iptrtpproxy_delete(session_ids) 
-   4.5. iptrtpproxy_authorize_media() 
-   4.6. iptrtpproxy_set_param(param, value) 
-   4.7.
-          iptrtpproxy_set_param("(aggregation/switchboard)_by_sip_ip_(a/b)",
-          sip_ip) 
-
-   4.8. iptrtpproxy_set_param("protected_session_ids", sess_ids) 
-   4.9. iptrtpproxy_set_param("o_name", value) 
-   4.10. iptrtpproxy_set_param("o_addr", value) 
-   4.11. iptrtpproxy_set_param("codec_set", value) 
-   4.12. iptrtpproxy_set_param("remove_codec_mask", value) 
-
-4.1.  iptrtpproxy_alloc(gate_a_to_b [, existing_sess_ids])
-
-   Parses  SDP  content  and  allocates for each RTP media stream one RTP
-   proxy   session.   SDP  is  updates  to  reflect  allocated  sessions.
-   Switchboard/aggregation  is set using iptrtpproxy_set_param(by_sip_ip)
+   4.1. iptrtpproxy_alloc(gate_a_to_b [, existing_sess_ids])
+   4.2. iptrtpproxy_update(gate_a_to_b, session_ids)
+   4.3. iptrtpproxy_adjust_timeout(gate_a_to_b, session_ids)
+   4.4. iptrtpproxy_delete(session_ids)
+   4.5. iptrtpproxy_authorize_media()
+   4.6. iptrtpproxy_set_param(param, value)
+   4.7. iptrtpproxy_set_param("(aggregation/switchboard)_by_sip_ip_(a/b)",
+          sip_ip)
+
+   4.8. iptrtpproxy_set_param("protected_session_ids", sess_ids)
+   4.9. iptrtpproxy_set_param("o_name", value)
+   4.10. iptrtpproxy_set_param("o_addr", value)
+   4.11. iptrtpproxy_set_param("codec_set", value)
+   4.12. iptrtpproxy_set_param("remove_codec_mask", value)
+
+4.1. iptrtpproxy_alloc(gate_a_to_b [, existing_sess_ids])
+
+   Parses SDP content and allocates for each RTP media stream one RTP
+   proxy session. SDP is updates to reflect allocated sessions.
+   Switchboard/aggregation is set using iptrtpproxy_set_param(by_sip_ip)
    or iptrtpproxy_set_param("switchboard/aggregation").
 
-   Aggregation  supports load balancing among more RTP proxies controlled
-   by  RPC.  The  module  try  to  allocate  at  machines/switchboards in
-   following  order  (priorities)  not  yet  asked (or being heartbeated)
-   machines,  responsive  machines,  switchboards having percentualy more
+   Aggregation supports load balancing among more RTP proxies controlled
+   by RPC. The module try to allocate at machines/switchboards in
+   following order (priorities) not yet asked (or being heartbeated)
+   machines, responsive machines, switchboards having percentualy more
    free slots, non responsive machines.
 
-   Proxy   may   hide   caller   identity   provided  at  o=  line  using
-   @iptrtpproxy.o_name/addr     and    iptrtpproxy_set_param(o_name/addr)
-   functions.  But  the  script is responsible for rewritting to original
-   values  in  a  response  or  a  callee  initiated re-INVITE. Therefore
+   Proxy may hide caller identity provided at o= line using
+   @iptrtpproxy.o_name/addr and iptrtpproxy_set_param(o_name/addr)
+   functions. But the script is responsible for rewritting to original
+   values in a response or a callee initiated re-INVITE. Therefore
    original value need to be stored in-dialog.
-     * if  gate_a_to_b  bit 0 is set then SDP regards to gate-a to gate-b
+     * if gate_a_to_b bit 0 is set then SDP regards to gate-a to gate-b
        direction.
-     * protected_session_ids  list  of  existing sessions enables reusing
-       already  allocated  sessions  in  re-INVITE without allocating new
-       sessions  for each stream in SDP regardless a IP/port is required.
+     * protected_session_ids list of existing sessions enables reusing
+       already allocated sessions in re-INVITE without allocating new
+       sessions for each stream in SDP regardless a IP/port is required.
        It's mostly undesirable, typically "hold-on" is done via re-INVITE
        without any change. There is drawback because callee cannot change
-       IP:port  in 200OK which is legal case in RFC3264. But because some
-       non-RFC3264  compliant  phones dislike proactively changed IP:port
-       at RTP proxy it seems it's less evil.
-     * function  returns  true  is  a  session was created, identifier is
+       IP:port in 200OK which is legal case in RFC3264. But because some
+       non-RFC3264 compliant phones dislike proactively changed IP:port at
+       RTP proxy it seems it's less evil.
+     * function returns true is a session was created, identifier is
        available via select @iptrtpproxy.session_ids.
 
    Example 1.3. iptrtpproxy_alloc usage
         ...
-        if (!iptrtpproxy_set_param("aggregation_by_sip_ip_a", "@received.ip"))
-{
-                if (!iptrtpproxy_set_param("switchboard_by_sip_ip_a", "@receive
-d.ip")) {
+        if (!iptrtpproxy_set_param("aggregation_by_sip_ip_a", "@received.ip")) {
+                if (!iptrtpproxy_set_param("switchboard_by_sip_ip_a", "@received
+.ip")) {
                         t_reply("500", "RTP proxy error");
                         drop;
                 }
@@ -330,19 +326,19 @@ d.ip")) {
         eval_push("x:%@next_hop.src_ip");
         if (@eval.get[-1] == @received.ip) {
                 if (@iptrtpproxy.aggregation_a) {
-                        iptrtpproxy_set_param("aggregation_b", "@iptrtpproxy.ag
-gregation_a");
+                        iptrtpproxy_set_param("aggregation_b", "@iptrtpproxy.agg
+regation_a");
                 }
                 else {
-                        iptrtpproxy_set_param("switchboard_b", "@iptrtpproxy.sw
-itchboard_a");
+                        iptrtpproxy_set_param("switchboard_b", "@iptrtpproxy.swi
+tchboard_a");
                 }
         }
         else {
-                if (!iptrtpproxy_set_param("aggregation_by_sip_ip_b", "@eval.ge
-t[-1]")) {
-                        if (!iptrtpproxy_set_param("switchboard_by_sip_ip_b", "
-@eval.get[-1]")) {
+                if (!iptrtpproxy_set_param("aggregation_by_sip_ip_b", "@eval.get
+[-1]")) {
+                        if (!iptrtpproxy_set_param("switchboard_by_sip_ip_b", "@
+eval.get[-1]")) {
                                 t_reply("500", "RTP proxy error");
                                 drop;
                         }
@@ -357,22 +353,22 @@ t[-1]")) {
         $sess_ids = @iptrtpproxy.session_ids;
         ...
 
-4.2.  iptrtpproxy_update(gate_a_to_b, session_ids)
+4.2. iptrtpproxy_update(gate_a_to_b, session_ids)
 
-   Parses  SDP  content  and updates sessions provided by session_ids and
-   updates  SDP.  If  succesfull then session_ids may be changed (in case
-   e.g.  media  stream has port zero particular session is released), the
-   result   of  @iptrtpproxy.session_ids  should  be  stored  for  future
+   Parses SDP content and updates sessions provided by session_ids and
+   updates SDP. If succesfull then session_ids may be changed (in case
+   e.g. media stream has port zero particular session is released), the
+   result of @iptrtpproxy.session_ids should be stored for future
    in-dialog usage.
 
    The SDP contect is also affected by iptrtpproxy_set_param(o_name/addr)
-   functions.  If  a  stream  is  deactivated in SDP then Sessions may be
+   functions. If a stream is deactivated in SDP then Sessions may be
    deleted unless mentioned in protected_session_ids.
-     * if  gate_a_to_b  bit 0 is set then SDP regards to gate-a to gate-b
+     * if gate_a_to_b bit 0 is set then SDP regards to gate-a to gate-b
        direction.
-       if  gate_a_to_b  bit  1  is  set  then SDP is updated only, no RTP
-       session  are affected. Should be used when handling retransmission
-       in  onreply  route,  retransmission  replies  are  not eaten be tm
+       if gate_a_to_b bit 1 is set then SDP is updated only, no RTP
+       session are affected. Should be used when handling retransmission
+       in onreply route, retransmission replies are not eaten be tm
        module!
 
    Example 1.4. iptrtpproxy_update usage
@@ -384,11 +380,11 @@ t[-1]")) {
         }
         ...
 
-4.3.  iptrtpproxy_adjust_timeout(gate_a_to_b, session_ids)
+4.3. iptrtpproxy_adjust_timeout(gate_a_to_b, session_ids)
 
-   Adjust  timeout  for particular gate. It's useful in "200 OK" decrease
+   Adjust timeout for particular gate. It's useful in "200 OK" decrease
    timeout to learning timeout if INVITE has set (long) ringing timeout.
-     * if  gate_a_to_b  bit  0 is set then it regards to gate-a to gate-b
+     * if gate_a_to_b bit 0 is set then it regards to gate-a to gate-b
        direction.
 
    Example 1.5. iptrtpproxy_adjust_timeout usage
@@ -404,11 +400,11 @@ t[-1]")) {
         }
         ...
 
-4.4.  iptrtpproxy_delete(session_ids)
+4.4. iptrtpproxy_delete(session_ids)
 
-   Delete  sessions identified by session_ids. May be used when dialog is
-   being  destroyed  (BYE)  or  when  INVITE  failed in failure route. If
-   protected_session_ids  list is provided then this set is excluded from
+   Delete sessions identified by session_ids. May be used when dialog is
+   being destroyed (BYE) or when INVITE failed in failure route. If
+   protected_session_ids list is provided then this set is excluded from
    sessions to be deleted.
 
    Example 1.6. iptrtpproxy_delete usage
@@ -417,16 +413,16 @@ t[-1]")) {
         iptrtpproxy_delete($sess_ids);
         ...
 
-4.5.  iptrtpproxy_authorize_media()
+4.5. iptrtpproxy_authorize_media()
 
    Authorizes SDP media according currect codec_set. If bit AND operation
-   between  rights  in  codec  set and remove_codec_mask is non zero then
-   such  a  codec  are  to  be  removed.  The result may be obtained from
-   @iptrtpproxy.auth_rights  which  returns  max.  right  which  has been
+   between rights in codec set and remove_codec_mask is non zero then such
+   a codec are to be removed. The result may be obtained from
+   @iptrtpproxy.auth_rights which returns max. right which has been
    applied when processing all codecs of enabled streams.
 
-   The  function  MUST  NOT be called after iptrtpproxy_alloc/update! But
-   the function may be called several times to authorize using more codec
+   The function MUST NOT be called after iptrtpproxy_alloc/update! But the
+   function may be called several times to authorize using more codec
    sets.
 
    Example 1.7. iptrtpproxy_authorize_media usage
@@ -455,91 +451,90 @@ t[-1]")) {
         }
         ...
 
-4.6.  iptrtpproxy_set_param(param, value)
+4.6. iptrtpproxy_set_param(param, value)
 
    Set particular parameter needed mainly by
-   iptrtpproxy_alloc/update/adjust_timeout.   The   paramter   value   is
-   availble via @iptrtpproxy.<param>.
-     * Supported  parameters:  expiration_timeout, ttl, learning_timeout,
-       always_learn,    aggregation_a,    aggregation_b,   switchboard_a,
-       switchboard_b,        throttle_mark,       throttle_rtp_max_bytes,
-       throttle_rtp_max_packets,                 throttle_rtcp_max_bytes,
+   iptrtpproxy_alloc/update/adjust_timeout. The paramter value is availble
+   via @iptrtpproxy.<param>.
+     * Supported parameters: expiration_timeout, ttl, learning_timeout,
+       always_learn, aggregation_a, aggregation_b, switchboard_a,
+       switchboard_b, throttle_mark, throttle_rtp_max_bytes,
+       throttle_rtp_max_packets, throttle_rtcp_max_bytes,
        throttle_rtcp_max_packets.
 
-4.7.  iptrtpproxy_set_param("(aggregation/switchboard)_by_sip_ip_(a/b)",
+4.7. iptrtpproxy_set_param("(aggregation/switchboard)_by_sip_ip_(a/b)",
 sip_ip)
 
-   Find    corresponding    aggregation    or    switchboard    and   set
-   @iptrtpproxy.aggregation_a/b      or     @iptrtpproxy.switchboard_a/b.
-   Switchboards/aggregations  are  compared  against  sip-addr,  it allow
+   Find corresponding aggregation or switchboard and set
+   @iptrtpproxy.aggregation_a/b or @iptrtpproxy.switchboard_a/b.
+   Switchboards/aggregations are compared against sip-addr, it allow
    separate SIP and RTP traffic and RTP aggregation.
-     * sip_ip    IP   to   be   compared,   typically   @received.ip   or
+     * sip_ip IP to be compared, typically @received.ip or
        @next_hop.src_ip.
      * function returns true if switchboard/aggregation was found
 
-4.8.  iptrtpproxy_set_param("protected_session_ids", sess_ids)
+4.8. iptrtpproxy_set_param("protected_session_ids", sess_ids)
 
    Used for reusing sessions in iptrtpproxy_alloc, iptrtpproxy_update and
    iptrtpproxy_delete.
 
-4.9.  iptrtpproxy_set_param("o_name", value)
+4.9. iptrtpproxy_set_param("o_name", value)
 
-   Username  to  be  rewritten  at o= line by iptrtpproxy_alloc/update to
-   hide  caller  identity.  If  value  is  blank  then  username  is left
-   unchanged.
+   Username to be rewritten at o= line by iptrtpproxy_alloc/update to hide
+   caller identity. If value is blank then username is left unchanged.
 
-4.10.  iptrtpproxy_set_param("o_addr", value)
+4.10. iptrtpproxy_set_param("o_addr", value)
 
    Address to be rewritten at o= line by iptrtpproxy_alloc/update to hide
    caller identity. If value is blank then address is left unchanged.
 
-4.11.  iptrtpproxy_set_param("codec_set", value)
+4.11. iptrtpproxy_set_param("codec_set", value)
 
-   Codec  set  for  iptrtpproxy_authorize_media. Current codec set may be
+   Codec set for iptrtpproxy_authorize_media. Current codec set may be
    obtained by @iptrtpproxy.codec_set.
 
-4.12.  iptrtpproxy_set_param("remove_codec_mask", value)
+4.12. iptrtpproxy_set_param("remove_codec_mask", value)
 
    Mask used in iptrtpproxy_authorize_media. Current mask may be obtained
    by @iptrtpproxy.remove_codec_mask.
 
 5. Selects
 
-   5.1. @iptrtpproxy.session_ids 
-   5.2. @iptrtpproxy.sdp_ip 
-   5.3. @iptrtpproxy.o_name 
-   5.4. @iptrtpproxy.o_addr 
-   5.5. @iptrtpproxy.auth_rights 
-   5.6. @iptrtpproxy.active_media_num 
+   5.1. @iptrtpproxy.session_ids
+   5.2. @iptrtpproxy.sdp_ip
+   5.3. @iptrtpproxy.o_name
+   5.4. @iptrtpproxy.o_addr
+   5.5. @iptrtpproxy.auth_rights
+   5.6. @iptrtpproxy.active_media_num
 
-5.1.  @iptrtpproxy.session_ids
+5.1. @iptrtpproxy.session_ids
 
    Returns sessions allocated/updated in iptrtpproxy_alloc/update.
 
    The format is:
-switchboard_name [ ":" [ session_id "/" created ] * ( "," session_id "/" create
-d ) ] ]
+switchboard_name [ ":" [ session_id "/" created ] * ( "," session_id "/" created
+ ) ] ]
 session_id = * ( [0-9] )   ; empty when no session allocated
 created = timestamp
 
-5.2.  @iptrtpproxy.sdp_ip
+5.2. @iptrtpproxy.sdp_ip
 
    Return first rewritten IP provided at SDP c= line.
 
-5.3.  @iptrtpproxy.o_name
+5.3. @iptrtpproxy.o_name
 
    Return username from original o= line.
 
-5.4.  @iptrtpproxy.o_addr
+5.4. @iptrtpproxy.o_addr
 
    Return address from original o= line.
 
-5.5.  @iptrtpproxy.auth_rights
+5.5. @iptrtpproxy.auth_rights
 
    Result of iptrtpproxy_authorize_media.
 
-5.6.  @iptrtpproxy.active_media_num
+5.6. @iptrtpproxy.active_media_num
 
-   Returns     number     of     active    media    streams    in    SDP.
-   iptrtpproxy_authorize_media  may  disable  some streams, i.e. returned
+   Returns number of active media streams in SDP.
+   iptrtpproxy_authorize_media may disable some streams, i.e. returned
    value may change after authorization.

+ 4 - 4
modules/ndb_redis/README

@@ -14,9 +14,9 @@ Vicente Hernando
 
    <[email protected]>
 
-   Copyright © 2011 asipto.com
+   Copyright © 2011 asipto.com
 
-   Copyright © 2012 www.systemonenoc.com
+   Copyright © 2012 www.systemonenoc.com
      __________________________________________________________________
 
    Table of Contents
@@ -124,7 +124,7 @@ modparam("ndb_redis", "server", "name=srvY;unix=/tmp/redis.sock;db=3")
    4.1. redis_cmd(srvname, command, ..., replyid)
    4.2. redis_free(replyid)
 
-4.1.  redis_cmd(srvname, command, ..., replyid)
+4.1. redis_cmd(srvname, command, ..., replyid)
 
    Send a command to REDIS server identified by srvname. The reply will be
    stored in a local container identified by replyid. All the parameters
@@ -179,7 +179,7 @@ if(redis_cmd("srvN", "HMGET foo_key field1 field3", "r")) {
 }
 ...
 
-4.2.  redis_free(replyid)
+4.2. redis_free(replyid)
 
    Frees data in a previous reply from memory. After this function call,
    accessing to a freed replyid returns null value.

+ 26 - 27
modules/timer/README

@@ -1,4 +1,3 @@
-
 timer module
 
 Tomas Mandys
@@ -6,7 +5,7 @@ Tomas Mandys
    Iptel.org
 
    Copyright © 2007 iptelorg GmbH
-     _________________________________________________________________
+     __________________________________________________________________
 
    Table of Contents
 
@@ -21,9 +20,9 @@ Tomas Mandys
 
         5. Functions
 
-              5.1. timer_enable(timer_id, enable_disable) 
-              5.2. @timer.timer.timer_id.enabled 
-              5.3. @timer.executed 
+              5.1. timer_enable(timer_id, enable_disable)
+              5.2. @timer.timer.timer_id.enabled
+              5.3. @timer.executed
 
         6. Examples
 
@@ -49,9 +48,9 @@ Chapter 1. Admin Guide
 
    5. Functions
 
-        5.1. timer_enable(timer_id, enable_disable) 
-        5.2. @timer.timer.timer_id.enabled 
-        5.3. @timer.executed 
+        5.1. timer_enable(timer_id, enable_disable)
+        5.2. @timer.timer.timer_id.enabled
+        5.3. @timer.executed
 
    6. Examples
 
@@ -67,8 +66,8 @@ Chapter 1. Admin Guide
 
         timer_id = alphanum
         slow_fast = "slow" | "fast"
-        declare_timer_syntax = timer_id "=" (route#|route_name) "," interval ",
-" slow_fast "," ["enable"]
+        declare_timer_syntax = timer_id "=" (route#|route_name) "," interval ","
+ slow_fast "," ["enable"]
         enable_disable = "0" | "1"
 
 4. Parameters
@@ -83,31 +82,31 @@ Chapter 1. Admin Guide
                         declare_timer = declare_timer_syntax
 
    timer_id is timer identifier, route is handler to be called when timer
-   is  triggered,  interval  is timer interval in milliseconds, slow_fast
+   is triggered, interval is timer interval in milliseconds, slow_fast
    determines if handler will be hooked in slow or fast timer queue, fast
-   timer  handler  returns as quickly as possible, slow timer handler may
+   timer handler returns as quickly as possible, slow timer handler may
    spend longer time, see ser/doc/timers.txt documentation. Use enable to
    enable timer when ser is starting, otherwise use timer_enable to start
    it later.
 
    Example 1.1. Example declare_timer
         ...
-        modparam("timer", "declare_timer", "MY_TIMER=MY_TIMER_ROUTE,10,slow,ena
-ble");
+        modparam("timer", "declare_timer", "MY_TIMER=MY_TIMER_ROUTE,10,slow,enab
+le");
         ...
 
 5. Functions
 
-   5.1. timer_enable(timer_id, enable_disable) 
-   5.2. @timer.timer.timer_id.enabled 
-   5.3. @timer.executed 
+   5.1. timer_enable(timer_id, enable_disable)
+   5.2. @timer.timer.timer_id.enabled
+   5.3. @timer.executed
 
-5.1.  timer_enable(timer_id, enable_disable)
+5.1. timer_enable(timer_id, enable_disable)
 
-   Enable/disable  timer  route  specified  by timer_id. Because of timer
-   core  API the callback is not disabled immediately but is removed from
-   handler  by itself not to decrease performance. Disabling and enabling
-   in  sequence  may  be tricky. timer_id references to timer declared by
+   Enable/disable timer route specified by timer_id. Because of timer core
+   API the callback is not disabled immediately but is removed from
+   handler by itself not to decrease performance. Disabling and enabling
+   in sequence may be tricky. timer_id references to timer declared by
    declare_timer.
 
    Example 1.2. timer_enable usage
@@ -115,7 +114,7 @@ ble");
         timer_enable("MY_TIMER", 1);
         ...
 
-5.2.  @timer.timer.timer_id.enabled
+5.2. @timer.timer.timer_id.enabled
 
    Return true ("1") if timer specified by timer_id is enabled, otherwise
    returns false ("0").
@@ -125,7 +124,7 @@ ble");
         ....
         }
 
-5.3.  @timer.executed
+5.3. @timer.executed
 
    Returns name of timer which has been executed, i.e. non empty value is
    returned only when handler is being processed.
@@ -162,9 +161,9 @@ route["ONTIMER2"] {
 
    Example 1.6. Using timer module for testing a functionality
 
-   The  timer  module may be used to test a functionality being developed
-   and  not  requiring  real  request.A  developer may put tested code in
-   route section which is called once after ser starts.
+   The timer module may be used to test a functionality being developed
+   and not requiring real request.A developer may put tested code in route
+   section which is called once after ser starts.
 loadmodule "timer";
 loadmodule "xprint";