There are two types of Address objects (which represent telephone numbers in a telephony network) included in the IBM CallPath Enterprise Toolkit for Java:
The Address/CallControlAddress Address object implements the core Address interface (included in the javax.telephony package) and the CallControlAddress interface (included in the javax.telephony.callcontrol package).
The Address/CallCenterAddress/ACDAddress Address object implements the core Address interface (included in the javax.telephony package) and both the CallCenterAddress and ACDAddress interfaces (included in the javax.telephony.callcenter package). This type of Address object is always returned by the Provider.getACDAddresses() method.
Both types of Address objects can be returned by the Provider.getAddresses() method, as well as other methods that return core Address objects. To determine whether an Address object is of the Address/CallControlAddress type or the Address/CallCenterAddress/ACDAddress type, an application can use the "instanceof" Java operator. The application then appropriately casts the object to any of the interfaces that the object supports.
Table 7, Table 8, Table 9, and Table 10 list the
methods (and provide comments about those methods, where appropriate) included
in the core Address class, the CallControlAddress class, the CallCenterAddress
class, and the ACDAddress class, respectively:
Table 7. javax.telephony.Address methods
| Method | Comments |
|---|---|
|
void addObserver(AddressObserver)
| Supported in both types of Address objects. |
|
AddressCapabilities getCapabilities()
| Returns only the default AddressCapabilities. |
|
AddressCapabilities getAddressCapabilities(Terminal)
| Deprecated. Returns only the default AddressCapabilities. |
|
Connection[] getConnections()
| Supported in both types of Address objects. |
|
String getName()
| Supported in both types of Address objects. |
|
AddressObserver[] getObservers()
| Supported in both types of Address objects. |
|
Provider getProvider()
| Supported in both types of Address objects. |
|
Terminal[] getTerminals()
| Supported in both types of Address objects. |
|
void removeObserver(AddressObserver)
| Supported in both types of Address objects. |
|
void addCallObserver(CallObserver)
| Supported in both types of Address objects. |
|
void removeCallObserver(CallObserver)
| Supported in both types of Address objects. |
|
CallObserver[] getCallObserver()
| Supported in both types of Address objects. |
Table 8. javax.telephony.callcontrol.CallControlAddress methods
| Method | Comments |
|---|---|
|
void cancelForwarding()
|
|
|
boolean getDoNotDisturb()
|
|
|
boolean getMessageWaiting()
| This method is not supported. It throws MethodNotSupportedException. |
|
CallControlForwarding[] getForwarding()
| The returned array will contain only one element in position zero. |
|
void setForwarding(CallControlForwarding[])
| This method throws InvalidArgumentException if one or more of
the following occurs:
|
|
void setMessageWaiting(boolean)
| This method is not supported. It throws MethodNotSupportedException. |
|
boolean setDoNotDisturb(boolean)
|
|
Table 9. javax.telephony.callcenter.CallCenterAddress method
| Method | Comments |
|---|---|
|
void addCallObserver(CallObserver, boolean)
|
|
Table 10 shows the standard
javax.telephony.callcenter.ACDAddress interface as well
as the IBM extension for getNextAvailableAgent().
Table 10. javax.telephony.callcenter.ACDAddress methods
| Method | Comments |
|---|---|
|
ACDManagerAddress getACDManagerAddress(CallObserver, boolean)
| This method is not supported. It throws MethodNotSupportedException. |
|
Agent[] getLoggedOnAgents()
|
|
|
int getNumberQueued()
|
|
|
CallCenterCall getOldestCallQueued()
|
|
|
int getQueueWaitTime()
|
|
|
int getRelativeQueueLoad()
|
|
|
Agent getNextAvailableAgent()
| Requests that the Provider reserve an Agent that is logged in and
available to service the ACDAddress.
This method will block until that time when an Agent can be returned to the application for use. The length of time it takes to obtain an available Agent will vary based on the load of the ACDAddress. This method requires the CallPath Web Connection. |
For more information, refer to the JavaSoft JTAPI 1.2 documentation.