Cisco Cisco Expressway Maintenance Manual

Page of 344
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> 
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.
Cisco Expressway Administrator Guide (X8.1)
Page 243 of 344
Reference material
CPL reference