Interface CallRoutingConnector
-
- All Superinterfaces:
PhoneSystemConnector
public interface CallRoutingConnector extends PhoneSystemConnector
TheCallRoutingConnector
is an interface to provide call related functions of a remote PBX and also event handling by adding event listeners to react to specific call events within the novomind iAGENT routing process. Please annotate yourCallRoutingConnector
implementation with thePhoneSystemConnectorPlugin
annotation.- Since:
- 11.27
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
deliverQueuedCall(DeliverQueuedCallRequest deliverQueuedCallRequest)
Delivers a queued call directly to an agent.void
dequeueQueuedCall(DequeueQueuedCallRequest dequeueQueuedCallRequest)
A call may be dequeued e.g.void
finishQueuedCall(FinishQueuedCallRequest finishQueuedCallRequest)
A call may be finished e.g.CallState
getCallState(QueuedCall queuedCall)
Retrieve the state of a queued callvoid
init(CallRoutingEventListener callRoutingEventListener)
The init method is called to initialize aCallRoutingConnector
The method will be called after a new instance ofCallRoutingConnector
has been created.void
redirectQueuedCall(RedirectQueuedCallRequest redirectQueuedCallRequest)
A call may be redirected e.g.void
rerouteQueuedCall(RerouteQueuedCallRequest rerouteQueuedCallRequest)
A call may be rerouted e.g.-
Methods inherited from interface com.novomind.ecom.api.iagent.connector.call.PhoneSystemConnector
configurationChanged, connect, init, release
-
-
-
-
Method Detail
-
init
void init(CallRoutingEventListener callRoutingEventListener)
The init method is called to initialize aCallRoutingConnector
The method will be called after a new instance ofCallRoutingConnector
has been created.- Parameters:
callRoutingEventListener
- the event listener for thisCallRoutingConnector
- Since:
- 11.27
-
deliverQueuedCall
void deliverQueuedCall(DeliverQueuedCallRequest deliverQueuedCallRequest) throws CallNotFoundException, CallOperationException
Delivers a queued call directly to an agent. This function call should result in an alerting call on an agent device. Please do not implement this method blocking! Any implementation of this method must not perform any long term operations and should return immediately.- Parameters:
deliverQueuedCallRequest
- provides all information about the queued call to be delivered and the target agent device- Throws:
CallNotFoundException
- if the specified call does not exist.CallOperationException
- in case of operation failure or broken connection- Since:
- 11.27
-
dequeueQueuedCall
void dequeueQueuedCall(DequeueQueuedCallRequest dequeueQueuedCallRequest) throws CallNotFoundException, CallOperationException
A call may be dequeued e.g. when an agent is not able to complete the customer's issue and therefore wants to take back the customer to the IVR. After a successful dequeuing the agent side of the call is disconnected and the call's state is back to RECEIVED (currently/again handled within the IVR). Please do not implement this method blocking! Any implementation of this method must not perform any long term operations and should return immediately.- Parameters:
dequeueQueuedCallRequest
- provides all information about the queued call to be dequeued- Throws:
CallNotFoundException
- if the specified call does not exist.CallOperationException
- in case of operation failure or broken connection- Since:
- 11.27
-
rerouteQueuedCall
void rerouteQueuedCall(RerouteQueuedCallRequest rerouteQueuedCallRequest) throws CallNotFoundException, CallOperationException
A call may be rerouted e.g. if the agent cannot attend the caller, or if the agent would like to make an inquiry call to another agent. The function has to disconnect the call from the agent device and push back the call to the queue. The call will be rerouted to another suitable agent or be held to be delivered again to the same agent later. Please do not implement this method blocking! Any implementation of this method must not perform any long term operations and should return immediately.- Parameters:
rerouteQueuedCallRequest
- provides all information about the queued call to be rerouted- Throws:
CallNotFoundException
- if the specified call does not exist.CallOperationException
- in case of operation failure or broken connection- Since:
- 11.27
-
redirectQueuedCall
void redirectQueuedCall(RedirectQueuedCallRequest redirectQueuedCallRequest) throws CallNotFoundException, CallOperationException
A call may be redirected e.g. when a call could not be attended within a long time period and therefore should be redirected to an external target. A call also can be redirected manually by a supervisor. Please do not implement this method blocking! Any implementation of this method must not perform any long term operations and should return immediately.- Parameters:
redirectQueuedCallRequest
- provides all information about the queued call to be redirected- Throws:
CallNotFoundException
- if the specified call does not exist.CallOperationException
- in case of operation failure or broken connection- Since:
- 11.27
-
finishQueuedCall
void finishQueuedCall(FinishQueuedCallRequest finishQueuedCallRequest) throws CallNotFoundException, CallOperationException
A call may be finished e.g. when a call could not be attended within a long time period or a technical error has occurred and therefore the call must be finished. A call also can be finished manually by a supervisor. Please do not implement this method blocking! Any implementation of this method must not perform any long term operations and should return immediately.- Parameters:
finishQueuedCallRequest
- provides all information about the queued call to be finished- Throws:
CallNotFoundException
- if the specified call does not exist.CallOperationException
- in case of operation failure or broken connection- Since:
- 11.27
-
getCallState
CallState getCallState(QueuedCall queuedCall) throws CallNotFoundException, CallOperationException
Retrieve the state of a queued call- Parameters:
queuedCall
- the queued call- Returns:
- the CallState of the queued call
- Throws:
CallNotFoundException
- if the specified call does not exist.CallOperationException
- in case of operation failure or broken connection.- Since:
- 11.27
-
-