JSR-043: JTAPI-1.4

javax.telephony.callcenter
Interface ACDAddress

All Superinterfaces:
Address, CallCenterAddress

public interface ACDAddress
extends CallCenterAddress

Introduction

Automated Call Distribution (ACD) is a Call Center feature that provides a mechanism for receiving calls, queueing them, and distributing them to agent extensions within ACD Groups. An ACD Group comprises zero or more agent extensions, which are dynamically associated with ACD Groups through a login/logout process. The ACDAddress interface models an ACD Group for ACD systems.

A call placed to an ACDAddress represents a call which is being routed to an available agent logged into the ACD Group. In the case where no agent is available, the ACDAddress is queued for a group of agents who are logged in to that ACD Group, but unavailable to service that call. Calls are distributed to the agents in that group based on their availability and other factors determined by the implementation.

Calls may be placed directly to an ACDAddress or the ACD mechanism can be relied upon to select a destination ACDAddress by placing the call to an ACDManagerAddress.

The ACDAddress extends CallCenterAddress with the methods necessary to obtain ACD-specific information such as the Agent objects associated with the ACDAddress and a variety of call queue methods to get information on calls queued at this address.

ACDAddresses differ from Addresses

Some important differences between ACDAddress and Address are:
  1. An ACDAddress cannot have Terminal objects associated with it.
  2. An ACDAddress is not a logical endpoint of a call in the same sense as an Address Rather, it models a queuing process whereby the selection of a logical endpoint is deferred.
  3. ACDConnections to an ACDAddress do not enter into a CONNECTED state.
  4. It is not returned on Provider.getAddresses(), but is available through CallCenterProvider.getACDAddresses()

ACDAddresses and ACDConnections

A call presented to an ACDAddress is modeled by an ACDConnection. That ACDConnection may be between a Call object and the ACDAddress or it may exist between a ACDManagerConnection and the ACDAddress, depending on whether the call was placed directly to the ACDAddress or whether it arrived indirectly through the distribution mechanism from an ACDManagerAddress.

Events at an ACDAddress

With JTAPI 1.4, all events pertaining to the ACDAddress interface are reported to AddressListener methods. In order to observe Agent state changes for Agents associated with an ACDAddress, an application must implement an ACDAddressListener interface and associate it with the ACDAddress, using the addListener method on an ACDAddress object. JTAPI 1.2 applications may continue to use the deprecated ACDAddressObserver interface with its AddressObserver.addressChangedEvent method.

See Also:
ACDConnection, CallCenterAddress, ACDAddressObserver, Address

Method Summary
 ACDManagerAddress getACDManagerAddress()
          Returns the ACDManagerAddess associated at system administration time with this ACDAddress.
 Agent[] getLoggedOnAgents()
          Returns the Agents logged into the ACDAddress.
 int getNumberQueued()
          Returns the number of Calls queued at an ACDAddress.
 Call getOldestCallQueued()
          Returns the oldest Call queued to an ACDAddress.
 int getQueueWaitTime()
          Returns the estimated wait time for new Calls queued at an ACDAddress.
 int getRelativeQueueLoad()
          Returns the relative load of an ACDAddress queue.
 
Methods inherited from interface javax.telephony.callcenter.CallCenterAddress
addCallObserver
 
Methods inherited from interface javax.telephony.Address
addAddressListener, addCallListener, addCallObserver, addObserver, getAddressCapabilities, getAddressListeners, getCallListeners, getCallObservers, getCapabilities, getConnections, getName, getObservers, getProvider, getTerminals, removeAddressListener, removeCallListener, removeCallObserver, removeObserver
 

Method Detail

getLoggedOnAgents

public Agent[] getLoggedOnAgents()
                          throws MethodNotSupportedException
Returns the Agents logged into the ACDAddress.

Returns:
An array of Agents associated with the ACDAddress.
Throws:
MethodNotSupportedException - This method is not supported by the implementation.

getNumberQueued

public int getNumberQueued()
                    throws MethodNotSupportedException
Returns the number of Calls queued at an ACDAddress.

Returns:
The number of calls queued.
Throws:
MethodNotSupportedException - This method is not supported by the implementation.

getOldestCallQueued

public Call getOldestCallQueued()
                         throws MethodNotSupportedException
Returns the oldest Call queued to an ACDAddress.

Returns:
The oldest Call queued.
Throws:
MethodNotSupportedException - This method is not supported by the implementation.

getRelativeQueueLoad

public int getRelativeQueueLoad()
                         throws MethodNotSupportedException
Returns the relative load of an ACDAddress queue.

Returns:
The relative load of the ACDAddress queue.
Throws:
MethodNotSupportedException - This method is not supported by the implementation.

getQueueWaitTime

public int getQueueWaitTime()
                     throws MethodNotSupportedException
Returns the estimated wait time for new Calls queued at an ACDAddress.

Returns:
The estimated wait time for new calls at the ACDAddress.
Throws:
MethodNotSupportedException - This method is not supported by the implementation.

getACDManagerAddress

public ACDManagerAddress getACDManagerAddress()
                                       throws MethodNotSupportedException
Returns the ACDManagerAddess associated at system administration time with this ACDAddress. This method returns a null if no is associated with this ACDAddress.

It does not return the ACDManagerAddress connected to this ACDAddress in a Call. That information can be obtained through the getACDManagerConnection() method on ACDConnection.

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

JSR-043: JTAPI-1.4

Send comments to: JSR-43@ectf.org