Version 6.4 831 March 2012
SIP User's Manual C. SIP Message Manipulation Syntax
• header.john exists
• header.john exists AND header.to.host !contains 'john'
• header.from.user == '100' OR header.from.user == '102' OR header.from.user ==
'300'
a. match-type
Description: Comparison to be made
Syntax:
♦ == equals
♦ != not equals
♦ > greater than
♦ < less than
♦ >= greater than or equal to
♦ <= less than or equal to
♦ contains does a string contain a value (relevant only to string fields)
♦ exists does a certain header exists
♦ !exists does a certain header not exists
♦ !contains does a string exclude a value. Relevant only to string fields
3. logical-expression:
Description: Condition for the logical expression
Syntax:
• AND logical And
• OR logical Or
Note: "A AND B OR C" is calculated as A AND (B OR C).
4. message-element:
Description: Element in the message
Syntax: (header / body ).message-element-name [.header-index ] * [.( sub-element /
sub-element-param )]
Examples:
• header.from
• header.via.2.host
• header.contact.header-param.expires
• header.to.uri-param.user-param
• body.application/dtmf-relay
a. message-element-name
Description: Name of the message's element - "/" only used for body types
Syntax: 1 * ( token / "/" )
Examples:
♦ from (header's name)
♦ to (header's name)
♦ application/dtmf-relay (body's name)
b. header-index
Description: Header's index in the list of headers
Syntax: Integer
Examples: If five Via headers arrive:
♦ 0 (default) refers to first Via header in message
♦ 1 second Via header