Преглед на файлове

modules: readme files regenerated - siptrace ... [skip ci]

Kamailio Dev преди 5 години
родител
ревизия
ccb51b26bd
променени са 1 файла, в които са добавени 0 реда и са изтрити 605 реда
  1. 0 605
      src/modules/siptrace/README

+ 0 - 605
src/modules/siptrace/README

@@ -1,607 +1,2 @@
-SipTrace Module
 
-Daniel-Constantin Mierla
 
-   <[email protected]>
-
-Edited by
-
-Alexandr Dubovikov
-
-   <[email protected]>
-
-Daniel-Constantin Mierla
-
-   <[email protected]>
-
-Giacomo Vacca
-
-   <[email protected]>
-
-Camille Oudot
-
-   <[email protected]>
-
-   Copyright © 2010 asipto.com
-
-   Copyright © 2006 voice-system.ro
-     __________________________________________________________________
-
-   Table of Contents
-
-   1. Admin Guide
-
-        1. Overview
-        2. Dependencies
-
-              2.1. Kamailio Modules
-              2.2. External Libraries or Applications
-
-        3. Parameters
-
-              3.1. db_url (str)
-              3.2. table (str)
-              3.3. trace_flag (integer)
-              3.4. trace_on (integer)
-              3.5. traced_user_avp (str)
-              3.6. trace_table_avp (str)
-              3.7. duplicate_uri (str)
-              3.8. trace_to_database (integer)
-              3.9. trace_local_ip (str)
-              3.10. trace_sl_acks (integer)
-              3.11. xheaders_write (integer)
-              3.12. xheaders_read (integer)
-              3.13. hep_mode_on (integer)
-              3.14. hep_version (integer)
-              3.15. hep_capture_id (integer)
-              3.16. trace_delayed (integer)
-              3.17. force_send_sock (str)
-              3.18. trace_mode (integer)
-              3.19. auth_key (integer)
-
-        4. Functions
-
-              4.1. sip_trace([address][,correlation_id][,mode])
-              4.2. sip_trace_mode(tmode)
-              4.3. hlog([correlation_id,] message)
-
-        5. RPC Commands
-
-              5.1. siptrace.status param
-
-        6. Database setup
-        7. Known issues
-
-   List of Examples
-
-   1.1. Set db_url parameter
-   1.2. Set table parameter
-   1.3. Set trace_flag parameter
-   1.4. Set trace_on parameter
-   1.5. Set traced_user_avp parameter
-   1.6. Set trace_table_avp parameter
-   1.7. Set duplicate_uri parameter
-   1.8. Set trace_to_database parameter
-   1.9. Set trace_local_ip parameter
-   1.10. Set trace_sl_acks parameter
-   1.11. Set xheaders_write parameter
-   1.12. Set xheaders_read parameter
-   1.13. Set hep_mode_on parameter
-   1.14. Set hep_version parameter
-   1.15. Set hep_capture_id parameter
-   1.16. Set trace_delayed parameter
-   1.17. Set force_send_sock parameter
-   1.18. Set trace_mode parameter
-   1.19. Set auth_key parameter
-   1.20. sip_trace() usage
-   1.21. sip_trace_mode() usage
-   1.22. hlog() usage
-   1.23. Send relayed ACK message
-
-Chapter 1. Admin Guide
-
-   Table of Contents
-
-   1. Overview
-   2. Dependencies
-
-        2.1. Kamailio Modules
-        2.2. External Libraries or Applications
-
-   3. Parameters
-
-        3.1. db_url (str)
-        3.2. table (str)
-        3.3. trace_flag (integer)
-        3.4. trace_on (integer)
-        3.5. traced_user_avp (str)
-        3.6. trace_table_avp (str)
-        3.7. duplicate_uri (str)
-        3.8. trace_to_database (integer)
-        3.9. trace_local_ip (str)
-        3.10. trace_sl_acks (integer)
-        3.11. xheaders_write (integer)
-        3.12. xheaders_read (integer)
-        3.13. hep_mode_on (integer)
-        3.14. hep_version (integer)
-        3.15. hep_capture_id (integer)
-        3.16. trace_delayed (integer)
-        3.17. force_send_sock (str)
-        3.18. trace_mode (integer)
-        3.19. auth_key (integer)
-
-   4. Functions
-
-        4.1. sip_trace([address][,correlation_id][,mode])
-        4.2. sip_trace_mode(tmode)
-        4.3. hlog([correlation_id,] message)
-
-   5. RPC Commands
-
-        5.1. siptrace.status param
-
-   6. Database setup
-   7. Known issues
-
-1. Overview
-
-   The SIPtrace module offer a possibility to store incoming and outgoing
-   SIP messages in a database and/or duplicate to the capturing server
-   (using HEP, the Homer encapsulation protocol, or plain SIP mode). Since
-   version 5.3.0 new levels of tracing are available. Transactions and
-   dialogs can be traced.
-
-   There are multiple ways of storing information:
-     * by calling the sip_trace() method explicitly in the Kamailio
-       configuration file. In this case the original message is processed
-       along with it's corresponding transaction/dialog if certain flags
-       are used.
-     * by setting “trace_mode” to mirror or store to db all traffic.
-
-   The tracing can be turned on/off using Kamailio RPC commands.
-
-   kamctl rpc siptrace.status on
-
-   kamctl rpc siptrace.status off
-
-2. Dependencies
-
-   2.1. Kamailio Modules
-   2.2. External Libraries or Applications
-
-2.1. Kamailio Modules
-
-   The following modules must be conditionally loaded before this module:
-     * A database module - Mysql, Postgres, dbtext, unixODBC... Optional,
-       if tracing to DB is enabled.
-     * dialog, tm and sl modules - optional, only if you want to trace
-       messages forwarded by these modules.
-
-2.2. External Libraries or Applications
-
-   The following libraries or applications must be installed before
-   running Kamailio with this module loaded:
-     * None.
-
-3. Parameters
-
-   3.1. db_url (str)
-   3.2. table (str)
-   3.3. trace_flag (integer)
-   3.4. trace_on (integer)
-   3.5. traced_user_avp (str)
-   3.6. trace_table_avp (str)
-   3.7. duplicate_uri (str)
-   3.8. trace_to_database (integer)
-   3.9. trace_local_ip (str)
-   3.10. trace_sl_acks (integer)
-   3.11. xheaders_write (integer)
-   3.12. xheaders_read (integer)
-   3.13. hep_mode_on (integer)
-   3.14. hep_version (integer)
-   3.15. hep_capture_id (integer)
-   3.16. trace_delayed (integer)
-   3.17. force_send_sock (str)
-   3.18. trace_mode (integer)
-   3.19. auth_key (integer)
-
-3.1. db_url (str)
-
-   Database URL.
-
-   Default value is "mysql://kamailio:kamailiorw@localhost/kamailio".
-
-   Example 1.1. Set db_url parameter
-...
-modparam("siptrace", "db_url", "dbdriver://username:password@dbhost/dbname")
-...
-
-3.2. table (str)
-
-   Name of the table where to store the SIP messages.
-
-   Default value is “sip_trace”.
-
-   Example 1.2. Set table parameter
-...
-modparam("siptrace", "table", "strace")
-...
-
-3.3. trace_flag (integer)
-
-   Which flag is used to mark messages to trace without traced user.
-
-   Default value is "0".
-
-   Example 1.3. Set trace_flag parameter
-...
-modparam("siptrace", "trace_flag", 22)
-...
-
-3.4. trace_on (integer)
-
-   Parameter to enable/disable trace (on(1)/off(0))
-
-   Default value is "0".
-
-   Example 1.4. Set trace_on parameter
-...
-modparam("siptrace", "trace_on", 1)
-...
-
-3.5. traced_user_avp (str)
-
-   The name of the AVP storing the SIP URI of the traced user. If the AVP
-   is set, messages are stored in database table and the “traced_user”
-   column is filled with AVP's value. You can store the message many times
-   for many users by having multiple values for this AVP.
-
-   Default value is "NULL" (feature disabled).
-
-   Example 1.5. Set traced_user_avp parameter
-...
-modparam("siptrace", "traced_user_avp", "$avp(user)")
-...
-
-3.6. trace_table_avp (str)
-
-   The name of the AVP storing the name of the table where to store the
-   SIP messages. If it is not set, the value of “table” parameter is used.
-   In this way one can select dynamically where to store the traced
-   messages. The table must exist, and must have the same structure as the
-   “sip_trace” table.
-
-   Default value is "NULL" (feature disabled).
-
-   Example 1.6. Set trace_table_avp parameter
-...
-modparam("siptrace", "trace_table_avp", "$avp(i:345)")
-modparam("siptrace", "trace_table_avp", "$avp(s:siptrace_table)")
-...
-
-3.7. duplicate_uri (str)
-
-   The address in form of a SIP URI where to send a duplicate of traced
-   message.
-
-   Default value is "NULL".
-
-   Example 1.7. Set duplicate_uri parameter
-...
-modparam("siptrace", "duplicate_uri", "sip:10.1.1.1:5888")
-...
-
-3.8. trace_to_database (integer)
-
-   Parameter to enable/disable inserts to the database from this Kamailio.
-
-   In case we only want to send the SIP messages to the “duplicate_uri”
-   and not store the information to the local database we can set this to
-   "0".
-
-   Default value is "1".
-
-   Example 1.8. Set trace_to_database parameter
-...
-modparam("siptrace", "trace_to_database", 0)
-...
-
-3.9. trace_local_ip (str)
-
-   The address to be used in “fromip” field for locally generated
-   messages. If not set, the module sets it to the address of the socket
-   that will be used to send the message.
-
-   Default value is "NULL".
-
-   Example 1.9. Set trace_local_ip parameter
-...
-modparam("siptrace", "trace_local_ip", "10.1.1.1:5064")
-...
-
-3.10. trace_sl_acks (integer)
-
-   Parameter to enable/disable tracing of SL-filtered ACKs (on=1 / off=0).
-
-   By default all ACKs to replies generated by SL module are traced. There
-   is no way to select among them. The SL module is able to run an event
-   route when such an ACK arrives (event_route[sl:filtered-ack]). You can
-   set this parameter to 0 and then execute sip_trace() in the event
-   route, accompanied by config rules to decide which ACK to trace.
-
-   Default value is "1".
-
-   Example 1.10. Set trace_sl_acks parameter
-...
-modparam("siptrace", "trace_sl_acks", 0)
-...
-
-3.11. xheaders_write (integer)
-
-   Parameter to enable/disable writing of x-headers.
-
-   Stores “fromip”, “toip”, “method” and “direction” in “X-Siptrace-*”
-   headers. This allows to transmit them to a second Kamailio server using
-   the “duplicate_uri” feature. Because the headers are added after the
-   data is written to the database, the headers only show up in the
-   packets sent by duplicate_uri.
-
-   See xheaders_read, it should be used on the receiving side.
-
-   Note: The headers are first read, then written. This allows relaying
-   the information over more than two Kamailio servers by setting both
-   xheaders_write and xheaders_read to "1" on the servers in the middle.
-
-   Default value is "0".
-
-   Example 1.11. Set xheaders_write parameter
-...
-modparam("siptrace", "xheaders_write", 0)
-...
-
-3.12. xheaders_read (integer)
-
-   Parameter to enable/disable reading of x-headers.
-
-   Reads and removes the “X-Siptrace-*” headers. Packets not containing
-   the headers are neither stored to the database nor relayed
-   (duplicate_uri). See xheaders_write for further information.
-
-   Default value is "0".
-
-   Example 1.12. Set xheaders_read parameter
-...
-modparam("siptrace", "xheaders_read", 0)
-...
-
-3.13. hep_mode_on (integer)
-
-   Parameter to enable/disable Homer encapsulate mode (on(1)/off(0))
-
-   Default value is "0".
-
-   Example 1.13. Set hep_mode_on parameter
-...
-modparam("siptrace", "hep_mode_on", 1)
-...
-
-3.14. hep_version (integer)
-
-   The parameter indicate the version of the HEP protocol. Can be “1”, “2”
-   or “3”. In HEPv2 and HEPv3 the timestamp and capture agent ID will be
-   included in the HEP header.
-
-   Default value is "1".
-
-   Example 1.14. Set hep_version parameter
-...
-modparam("siptrace", "hep_version", 3)
-...
-
-3.15. hep_capture_id (integer)
-
-   The parameter indicate the capture agent ID for the HEPv2 or HEPv3
-   protocol. Limitation: 16-bit integer for HEPv2, 32-bit for HEPv3.
-
-   Default value is "1".
-
-   Example 1.15. Set hep_capture_id parameter
-...
-modparam("siptrace", "hep_capture_id", 234)
-...
-
-3.16. trace_delayed (integer)
-
-   Use “INSERT DELAYED” to store to database when it is available, instead
-   of “INSERT”.
-
-   Default value is 0 (off).
-
-   Example 1.16. Set trace_delayed parameter
-...
-modparam("siptrace", "trace_delayed", 1)
-...
-
-3.17. force_send_sock (str)
-
-   The local interface in the form of SIP URI from where to send the
-   duplicated traffic. In the absence of this parameter Kamailio
-   automatically picks an interface.
-
-   Example 1.17. Set force_send_sock parameter
-...
-modparam("siptrace", "force_send_sock", "sip:10.1.1.2:5000")
-...
-
-3.18. trace_mode (integer)
-
-   If not set to 0, the module uses core events triggered when receiving
-   or sending SIP traffic to store it to database or mirror it to a SIP
-   capture server using HEP or UDP forwarding. It will automatically do
-   the handling of all SIP traffic. It is no longer needed to set the
-   siptrace flag per request or execute sip_trace(), if it is done, then
-   the storing and mirroring is duplicated.
-
-   The value of the parameter can be a combination of next values:
-     * 0 - no automatic mirroring or storing of SIP traffic.
-     * 1 (1st bit set) - mirror the traffic to HEP server.
-     * 2 (2nd bit set) - store the traffic to database server.
-     * 4 (3rd bit set) - mirro the traffic to the SIP URI specified by
-       duplicate_uri.
-
-   The trace_on parameter still has to be set, allowing also to control
-   this mode of mirroring via RPC commands.
-
-   Default value is 0.
-
-   Example 1.18. Set trace_mode parameter
-...
-modparam("siptrace", "trace_on", 1)
-modparam("siptrace", "trace_mode", 1)
-...
-modparam("siptrace", "trace_mode", 3)
-...
-
-3.19. auth_key (integer)
-
-   A string with an authorization key. Supported on HEPv3 only.
-
-   Default value is empty.
-
-   Example 1.19. Set auth_key parameter
-...
-modparam("siptrace", "auth_key", "spoihepuirthpeuia")
-...
-
-4. Functions
-
-   4.1. sip_trace([address][,correlation_id][,mode])
-   4.2. sip_trace_mode(tmode)
-   4.3. hlog([correlation_id,] message)
-
-4.1.  sip_trace([address][,correlation_id][,mode])
-
-   Store or forward the current processed SIP message/transaction/dialog
-   in database. It is stored in the form prior applying changes made to
-   it. Based on mode, one can trace the current message('m' - default),
-   the current transaction('t') or the current dialog('d').
-
-   Meaning of the parameters is as follows:
-     * address - The address in form of SIP URI where to send a duplicate
-       of traced message. This parameter trumps duplicate_uri and allows
-       tracing to more than one server.
-     * correlation_id - A string with a correlation ID to be added to the
-       HEP header when using HEPv3. It's possible to use PVs.
-     * mode - SIP messages to be traced. One can trace the current message
-       (function can be called on either a reply or a request), the
-       current transaction(the route must belong to a request) or the
-       current dialog(the message has to be an invite).
-
-   This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
-   ONREPLY_ROUTE, BRANCH_ROUTE.
-   Default value is "NULL".
-
-   Example 1.20. sip_trace() usage
-...
-sip_trace();
-...
-sip_trace("sip:10.1.1.2:5085");
-...
-sip_trace("sip:10.1.1.2:5085", "$ci-abc");
-...
-/* trace current dialog; needs to be done on initial INVITE and dialog has to be
- loaded */
-sip_trace("sip:10.1.1.2:5085", "$ci-abc", "d");
-...
-
-4.2.  sip_trace_mode(tmode)
-
-   Set the tracing mode: message, transaction or dialog. Only the first
-   character of the parameter matters: m or M for message; t or T for
-   transaction; d or D for dialog.
-
-   In message tracing mode only the current message is stored or mirrored.
-   In transaction tracing mode, all the messages of the current
-   transaction are stored or mirrored. In dialog tracing mode, all the
-   messages of the current dialog are stored or mirrored.
-
-   This function can be used in ANY_ROUTE.
-
-   Example 1.21. sip_trace_mode() usage
-...
-sip_trace_mode("t");
-...
-
-4.3.  hlog([correlation_id,] message)
-
-   Sends a log event as a HEP3 packet to the homer host configured in
-   duplicate_uri.
-
-   Meaning of the parameters is as follows:
-     * correlation_id (optional) - Homer correlation ID for this event. If
-       this parameter is not set, the current message's call-id will be
-       used. (This parameter may contain PVs)
-     * message - The text to send to Homer as log event. (This parameter
-       may contain PVs)
-
-   Example 1.22. hlog() usage
-...
-hlog("[cfg:$cfg(line)] This is a log from kamailio to Homer");
-...
-hlog("$hdr(P-MyID)", "Another one with a custom correlation ID");
-...
-
-5. RPC Commands
-
-   5.1. siptrace.status param
-
-5.1.  siptrace.status param
-
-   Name: siptrace.status
-
-   Parameters:
-     * on or off: turns on/off SIP message tracing. Possible values are:
-          + on
-          + off
-     * “check” does not change siptrace status, just reports the current
-       status.
-
-   RPC Command Format:
-...
-kamcmd siptrace.status on
-kamcmd siptrace.status off
-kamcmd siptrace.status check
-...
-
-6. Database setup
-
-   Before running Kamailio with siptrace, you have to setup the database
-   tables where the module will store the data. For that, if the table
-   were not created by the installation script or you choose to install
-   everything by yourself you can use the siptrace-create.sql SQL script
-   in the database directories in the kamailio/scripts folder as template.
-   You can also find the complete database documentation on the project
-   webpage,
-   https://www.kamailio.org/docs/db-tables/kamailio-db-devel.html.
-
-7. Known issues
-
-   Stateless forwarded messages (forward()) are not logged if you set the
-   flag, use sip_trace() inside onsend_route block.
-
-   If dialog level tracing is used internally generated BYE transaction(in
-   case of internal timeouts) won't be traced. At the moment kamailio
-   offers no posibility to trace those messages.
-
-   Trace_info xavp name is reserved by this module. Any use of xavp with
-   this name will result in overlapping internal avp used by the module
-   therefore causing unknown consequences.
-
-   Example 1.23. Send relayed ACK message
-...
-onsend_route {
-    if (is_method("ACK")) {
-        sip_trace();
-    }
-}
-...