mirror of https://github.com/sipwise/kamailio.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
10 years ago | |
|---|---|---|
| .. | ||
| doc | 10 years ago | |
| Makefile | 10 years ago | |
| README | 10 years ago | |
| ts_append.c | 10 years ago | |
| ts_append.h | 10 years ago | |
| ts_handlers.c | 10 years ago | |
| ts_handlers.h | 11 years ago | |
| ts_hash.c | 10 years ago | |
| ts_hash.h | 10 years ago | |
| ts_rpc.c | 10 years ago | |
| ts_rpc.h | 11 years ago | |
| ts_store.c | 10 years ago | |
| ts_store.h | 10 years ago | |
| tsilo.c | 10 years ago | |
| tsilo.h | 10 years ago | |
README
TSILO Module
Federico Cabiddu
<federico.cabiddu@gmail.com>
Edited by
Federico Cabiddu
<federico.cabiddu@gmail.com>
Copyright © 2015 Federico Cabiddu
__________________________________________________________________
Table of Contents
1. Admin Guide
1. Overview
2. Dependencies
2.1. Kamailio modules
2.2. External libraries or applications
3. Parameters
3.1. hash_size (integer)
3.2. use_domain (integer)
4. Functions
4.1. ts_store([uri])
4.2. ts_append(domain, ruri)
4.3. ts_append_to(tindex, tlabel, domain, [uri])
5. Exported RPC Functions
5.1. ts.dump
5.2. ts.lookup
6. Statistics
6.1. stored_ruris
6.2. stored_transactions
6.3. added_branches
6.4. total_ruris
6.5. total_transactions
List of Examples
1.1. Set hash_size parameter
1.2. Set use_domain parameter
1.3. ts_store usage
1.4. ts_append usage
1.5. ts_append_to usage
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. hash_size (integer)
3.2. use_domain (integer)
4. Functions
4.1. ts_store([uri])
4.2. ts_append(domain, ruri)
4.3. ts_append_to(tindex, tlabel, domain, [uri])
5. Exported RPC Functions
5.1. ts.dump
5.2. ts.lookup
6. Statistics
6.1. stored_ruris
6.2. stored_transactions
6.3. added_branches
6.4. total_ruris
6.5. total_transactions
1. Overview
This module provides transaction storage for the Kamailio SIP Server
Platform. It stores in an internal table transactions for a Request-URI
(R-URI) and add branches to them later if new contacts for the AOR are
added.
For each message, the modules stores “Request-URI” (“R-URI”), URI and
the internal transaction index and label.
When a transaction is destroyed by the TM module, it is removed from
the module's table too.
2. Dependencies
2.1. Kamailio modules
2.2. External libraries or applications
2.1. Kamailio modules
The following modules must be loaded before this module:
* REGISTRAR--registrar module-- used to lookup for new contacts and
update the dset for the r-uri.
* TM--transaction module-- used to send SIP requests.
* SL
2.2. External libraries or applications
The following libraries or applications must be installed before
running Kamailio with this module:
* none.
3. Parameters
3.1. hash_size (integer)
3.2. use_domain (integer)
3.1. hash_size (integer)
The size of the hash table internally used to keep the transaction. A
larger table is much faster but consumes more memory. The hash size
must be a power of two, otherwise it will be rounded down to the
nearest power of two.
Default value is “2048”.
Example 1.1. Set hash_size parameter
...
modparam("tsilo", "hash_size", 1024)
...
3.2. use_domain (integer)
Specify if the domain part of the URI should be also saved and used for
storing and retrieving users' transactions. Useful in multi domain
scenarios. Non 0 value means true.
Default value is “0”.
Example 1.2. Set use_domain parameter
...
modparam("tsilo", "use_domain", 1)
...
4. Functions
4.1. ts_store([uri])
4.2. ts_append(domain, ruri)
4.3. ts_append_to(tindex, tlabel, domain, [uri])
4.1. ts_store([uri])
The method stores uri, tindex and tlabel of the current transaction. If
the uri parameter is missing, then the value is taken from r-uri. The
uri parameter can contain variables.
This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
Example 1.3. ts_store usage
...
if (is_method("INVITE")) {
if (t_newtran()) {
ts_store();
# t_store("sip:alice@$td");
}
}
...
4.2. ts_append(domain, ruri)
The method add branches to all the stored transactions for the SIP ruri
passed as parameter, performing a contact lookup on the table specified
by the domain parameter. The method should be called when a REGISTER
request is received.
Meaning of the parameters is as follows:
* domain - Name of table that should be used for looking up new
contacts for r-uri.
* ruri - The r-uri for which we want to check existing transactions
and add them new branches. Can be a static string value or a
dynamic string with pseudo-variables.
This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
Example 1.4. ts_append usage
...
if (is_method("REGISTER")) {
ts_append("location", "$tU");
}
...
4.3. ts_append_to(tindex, tlabel, domain, [uri])
The method add branches to the transaction identified by tindex and
tlabel, performing a contacts lookup on the table specified by the
domain parameter. The method should be called when a REGISTER request
is received.
Meaning of the parameters is as follows:
* tindex - internal index of transaction. Can be an integer or a
pseudo-variable.
* tlabel - internal label of transaction. Can be an integer or a
pseudo-variable.
* domain - Name of table that should be used for looking up new
contacts for r-uri.
* uri (optiona) - uri for which to do lookup for new destinations.
This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
Example 1.5. ts_append_to usage
...
if (is_method("REGISTER")) {
$var(tindex) = ...
$var(tlabel) = ...
ts_append_to("$var(tindex)", "$var(tlabel", "location");
}
...
5. Exported RPC Functions
5.1. ts.dump
5.2. ts.lookup
5.1. ts.dump
Dumps the content of the TSILO table
Name: ts.dump
RPC Command Format:
kamcmd ts.dump
5.2. ts.lookup
Dumps the transactions stored for the given RURI
Name: ts.lookup
RPC Command Format:
kamcmd ts.lookup sip:abcd@example.com
6. Statistics
6.1. stored_ruris
6.2. stored_transactions
6.3. added_branches
6.4. total_ruris
6.5. total_transactions
6.1. stored_ruris
Number of ruris currently stored in the TSILO table.
6.2. stored_transactions
Number of transactions currently stored in the TSILO table.
6.3. added_branches
Total number of added branches from the startup.
6.4. total_ruris
Total number of stored ruris from the startup.
6.5. total_transactions
Total number of stored transactions from the startup.