Interface AgentService


  • public interface AgentService
    The AgentService object is accessible from the User object, providing access to agent features.
    The AgentService operations shall be used post successful agent login except view status (VuStats) and queue status (QStats) monitoring operation which can be used without agent login.
    The client application is notified about status updates on agent features reported by the agent service through handlers that the application has registered on the AgentService object. These updates may be the result of local operations on the AgentService object as well as remote changes initiated by either the service/server or other end users.
    • Method Detail

      • addListener

        void addListener​(AgentServiceListener listener)
        Adds a agent service listener to service instance.
        Parameters:
        listener - Listener instance to be added.
      • removeListener

        void removeListener​(AgentServiceListener listener)
        Removes a agent service listener from service instance.
        Parameters:
        listener - Listener instance to be removed.
      • isAgentServiceAvailable

        boolean isAgentServiceAvailable()
        Returns a boolean value indicating whether agent feature service is available or not
        Returns:
        a boolean value indicating whether agent feature service is available or not
      • getAvailableAgentFeatures

        java.util.List<AgentFeature> getAvailableAgentFeatures()
        Returns list of available agent features or feature buttons administered on signaling server for registered SIP user.
        Returns:
        list of available agent features or feature buttons
      • setLabelForAgentFeature

        void setLabelForAgentFeature​(AgentFeature agentFeature,
                                     java.lang.String featureLabel,
                                     AgentServiceCompletionHandler handler)
        Updates agent feature with a personalized label given by user.
        Parameters:
        agentFeature - The feature.
        featureLabel - The personalized label to be set.
        handler - Completion handler instance that receives the result of the operation.
      • isAgentFeatureAvailable

        boolean isAgentFeatureAvailable​(AgentFeatureType featureType)
        Returns whether the agent feature indicated by featureType is available for the application.
        Parameters:
        featureType - Type of agent feature.
        Returns:
        whether the agent feature indicated by featureType is available for the application.
      • login

        void login​(AgentServiceCompletionHandler handler)
        Starts agent login process with the communications servers.

        Feedback is provided via the AgentServiceCompletionHandler object.

        Parameters:
        handler - Completion handler instance that receives the result of the operation.
      • logout

        void logout​(int reasonCode,
                    AgentServiceCompletionHandler handler)
        Stops agent services including logout with reason code from the communications servers. Use '0' as default reason code if reason code is not available. Feedback is provided via the AgentServiceCompletionHandler object.
        With reason codes, staffed agents can enter a numeric 1-digit or 2-digit code that describes the reason for logging out of the system. Reason codes give call center managers information about how agents spend time.
        Parameters:
        reasonCode - Reason code for agent logout. Minimum value-0, Maximum value-9, Default value-0 Reason code policy is administered on CM. The provisioning of these reason codes are not passed down to the clients. The agents are told by their supervisor what these codes are, and the agentd are used to enter these integer numbers.
        handler - Completion handler instance that receives the result of the operation.
      • getAutoLogoutReasonCode

        int getAutoLogoutReasonCode()
        Get logout reason code for automatic agent logout.
        Returns:
        Reason code for automatic agent logout.
      • setAutoLogoutReasonCode

        void setAutoLogoutReasonCode​(int autoLogoutReasonCode)
        Set logout reason code for automatic agent logout. This method allows to override the auto logout reason code provided within AgentConfiguration.
        Parameters:
        autoLogoutReasonCode - Reason code for automatic agent logout.
      • getAllowedAuxiliaryWorkModeReasonCodes

        java.util.List<java.lang.Integer> getAllowedAuxiliaryWorkModeReasonCodes()
        Returns list of administered auxiliary work mode reason codes available for an agent to change in to auxiliary work mode.
        Returns:
        list of administered auxiliary work mode reason codes
      • isAgentWorkModeAvailable

        boolean isAgentWorkModeAvailable​(AgentWorkMode agentWorkMode)
        Returns A boolean value indicating whether the agent work mode indicated by workModeType is available for use.
        Parameters:
        agentWorkMode - Type of agent work mode.
        Returns:
        whether the agent work mode indicated by workModeType is available for use.
      • setAgentWorkMode

        void setAgentWorkMode​(AgentWorkMode newAgentWorkMode,
                              int reasonCode,
                              AgentServiceCompletionHandler handler)
        Sets agent work mode. Result is notified by callbacks defined in AgentServiceCompletionHandler object. The updated work mode is notified by AgentServiceListener.onAgentWorkModeChanged(AgentService, AgentWorkMode, int)} callback.
        Parameters:
        newAgentWorkMode - New work mode for agent
        reasonCode - The reason code in case of changing to auxiliary work mode, for other modes use '0' as default code.
        handler - Completion handler instance that receives the result of the operation.
      • getAgentWorkMode

        AgentWorkMode getAgentWorkMode()
        Returns current work mode of the agent.
        Returns:
        current work mode of the agent.
      • getQueueStatisticsMonitoringCapability

        Capability getQueueStatisticsMonitoringCapability​(int skillId)
        Returns an indication whether queue statistics monitor feature is available for particular skill or not.
        Parameters:
        skillId - The hunt group/skill number associated with the button.
        Returns:
        Capability object describing whether the queue statistics monitor feature is available.
      • getQueueStatisticsList

        java.util.List<QueueStatistics> getQueueStatisticsList()
        Returns a queue statistics collection that is available for the user, this information can be used by the agent to monitor skill based queue statistics using method AgentServiceImpl.startQueueStatisticsMonitoring(QueueStatistics, AgentServiceCompletionHandler).
        Returns:
        a queue statistics collection that is available for the user
      • startQueueStatisticsMonitoring

        void startQueueStatisticsMonitoring​(QueueStatistics queueStatistics,
                                            AgentServiceCompletionHandler completionHandler)
        Starts queue statistics monitoring. It provides information about particular skill or queue for the agent as administered on signalling server.
        Parameters:
        queueStatistics - The QueueStatisticsImpl information object for which to start monitor operation.
        completionHandler - Completion handler instance that receives the result of the operation.
      • stopQueueStatisticsMonitoring

        void stopQueueStatisticsMonitoring​(QueueStatistics queueStatistics,
                                           AgentServiceCompletionHandler completionHandler)
        Stops queue statistics monitoring operation.
        Parameters:
        queueStatistics - The QueueStatisticsImpl information object for which to stop monitor operation.
        completionHandler - Completion handler instance that receives the result of the operation.
      • setQueueStatisticsRefreshInterval

        void setQueueStatisticsRefreshInterval​(int refreshInterval,
                                               AgentServiceCompletionHandler completionHandler)
        Sets refresh interval for queue statistics.
        Parameters:
        refreshInterval - The refresh interval in seconds. Minimum value: 0 (i.e. no refresh), maximum value: 3600 (i.e. 1 hour).
        completionHandler - Completion handler instance that receives the result of the operation.
      • getSendCallWorkCodeCapability

        Capability getSendCallWorkCodeCapability()
        Returns an indication as to whether the work code can be sent over the existing call.
        Returns:
        Capability object describing whether the work code can be sent over the existing call.
      • sendCallWorkCode

        void sendCallWorkCode​(java.lang.String callWorkCode,
                              AgentServiceCompletionHandler handler)
        Sends the specified call work code. Result is notified via callbacks defined in AgentServiceCompletionHandler object.

        When the agent is on an ACD call, at any time he or she can invoke the work code feature and enter the digits (max 16 digits) for the code.
        Example: The agent is on a call and half way through he or she realize that the call is a sales call. Agent would invoke work-code feature and enter 10 (if this is the number for the code). This will register in the Call Management System (CMS) and record the data.

        Parameters:
        callWorkCode - The work code to send.
        handler - Completion handler instance that receives the result of the operation.
      • callSupervisor

        void callSupervisor​(int skillId,
                            SupervisorAssistCompletionHandler handler)
        Requests for supervisor assistance based on skill.

        If supervisor assistance is requested based on skill id then new call will be placed for supervisor.

        Parameters:
        skillId - The skill id for which supervisor assistance is required.
        handler - Completion handler instance that receives the result of the operation. If not provided, failure feedback cannot be provided.
      • getCallSupervisorCapability

        Capability getCallSupervisorCapability​(int skillId)
        Returns an indication as to whether the supervisor assistance is available based on skill.

        Parameters:
        skillId - The skill id for which supervisor assistance is required.
        Returns:
        Capability object describing whether the supervisor assistance is available.
      • consultSupervisor

        void consultSupervisor​(SupervisorAssistCompletionHandler handler)
        Requests for supervisor assistance.
        If active call is in progress then existing call will go in hold state and the agent connects to the skill supervisor. The caller hears nothing or music on hold but the agent and the supervisor can talk with each other. After speaking with the supervisor, the agent can drop the call with supervisor and return to the ACD call, set up a conference call with the supervisor and the calling party, or transfer the call to the supervisor.
        Result is notified via callbacks defined in SupervisorAssistCompletionHandler object. This completion handler is invoked as soon as call with supervisor has been successfully initiated, not when the call is established with the supervisor.

        Parameters:
        handler - Completion handler instance that receives the result of the operation. If not provided, failure feedback cannot be provided.
      • getConsultSupervisorCapability

        Capability getConsultSupervisorCapability()
        Returns an indication as to whether the supervisor assistance is available for active call.

        Returns:
        Capability object describing whether the supervisor assistance is available.
      • getChangeSkillCapability

        Capability getChangeSkillCapability()
        Returns an indication as to whether the change skill is available.

        Returns:
        Capability object describing whether the change skill is available.
      • addSkill

        void addSkill​(AgentSkill skill,
                      java.lang.String agentId,
                      AgentFeatureButtonLampCompletionHandler completionHandler)
        Request to add a skill to the skills assigned to an agent.
        Parameters:
        skill - The skill to be added.
        agentId - The extension of the agent the change applies to.
        completionHandler - Completion handler instance that receives the result of the operation. If not provided, failure feedback cannot be provided.
      • removeSkill

        void removeSkill​(AgentSkill skill,
                         java.lang.String agentId,
                         AgentFeatureButtonLampCompletionHandler completionHandler)
        Request to remove (unassign) a skill that is assigned to an agent.
        Parameters:
        skill - The skill to be removed.
        agentId - The extension of the agent the change applies to.
        completionHandler - Completion handler instance that receives the result of the operation. If not provided, failure feedback cannot be provided.
      • setOverrideForcedLogout

        void setOverrideForcedLogout​(AgentServiceCompletionHandler handler)
        Enables or disables agent's forced logout override operation. Result is notified via callbacks defined in AgentServiceCompletionHandler object.
        Parameters:
        handler - Completion handler instance that receives the result of the operation. If not provided, failure feedback cannot be provided.
      • getForcedLogoutOverrideCapability

        Capability getForcedLogoutOverrideCapability()
        Returns an indication as to whether the forced logout override is available.
        Returns:
        Capability object describing whether the forced logout override is available.