Interface AgentDeviceControlConnector
-
- All Superinterfaces:
PhoneSystemConnector
public interface AgentDeviceControlConnector extends PhoneSystemConnector
TheAgentDeviceControlConnector
is an interface to provide additional functionality to control a remote agent device within the novomind iAGENT routing process. TheAgentDeviceControlConnector
offers service functions and also event handling by adding event listeners to react to specific agent device events. Please annotate yourAgentDeviceControlConnector
implementation with thePhoneSystemConnectorPlugin
annotation.- Since:
- 11.27
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
answer(ConnectedAgentDevice connectedAgentDevice)
Answer an alerting call on the agent device.PhoneDeviceState
getPhoneDeviceState(ConnectedAgentDevice connectedAgentDevice)
Retrieve the currentPhoneDeviceState
of the device.void
hangup(ConnectedAgentDevice connectedAgentDevice)
Hang up the current call on the agent device.void
init(AgentDeviceEventListener agentDeviceEventListener)
The init method is called to initialize anAgentDeviceControlConnector
.AgentDeviceLoginResult
loginAgent(AgentDeviceLoginRequest agentDeviceLoginRequest)
Log on an agent on a phone device connected to the phone system.void
logoutAgent(ConnectedAgentDevice connectedAgentDevice)
Log out an agent from a connected device.default OutgoingCall
startOutgoingCall(StartOutgoingCallRequest startOutgoingCallRequest)
Start an outgoing call by an agent-
Methods inherited from interface com.novomind.ecom.api.iagent.connector.call.PhoneSystemConnector
configurationChanged, connect, init, release
-
-
-
-
Method Detail
-
init
void init(AgentDeviceEventListener agentDeviceEventListener)
The init method is called to initialize anAgentDeviceControlConnector
. The method will be called after a new instance ofAgentDeviceControlConnector
has been created.- Parameters:
agentDeviceEventListener
- the agent device event listener for thisAgentDeviceControlConnector
- Since:
- 11.27
-
loginAgent
AgentDeviceLoginResult loginAgent(AgentDeviceLoginRequest agentDeviceLoginRequest) throws AgentDeviceLoginException
Log on an agent on a phone device connected to the phone system. The method must ensure a correct authentication with the given credentials. The method must allow relogins if the agent is already logged on, but only on the same agent device. The method must not allow relogins on other devices than the currently logged on device. If any error occurs the plugin may throw anAgentLoginException
. The error will be notified to the agent. Please note that after theloginAgent(AgentDeviceLoginRequest)
method has been executed successfully, the agent phone device initial state will bePhoneDeviceState.DISCONNECTED
. The agent will not receive calls until thePhoneDeviceState
of the agent's phone device has been changed. (s.PhoneDeviceStateEventListener.phoneDeviceStateChanged(PhoneDeviceStateChangedEvent)
)- Parameters:
agentDeviceLoginRequest
- provides all required information and credentials to perform the login request.- Returns:
- the AgentDeviceLoginResult containing additional information about the successful login.
- Throws:
AgentDeviceLoginException
- in case of operation failure or broken connection- Since:
- 11.27
-
logoutAgent
void logoutAgent(ConnectedAgentDevice connectedAgentDevice) throws AgentDeviceOperationException
Log out an agent from a connected device. If any error occurs the plugin may throw anAgentDeviceOperationException
. In this case the logout procedure will not be interrupted and the error will not be reported to the agent.- Parameters:
connectedAgentDevice
- provides the user and the deviceId to be logged off.- Throws:
AgentDeviceOperationException
- in case of operation failure or broken connection- Since:
- 11.27
-
answer
void answer(ConnectedAgentDevice connectedAgentDevice) throws AgentDeviceOperationException
Answer an alerting call on the agent device.- Parameters:
connectedAgentDevice
- the connected agent device to answer the alerting call- Throws:
AgentDeviceOperationException
- in case of operation failure or broken connection- Since:
- 11.27
-
hangup
void hangup(ConnectedAgentDevice connectedAgentDevice) throws AgentDeviceOperationException
Hang up the current call on the agent device.- Parameters:
connectedAgentDevice
- the connected agent device to hang up- Throws:
AgentDeviceOperationException
- in case of operation failure or broken connection- Since:
- 11.27
-
getPhoneDeviceState
PhoneDeviceState getPhoneDeviceState(ConnectedAgentDevice connectedAgentDevice) throws AgentDeviceOperationException
Retrieve the currentPhoneDeviceState
of the device. If the currentPhoneDeviceState
cannot be retrieved, the method throws anAgentDeviceOperationException
.- Parameters:
connectedAgentDevice
- the connected agent device- Returns:
- the current
PhoneDeviceState
of the specifiedConnectedAgentDevice
- Throws:
AgentDeviceOperationException
- in case of operation failure or broken connection- Since:
- 11.27
-
startOutgoingCall
default OutgoingCall startOutgoingCall(StartOutgoingCallRequest startOutgoingCallRequest) throws AgentDeviceOperationException
Start an outgoing call by an agent- Parameters:
startOutgoingCallRequest
- theStartOutgoingCallRequest
contains all information to start an outgoing call- Returns:
- the OutgoingCall
- Throws:
AgentDeviceOperationException
- in case of operation failure or broken connection- Since:
- 11.27
-
-