com.cisco.jtapi.extensions
Interface CiscoRouteSession

All Superinterfaces:
javax.telephony.callcenter.RouteSession

public interface CiscoRouteSession
extends javax.telephony.callcenter.RouteSession

Introduction

The CiscoRouteSession interface supports application access to the underlying call that is associated with a RouteSession. Also, this interface exposes various internal ERRORs for RouteEndEvent.

See Also:
Call

Field Summary
static int CALLINGADDRESS_SEARCH_SPACE
          This indicates that the redirect should be done by using the search space of the calling address.
static int CAUSE_CTIERR_FAC_CMC_REASON_CMC_INVALID
          This constant returned by RouteSession.getCause() indicates that the routeSelectedElement in the selectRoute contains an invalid CMC code.
static int CAUSE_CTIERR_FAC_CMC_REASON_CMC_NEEDED
          This constant returned by RouteSession.getCause() indicates that the routeSelectedElement in the selectRoute does not contain the required CMC code.
static int CAUSE_CTIERR_FAC_CMC_REASON_FAC_CMC_NEEDED
          This constant returned by RouteSession.getCause() indicates that the routeSelectedElement in the selectRoute does not contain the required FAC and CMC codes.
static int CAUSE_CTIERR_FAC_CMC_REASON_FAC_INVALID
          This constant returned by RouteSession.getCause() indicates that the routeSelectedElement in the selectRoute contains an invalid FAC code.
static int CAUSE_CTIERR_FAC_CMC_REASON_FAC_NEEDED
          This constant returned by RouteSession.getCause() indicates that the routeSelectedElement in the selectRoute does not contain the required FAC code.
static int DEFAULT_SEARCH_SPACE
          This indicates that the redirect should be done by using the search space that is the default for the implementation.
static int DONOT_RESET_ORIGINALCALLED
          This is a parameter value for the PreferedOriginalCalled option; it specifies not to reset OriginalCalled.
static int ERROR_INVALID_STATE
          If an internal InvalidStateException occurred, or some preconditions or postconditions were not met during routing, the system calls endRoute with this error.
static int ERROR_NO_CALLBACK
          Because there is no default route mechanism in place, if there is no callback registered for this application, the system calls an endRoute with this error.
static int ERROR_NONE
          ERRORS defined for internal successful endRoute call.
static int ERROR_ROUTESELECT_TIMEOUT
          Each routeEvent() or reRouteEvent() that is sent starts a timer for the application to respond with a routeSelect() or endRoute().
static int RESET_ORIGINALCALLED
          This is a parameter value for PreferedOriginalCalled Option; if the value of preferedOriginalCalledOption is set to this, it will reset the OriginalCalled to preferedOriginalCalledNumber.
static int ROUTEADDRESS_SEARCH_SPACE
          This indicates that the redirect should be done by using the search space of the route point address.
 
Fields inherited from interface javax.telephony.callcenter.RouteSession
CAUSE_INVALID_DESTINATION, CAUSE_NO_ERROR, CAUSE_PARAMETER_NOT_SUPPORTED, CAUSE_ROUTING_TIMER_EXPIRED, CAUSE_STATE_INCOMPATIBLE, CAUSE_UNSPECIFIED_ERROR, ERROR_RESOURCE_BUSY, ERROR_RESOURCE_OUT_OF_SERVICE, ERROR_UNKNOWN, RE_ROUTE, ROUTE, ROUTE_CALLBACK_ENDED, ROUTE_END, ROUTE_USED
 
Method Summary
 javax.telephony.Call getCall()
          Returns the call associated with this RouteSession.
 void selectRoute(java.lang.String[] routeSelected, int callingSearchSpace)
          Overloads the selectRoute method in the RouteSession interface to allow applications to specify a calling search space to use when the call is redirected to the route destination.
 void selectRoute(java.lang.String[] routeSelected, int[] callingSearchSpace, java.lang.String[] modifyingCallingNumber, java.lang.String[] preferedOriginalCalledNumber, int[] preferedOriginalCalledOption, java.lang.String[] facCode, java.lang.String[] cmcCode, int[] featurePriority, byte[][] applicationXMLData)
          Selects one or more possible destinations for routing the Call.
 void selectRoute(java.lang.String[] routeSelected, int callingSearchSpace, java.lang.String[] modifyingCallingNumber)
          Selects one or more possible destinations for routing the Call with a modified calling number.
 void selectRoute(java.lang.String[] routeSelected, int callingSearchSpace, java.lang.String[] preferedOriginalCalledNumber, int[] preferedOriginalCalledOption)
          Selects one or more possible destinations for routing the Call.
 void selectRoute(java.lang.String[] routeSelected, int callingSearchSpace, java.lang.String[] modifyingCallingNumber, java.lang.String[] preferedOriginalCalledNumber, int[] preferedOriginalCalledOption, java.lang.String[] facCode, java.lang.String[] cmcCode)
          Selects one or more possible destinations for the routing of the Call.
 void selectRoute(java.lang.String[] routeSelected, int callingSearchSpace, java.lang.String[] modifyingCallingNumber, java.lang.String[] preferedOriginalCalledNumber, int[] preferedOriginalCalledOption, java.lang.String[] facCode, java.lang.String[] cmcCode, int featurePriority)
          Selects one or more possible destinations for routing the Call.
 void selectRoute(java.lang.String[] routeSelected, int callingSearchSpace, java.lang.String[] modifyingCallingNumber, java.lang.String[] preferedOriginalCalledNumber, int[] preferedOriginalCalledOption, java.lang.String[] facCode, java.lang.String[] cmcCode, int featurePriority, byte[][] applicationXMLData)
          Selects one or more possible destinations for routing the Call.
 
Methods inherited from interface javax.telephony.callcenter.RouteSession
endRoute, getCause, getRouteAddress, getState, selectRoute
 

Field Detail

ERROR_NONE

static final int ERROR_NONE
ERRORS defined for internal successful endRoute call. Error value set for no error.

See Also:
Constant Field Values

ERROR_ROUTESELECT_TIMEOUT

static final int ERROR_ROUTESELECT_TIMEOUT
Each routeEvent() or reRouteEvent() that is sent starts a timer for the application to respond with a routeSelect() or endRoute(). The default value of this timer is 5 seconds. Should the application not respond within this time, the system calls an endRoute with this error.

See Also:
Constant Field Values

ERROR_NO_CALLBACK

static final int ERROR_NO_CALLBACK
Because there is no default route mechanism in place, if there is no callback registered for this application, the system calls an endRoute with this error.

See Also:
Constant Field Values

ERROR_INVALID_STATE

static final int ERROR_INVALID_STATE
If an internal InvalidStateException occurred, or some preconditions or postconditions were not met during routing, the system calls endRoute with this error.

See Also:
Constant Field Values

DEFAULT_SEARCH_SPACE

static final int DEFAULT_SEARCH_SPACE
This indicates that the redirect should be done by using the search space that is the default for the implementation. The default is to use the caller search space.

See Also:
Constant Field Values

CALLINGADDRESS_SEARCH_SPACE

static final int CALLINGADDRESS_SEARCH_SPACE
This indicates that the redirect should be done by using the search space of the calling address.

See Also:
Constant Field Values

ROUTEADDRESS_SEARCH_SPACE

static final int ROUTEADDRESS_SEARCH_SPACE
This indicates that the redirect should be done by using the search space of the route point address.

See Also:
Constant Field Values

DONOT_RESET_ORIGINALCALLED

static final int DONOT_RESET_ORIGINALCALLED
This is a parameter value for the PreferedOriginalCalled option; it specifies not to reset OriginalCalled.

See Also:
Constant Field Values

RESET_ORIGINALCALLED

static final int RESET_ORIGINALCALLED
This is a parameter value for PreferedOriginalCalled Option; if the value of preferedOriginalCalledOption is set to this, it will reset the OriginalCalled to preferedOriginalCalledNumber.

See Also:
Constant Field Values

CAUSE_CTIERR_FAC_CMC_REASON_FAC_NEEDED

static final int CAUSE_CTIERR_FAC_CMC_REASON_FAC_NEEDED
This constant returned by RouteSession.getCause() indicates that the routeSelectedElement in the selectRoute does not contain the required FAC code.

See Also:
Constant Field Values

CAUSE_CTIERR_FAC_CMC_REASON_CMC_NEEDED

static final int CAUSE_CTIERR_FAC_CMC_REASON_CMC_NEEDED
This constant returned by RouteSession.getCause() indicates that the routeSelectedElement in the selectRoute does not contain the required CMC code.

See Also:
Constant Field Values

CAUSE_CTIERR_FAC_CMC_REASON_FAC_CMC_NEEDED

static final int CAUSE_CTIERR_FAC_CMC_REASON_FAC_CMC_NEEDED
This constant returned by RouteSession.getCause() indicates that the routeSelectedElement in the selectRoute does not contain the required FAC and CMC codes.

See Also:
Constant Field Values

CAUSE_CTIERR_FAC_CMC_REASON_FAC_INVALID

static final int CAUSE_CTIERR_FAC_CMC_REASON_FAC_INVALID
This constant returned by RouteSession.getCause() indicates that the routeSelectedElement in the selectRoute contains an invalid FAC code.

See Also:
Constant Field Values

CAUSE_CTIERR_FAC_CMC_REASON_CMC_INVALID

static final int CAUSE_CTIERR_FAC_CMC_REASON_CMC_INVALID
This constant returned by RouteSession.getCause() indicates that the routeSelectedElement in the selectRoute contains an invalid CMC code.

See Also:
Constant Field Values
Method Detail

getCall

javax.telephony.Call getCall()
Returns the call associated with this RouteSession.


selectRoute

void selectRoute(java.lang.String[] routeSelected,
                 int callingSearchSpace)
                 throws javax.telephony.MethodNotSupportedException
Overloads the selectRoute method in the RouteSession interface to allow applications to specify a calling search space to use when the call is redirected to the route destination.

Parameters:
callingSearchSpace - One of:
  • CiscoRouteSession.DEFAULT_SEARCH_SPACE
  • CiscoRouteSession.CALLINGADDRESS_SEARCH_SPACE
  • CiscoRouteSession.ROUTEADDRESS_SEARCH_SPACE
routeSelected - A list of possible destinations for the call
Throws:
javax.telephony.MethodNotSupportedException

selectRoute

void selectRoute(java.lang.String[] routeSelected,
                 int callingSearchSpace,
                 java.lang.String[] modifyingCallingNumber)
                 throws javax.telephony.PrivilegeViolationException,
                        javax.telephony.MethodNotSupportedException
Selects one or more possible destinations for routing the Call with a modified calling number. This method takes as an argument a string array of destination telephone address names, modifyingCallingNumber, arranged in priority order. The highest-priority destination is the first element in the specified array, and routing is attempted with this destination first with the corresponding element of modifying calling number. If modifiedCallingNumber is null for an element, the calling number is not modified if a call is routed to that particular routeSelected element. The system attempts to use the specified destination addresses in order until the system successfully selects a destination. The system delivers a RouteUsedEvent to the application when it routes the call to that destination.

Pre-conditions:

 this.getRouteAddress().getProvider().getState() == Provider.IN_SERVICE
 this.getState() == RouteSession.ROUTE or RouteSession.RE_ROUTE
 

Post-Conditions:

this.getRouteAddress().getProvider().getState() == Provider.IN_SERVICE
this.getState() == RouteSession.ROUTE_USED
if the Call was successfully routed.

A RouteUsedEvent gets delivered for this RouteSession if a successful destination was selected.

Parameters:
routeSelected - A list of possible destinations for the call
callingSearchSpace - One of:
  • CiscoRouteSession.DEFAULT_SEARCH_SPACE
  • CiscoRouteSession.CALLINGADDRESS_SEARCH_SPACE
  • CiscoRouteSession.ROUTEADDRESS_SEARCH_SPACE
modifyingCallingNumber - An array of elements for which the application wants to modify the calling number when the call reaches the routeSelected element.
Throws:
com.cisco.jtapi.MethodNotSupportedExceptionImpl - The implementation does not support routing.
javax.telephony.PrivilegeViolationException - The user does not have the necessary privileges to use this method.
javax.telephony.MethodNotSupportedException

selectRoute

void selectRoute(java.lang.String[] routeSelected,
                 int callingSearchSpace,
                 java.lang.String[] preferedOriginalCalledNumber,
                 int[] preferedOriginalCalledOption)
                 throws javax.telephony.PrivilegeViolationException,
                        javax.telephony.MethodNotSupportedException
Selects one or more possible destinations for routing the Call. This method takes as an argument a string array of destination telephone address names, in prioritized order, and a string array for the PreferredOriginalCalled number. PreferedOriginalCalled number gets selected based on the index of the destination telephone names array. If the index corresponding to the destination array is not found in the PreferedOriginalCalled number array, preferedOriginalCalled gets set to the destination. The highest-priority destination is the first element in the given array, and the system attempts to route with this destination first. The system attempts each given destination address in succession until the call gets successfully routed.

The system delivers a RouteUsedEvent event to the application when a successful routing destination has been selected and the Call has been routed to that destination.

Pre-conditions:

 this.getRouteAddress().getProvider().getState() == Provider.IN_SERVICE
 this.getState() == RouteSession.ROUTE or RouteSession.RE_ROUTE
 

Post-Conditions:

this.getRouteAddress().getProvider().getState() == Provider.IN_SERVICE this.getState() == RouteSession.ROUTE_USED if the Call was successfully routed.

A RouteUsedEvent gets delivered for this RouteSession if a successful destination was selected.

Parameters:
routeSelected - A list of possible destinations for the call
preferedOriginalCalledNumber - A list, each item of which corresponds to a route at the matching array index in the routeSelected list
preferedOriginalCalledOption - A list of options, each corresponding to routeSelected list. The option specifies whether to set OriginalCalled to preferedOriginalCalledNumber. The option values are CiscoRouteSession.DONOT_RESET_ORIGINALCALLED and CiscoRouteSession.RESET_ORIGINALCALLED. If the value is unspecified or null, the default is CiscoRouteSession.DONOT_RESET_ORIGINALCALLED.
Throws:
com.cisco.jtapi.MethodNotSupportedExceptionImpl - The implementation does not support routing.
javax.telephony.PrivilegeViolationException - The user does not have the necessary privileges to use this method.
javax.telephony.MethodNotSupportedException

selectRoute

void selectRoute(java.lang.String[] routeSelected,
                 int callingSearchSpace,
                 java.lang.String[] modifyingCallingNumber,
                 java.lang.String[] preferedOriginalCalledNumber,
                 int[] preferedOriginalCalledOption,
                 java.lang.String[] facCode,
                 java.lang.String[] cmcCode)
                 throws javax.telephony.PrivilegeViolationException,
                        javax.telephony.MethodNotSupportedException
Selects one or more possible destinations for the routing of the Call. This method takes as arguments a string array of destination telephone address names, in prioritized order, a string array for the PreferredOriginalCalled numbers, string array of FAC and a string array of CMC. The system selects the PreferedOriginalCalled number corresponding to the index of the destination telephone name array. If the index corresponding to the destination array is not found in the PreferedOriginalCalled number array, the preferedOriginalCalled will be set to the destination. The highest priority destination is the first element in the specified array, and the system attempts to route the call to that destination first. The system attempts the specified destination addresses in order, until the call gets routed successfully. The system delivers a RouteUsedEvent event to the application when the system has selected a successful routing destination and routed the call to that destination.

Pre-conditions:

 this.getRouteAddress().getProvider().getState() == Provider.IN_SERVICE
 this.getState() == RouteSession.ROUTE or RouteSession.RE_ROUTE
 

Post-Conditions:

this.getRouteAddress().getProvider().getState() == Provider.IN_SERVICE
this.getState() == RouteSession.ROUTE_USED
if the Call was successfully routed.

A RouteUsedEvent gets delivered for this RouteSession if a successful destination was selected.

Parameters:
routeSelected - A list of possible destinations for the call.
preferedOriginalCalledNumber - A list, each member of which corresponds to the route at the same array index in the routeSelected list.
preferedOriginalCalledOption - A list of options, each corresponding to RouteList. The option specifies whether to set OriginalCalled to preferedOriginalCalledNumber. The option values are CiscoRouteSession.DONOT_RESET_ORIGINALCALLED and CiscoRouteSession.RESET_ORIGINALCALLED. If the value is unspecified or null, the default is CiscoRouteSession.DONOT_RESET_ORIGINALCALLED.
modifyingCallingNumber - An array of elements for which the application would like to modify the calling number when the call reaches the routeSelected element. If applications do not want to modifying the number, they must pass a null value for this parameter.
facCode - (Forced Authorization Code) If a routeSelected element requires a FAC, the corresponding facCode element must contain that code. If no code is required for a routeSelected element, the application must pass a null value for this parameter.
cmcCode - (Client Matter Code) If a routeSelected element requires a CMC, the corresponding cmcCode element must contain that code. If no code is required for a routeSelected element, the application must pass a null value for this parameter.
Throws:
com.cisco.jtapi.MethodNotSupportedExceptionImpl - The implementation does not support routing.
javax.telephony.PrivilegeViolationException - The user does not have the necessary privileges to use this method.
javax.telephony.MethodNotSupportedException

selectRoute

void selectRoute(java.lang.String[] routeSelected,
                 int callingSearchSpace,
                 java.lang.String[] modifyingCallingNumber,
                 java.lang.String[] preferedOriginalCalledNumber,
                 int[] preferedOriginalCalledOption,
                 java.lang.String[] facCode,
                 java.lang.String[] cmcCode,
                 int featurePriority)
                 throws javax.telephony.PrivilegeViolationException,
                        javax.telephony.MethodNotSupportedException
Selects one or more possible destinations for routing the Call. This method takes a string array of destination telephone address names, in prioritized order, a string array for the PreferredOriginalCalled number, a string array of FAC, a string array of CMC and a integer priority. The PreferedOriginalCalled number gets selected based on the index of the destination telephone name array. If the index that corresponds to the destination array is not found in the PreferedOriginalCalled number array, preferedOriginalCalled gets set to the destination. The highest-priority destination is the first element in the given array, and the system attempts to route with this destination first. The system tries the successive specified destination addresses until the call gets routed successfully. The system delivers a RouteUsedEvent event to the application when a successful routing destination has been selected and the call has been routed to that destination.

Pre-conditions:

 this.getRouteAddress().getProvider().getState() == Provider.IN_SERVICE
 this.getState() == RouteSession.ROUTE or RouteSession.RE_ROUTE
 

Post-Conditions:

this.getRouteAddress().getProvider().getState() == Provider.IN_SERVICE
this.getState() == RouteSession.ROUTE_USED
if the Call was successfully routed.

Parameters:
routeSelected - A list of possible destinations for the call
preferedOriginalCalledNumber - A list, each element of which corresponds to the route at the same array index in the routeSelected list.
preferedOriginalCalledOption - A list of options, each corresponding to RouteList. The option specifies whether to set OriginalCalled to preferedOriginalCalledNumber. The option values are CiscoRouteSession.DONOT_RESET_ORIGINALCALLED and CiscoRouteSession.RESET_ORIGINALCALLED. If the value is unspecified or null, the default is CiscoRouteSession.DONOT_RESET_ORIGINALCALLED.
modifyingCallingNumber - An array of elements for which the application would like to modify the calling number when the call reaches the routeselected element. If applications do not want to modify the number, they must pass a null value for this parameter.
facCode - (Forced Authorization Code) If a routeSelected element requires a FAC, the corresponding facCode element must contain that code. If no code is required for a routeSelected element, the application must pass a null value for this parameter.
cmcCode - (Client Matter Code) If a routeSelected element requires a CMC, the corresponding cmcCode element must contain that code. If no code is required for a routeSelected element, the application must pass a null value for this parameter.
featurePriority - Sets the feature priority of the call. The application may set CiscoCall.FEATUREPRIORITY_NORMAL if the application does not want to set any specific priority. The featurePriority parameter may be:
  • CiscoCall.FEATUREPRIORITY_NORMAL
  • CiscoCall.FEATUREPRIORITY_URGENT
  • CiscoCall.FEATUREPRIORITY_EMERGENCY
Throws:
javax.telephony.PrivilegeViolationException - The user does not have the necessary privileges to use this method.
com.cisco.jtapi.MethodNotSupportedExceptionImpl - The implementation does not support routing.
javax.telephony.MethodNotSupportedException

selectRoute

void selectRoute(java.lang.String[] routeSelected,
                 int callingSearchSpace,
                 java.lang.String[] modifyingCallingNumber,
                 java.lang.String[] preferedOriginalCalledNumber,
                 int[] preferedOriginalCalledOption,
                 java.lang.String[] facCode,
                 java.lang.String[] cmcCode,
                 int featurePriority,
                 byte[][] applicationXMLData)
                 throws javax.telephony.PrivilegeViolationException,
                        javax.telephony.MethodNotSupportedException
Selects one or more possible destinations for routing the Call. This method takes a string array of destination telephone address names, in prioritized order,an int array of calling search space, a string array of modifyingCallingNumber a string array for the PreferredOriginalCalled number, a string array of FAC, a string array of CMC and a int array of feature priority. The PreferedOriginalCalled number gets selected based on the index of the destination telephone name array. If the index that corresponds to the destination array is not found in the PreferedOriginalCalled number array, preferedOriginalCalled gets set to the destination. The highest-priority destination is the first element in the given array, and the system attempts to route with this destination first. The system tries the successive specified destination addresses until the call gets routed successfully. The system delivers a RouteUsedEvent event to the application when a successful routing destination has been selected and the call has been routed to that destination.

Pre-conditions:

 this.getRouteAddress().getProvider().getState() == Provider.IN_SERVICE
 this.getState() == RouteSession.ROUTE or RouteSession.RE_ROUTE
 

Post-Conditions:

this.getRouteAddress().getProvider().getState() == Provider.IN_SERVICE
this.getState() == RouteSession.ROUTE_USED
if the Call was successfully routed.

Parameters:
routeSelected - A list of possible destinations for the call
callingSearchSpace - for each route selected one of:
  • CiscoRouteSession.DEFAULT_SEARCH_SPACE
  • CiscoRouteSession.CALLINGADDRESS_SEARCH_SPACE
  • CiscoRouteSession.ROUTEADDRESS_SEARCH_SPACE
preferedOriginalCalledNumber - A list, each element of which corresponds to the route at the same array index in the routeSelected list.
preferedOriginalCalledOption - A list of options, each corresponding to RouteList. The option specifies whether to set OriginalCalled to preferedOriginalCalledNumber. The option values are CiscoRouteSession.DONOT_RESET_ORIGINALCALLED and CiscoRouteSession.RESET_ORIGINALCALLED. If the value is unspecified or null, the default is CiscoRouteSession.DONOT_RESET_ORIGINALCALLED.
modifyingCallingNumber - An array of elements for which the application would like to modify the calling number when the call reaches the routeselected element. If applications do not want to modify the number, they must pass a null value for this parameter.
facCode - (Forced Authorization Code) If a routeSelected element requires a FAC, the corresponding facCode element must contain that code. If no code is required for a routeSelected element, the application must pass a null value for this parameter.
cmcCode - (Client Matter Code) If a routeSelected element requires a CMC, the corresponding cmcCode element must contain that code. If no code is required for a routeSelected element, the application must pass a null value for this parameter.
featurePriority - for each route selected feature priority can be set Application may set CiscoCall.FEATUREPRIORITY_NORMAL if the application does not want to set any specific priority. The featurePriority parameter may be:
  • CiscoCall.FEATUREPRIORITY_NORMAL
  • CiscoCall.FEATUREPRIORITY_URGENT
  • CiscoCall.FEATUREPRIORITY_EMERGENCY
applicationXMLData - For each of the selected Route, Application can send Header Data to the end point in the XML format listed below. Only a 'value' meant to 'append' for a 'SIP' Protocol's 'contact' Header operation is supported for now. contact append SIP ;+sip.instance="<urn:uuid=*guid*>"
Throws:
javax.telephony.PrivilegeViolationException - The user does not have the necessary privileges to use this method.
com.cisco.jtapi.MethodNotSupportedExceptionImpl - The implementation does not support routing.
javax.telephony.MethodNotSupportedException
Since:
9.0

selectRoute

void selectRoute(java.lang.String[] routeSelected,
                 int[] callingSearchSpace,
                 java.lang.String[] modifyingCallingNumber,
                 java.lang.String[] preferedOriginalCalledNumber,
                 int[] preferedOriginalCalledOption,
                 java.lang.String[] facCode,
                 java.lang.String[] cmcCode,
                 int[] featurePriority,
                 byte[][] applicationXMLData)
                 throws javax.telephony.PrivilegeViolationException,
                        javax.telephony.MethodNotSupportedException
Selects one or more possible destinations for routing the Call. This method takes a string array of destination telephone address names, in prioritized order,an int array of calling search space, a string array of modifyingCallingNumber a string array for the PreferredOriginalCalled number, a string array of FAC, a string array of CMC and a int array of feature priority. The PreferedOriginalCalled number gets selected based on the index of the destination telephone name array. If the index that corresponds to the destination array is not found in the PreferedOriginalCalled number array, preferedOriginalCalled gets set to the destination. The highest-priority destination is the first element in the given array, and the system attempts to route with this destination first. The system tries the successive specified destination addresses until the call gets routed successfully. The system delivers a RouteUsedEvent event to the application when a successful routing destination has been selected and the call has been routed to that destination.

Pre-conditions:

 this.getRouteAddress().getProvider().getState() == Provider.IN_SERVICE
 this.getState() == RouteSession.ROUTE or RouteSession.RE_ROUTE
 

Post-Conditions:

this.getRouteAddress().getProvider().getState() == Provider.IN_SERVICE
this.getState() == RouteSession.ROUTE_USED
if the Call was successfully routed.

Parameters:
routeSelected - A list of possible destinations for the call
callingSearchSpace - for each route selected one of:
  • CiscoRouteSession.DEFAULT_SEARCH_SPACE
  • CiscoRouteSession.CALLINGADDRESS_SEARCH_SPACE
  • CiscoRouteSession.ROUTEADDRESS_SEARCH_SPACE
preferedOriginalCalledNumber - A list, each element of which corresponds to the route at the same array index in the routeSelected list.
preferedOriginalCalledOption - A list of options, each corresponding to RouteList. The option specifies whether to set OriginalCalled to preferedOriginalCalledNumber. The option values are CiscoRouteSession.DONOT_RESET_ORIGINALCALLED and CiscoRouteSession.RESET_ORIGINALCALLED. If the value is unspecified or null, the default is CiscoRouteSession.DONOT_RESET_ORIGINALCALLED.
modifyingCallingNumber - An array of elements for which the application would like to modify the calling number when the call reaches the routeselected element. If applications do not want to modify the number, they must pass a null value for this parameter.
facCode - (Forced Authorization Code) If a routeSelected element requires a FAC, the corresponding facCode element must contain that code. If no code is required for a routeSelected element, the application must pass a null value for this parameter.
cmcCode - (Client Matter Code) If a routeSelected element requires a CMC, the corresponding cmcCode element must contain that code. If no code is required for a routeSelected element, the application must pass a null value for this parameter.
featurePriority - for each route selected feature priority can be set Application may set CiscoCall.FEATUREPRIORITY_NORMAL if the application does not want to set any specific priority. The featurePriority parameter may be:
  • CiscoCall.FEATUREPRIORITY_NORMAL
  • CiscoCall.FEATUREPRIORITY_URGENT
  • CiscoCall.FEATUREPRIORITY_EMERGENCY
applicationXMLData - For each of the selected Route, Application can send Header Data to the end point in the XML format listed below. Only a 'value' meant to 'append' for a 'SIP' Protocol's 'contact' Header operation is supported for now. contact append SIP ;+sip.instance="<urn:uuid=*guid*>"
Throws:
javax.telephony.PrivilegeViolationException - The user does not have the necessary privileges to use this method.
com.cisco.jtapi.MethodNotSupportedExceptionImpl - The implementation does not support routing.
javax.telephony.MethodNotSupportedException
Since:
9.0