The TM module introduces two new features:
- access to SIP request attributes while processing a reply belonging to same transaction
- access to SIP reply attributes while processing a request belonging to same transaction
Functionalities come as pseudo-variables, $T_req(pv) and $T_rpl(pv) - where pv can be any pseudo-variable, check documents at:
The new pseudo-variables can be used:
- in failure_route to get the attributes of the reply causing the failure route. You can take decisions what to do with the request based on reply details
- in onreply_route to get the attributes of the request. you can take decision what to do with the reply based on request attributes.
- in acc to store data from reply
- in C code (modules)
Note that couple of PV are disabled for these cases (PV will return null) - these are the PV that alter/depend on the context of the processed message, like $Ts, $Tf (but you can use $TS and $TF), $time, destination set attributes. The $avp(...) will be current avps, as they are stored in a global list. Also, in case there is a timeout or other reply generated by kamailio itself, $T_rpl(pv) will return null as there is no real reply structure behind.
Example, print the source ip of the reply in failure route:
xlog("reply received from: $T_rpl($si)\n");