Interface AgentDeviceControlConnector
- All Superinterfaces:
PhoneSystemConnector
The
AgentDeviceControlConnector
is an interface to
provide additional functionality to control a remote agent device
within the novomind iAGENT routing process.
The AgentDeviceControlConnector
offers service functions and also
event handling by adding event listeners to react to specific agent device events.
Please annotate your AgentDeviceControlConnector
implementation
with the PhoneSystemConnectorPlugin
annotation.- Since:
- 11.27
-
Method Summary
Modifier and TypeMethodDescriptionvoid
answer
(ConnectedAgentDevice connectedAgentDevice) Answer an alerting call on the agent device.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
.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 agentMethods inherited from interface com.novomind.ecom.api.iagent.connector.call.PhoneSystemConnector
configurationChanged, connect, init, release
-
Method Details
-
init
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
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
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
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
-