Condition lists help define the criteria by which decisions are made as to how to manipulate or forward calls. You can set conditions to determine policy application and to select applicable dial or registration plans (and their components).
The policy configuration object allows you to create policies that govern the routing of SIP phone calls and instant messages to recipients, and then back to the original caller or sender. A policy is identified by a unique name and can contain one or more rules. With each rule, you configure a condition list with a set of properties, (as well as the session configuration properties).
Both dial and registration plans use condition lists as a ”first pass” filter when matching a plan entry. The ME compares an incoming request against the configured conditions, and returns a list of matching plan entries. The match statements within the plan components then determine the final selection and/or alteration.
The following registration-plan components use condition lists:
normalization
arbiter
route
The following dial-plan components use condition lists:
normalization
arbiter
route
source-route
The following calling-groups components use condition lists:
route
source-route
The following objects in the carriers switch and trunk-group subobjects use condition lists:
outbound-normalization
inbound-normalization
The following server-pool server subobjects use condition lists:
outbound-normalization
inbound-normalization
In addition, the condition list selection is available as a match component for URI matching that defines to which calls the ME should apply the configured plan. See Using the Match Properties for more information.
Defines the conditions for policy, dial plan, or registration plan matching. If conditions match, the settings of the session configuration apply. Otherwise, default session configuration settings apply. Match statements in a condition-list include matching messages; exclude statements omit them. In some cases, you can specify a substring of a regular expression, which if found, will be a match. Specify a property and a regular expression or value for the corresponding variables. You must re-execute the command for each field you want included.
See Using Relational Operators for definitions of the operators used in condition construction.
config vsp carriers carrier name gateway name inbound-normalization name condition-list config vsp carriers carrier name gateway name outbound-normalization name condition-list config vsp carriers carrier name gateway name trunk-group name inbound-normalization name condition-list config vsp carriers carrier name gateway name trunk-group name outbound-normalization name condition-list config vsp dial-plan normalization name condition-list config vsp dial-plan arbiter name condition-list config vsp dial-plan route name condition-list config vsp dial-plan fork name condition-list config vsp dial-plan voice-mail name condition-list config vsp calling-groups group name route name condition-list config vsp calling-groups group name source-route name condition-list config vsp enterprise servers serverType serverName server-pool server serverName outbound-normalization name condition-list config vsp enterprise servers serverType serverName server-pool server serverName inbound-normalization name condition-list config vsp policies session-policies policy name rule name condition-list config vsp registration-plan normalization name condition-list config vsp registration-plan arbiter name condition-list config vsp registration-plan route name condition-list config vsp route-server-config route-server-sequence name query name condition-list
operation: Specifies the decision operation to use (AND/OR) should a condition match occur in the SIP call session.
If multiple condition matches occur, the AND operation applies the matching rule with the highest precedence. The OR operation can use any of the matched conditions.
Default: and
Values: and | or
Example: set operation or
mode: Sets how the system applies the condition list. If set to evaluate, the system runs the conditions to determine whether or not to apply the session configuration settings. If set to always-true, the system applies the session configuration settings, no conditions need to be configured. You may want to use this setting, for example, to apply session settings for a configured group without making up conditions to match the group.
Default: evaluate
Values: evaluate | always-true
Example: set mode always-true
sip-message-condition: See SIP Message Condition Options.
from-uri-condition: See From, To, and Request URI Condition Options.
to-uri-condition: See From, To, and Request URI Condition Options.
request-uri-condition: See From, To, and Request URI Condition Options.
date-time-condition: See Date and Time Condition Options.
action-condition: Specifies whether the configured rule is applied to normal SIP traffic or to a specific action. Select none to apply the rule to SIP traffic or select one of the supported actions.
Default: none
Values: none | call-control | presence-subscribe | presence-end-subscription
Example: set action-condition call-control
Matches on general fields within the received SIP message.
box: Includes or excludes messages based on the ME box number within the cluster on which this SIP message was received.
Values: <eq | ne | gt | lt | ge | le> number
Example: set sip-message-condition box exclude 3
vsp: Includes or excludes messages based on the VSP on which this SIP message was received.
Values: <match | exclude | contains> regExp
Example: set sip-message-condition vsp match 1
to-uid: Includes or excludes messages based on the identity of the recipient of the packet. The UID is a system-generated number that assigned to all SIP users known to the system. You can view this value using the ME Management System accounting/users screen.
Values: <eq | ne | gt | lt | ge | le> UID
Example: set sip-message-condition to-user gt 013
from-uid: Includes or excludes messages based on the user identity of the sender of the packet. The UID is a system-generated number that assigned to all SIP users known to the system. You can view this value using the ME Management System accounting/users screen.
Values: <eq | ne | gt lt | ge | le> UID
Example: set sip-message-condition from-user eq 025
ip-interface: Includes or excludes messages based on the ME network interface on which the SIP message was received.
Values: <match | exclude | contains> regExp
Example: set sip-message-condition ip-interface match 192.168*
direction: Includes or excludes messages based on the direction of the packet: either TX (outbound) or RX (inbound).
Values: <match | exclude > <RX | TX>
Example: set sip-message-condition direction exclude outbound
transport: Includes or excludes messages based on the protocol type of the packet.
Values: <match | exclude> <any | udp | tcp | tls>
Example: set sip-message-condition protocol exclude tls
remote-ip: Includes or excludes messages based on the originating IP address. Enter an address and mask using CIDR notation.
Values: <match | exclude> ipAddress
Example: set sip-message-condition remote-ip match 10.10.0.0/24
local-ip: Includes or excludes messages based on the destination IP address. Enter a port number between 1 an d65535.
Values: <match | exclude> ipAddress
Example: set sip-message-condition local-ip match 20.20.0.0/24
remote-port: Includes or excludes messages based on the originating port of the packet. Enter a port number between 1 and 65535.
Values: <eq | ne | gt lt | ge | le> port
Example: set sip-message-condition
local-port: Includes or excludes messages based on the ME port over which the packet is received. Enter a port number between 1 and 65535.
Values: <eq | ne | gt lt | ge | le> port
Example: set sip-message-condition local-port gt 1010
private-remote-ip: Includes or excludes messages based on the private IP address of the remote device when NAT is being used and detected by the system.
Values: <match | exclude> ipAddressmask
Example: set sip-message-condition private-remote-ip match 172.168.10.10/24
private-remote-port: Includes or excludes messages based on the private port of the remote device when NAT is being used and detected by the system.
<eq | ne | gt lt | ge | le> port
Example: set sip-message-condition private-remote-port eq 3660
uac-public-ip: Includes or excludes messages based on the public IP address of the UAC (the user agent initiating the call leg), which is present if the UAC is doing NAT.
Values: <match | exclude> ipAddressmask
Example: set sip-message-condition exclude 10.10.0.0/32
uac-public-port: Includes or excludes messages based on the public port of the UAC (the user agent initiating the call leg), which is present if the UAC is doing NAT.
Values: <eq | ne | gt lt | ge | le> port
Example: set sip-message-condition eq 10.10.0.0/32
call-leg: Includes or excludes messages based on the direction of the packet: inbound or outbound.
Values: <match | exclude> <inbound | outbound>
Example: set sip-message-condition call-leg exclude outbound
message-type: Includes or excludes table rows based on the type of message: request or response.
Values: <match | exclude> <inbound | outbound>
Example: set sip-message-condition message-type match response
request-method: Includes or excludes messages based on their request method. Select a standard method.
INVITE
ACK
OPTIONS
BYE
CANCEL
REGISTER
MESSAGE
INFO
NOTIFY
SUBSCRIBE
REFER
PRACK
PUBLISH
UPDATE
Values: <match | exclude> method
Example: set sip-message-condition request-method exclude info
request-uri: Includes or excludes table rows based on the string found in the request URI field.
Values: <match | exclude | contains> regExp
Example: set sip-message-condition match *badguy*
response-code: Includes or excludes messages based on the value in the response code field. Enter a code number or select a standard code. (Enter a ? after the mathematical operator to see the list of standard codes. For example, set sip-message-condition response-code eq ?) You can use the mathematical operators to specify a range of codes.
Values: <eq | ne | gt lt | ge | le> code
Example: set sip-message-condition response-code match ge 600
response-string: Includes or excludes messages based on the string found in the response field of the SIP header.
Values: <match | exclude | contains> regExp
Example: set sip-message-condition response-string exclude OK
call-id: Includes or excludes messages based on the value in the call ID field.
Values: <match | exclude | contains> regExp
Example: set sip-message-condition call-id match 3ab7d43aab0d43dbbec041a*
from: Includes or excludes messages based on the value in the From: field of the SIP header.
Values: <match | exclude | contains> regExp
Example: set sip-message-condition from exclude mis@companyABC.com
to: Includes or excludes messages based on the value in the To: field of the SIP header.
Values: <match | exclude | contains> regExp
Example: set sip-message-condition to match *.eng.*@companyABC.com
cseq: Includes or excludes messages based on the value in the command sequence field. Use quotation marks to enclose strings that include spaces.
Values: <match | exclude | contains> regExp
Example: set sip-message-condition cseq match ”3 invite”
content-type: Includes or excludes messages based on the string in the content type field of the SIP header.
Values: <match | exclude | contains> regExp
Example: set sip-message-condition content-type match application/*
user-agent: Includes or excludes messages based on the specified string being found in the SIP header field of the packet.
Values: <match | exclude | contains> regExp
Example: set sip-message-condition user-agent exclude *.win.*
header: Includes or excludes messages based on the specified string being found in the SIP header field of the packet.
Values: <match | exclude | contains> regExp
Example: set sip-message-condition header match .*boom.*
content: Includes or excludes messages based on the specified string found in the packet payload.
Values: <match | exclude | contains> regExp
Example: set sip-message-condition content match ”What are you doing?”
result-code: Includes or excludes messages based on the value of the result field.
Values: <match | exclude>
Values: success: the packet went through.
bad-header: the system could not parse the header and so discarded the packet.
policy-discard: the system immediately discarded the packet due to a session policy firing with an action set to discard.
policy-refuse: the system discarded the packet, due to a session policy firing with an action set to discard, but sent a response to indicate having done so.
socket-timeout: the packet was dropped due to a socket timeout.
Example: set sip-message-condition result exclude success
result-description: Includes or excludes messages based on any further information they may have been included in the results (such as a descriptive string for the resultCode).
Values: <match | exclude | contains> regExp
Example: set sip-message-condition result-string match ”from badguy.policy”
uac-public-transport: Includes or excludes messages based on the transport protocol used by the UAC (the user agent initiating the call leg), which is present if the UAC is doing NAT.
Values: <match | exclude> <any | udp | tcp | tls>
Example: set sip-message-condition uac-public-transport match tls
request-uri-user-host: Includes or excludes messages based on the ”user@host” portion of the Request URI.
Values: <match | exclude | contains> regExp
Example: set sip-message-condition request-uri-user-host match exec@company.com
to-user-host: Includes or excludes messages based on the ”user@host” portion of the TO URI
Values: <match | exclude | contains> regExp
Example: set sip-message-condition to-user-host match admin@company.com
from-user-host: Includes or excludes messages based on the ”user@host” portion of the FROM URI.
Values: <match | exclude | contains> regExp
Example: set sip-message-condition from-user-host exclude joe@company.com
cseq-message-type: Includes or excludes messages based on the SIP method type from the CSea: header line. Select one of the following method types.
INVITE
ACK
BYE
REGISTER
REFER
NOTIFY
OTHER
PRACK
CANCEL
SUBSCRIBE
OPTIONS
MESSAGE
INFO
PUBLISH
UPDATE
SERVICE
NONE
Default: match and INVITE Values: <match | exclude> methodType
Example: set sip-message-condition cseq-message-type exclude INFO
media-types: Includes or excludes messages based on the media (CODEC) type. If you set this attribute, you must enable the prescan-media-types property of the VSP settings object. Note that this attribute is case-insensitive.
Values: <match | exclude | contains> regExp
Example: set sip-message-condition media-types contains g726
Includes or excludes messages based on the content of the To, From, or Request URI field strings in the SIP message.
scheme: Includes or excludes messages based on the URI type: SIP, SIPS, or Tel.
Values: <match | exclude> regExp
Example: set from-uri-condition scheme match sips
user: Includes or excludes messages based on the user portion of the To, From, or Request URI.
Values: <match | exclude> regExp
Example: set from-uri-condition user exclude *bob.roberts*
user-param: Includes or excludes messages based on a user parameter in the SIP header of the To, From, or Request URI.
Values: <match | exclude> regExp
Example: set from-uri-condition user-param exclude *=internal
host: Includes or excludes messages based on the SIP server host portion of the To, From, or Request URI.
Values: <match | exclude> regExp
Example: set from-uri-condition-host exclude *cov.com*
port: Includes or excludes messages based on the port number recorded in the To, From, or Request URI.
Values: <match | exclude> regExp
Example: set from-uri-condition-port match 5060
ttl: Includes or excludes messages based on the time-to-life value associated with the UDP multicast packet for the particular URI type.
Values: <match | exclude> regExp
Example: set from-uri-condition ttl exclude 15
method: Includes or excludes messages based on the SIP request method: INVITE, REGISTER, NOTIFY, etc.
Values: <match | exclude> regExp
Example: set from-uri-condition method match invite
url: Includes or excludes messages based on the SIP URL.
Values: <match | exclude> regExp
Example: set from-uri-condition url match *companyABC*.com
other: Includes or excludes messages based on any parameters in the SIP header of the To, From, or Request URI except the user parameter.
Values: <match | exclude> regExp
Example: set from-uri-condition other exclude match *=temp
transport: Includes or excludes messages based on the transport protocol type of the packet: UDP, TCP, TLS, or any protocol.
Values: <match | exclude> <any | udp | tcp | tls>
Example: set from-uri-condition protocol exclude tls
named-variable-condition: Specifies the named variable to match to this policy rule and how you want to compare them.
Values: named-variable-value<variable-name><match-type><regexp-value>: Compare the specified variable value.
Named match values for this argument are:
match: Allow values which match the specified expression.
exclude: Exclude values which match the specified expression.
contains: Allow values which contain the specified expression.
Values: compare-named-variables<variable-name-1><match-type><variable-name-2>: Compare the values of two different named variables. The default match-type and only option is match, which means the ME compares if the named variable values match.
Example: set named-variable-condition named-variable-value var1 exclude \s
Creates a match condition based on the date and time of the SIP message. You can enter as many date time conditions as you wish. Use multiple conditions to further refine the date/time.
hour: Specifies the hour in the time string of the SIP message to match on for this rule to apply. Enter a whole number between 0 (midnight) and 23. To create times that do not fall on the hour boundary, for example, 1:30, use the hour and minute conditions
Values: <eq | ne | gt | lt | ge | le> value
Example: set date-time-condition hour gt 5
minute: Specifies the minute in the time string of the SIP message to match on for this rule to apply. Enter a whole number between 0 and 59.
Values: <eq | ne | gt | lt | ge | le> value
Example: set date-time-condition minute eq 30
day: specifies the day of the week in the time string of the SIP message to match on for this rule to apply.
Values: <match | exclude> <Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday>
Example: set date-time-condition exclude saturday
date: Specifies the date in the time string of the SIP message to match on for this rule to apply. Enter a whole number between 1 and 31.
Values: <eq | ne | gt | lt | ge | le> value
Example: set date-time-condition date gt 15
month: Specifies the month in the time string of the SIP message to match on for this rule to apply. Enter the name of a month.
Values: <match | exclude> month
Example: set date-time-condition month exclude january
year: Specifies the year in the time string of the SIP message to match on for this rule to apply. Enter any value.
Values: <eq | ne | gt | lt | ge | le> value
Example: set date-time-condition year eq 2011
Defines the conditions required for the ME to execute a route server query.
from-server-condition: Specifies the criteria against which the SIP server that sent the SIP message is compared to match this policy rule.
Default: Not configured Values: tag | address | server-type <match> <server-type>
Example: set from-server-condition server-type match sip-proxy
user-group-condition: Specifies the user group names in the To: and From: fields to match in this policy rule. The match indicates that the SIP message caller (From:) and the recipient (To:) are members of the specified group.
Default: Not configured Values: to-user-group | from-user-group | <match> <user-group>
Example: set user-group-condition to-user-group exclude group
named-variable-condition: Specifies the named variable to match this policy rule.
Default: Not configured Values: named-variable-value <variablename> <match> <value> | compare-named-variables <variable-name1> <match> <variable-name2>
Example: set named-variable-condition compare-named-variables var1 match var2
abort-on-failure: Specifies the ME's behavior when a query fails. When true, the ME stops querying the route server.
Default: false
Values: true | false
Example: set abort-on-failure true
stop-on-success: Specifies the ME's behavior when a query is successful. When true, the ME stops querying the route server.
Default: false
Values: true | false
Example: set stop-on-success true