Cisco Cisco Expressway Maintenance Manual

Page of 473
CPL Reference
Call Processing Language (CPL) is an XML-based language for defining call handling. This section gives details of 
the Expressway’s implementation of the CPL language and should be read in conjunction with the CPL standard 
The Expressway has many powerful inbuilt transform features so CPL should be required only if advanced call 
handling rules are required.
The Expressway supports most of the CPL standard along with some TANDBERG-defined extensions. It does not 
support the top level actions 
<incoming>
 and 
<outgoing>
 as described in RFC 3880. Instead it supports a single section 
of CPL within a 
<taa:routed>
 section.
When Call Policy is implemented by uploading a CPL script to the Expressway, the script is checked against an XML 
schema to verify the syntax. There are two schemas - one for the basic CPL specification and one for the TANDBERG 
extensions. Both of these schemas can be 
 and used to validate your script before 
uploading to the Expressway.
The following example shows the correct use of namespaces to make the syntax acceptable:
 
<?xml version="1.0" encoding="UTF-8" ?>
 
<cpl xmlns="urn:ietf:params:xml:ns:cpl"
 
  xmlns:taa="http://www.tandberg.net/cpl-extensions"
 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 
  xsi:schemaLocation="urn:ietf:params:xml:ns:cpl cpl.xsd">
 
  <taa:routed>
 
    <address-switch field="destination">
 
      <address is="reception@example.com">
 
        <proxy/>
 
      </address>
 
    </address-switch>
 
  </taa:routed>
 
</cpl> 
Source and destination address formats
When the descriptions in this section refer to the source or destination aliases of a call, this means all supported 
address formats (URIs, IP addresses, E.164 aliases and so on).
CPL Address-Switch Node
The 
address-switch
 node allows the script to run different actions based on the source or destination aliases of the 
call. It specifies which fields to match, and then a list of address nodes contains the possible matches and their 
associated actions.
The address-switch has two node parameters: 
field
 and 
subfield
.
Address
The 
address
 construct is used within an 
address-switch
 to specify addresses to match. It supports the use of 
Valid values are:
is=string
Selected field and subfield exactly match the given string.
contains=string
Selected field and subfield contain the given string. Note that the CPL standard only allows for 
this matching on the display subfield; however the Expressway allows it on any type of field.
318
Cisco Expressway Administrator Guide
Reference Material