Table of Contents
List of Examples
t_cancel_branches
usaget_cancel_callid
usaget_reply_callid
usaget_flush_flags
usaget_is_failure_route
usaget_is_branch_route
usaget_suspend
usaget_continue
usageTable of Contents
This module collects extensions from Kamailio TM module.
Kamailio TM (Transaction Management) module documentation is available at: http://www.kamailio.org/docs/modules/1.5.x/tm.html
The following modules must be loaded before this module:
tm - transaction management.
Cancel branches of an active SIP transaction. The function can be called for a SIP reply that will identify the current branch.
Parameter can be:.
all - cancel all branches.
others - cancel all branches but the current one.
this - cancel current branch.
This function can be used in ONREPLY_ROUTE.
Example 1.1. t_cancel_branches
usage
... if (t_cancel_branches("all")) { xlog("cancelled all branches\n"); } ...
Cancel first INVITE transaction identified by callid and cseq. It sets the flag if the value is greater than zero
Parameters:.
callid - call-id value.
cseq - cseq number.
flag - index of the flag to set.
This function can be used in ANY_ROUTE.
Example 1.2. t_cancel_callid
usage
... if (t_cancel_callid("123qaz", "5", "22")) { xlog("transaction cancelled\n"); } ...
Send reply to first INVITE transaction identified by callid and cseq.
Parameters:.
callid - call-id value.
cseq - cseq number.
code - reply code.
reason - reply reason.
This function can be used in ANY_ROUTE.
Example 1.3. t_reply_callid
usage
... if (t_reply_callid("123qaz", "5", "458", "Replied remotely")) { xlog("transaction replied\n"); } ...
Flush the flags from current SIP message into the already created transaction. It make sense only in routing block if the transaction was created via t_newtran() and the flags have been altered since.
This function can be used from ANY_ROUTE .
Returns true if the top-executed route block is failure_route.
This function can be used from ANY_ROUTE .
Example 1.5. t_is_failure_route
usage
... failure_route[xyz] { route(abc); } route[abc] { if(t_is_failure_route()) { ... } } ...
Returns true if the top-executed route block is branch_route.
This function can be used from ANY_ROUTE .
Example 1.6. t_is_branch_route
usage
... branch_route[xyz] { route(abc); } route[abc] { if(t_is_branch_route()) { ... } } ...
Suspend the execution of SIP request in a transaction. If transaction was not created yet, it is created by this function. Returns true in case of success and internal transaction index and label are available via $T(id_index) and $T(id_label).
This function can be used from ANY_ROUTE .
Example 1.7. t_suspend
usage
... if(t_suspend()) { xlog("proceesing suspended in trasaction [$T(id_index):$T(id_label)]\n"); exit; } ...
Continue the execution of the transaction identified by tindex and tlabel with the actions defined in route[rtname].
Parameters:.
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.
rtname - the name of the route block to execute. Can be a static string value or a dynamic string with pseudo-variables.
This function can be used in ANY_ROUTE.
$T_branch_idx
$T_reply_code
$T_req(pv)
$T_rpl(pv)
Exported pseudo-variables are documented at http://www.kamailio.org/dokuwiki/.
Generates and sends a local SIP request.
Parameters:
method - request method
RURI - request SIP URI
NEXT HOP - next hop SIP URI (OBP); use “.” if no value.
socket - local socket to be used for sending the request; use “.” if no value.
headers - set of additional headers to be added to the request; at least “From” and “To” headers must be specify)
body - (optional, may not be present) request body (if present, requires the “Content-Type” and “Content-length” headers)
Generates and sends a CANCEL for an existing local SIP request.
Parameters:
callid - callid of the INVITE request to be cancelled.
cseq - cseq of the INVITE request to be cancelled.
Generates and sends a reply for an existing inbound SIP transaction.
Parameters:
code - reply code
reason - reason phrase.
trans_id - transaction identifier (has the hash_entry:label format)
to_tag - To tag to be added to TO header
new_headers - extra headers to be appended to the reply; use a dot (“.”) char only if there are no headers;
body - (optional, may not be present) reply body (if present, requires the “Content-Type” and “Content-length” headers)
Generates and sends a reply for an existing inbound SIP transaction.
Parameters:
code - reply code
reason - reason phrase.
callid - SIP Call-ID header
cseq - SIP CSeq header
to_tag - To tag to be added to TO header
new_headers - extra headers to be appended to the reply; use a dot (“.”) char only if there are no headers;
body - (optional, may not be present) reply body (if present, requires the “Content-Type” and “Content-length” headers)
Exported statistics are listed in the next sections. All statistics except “inuse_transactions” can be reset.