de.ilink.cti.cstajtapi
Class ProviderImpl

java.lang.Object
  extended by de.ilink.cti.cstamodel.MonitorController
      extended by de.ilink.cti.cstajtapi.ProviderImpl
All Implemented Interfaces:
de.ilink.cti.cstamodel.CSTASwitchingSubDomain, de.ilink.cti.cstaxml.CSTAEventListener, java.util.EventListener, javax.telephony.callcenter.CallCenterProvider, javax.telephony.capabilities.ProviderCapabilities, javax.telephony.Provider

public class ProviderImpl
extends de.ilink.cti.cstamodel.MonitorController
implements javax.telephony.Provider, javax.telephony.capabilities.ProviderCapabilities, javax.telephony.callcenter.CallCenterProvider

Implementation of a CSTA based JTAPI provider.


Field Summary
protected static org.apache.log4j.Logger fLog
           
 
Fields inherited from interface javax.telephony.Provider
IN_SERVICE, OUT_OF_SERVICE, SHUTDOWN
 
Constructor Summary
ProviderImpl(java.lang.String aConnectString)
          Constructor for CSTAJtapiProvider.
 
Method Summary
 void addObserver(javax.telephony.ProviderObserver arg0)
           
 void addProviderListener(javax.telephony.ProviderListener arg0)
           
protected  void checkProviderInService()
           
 void connectionLost()
           
 void connectionRestored()
           
 javax.telephony.Call createCall()
           
protected  de.ilink.cti.cstamodel.MonitoredDevice createMonitoredDeviceInstance(java.lang.String aLocalAddress, java.lang.String aMonitorCrossRefID)
           
protected  de.ilink.cti.cstajtapi.callcenter.ACDGroup getACDAddress(java.lang.String anAddr)
           
 javax.telephony.callcenter.ACDAddress[] getACDAddresses()
           
 javax.telephony.callcenter.ACDManagerAddress[] getACDManagerAddresses()
           
 javax.telephony.Address getAddress(java.lang.String anAddress)
           
 javax.telephony.capabilities.AddressCapabilities getAddressCapabilities()
           
 javax.telephony.capabilities.AddressCapabilities getAddressCapabilities(javax.telephony.Terminal arg0)
          Deprecated.  
 javax.telephony.Address[] getAddresses()
           
 javax.telephony.capabilities.CallCapabilities getCallCapabilities()
           
 javax.telephony.capabilities.CallCapabilities getCallCapabilities(javax.telephony.Terminal arg0, javax.telephony.Address arg1)
          Deprecated.  
 javax.telephony.Call[] getCalls()
           
 javax.telephony.capabilities.ProviderCapabilities getCapabilities()
           
 javax.telephony.capabilities.ConnectionCapabilities getConnectionCapabilities()
           
 javax.telephony.capabilities.ConnectionCapabilities getConnectionCapabilities(javax.telephony.Terminal arg0, javax.telephony.Address arg1)
          Deprecated.  
 de.ilink.cti.cstajtapi.events.SynchronousCallEventDispatcher getDispatchingProviderObserver()
           
 java.lang.String getName()
           
 javax.telephony.ProviderObserver[] getObservers()
           
 javax.telephony.capabilities.ProviderCapabilities getProviderCapabilities()
           
 javax.telephony.capabilities.ProviderCapabilities getProviderCapabilities(javax.telephony.Terminal arg0)
          Deprecated.  
 javax.telephony.ProviderListener[] getProviderListeners()
           
 javax.telephony.callcenter.RouteAddress[] getRouteableAddresses()
           
 int getState()
           
 javax.telephony.Terminal getTerminal(java.lang.String anAddress)
           
 javax.telephony.capabilities.TerminalCapabilities getTerminalCapabilities()
           
 javax.telephony.capabilities.TerminalCapabilities getTerminalCapabilities(javax.telephony.Terminal arg0)
          Deprecated.  
 javax.telephony.capabilities.TerminalConnectionCapabilities getTerminalConnectionCapabilities()
           
 javax.telephony.capabilities.TerminalConnectionCapabilities getTerminalConnectionCapabilities(javax.telephony.Terminal arg0)
          Deprecated.  
 javax.telephony.Terminal[] getTerminals()
           
 boolean isObservable()
           
protected  void registerCall(CallImpl aCall)
           
 void removeObserver(javax.telephony.ProviderObserver arg0)
           
 void removeProviderListener(javax.telephony.ProviderListener arg0)
           
 void setACDAddresses(java.lang.String[] anAddrArr)
           
 void shutdown()
          Performs a clean shutdown of the MonitorController and the underlying CSTA client.
protected  void unregisterCall(CallImpl aCall)
           
 
Methods inherited from class de.ilink.cti.cstamodel.MonitorController
eventOccurred, getConnectionString, getMonitor, getMonitoredDevices, getTelephonyService, handleCSTAAgentBusyEvent, handleCSTAAgentLoggedOffEvent, handleCSTAAgentLoggedOnEvent, handleCSTAAgentNotReadyEvent, handleCSTAAgentReadyEvent, handleCSTAAgentWorkingAfterCallEvent, handleCSTABackInServiceEvent, handleCSTAConferencedEvent, handleCSTAConnectionClearedEvent, handleCSTADeliveredEvent, handleCSTADivertedEvent, handleCSTAEstablishedEvent, handleCSTAFailedEvent, handleCSTAHeldEvent, handleCSTAMakeCallResponse, handleCSTAMonitorStop, handleCSTANetworkReachedEvent, handleCSTAOriginatedEvent, handleCSTAOutOfServiceEvent, handleCSTAQueuedEvent, handleCSTARetrievedEvent, handleCSTAServiceInitiatedEvent, handleCSTASystemStatus, handleCSTATransferedEvent, isMonitoredNumber, removeMonitor, setMonitorEventListener, start
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fLog

protected static org.apache.log4j.Logger fLog
Constructor Detail

ProviderImpl

public ProviderImpl(java.lang.String aConnectString)
             throws java.lang.Exception
Constructor for CSTAJtapiProvider.

Parameters:
aConnectString - The params to initialize the telephony service with.
Throws:
java.lang.Exception
Method Detail

getState

public int getState()
Specified by:
getState in interface javax.telephony.Provider
See Also:
Provider.getState()

getName

public java.lang.String getName()
Specified by:
getName in interface javax.telephony.Provider
See Also:
Provider.getName()

getCalls

public javax.telephony.Call[] getCalls()
                                throws javax.telephony.ResourceUnavailableException
Specified by:
getCalls in interface javax.telephony.Provider
Throws:
javax.telephony.ResourceUnavailableException - - Indicates the number of calls present in the Provider is too great to return as a static array.
See Also:
Returns an array of Call objects currently associated with the Provider. When a Call moves into the Call.INVALID state, the Provider loses its reference to this Call. Therefore, all Calls returned by this method must either be in the Call.IDLE or Call.ACTIVE state. This method returns null if the Provider has zero calls associated with it. Post-conditions: Let Calls calls[] = Provider.getCalls() calls == null or calls.length >= 1 For all i, calls[i].getState() == Call.IDLE or Call.ACTIVE

getAddress

public javax.telephony.Address getAddress(java.lang.String anAddress)
                                   throws javax.telephony.InvalidArgumentException
Specified by:
getAddress in interface javax.telephony.Provider
Throws:
javax.telephony.InvalidArgumentException
See Also:
Provider.getAddress(String)

getAddresses

public javax.telephony.Address[] getAddresses()
                                       throws javax.telephony.ResourceUnavailableException
Specified by:
getAddresses in interface javax.telephony.Provider
Throws:
javax.telephony.ResourceUnavailableException
See Also:
Provider.getAddresses()

getTerminals

public javax.telephony.Terminal[] getTerminals()
                                        throws javax.telephony.ResourceUnavailableException
Specified by:
getTerminals in interface javax.telephony.Provider
Throws:
javax.telephony.ResourceUnavailableException
See Also:
Provider.getTerminals()

getTerminal

public javax.telephony.Terminal getTerminal(java.lang.String anAddress)
                                     throws javax.telephony.InvalidArgumentException
Specified by:
getTerminal in interface javax.telephony.Provider
Throws:
javax.telephony.InvalidArgumentException
See Also:
Provider.getTerminal(String)

shutdown

public void shutdown()
Description copied from class: de.ilink.cti.cstamodel.MonitorController
Performs a clean shutdown of the MonitorController and the underlying CSTA client.

Specified by:
shutdown in interface de.ilink.cti.cstamodel.CSTASwitchingSubDomain
Specified by:
shutdown in interface javax.telephony.Provider
Overrides:
shutdown in class de.ilink.cti.cstamodel.MonitorController
See Also:
Provider.shutdown()

createCall

public javax.telephony.Call createCall()
                                throws javax.telephony.ResourceUnavailableException,
                                       javax.telephony.InvalidStateException,
                                       javax.telephony.PrivilegeViolationException,
                                       javax.telephony.MethodNotSupportedException
Specified by:
createCall in interface javax.telephony.Provider
Throws:
javax.telephony.ResourceUnavailableException
javax.telephony.InvalidStateException
javax.telephony.PrivilegeViolationException
javax.telephony.MethodNotSupportedException
See Also:
Provider.createCall()

addObserver

public void addObserver(javax.telephony.ProviderObserver arg0)
                 throws javax.telephony.ResourceUnavailableException,
                        javax.telephony.MethodNotSupportedException
Specified by:
addObserver in interface javax.telephony.Provider
Throws:
javax.telephony.ResourceUnavailableException
javax.telephony.MethodNotSupportedException
See Also:
Provider.addObserver(ProviderObserver)

getObservers

public javax.telephony.ProviderObserver[] getObservers()
Specified by:
getObservers in interface javax.telephony.Provider
See Also:
Provider.getObservers()

removeObserver

public void removeObserver(javax.telephony.ProviderObserver arg0)
Specified by:
removeObserver in interface javax.telephony.Provider
See Also:
Provider.removeObserver(ProviderObserver)

getProviderCapabilities

public javax.telephony.capabilities.ProviderCapabilities getProviderCapabilities()
Specified by:
getProviderCapabilities in interface javax.telephony.Provider
See Also:
Provider.getProviderCapabilities()

getCallCapabilities

public javax.telephony.capabilities.CallCapabilities getCallCapabilities()
Specified by:
getCallCapabilities in interface javax.telephony.Provider
See Also:
Provider.getCallCapabilities()

getAddressCapabilities

public javax.telephony.capabilities.AddressCapabilities getAddressCapabilities()
Specified by:
getAddressCapabilities in interface javax.telephony.Provider
See Also:
Provider.getAddressCapabilities()

getTerminalCapabilities

public javax.telephony.capabilities.TerminalCapabilities getTerminalCapabilities()
Specified by:
getTerminalCapabilities in interface javax.telephony.Provider
See Also:
Provider.getTerminalCapabilities()

getConnectionCapabilities

public javax.telephony.capabilities.ConnectionCapabilities getConnectionCapabilities()
Specified by:
getConnectionCapabilities in interface javax.telephony.Provider
See Also:
Provider.getConnectionCapabilities()

getTerminalConnectionCapabilities

public javax.telephony.capabilities.TerminalConnectionCapabilities getTerminalConnectionCapabilities()
Specified by:
getTerminalConnectionCapabilities in interface javax.telephony.Provider
See Also:
Provider.getTerminalConnectionCapabilities()

getCapabilities

public javax.telephony.capabilities.ProviderCapabilities getCapabilities()
Specified by:
getCapabilities in interface javax.telephony.Provider
See Also:
Provider.getCapabilities()

getProviderCapabilities

public javax.telephony.capabilities.ProviderCapabilities getProviderCapabilities(javax.telephony.Terminal arg0)
                                                                          throws javax.telephony.InvalidArgumentException,
                                                                                 javax.telephony.PlatformException
Deprecated. 

Specified by:
getProviderCapabilities in interface javax.telephony.Provider
Throws:
javax.telephony.InvalidArgumentException
javax.telephony.PlatformException
See Also:
Provider.getProviderCapabilities(Terminal)

getCallCapabilities

public javax.telephony.capabilities.CallCapabilities getCallCapabilities(javax.telephony.Terminal arg0,
                                                                         javax.telephony.Address arg1)
                                                                  throws javax.telephony.InvalidArgumentException,
                                                                         javax.telephony.PlatformException
Deprecated. 

Specified by:
getCallCapabilities in interface javax.telephony.Provider
Throws:
javax.telephony.InvalidArgumentException
javax.telephony.PlatformException
See Also:
Provider.getCallCapabilities(Terminal, Address)

getConnectionCapabilities

public javax.telephony.capabilities.ConnectionCapabilities getConnectionCapabilities(javax.telephony.Terminal arg0,
                                                                                     javax.telephony.Address arg1)
                                                                              throws javax.telephony.InvalidArgumentException,
                                                                                     javax.telephony.PlatformException
Deprecated. 

Specified by:
getConnectionCapabilities in interface javax.telephony.Provider
Throws:
javax.telephony.InvalidArgumentException
javax.telephony.PlatformException
See Also:
Provider.getConnectionCapabilities(Terminal, Address)

getAddressCapabilities

public javax.telephony.capabilities.AddressCapabilities getAddressCapabilities(javax.telephony.Terminal arg0)
                                                                        throws javax.telephony.InvalidArgumentException,
                                                                               javax.telephony.PlatformException
Deprecated. 

Specified by:
getAddressCapabilities in interface javax.telephony.Provider
Throws:
javax.telephony.InvalidArgumentException
javax.telephony.PlatformException
See Also:
Provider.getAddressCapabilities(Terminal)

getTerminalConnectionCapabilities

public javax.telephony.capabilities.TerminalConnectionCapabilities getTerminalConnectionCapabilities(javax.telephony.Terminal arg0)
                                                                                              throws javax.telephony.InvalidArgumentException,
                                                                                                     javax.telephony.PlatformException
Deprecated. 

Specified by:
getTerminalConnectionCapabilities in interface javax.telephony.Provider
Throws:
javax.telephony.InvalidArgumentException
javax.telephony.PlatformException
See Also:
Provider.getTerminalConnectionCapabilities(Terminal)

getTerminalCapabilities

public javax.telephony.capabilities.TerminalCapabilities getTerminalCapabilities(javax.telephony.Terminal arg0)
                                                                          throws javax.telephony.InvalidArgumentException,
                                                                                 javax.telephony.PlatformException
Deprecated. 

Specified by:
getTerminalCapabilities in interface javax.telephony.Provider
Throws:
javax.telephony.InvalidArgumentException
javax.telephony.PlatformException
See Also:
Provider.getTerminalCapabilities(Terminal)

addProviderListener

public void addProviderListener(javax.telephony.ProviderListener arg0)
                         throws javax.telephony.ResourceUnavailableException,
                                javax.telephony.MethodNotSupportedException
Specified by:
addProviderListener in interface javax.telephony.Provider
Throws:
javax.telephony.ResourceUnavailableException
javax.telephony.MethodNotSupportedException
See Also:
Provider.addProviderListener(ProviderListener)

getProviderListeners

public javax.telephony.ProviderListener[] getProviderListeners()
Specified by:
getProviderListeners in interface javax.telephony.Provider
See Also:
Provider.getProviderListeners()

removeProviderListener

public void removeProviderListener(javax.telephony.ProviderListener arg0)
Specified by:
removeProviderListener in interface javax.telephony.Provider
See Also:
Provider.removeProviderListener(ProviderListener)

createMonitoredDeviceInstance

protected de.ilink.cti.cstamodel.MonitoredDevice createMonitoredDeviceInstance(java.lang.String aLocalAddress,
                                                                               java.lang.String aMonitorCrossRefID)
Overrides:
createMonitoredDeviceInstance in class de.ilink.cti.cstamodel.MonitorController

isObservable

public boolean isObservable()
Specified by:
isObservable in interface javax.telephony.capabilities.ProviderCapabilities
See Also:
ProviderCapabilities.isObservable()

connectionLost

public void connectionLost()
Overrides:
connectionLost in class de.ilink.cti.cstamodel.MonitorController

connectionRestored

public void connectionRestored()
Overrides:
connectionRestored in class de.ilink.cti.cstamodel.MonitorController

getDispatchingProviderObserver

public de.ilink.cti.cstajtapi.events.SynchronousCallEventDispatcher getDispatchingProviderObserver()

setACDAddresses

public void setACDAddresses(java.lang.String[] anAddrArr)

getACDAddress

protected de.ilink.cti.cstajtapi.callcenter.ACDGroup getACDAddress(java.lang.String anAddr)

getACDAddresses

public javax.telephony.callcenter.ACDAddress[] getACDAddresses()
                                                        throws javax.telephony.MethodNotSupportedException
Specified by:
getACDAddresses in interface javax.telephony.callcenter.CallCenterProvider
Throws:
javax.telephony.MethodNotSupportedException
See Also:
CallCenterProvider.getACDAddresses()

getACDManagerAddresses

public javax.telephony.callcenter.ACDManagerAddress[] getACDManagerAddresses()
                                                                      throws javax.telephony.MethodNotSupportedException
Specified by:
getACDManagerAddresses in interface javax.telephony.callcenter.CallCenterProvider
Throws:
javax.telephony.MethodNotSupportedException
See Also:
CallCenterProvider.getACDManagerAddresses()

getRouteableAddresses

public javax.telephony.callcenter.RouteAddress[] getRouteableAddresses()
                                                                throws javax.telephony.MethodNotSupportedException
Specified by:
getRouteableAddresses in interface javax.telephony.callcenter.CallCenterProvider
Throws:
javax.telephony.MethodNotSupportedException
See Also:
CallCenterProvider.getRouteableAddresses()

registerCall

protected void registerCall(CallImpl aCall)

unregisterCall

protected void unregisterCall(CallImpl aCall)

checkProviderInService

protected void checkProviderInService()
                               throws javax.telephony.InvalidStateException
Throws:
javax.telephony.InvalidStateException


Copyright © 2002-2007, 2009, 2013, 2015-2019 by ilink Kommunikationssysteme GmbH
info@ilink.de