cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
874
Views
0
Helpful
3
Replies

CPL Forking based on Destination

Patrick Sparkman
VIP Alumni
VIP Alumni

I know how I can fork a call by using CPL, but how can someone fork a call based on the alias dialed?  So if I call endpoint-1, the call will not be forked unless the destination alias is endpoint-1, if it is something else such as endpoint-2 the forking will be bypased.

<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>

   <!-- Fork the call to <endpoint-1>@<domain> and add new aliases <endpoint-2>@<domain> and so on -->

   <taa:location clear="no" url="<endpoint-1>@<domain>">

     <!-- Fork the call to a second alias -->

     <taa:location url="<endpoint-2>@<domain>">

       <!-- Fork the call to a third alias -->

       <taa:location url="<endpoint-3>@<domain>">

         <proxy/>

       </taa:location>

     </taa:location>

   </taa:location>

</taa:routed>

</cpl>

1 Accepted Solution

Accepted Solutions

awinter2
Level 7
Level 7

Hi Patrick,

if you want to fork conditionally based on the destination alias, you could have something like

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">

This CPL would match a call with destination alias 'endpoint-1', and fork the call to two new destination aliases, 'newdestination-1' and 'newdestination-2'. If needed, you could add additional sections. The very first location section should have clear="yes" so that we remove the original destination ('endpoint-1') while the consecutive location sections should have clear="no" to preserve the new destination aliases within the location set.

Finally you should make sure to have a statement inside the very last location section to make sure that the call is actually proxied.

Hope this helps,

Andreas

View solution in original post

3 Replies 3

awinter2
Level 7
Level 7

Hi Patrick,

if you want to fork conditionally based on the destination alias, you could have something like

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">

This CPL would match a call with destination alias 'endpoint-1', and fork the call to two new destination aliases, 'newdestination-1' and 'newdestination-2'. If needed, you could add additional sections. The very first location section should have clear="yes" so that we remove the original destination ('endpoint-1') while the consecutive location sections should have clear="no" to preserve the new destination aliases within the location set.

Finally you should make sure to have a statement inside the very last location section to make sure that the call is actually proxied.

Hope this helps,

Andreas

Works perfectly, thanks.  Couldn't find a CPL example that demonstrated the destination match.  Is there a good place to see CPL rules and examples of each rule?  I've looked through the VCS admin guide and call policy documentation, but they don't cover all the variations of the CPL rules.

Patrick,

although the VCS Admin guide does not have CPL examples showing every possible use of the different CPL constructs, the guide does have a quite thorough explanation of each construct and its related fields. If you are looking for any specific examples, feel free to describe these and we'll help you out as best we can.

Cheers,

Andreas