Standard-dep
This module provides the possibility to print user formatted log or debug messages from SERi [1] scripts, similar to printf function but now a specifier is replaced with a part of the SIP request. the section called "Implemented Specifiers" shows what can be printed out.
Elena-Ramona Modroiu
i [2] scripts, similar to printf function but now a specifier is replaced with a part of the SIP request. the section called “Implemented Specifiers” [3] shows what can be printed out.
i [4]
%bR : request's all branches
%ci : call-id
%cs : cseq
%ct : contact header
%Cxy : color printing based on escape sequences (x - foreground color, y - background color). The values for colors: x - default color of the terminal; s - Black; r - Red; g - Green; y - Yellow; b - Blue; p - Purple; c - Cyan; w - White
%ds : destination set
%fu : 'From' uri
%ft : 'From' tagi [5]
%Hn : host's hostname (if system hostname is FQDN, part before first .)
%Hd : host's domain (if system hosntame is FQDN, part behind first .)
%Hf : host's FQDN hostname
%Hi : host's IP address
%mb : whole SIP message buffer
%mf : flags set for current SIP request
%mi : SIP message id
%ml : SIP message length
%mx : SIP message id (in hex notation)
%nh : message's next hop
%pp : process id (pid)
%px : process id (pid) (in hex notation)
%rm : request's method
%ru : request's r-uri
%rr : reply's reason
%rs : reply's status
%rt : 'Refer-To' uri
%Ri : IP address of the interface where the request has been received
%Rp : received port
%si : IP source address
%sp : source port
%tu : 'To' uri
%tt : 'To' tag
%Ts : unix time stamp
%Tf : string formatted time
%Tx : unix time stamp (in hex notation)
%ua : User agent header field
%uq : unique id (per SER's process) - to make really unique id use %uq-%px-%mx or %uq-%px-%Tx
%{name[N]} : print the body of the Nth header identified by 'name'. If [N] is omitted then the body of the first header is printed. The first header is got when N=0, for the second N=1, a.s.o. To print the last header of that type, use -1, no other negative values are supported now. No white spaces are allowed inside the specifier (before }, before or after {, [, ] symbols). When N='*', all headers of that type are printed.
The module should identify most of compact header names (the ones recognized by seri [6] which should be all at this moment), if not, the compact form has to be specified explicitely. It is recommended to use dedicated specifiers for headers (e.g., %ua for user agent header), if they are available -- they are faster.
%<name[N]> : print the value of AVP optionally %indexed by the [N] value It uses AVPs subindexing, e.g. if you don't specify subindex and there are more AVPs with the same name, the result is NULL. To specify first AVP use [1], negative values are indexes counted backward through the list.
%@select.framework[N].value : print the value of select framework call. For detailed info what calls are available see select framework documentation (and modules documentation, as modules can extend select framework calls).
%| or %(space) : end of %@select.framework identifier. If you need to concatenate select framework call and another non-whitespace literal, you need to explicitelly set the end of the select framework identifier.
E.g. %@ruri.user%|@%@ruri.host converts all featured request uri into user@host form only.
Print a formated message using LOG function.
Meaning of the parameters is as follows:
-
level - The level that will be used in LOG function. It can be:
-
L_ALERT
-
L_CRIT
-
L_ERR
-
L_WARN
-
L_NOTICE
-
L_INFO
-
L_DBG
What really matters is the third letter of the value.
-
-
format - The formatted string to be printed.
http://www.iptel.org/ser/doc/modules/xlog
Links:
[1] http://www.iptel.org/glossary/term/244
[2] http://www.iptel.org/glossary/term/244
[3] http://www.iptel.org/xlog.html#implemented_specifiers
[4] http://www.iptel.org/glossary#term253
[5] http://www.iptel.org/glossary#term256
[6] http://www.iptel.org/glossary/term/244