This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
cookbooks:devel:pseudovariables [2020/01/14 10:39] linuxmaniac [pv_headers module variables] |
cookbooks:devel:pseudovariables [2020/04/02 15:23] miconda [$fs - Forced socket] |
||
---|---|---|---|
Line 248: | Line 248: | ||
**$fn** - reference to display name of ' | **$fn** - reference to display name of ' | ||
- | ==== $fs - Forced | + | ==== $fs - Forced |
- | **$fs** - reference to the forced socket for message | + | **$fs** - reference to the forced |
<fc # | <fc # | ||
+ | |||
+ | Example: | ||
+ | |||
+ | <code c> | ||
+ | listen=udp: | ||
+ | ... | ||
+ | $fs = " | ||
+ | </ | ||
+ | |||
+ | ==== $fsn - Forced Send Socket Name ==== | ||
+ | |||
+ | **$fsn** - reference to the name of the forced send socket for the SIP message. The name can be assigned to this variable to select a send socket via its name. | ||
+ | |||
+ | <code c> | ||
+ | listen=udp: | ||
+ | ... | ||
+ | $fsn = " | ||
+ | ... | ||
+ | $fs = " | ||
+ | xdbg(" | ||
+ | </ | ||
==== $ft - From tag ==== | ==== $ft - From tag ==== | ||
Line 639: | Line 660: | ||
**$env(NAME)** - value of the environment variable named NAME | **$env(NAME)** - value of the environment variable named NAME | ||
+ | Example: | ||
+ | |||
+ | <code c> | ||
+ | xdbg(" | ||
+ | </ | ||
===== $avp(id) - AVPs ===== | ===== $avp(id) - AVPs ===== | ||
Line 754: | Line 780: | ||
xavps are read and write variables. You can create multilevel xavps, as xavps may contain xavps. | xavps are read and write variables. You can create multilevel xavps, as xavps may contain xavps. | ||
+ | |||
+ | ===== $xavu(id) - XAVUs ===== | ||
+ | |||
+ | Similar to XAVPs, but with single value items, therefore there are no indexes in the naming format. XAVUs are also stored in transaction context and destroyed when the transaction is terminated. | ||
+ | |||
+ | Examples: | ||
+ | |||
+ | <code c> | ||
+ | $xavu(x) = 123; # <- set the value | ||
+ | $xavu(x) = 234; # <- update to the value, not adding to a list like for xavps | ||
+ | $xavu(x) = $null; # <- delete the xavu | ||
+ | $xavu(a=> | ||
+ | </ | ||
===== $hdr(name) - Headers ===== | ===== $hdr(name) - Headers ===== | ||
Line 994: | Line 1033: | ||
</ | </ | ||
- | ===== Benchmark module Pseudo-Variables | + | ===== SIPDUMP Module ===== |
+ | |||
+ | ==== $sipdump(name) ==== | ||
+ | |||
+ | **$sipdump(name)** | ||
+ | |||
+ | The name can be: | ||
+ | |||
+ | * tag - the tag of processing (rcv or snd) | ||
+ | * buf - entire message buffer as string | ||
+ | * len - length of the message (length of above buf) | ||
+ | * af - address family | ||
+ | * src_ip - source IP address | ||
+ | * dst_ip - destination IP address | ||
+ | * src_port - port of source address | ||
+ | * dst_port - port of source address | ||
+ | * proto - transport protocol | ||
+ | |||
+ | Example: | ||
+ | |||
+ | <code c> | ||
+ | |||
+ | event_route[sipdump: | ||
+ | if($sipdump(len) > 1024) { | ||
+ | ... | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Benchmark Module | ||
==== $BM_time_diff ==== | ==== $BM_time_diff ==== | ||
$BM_time_diff - the time difference elapsed between calls of bm_start_timer(name) and bm_log_timer(name). The value is 0 if no bm_log_timer() was called. | $BM_time_diff - the time difference elapsed between calls of bm_start_timer(name) and bm_log_timer(name). The value is 0 if no bm_log_timer() was called. | ||
- | ===== Dialog | + | ===== Dialog |
==== $dlg(attr) ==== | ==== $dlg(attr) ==== | ||
Line 1055: | Line 1124: | ||
The ' | The ' | ||
- | ===== Erlang | + | ===== Erlang |
- | ==== Erlang pseudo-variable attributes | + | ==== Attributes |
* type - get variable type. Possible types are: atom, integer, list, string, tuple, pid and ref. | * type - get variable type. Possible types are: atom, integer, list, string, tuple, pid and ref. | ||
Line 1066: | Line 1135: | ||
==== $erl_atom(name) ==== | ==== $erl_atom(name) ==== | ||
+ | |||
// | // | ||
Erlang atom is a literal, a constant with name. Formatted output pseudo variable | Erlang atom is a literal, a constant with name. Formatted output pseudo variable | ||
Line 1125: | Line 1195: | ||
module. | module. | ||
- | ===== HTable | + | ===== HTable |
==== $sht(htable=> | ==== $sht(htable=> | ||
Line 1278: | Line 1348: | ||
} | } | ||
</ | </ | ||
- | ===== Memcached | + | ===== Memcached |
==== $mct(key) ==== | ==== $mct(key) ==== | ||
Line 1355: | Line 1425: | ||
</ | </ | ||
- | ===== http_async_client | + | ===== http_async_client |
==== $http_req_id ==== | ==== $http_req_id ==== | ||
Line 1430: | Line 1500: | ||
</ | </ | ||
- | ===== TMX module Pseudo-Variables | + | ===== TMX Module |
==== $T_branch_idx ==== | ==== $T_branch_idx ==== | ||
Line 1519: | Line 1589: | ||
- | ===== UAC module Pseudo-Variables | + | ===== UAC Module |
==== $uac_req(key) ==== | ==== $uac_req(key) ==== | ||
Line 1555: | Line 1625: | ||
} | } | ||
</ | </ | ||
- | ===== Nathelper | + | ===== Nathelper |
==== $rr_count ==== | ==== $rr_count ==== | ||
Line 1565: | Line 1635: | ||
* If topmost Record Route in received SIP request or reply is a double Record Route, value of $rr_top_count is 2. If it a single Record Route, value of $rr_top_count is 1. If there is no Record Route(s), value of $rr_top_count is 0. | * If topmost Record Route in received SIP request or reply is a double Record Route, value of $rr_top_count is 2. If it a single Record Route, value of $rr_top_count is 1. If there is no Record Route(s), value of $rr_top_count is 0. | ||
- | ===== MQueue | + | ===== MQueue |
==== $mqk(q) ==== | ==== $mqk(q) ==== | ||
Line 1698: | Line 1768: | ||
</ | </ | ||
- | ===== TLS module Pseudo-Variables | + | ===== TLS Module |
==== $tls_version ==== | ==== $tls_version ==== | ||
Line 1827: | Line 1897: | ||
* $msg(fline) - sip message first line | * $msg(fline) - sip message first line | ||
- | ===== XHTTP module Pseudo-Variables | + | ===== XHTTP Module |
==== $hu ==== | ==== $hu ==== | ||
Line 1833: | Line 1903: | ||
* URL of http request. | * URL of http request. | ||
- | ===== MSRP Module | + | ===== MSRP Module ===== |
This class of pseudo-variables is exported by MSRP module and give access to attributes of MSRP frames. | This class of pseudo-variables is exported by MSRP module and give access to attributes of MSRP frames. | ||
Line 1902: | Line 1972: | ||
The internal integer id for TCP/TLS connection. | The internal integer id for TCP/TLS connection. | ||
- | ===== SIPT module Pseudo-Variables | + | ===== SIPT Module |
==== $sipt(calling_party_number.presentation) / $sipt_presentation ==== | ==== $sipt(calling_party_number.presentation) / $sipt_presentation ==== | ||
Line 2117: | Line 2187: | ||
* body - the body of the JSONRPC response | * body - the body of the JSONRPC response | ||
- | ===== Presence Module | + | ===== Presence Module ===== |
==== $subs(key) - Subscription Attributes ==== | ==== $subs(key) - Subscription Attributes ==== | ||
Line 2126: | Line 2196: | ||
* uri - subscription URI. Useful in particular for subscriptions within the dialog, when the request URI in SUBSCRIBE is the Contact address from the initial subscription. | * uri - subscription URI. Useful in particular for subscriptions within the dialog, when the request URI in SUBSCRIBE is the Contact address from the initial subscription. | ||
- | ===== Registrar Module | + | ===== Registrar Module ===== |
==== $ulc(profile=> | ==== $ulc(profile=> | ||
Line 2134: | Line 2204: | ||
It must be used after a call of “reg_fetch_contacts()”. | It must be used after a call of “reg_fetch_contacts()”. | ||
- | ===== sipcapture | + | ===== Sipcapture |
==== $hep(key) - HEP Packet Attributes ==== | ==== $hep(key) - HEP Packet Attributes ==== |