The following table outlines the header manipulation language.
EdgeMarc Header Manipulation Language
Item or Header Name | Value or Variable | Description |
---|---|---|
HMR Syntax Enter the header value as a concatenation of segments using the “+” sign. Example: segment + segment + segment + ... | ||
Literal A string literal that needs to be copied verbatim into the resulting header value. The string literal should be enclosed in single quotes. Example: ‘sip:’ | ||
Variable One of the pre-defined variables. Variables extract a value from the received SIP message or the environment and place it into the value. Variables are preceded with a “$” sign. Example: $from.uri.user | ||
Function Functions operate on the variables and insert the result into the value. Example: replace ($diversion, ‘88’, ‘408’) | ||
Headers Includes the following Headers: • Request-URI • From • To • Contact • Route • User Agent • Subject • Value of From parameter 'tag' • P-Asserted-Identity (PAI) • History Info • P-Preferred-Identity (PPF) • Referred-By | $from.dispname | Display name |
$from.uri.user | User name portion of the URI | |
$from.uri.host | Host portion of the URI | |
$from.uri.port | Port from the URI | |
$from.uri.parameter[use r] | Value of URI Parameter ‘user’ | |
$from.uri.header[h1] | Value of URI header ‘h1’ | |
$from.parameter | Value of From parameter ‘tag’ | |
Via | $via.ip.host | Value of sent-by |
$via.ip.port | Value of sent-by port | |
$via.parameter[branch] | Value of parameter ‘branch’ | |
Request URI | $request.method | SIP method |
$request.uri.user | Request-URI user | |
$request.uri.host | Request-URI host | |
$request.uri.port | Request-URI port | |
Other headers | $diversion.text | Extract the entire diversion header from the received message. |
nth header | <header-name>#<numb er>.<sub-field>.<sub-fie ld> | $via.ip.host returns the sent-by value of the top most Via header. This is the same as $via#0.ip.host. To refer to a second Via header, the syntax is $via#1.ip.host. A third Via header is $via#2.ip.host, and so on. |
Environmental Variables | $env.in_intf_host | IP Address of the interface on which the message was received |
$env.in_intf_port | TCP/IP Port on which the message was received | |
$env.out_intf_host | IP Address of the interface from which the message will leave EM | |
$env.out_intf_port | Source port that is used for sending the message | |
$env.target_host | IP Address of the destination of the message | |
$env.target.port | Destination port of the message | |
$env.target_domain | Domain name of the destination of the message | |
Functions | substr (src_string, start_index, len) | The substr() function extracts a sub-string of length “len” from the src_string starting at index “start_index.” The index is zero-based. For example, the first character is index “0”, and the second character is index “1.” If the start_index is negative, counting starts from the end of the string. For example “-1” would be the last character, and “-2” would be the second to last character. This can be useful when stripping characters from the left side of “src_string.” |
replace (src_string, 'search_string', 'replace_value') | replace() function searches the “src_string” for all occurrences of “search_string” and replaces them with “replace_value." |