JSR-043: JTAPI-1.4

javax.telephony.callcenter
Interface ACDConnection

All Superinterfaces:
Connection

public interface ACDConnection
extends Connection

Introduction

An ACDConnection models either a direct relationship between a Call and an ACDAddress or an indirect relationship between a Call and an ACDAddress through an ACDManagerAddress.

The direct relationship occurs when a Call arrives at an ACDAddress. The indirect relationship occurs when a Call arrives at an ACDManagerAddress and the implementation of the ACDMangerAddress determines that it must involve an ACDAddress in the Call.

The ACDConnection to an ACDAddress in either case, direct or indirect, models a Call that is being routed to an agent logged into the ACDAddress, or a call that is being queued for agents logged into the ACDAddress

ACDConnection as a Direct Connection

ACDConnection as an Indirect Connection

The ACDConnection is not a connection in the same sense as a Connection, because it never represents a call to an endpoint. Its purpose is to model a call that is being routed or queued by an ACD system.

ACDConnections and TerminalConnections

The getTerminalConnection() method on the core Connection interface, which ACDConnection extends, will always return null because ACDAddresses do not have Terminals associated with them.

ACDConnection States

The state of the ACDConnection is available through the ACDConnection.getState() method inherited from the core Connection interface. Each state is an integer constant defined in the core Connection interface. Their meaning in this interface are summarized below:

ACDConnection.IDLE As in the core, this is the initial and transitory state for new ACDConnection objects.
ACDConnection.INPROGRESS This state indicates that an ACDConnection is queued at a particular ACDAddress. This will result when there are no agents available to route the call to.
ACDConnection.ALERTING This state indicates that the ACDConnection has been made to a particular ACDAddress. This state is only valid for ACDConnections that are not associated with an ACDManagerConnection.
ACDConnection.DISCONNECTED This state has the same definition as in the core.
ACDConnection.FAILED This state has the same definition as in the core.
ACDConnection.UNKNOWN This state has the same definition as in the core.

ACDConnection State Transitions

The ACDConnection class defines the allowable ACDConnection state transitions. These finite-state transitions must be guaranteed by the implementation. Each method that causes a change in an ACDConnection state must be consistent with this state diagram.

Note there is a general left-to-right progression of the state transitions. A Connection object may transition into and out of the ACDConnection.UNKNOWN state at any time with the annotated exceptions (hence, the asterisk qualifier next to its bidirectional transition arrow).

See Also:
ACDAddress, ACDManagerAddress, ACDManagerConnection

Fields inherited from interface javax.telephony.Connection
ALERTING, CONNECTED, DISCONNECTED, FAILED, IDLE, INPROGRESS, UNKNOWN
 
Method Summary
 ACDManagerConnection getACDManagerConnection()
          Returns the ACDManagerConnection associated with this ACDConnection.
 
Methods inherited from interface javax.telephony.Connection
disconnect, getAddress, getCall, getCapabilities, getConnectionCapabilities, getState, getTerminalConnections
 

Method Detail

getACDManagerConnection

public ACDManagerConnection getACDManagerConnection()
                                             throws MethodNotSupportedException
Returns the ACDManagerConnection associated with this ACDConnection. A null is returned if this ACDConnection is not in an indirect relationship between a Call, an ACDAddress and an ACDManagerAddress.

Returns:
The ACDManagerConnection associated with this ACDConnection.
Throws:
MethodNotSupportedException - This method is not supported by the implementation.

JSR-043: JTAPI-1.4

Send comments to: JSR-43@ectf.org