Generate Call Routing Response
The Route Server evaluates the request sent by Unified CM and returns call handling instructions as a Decision and Obligation. This XACML response is returned as the body of a 200 OK message.
The XACML response includes one of the following policy decsions:
- Permit: Call is allowed.
- Deny: Call is denied.
- Indeterminate: No call routing route is determined. Follows the call treatment on failure configuration.
- Not Applicable: No call routing route is determined. Follows the call treatment on failure configuration.
The XACML may contain a call instruction XML (CIXML) obligation attribute that gives additional instructions for Unified CM to route the call or apply other special treatments. Example for obligations include directives to play a particular greeting before connecting a call and diverting a call to a different extension than the one that was dialed.
The following are the formats for the various call routing obligations (directives):
- Continue – Routes normally to current destination
Examples include directives to play a particular greeting before connecting a call and modifying the calling /called number before connecting a call.
- Divert – Routes to diverted destination specified
Examples include diverting a call to a different extension than the one that was dialed and providing a reason for the call to be diverted.
- Reject – Rejects the call.
Example includes directives to play a particular announcement when the rejecting the call.
The CIXML obligation must be consistent with the policy decision. If it is not, then Unified CM obeys the policy decision and not the obligation. For example, an obligation set to divert the call is ignored if the policy decision is to deny that call.
To learn more about the CIXML Obligation format and parameters, refer to the CURRI Developer Guide.
The following is the call routing response format:
HTTP/1.1 <Status-Code and Reason Phase> Server: <product | comment> Connection:Keep-Alive Keep-Alive: timeout = <timeout value> max = <count> Location: <new-URI> Date: <date and time> Content-Length: <msg body leng> <?xml encoding="UTF-8" version="1.0"?> <Response> <Result ResourceId="[name of resource]"> <Decision>[decision value]</Decision> <Status> <StatusCode Value="[status code]"/> <StatusMessage>[status message]</StatusMessage> <StatusDetail>[status details]</StatusDetail> </Status> <Obligations> [other obligations] <Obligation FulfillOn="[fulfill on value]" ObligationId="urn:cisco:cepm:3.3:xacml:policy-attribute"> <AttributeAssignment AttributeId="[name of attribute]"> <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string"> <cixml version="1.0> [routing directive[sub-element]] </cixml> </AttributeValue> </AttributeAssignment> </Obligation> </Obligations> </Result> </Response>
Learn How to Monitor Performance.