Call Routing Interface (CRI)

The Call Routing Interface enables Blueworx Voice Response to ask the ICM for instructions on how to route (transfer) a call. Blueworx Voice Response supplies information about the call that is to be routed, and the ICM returns a label that specifies how the call is to be routed. The label is a character string that encodes the instructions for routing the call. For example, a label might consist of the digit-sequence that is needed to make the transfer; or it might contain the name of a program that is to be run to make the transfer.

Blueworx Voice Response requests routing instructions by invoking the Route_Request_Event custom server function. This function starts a dialog between Blueworx Voice Response and the ICM that is identified by a cross reference ID. The ICM responds with routing instructions that the calling application obtains through the Get_Route custom server function. The application ends the dialog by invoking the Route_End_Event custom server function.

The sequence of custom server functions that are called in a routing dialog is:

Blueworx Voice Response can end the routing dialog before normal completion. For example, the application can invoke Route_End_Event before it invokes Get_Route in the event of a caller hanging up. If the ICM cannot supply a route, a status code is returned from the Get_Route ReceiveData action.

You must issue Route_End_Event to end each Call Routing dialog inside a set time period, typically 10 seconds, from when you invoked Get_Route. The ICM system administrator sets the time period.

To send the result of the routing dialog to the ICM, use the Route_End_Event custom server function to set the status code to one of the following values:

0
If the routing transaction completed normally.
10
If the state table did not receive the routing data inside the specified time.
14
If the label that the Get_Route custom server function gets is not acceptable to the state table.

If the ICM ends the routing dialog, it specifies the result by setting the status code (returned by the Get_Route custom server function) to one of the following values:

5
If the dialed number that is provided in the Route_Request_Event custom server function is not known to the ICM.
10
If the ICM times out while it waits for a Route_End_Event custom server function to be run.
13
If the ICM cannot perform routing requests.
15
If the route request cannot be processed for any other reason.

The Call Routing Interface is also used when the ICM has routed the call to Blueworx Voice Response by a translation route. In this condition, the ICM has additional information that is associated with the call, and the ICM arranges for the call to arrive at Blueworx Voice Response with a reserved DNIS value. Blueworx Voice Response recognizes this reserved DNIS value and uses Route_Request_Event to request the additional information that is associated with the call; the ICM provides the additional information that it gets by using the Get_Route custom server function.

The Cisco ICM custom server has several functions that you can call from a state table by using SendData and ReceiveData actions. These functions are summarized in Table 1.

Some parameters are optional. If an optional parameter is not to be sent to the ICM it must be coded in the state table as the null string. The maximum length of a string (the number of allowable characters) is given in square brackets after the data type.

The Call Routing Dialog column in Table 1 indicates whether you can invoke the function when a dialog is in progress. The EDFI/CRI column in Table 1 indicates the interface command set of which an event is part of.

Table 1. Summary of the custom server functions

Activity

Function

Call Routing Dialog?

State of trunk

See

EDFI
/CRI

A call has ended

Call_Cleared_Event

No

ignored

CRI custom server functions for state tables

EDFI

An inbound call has been received

Delivered_Event

Yes

ignored

Delivered_Event

EDFI

A call has been diverted to a new service

Diverted_Event

No

busy

Diverted_Event

EDFI

Get an identification for a call

Get_CallID

Yes

N/A

Get_CallID

EDFI

Get the data to enable the call to be routed

Get_Route

Yes

busy

Get_Route

CRI

Get the number of a service

Get_ServiceID

Yes

N/A

Get_ServiceID

EDFI

The call is to be handled as a new call

New_Transaction_Event

No

busy

New_Transaction_Event

EDFI

An outbound call has been made

Originated_Event

No

ignored

Originated_Event

EDFI

A routing request has ended

Route_End_Event

Yes

ignored

Route_End_Event

CRI

The call is to be routed to another number

Route_Request_Event

No

busy

Route_Request_Event

CRI

Some variables must be reported to the ICM

Set_Call_Variables_Event

Yes

N/A

Set_Call_Variables_Event

EDFI

Some status information must be reported to the ICM

Set_VRU_Status_Variables

Yes

N/A

Set_VRU_Status_Variables

EDFI