Interface CallFeatureService


  • public interface CallFeatureService
    The CallFeatureService object is accessible from the User object, providing access to additional business communication features. The CallFeatureService object provides a set of APIs that allow application developers to implement advanced SIP telephony features. In general, administered features can be invoked depending upon the current state of the system. The client application is notified about status updates on features reported by the call feature service through handlers that the application has registered on the CallFeatureService object. These updates may be the result of local operations on the CallFeatureService object as well as remote changes initiated by either the service/server or other end users.
    • Method Detail

      • addListener

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

        void removeListener​(CallFeatureServiceListener listener)
        Removes a listener.
        Parameters:
        listener - Listener instance to be removed.
      • isServiceAvailable

        boolean isServiceAvailable()
        A Boolean value indicating whether the Call Feature Service is available.
        Returns:
        true if the Call Feature Service is available, false otherwise.
      • getAvailableFeatures

        java.util.List<FeatureStatusParameters> getAvailableFeatures()
        Gets a list of available features.
        Returns:
        A list of FeatureStatusParameters or null otherwise.
      • getAvailableBusyIndicators

        java.util.List<BusyIndicator> getAvailableBusyIndicators()
        Gets a list of available busy indicators.
        Returns:
        A list of BusyIndicators or null otherwise.
      • getAvailableAutodials

        java.util.List<Autodial> getAvailableAutodials()
        Gets a list of available autodials.
        Returns:
        A list of Autodials or null otherwise.
      • updateAutodial

        void updateAutodial​(Autodial updatedAutodial,
                            UpdateAutodialCompletionHandler handler)
        Sends out a request in the network to update a configured Autodial button
        Parameters:
        updatedAutodial - User modified autodial button
        handler - The completion handler associated with this request.
      • isFeatureAvailable

        boolean isFeatureAvailable​(FeatureType featureType)
        Determine if a specific feature is available.
        Parameters:
        featureType - Type of feature
        Returns:
        Whether the feature indicated by featureType is available for use.
      • canInvokeFeature

        boolean canInvokeFeature​(FeatureType featureType)
        Determine if a specific feature can be invoked at this time. This is deprecated
        Parameters:
        featureType - Type of feature
        Returns:
        Whether the feature indicated by featureType can be invoked at this time.
      • getFeatureCapability

        Capability getFeatureCapability​(FeatureType featureType)
        Gets Capability object indicating whether a specific feature can be invoked.
        Parameters:
        featureType - Type of feature.
        Returns:
        Capability object indicating whether a specific feature can be invoked.
      • getFeatureStatus

        @Deprecated
        FeatureStatusParameters getFeatureStatus​(FeatureType featureType,
                                                 java.lang.String ownerExtension)
        Deprecated.
        THIS METHOD WILL BE REMOVED. Use getFeatureStatusForFeatureParams(FeatureParameters featureParameters) instead.
        Gets the status of a specific feature.
        Parameters:
        featureType - Type of feature
        ownerExtension - The owner extension
        Returns:
        The feature status. Not all feature types are toggle features that have status (can be on, off, or alerting). The returned status will be "undefined" for such features. If feature type is not configured for specified extension, this API will return empty object of type FeatureStatusParameters with UNDEFINED status in it. Other status are ON/OFF/ALERTING.
      • getFeatureStatusForFeatureParams

        FeatureStatusParameters getFeatureStatusForFeatureParams​(FeatureParameters featureParameters)
        Gets the status of a specific feature for a specified FeatureQueryParameters object.
        Parameters:
        featureParameters - The FeatureParameters object to query feature status.
        Returns:
        The feature status. Not all feature types are toggle features that have status (can be on, off or alerting). The returned status will be "undefined" for such features. If feature type is not configured for specified extension, this API will return empty object of type FeatureStatusParameters with UNDEFINED status in it. Other status are ON/OFF/ALERTING.
      • invokeFeature

        void invokeFeature​(FeatureType featureType,
                           FeatureCompletionHandler completionHandler)

        Invoke a feature.

           Feature                       Parameters
           ------------------------------------------------------
           SEND_ALL_CALLS                [action] [owner-extension]
           FORWARD_ALL_CALLS             [action] [destination] [owner-extension]
           FORWARD_BUSY_NO_ANSWER_CALLS  [action] [destination] [owner-extension]
           EXCLUSION                     [action]
           EC500                         [action]
           EXTEND_CALL
           CALL_PARK
           CALL_UNPARK                   [extension]
           AUTO_CALLBACK                 [action]
           WHISPER_PAGE                  [extension]
           GROUP_CALL_PICKUP
           EXTENDED_GROUP_CALL_PICKUP    [pickup-number]
           CALLING_PARTY_NUMBER_BLOCK    [destination]
           CALLING_PARTY_NUMBER_UNBLOCK  [destination]
           ONE_TOUCH_RECORDING           [action] [extension]
           DIRECTED_CALL_PICKUP          [extension]
           PRIORITY_CALL                 [destination]
           MALICIOUS_CALL_TRACE
           SIM_RING_CALLBACK             [sim-ring-callback-parameters]
           CALLBACK_CALL                 [extension] [destination]
         

        A callback method defined in CallFeatureServiceListener reports feature status for those features that have status.

        Parameters:
        featureType - The feature to invoke.
        completionHandler - The completion handler for this (asynchronous) request, used to determine if invocation is successful or not. Note, the completion handler is associated with this specific invocation and can use variables from the local scope.
      • getSendAllCallsCapability

        Capability getSendAllCallsCapability()
        Returns:
        a capability object indicating whether the send all calls feature is available for the user's local extension.
      • isSendAllCallsEnabled

        boolean isSendAllCallsEnabled()
        Returns:
        a Boolean value indicating whether the send all calls feature is enabled for the user's local extension.
      • setSendAllCallsEnabled

        void setSendAllCallsEnabled​(boolean enabled,
                                    FeatureCompletionHandler completionHandler)
        Enables or disables sending all calls to coverage.
        Parameters:
        enabled - If true send all calls is enabled. If false send all calls is disabled.
        completionHandler - A completion handler that receives the result of the operation.
      • getSendAllCallsCapability

        Capability getSendAllCallsCapability​(java.lang.String extension)
        Parameters:
        extension - The extension for which to query the availability of the feature. Pass null to query the availability of the feature for the user's local extension.
        Returns:
        a capability object indicating whether the send all calls feature is available for the specified extension.
      • isSendAllCallsEnabled

        boolean isSendAllCallsEnabled​(java.lang.String extension)
        Parameters:
        extension - The extension for which to query the status of the feature. Pass null to query the status of the feature for the user's local extension.
        Returns:
        a Boolean value indicating whether the send all calls feature is enabled for the specified extension.
      • setSendAllCallsEnabled

        void setSendAllCallsEnabled​(java.lang.String extension,
                                    boolean enabled,
                                    FeatureCompletionHandler completionHandler)
        Enables or disables sending all calls to coverage for another extension.
        Parameters:
        extension - The extension to enable or disable send all calls for.
        enabled - If true send all calls is enabled. If false send all calls is disabled.
        completionHandler - A completion handler that receives the result of the operation.
      • getCallForwardingCapability

        Capability getCallForwardingCapability()
        Returns:
        a capability object indicating whether the call forwarding feature is available for the user's local extension.
      • isCallForwardingEnabled

        boolean isCallForwardingEnabled()
        Returns:
        a Boolean value indicating whether the call forwarding feature is enabled for the user's local extension.
      • getCallForwardingDestination

        java.lang.String getCallForwardingDestination()
        Returns:
        the call forwarding destination for the user's local extension.
      • setCallForwardingEnabled

        void setCallForwardingEnabled​(boolean enabled,
                                      java.lang.String destination,
                                      FeatureCompletionHandler completionHandler)
        Enables or disables forwarding of all calls to the specified destination.
        Parameters:
        enabled - If true forwarding is enabled. If false forwarding is disabled.
        destination - The destination number to forward calls to.
        completionHandler - A completion handler that receives the result of the operation.
      • getCallForwardingCapability

        Capability getCallForwardingCapability​(java.lang.String extension)
        Parameters:
        extension - The extension for which to query the availability of the feature. Pass null to query the availability of the feature for the user's local extension.
        Returns:
        a capability object indicating whether the call forwarding feature is available for the specified extension.
      • isCallForwardingEnabled

        boolean isCallForwardingEnabled​(java.lang.String extension)
        Parameters:
        extension - The extension for which to query the status of the feature. Pass null to query the status of the feature for the user's local extension.
        Returns:
        a Boolean value indicating whether the call forwarding feature is enabled for the specified extension.
      • getCallForwardingDestination

        java.lang.String getCallForwardingDestination​(java.lang.String extension)
        Parameters:
        extension - The extension for which to query the status of the feature. Pass null to query the status of the feature for the user's local extension.
        Returns:
        the call forwarding destination for the specified extension.
      • setCallForwardingEnabled

        void setCallForwardingEnabled​(java.lang.String extension,
                                      boolean enabled,
                                      java.lang.String destination,
                                      FeatureCompletionHandler completionHandler)
        Enables or disables forwarding of all calls to the specified destination for another extension.
        Parameters:
        extension - The extension to enable or disable forwarding for.
        enabled - If true forwarding is enabled. If false forwarding is disabled.
        destination - The destination number to forward calls to.
        completionHandler - A completion handler that receives the result of the operation.
      • getCallForwardingBusyNoAnswerCapability

        Capability getCallForwardingBusyNoAnswerCapability()
        Returns:
        a capability object indicating whether the call forwarding busy-no-answer feature is available for the user's local extension.
      • isCallForwardingBusyNoAnswerEnabled

        boolean isCallForwardingBusyNoAnswerEnabled()
        Returns:
        a Boolean value indicating whether the call forwarding busy-no-answer feature is enabled for the user's local extension.
      • getCallForwardingBusyNoAnswerDestination

        java.lang.String getCallForwardingBusyNoAnswerDestination()
        Returns:
        the call forwarding busy-no-answer destination for the user's local extension.
      • setCallForwardingBusyNoAnswerEnabled

        void setCallForwardingBusyNoAnswerEnabled​(boolean enabled,
                                                  java.lang.String destination,
                                                  FeatureCompletionHandler completionHandler)
        Enables or disables forwarding of calls that receive a busy signal or are not answered to the specified destination.
        Parameters:
        enabled - If true forwarding is enabled. If false forwarding is disabled.
        destination - The destination number to forward calls to.
        completionHandler - A completion handler that receives the result of the operation.
      • getCallForwardingBusyNoAnswerCapability

        Capability getCallForwardingBusyNoAnswerCapability​(java.lang.String extension)
        Parameters:
        extension - The extension for which to query the availability of the feature. Pass null to query the availability of the feature for the user's local extension.
        Returns:
        a capability object indicating whether the call forwarding busy-no-answer feature is available for the specified extension.
      • isCallForwardingBusyNoAnswerEnabled

        boolean isCallForwardingBusyNoAnswerEnabled​(java.lang.String extension)
        Parameters:
        extension - The extension for which to query the status of the feature. Pass null to query the status of the feature for the user's local extension.
        Returns:
        a Boolean value indicating whether the call forwarding busy-no-answer feature is enabled for the specified extension.
      • getCallForwardingBusyNoAnswerDestination

        java.lang.String getCallForwardingBusyNoAnswerDestination​(java.lang.String extension)
        Parameters:
        extension - The extension for which to query the status of the feature. Pass null to query the status of the feature for the user's local extension.
        Returns:
        the call forwarding busy-no-answer destination for the specified extension.
      • setCallForwardingBusyNoAnswerEnabled

        void setCallForwardingBusyNoAnswerEnabled​(java.lang.String extension,
                                                  boolean enabled,
                                                  java.lang.String destination,
                                                  FeatureCompletionHandler completionHandler)
        Enables or disables forwarding of calls that receive a busy signal or are not answered to the specified destination for another extension.
        Parameters:
        extension - The extension to enable or disable forwarding for.
        enabled - If true forwarding is enabled. If false forwarding is disabled.
        destination - The destination number to forward calls to.
        completionHandler - A completion handler that receives the result of the operation.
      • getEnhancedCallForwardingCapability

        Capability getEnhancedCallForwardingCapability()
        Returns:
        a capability object indicating whether the enhanced call forwarding feature is available for the user's local extension.
      • getEnhancedCallForwardingCapability

        Capability getEnhancedCallForwardingCapability​(java.lang.String extension)
        Parameters:
        extension - The extension for which to query the availability of the feature. Pass null to query the availability of the feature for the user's local extension.
        Returns:
        a capability object indicating whether the enhanced call forwarding feature is available for the specified extension.
      • getEnhancedCallForwardingStatus

        EnhancedCallForwardingStatus getEnhancedCallForwardingStatus()
        Returns:
        the enhanced call forwarding status for the user's local extension.
      • getEnhancedCallForwardingStatus

        EnhancedCallForwardingStatus getEnhancedCallForwardingStatus​(java.lang.String extension)
        Parameters:
        extension - The extension for which to query the status of the feature.
        Returns:
        the call forwarding destination for the specified extension.
      • setEnhancedCallForwardingStatus

        void setEnhancedCallForwardingStatus​(EnhancedCallForwardingStatus enhancedCallForwardingStatus,
                                             FeatureCompletionHandler completionHandler)
        Enables or disables enhanced call forwarding for unconditional, busy or no reply for internal or external calls to the specified destination.
        Parameters:
        enhancedCallForwardingStatus - The new call forwarding status. It can be unconditional, busy or no reply for internal or external calls. For IP Office, the same destination number should be provided for call forward busy and no reply.
        completionHandler - A completion handler that receives the result of the operation.
      • setEnhancedCallForwardingStatus

        void setEnhancedCallForwardingStatus​(java.lang.String extension,
                                             EnhancedCallForwardingStatus enhancedCallForwardingStatus,
                                             FeatureCompletionHandler completionHandler)
        Enables or disables enhanced call forwarding for unconditional, busy or no reply for internal or external calls to the specified destination for another extension.
        Parameters:
        extension - The extension to enable or disable forwarding for.
        enhancedCallForwardingStatus - The new call forwarding status. It can be unconditional, busy or no reply for internal or external calls. For IP Office, the same destination number should be provided for call forward busy and no reply.
        completionHandler - A completion handler that receives the result of the operation.
      • getExclusionCapability

        Capability getExclusionCapability()
        Returns:
        a capability object indicating whether the exclusion feature is available.
      • setExclusionEnabled

        void setExclusionEnabled​(boolean enabled,
                                 FeatureCompletionHandler completionHandler)
        Enables or disables exclusion for the active call.

        Exclusion prevents any other users from bridging onto the call, and drops any other users who are already bridged onto the call.

        Parameters:
        enabled - If true exclusion is enabled. If false exclusion is is disabled.
        completionHandler - A completion handler that receives the result of the operation.
      • getLimitCallsCapability

        Capability getLimitCallsCapability()
        Returns:
        a capability object indicating whether the Limit Number of Concurrent Calls feature is available.
      • limitCalls

        void limitCalls​(boolean enabled,
                        FeatureCompletionHandler completionHandler)
        Enables or disables the Limit Number of Concurrent Calls feature.

        Limit Number of Concurrent Calls feature: Users can use this to limit the number of concurrent calls at a station to one call, where normally multiple call appearances can terminate at the station.

        Parameters:
        enabled - If true Limit Number of Concurrent Calls is enabled. If false Limit Number of Concurrent Calls is disabled.
        completionHandler - A completion handler to call when the operation has completed or null if no completion callback is desired.
      • getEC500Capability

        Capability getEC500Capability()
        Returns:
        a capability object indicating whether the EC500 feature is available.
      • isEC500Enabled

        boolean isEC500Enabled()
        Returns:
        a Boolean value indicating whether the EC500 feature is enabled.
      • setEC500Enabled

        void setEC500Enabled​(boolean enabled,
                             FeatureCompletionHandler completionHandler)
        Enables or disables EC500.
        Parameters:
        enabled - If true EC500 is enabled. If false EC500 is is disabled.
        completionHandler - A completion handler that receives the result of the operation.
      • setEC500Enabled

        void setEC500Enabled​(boolean enabled,
                             java.lang.String ec500Destination,
                             FeatureCompletionHandler completionHandler)
        Enables EC500 with the mobile phone number provided or disables EC500. Use this method only if EC500 destination is editable, otherwise use setEC500Enabled(boolean, FeatureCompletionHandler) method.
        Parameters:
        enabled - If true EC500 is enabled. If false EC500 is disabled.
        ec500Destination - A mobile phone number. The destination can be any external number the user is able to dial normally. It should include any prefix if necessary. The number is not relevant if enabled=false.
        completionHandler - A completion handler that receives the result of the operation.
        See Also:
        FeatureStatusParameters.isDestinationExtensionEditable()
      • getExtendCallCapability

        Capability getExtendCallCapability()
        Returns:
        a capability object indicating whether the extend call feature is available.
      • extendCall

        void extendCall​(FeatureCompletionHandler completionHandler)
        Extends the active call to the off-pbx destinations configured for the user's extension, namely EC500.

        An invocation of extendCall() is not considered successful until the call has been answered on one of the user's off-pbx destinations. Until this occurs cancelExtendCall() may be used to cancel the pending extension of the active call.

        Parameters:
        completionHandler - A completion handler that receives the result of the operation.
      • cancelExtendCall

        void cancelExtendCall​(FeatureCompletionHandler completionHandler)
        Cancels a pending extension of the active call to the off-pbx destinations configured for the user's extension.

        An invocation of extendCall() is not considered successful until the call has been answered on one of the user's off-pbx destinations. Until this occurs cancelExtendCall() may be used to cancel the pending extension of the active call.

        Parameters:
        completionHandler - A completion handler that receives the result of the operation.
      • getParkCallCapability

        Capability getParkCallCapability()
        Returns:
        a capability object indicating whether the call park feature is available.
      • parkCall

        void parkCall​(FeatureCompletionHandler completionHandler)
        Parks the active call.

        A parked call may later be unparked from another extension.

        Parameters:
        completionHandler - A completion handler that receives the result of the operation.
      • getUnparkCallCapability

        Capability getUnparkCallCapability()
        Returns:
        a capability object indicating whether the call unpark feature is available.
      • unparkCall

        void unparkCall​(FeatureCompletionHandler completionHandler)
        Unparks a call previously parked at the user's extension.
        Parameters:
        completionHandler - A completion handler that receives the result of the operation.
      • unparkCall

        void unparkCall​(java.lang.String extension,
                        FeatureCompletionHandler completionHandler)
        Unparks a call previously parked at the specified extension.
        Parameters:
        extension - The extension from which to retrieve the parked call.
        completionHandler - A completion handler that receives the result of the operation.
      • getAutoCallbackCapability

        Capability getAutoCallbackCapability()
        Returns:
        a capability object indicating whether the auto callback feature is available.
      • isAutoCallbackEnabled

        boolean isAutoCallbackEnabled()
        Returns:
        a Boolean value indicating whether the auto callback feature is enabled.
      • setAutoCallbackEnabled

        void setAutoCallbackEnabled​(boolean enabled,
                                    FeatureCompletionHandler completionHandler)
        Enables an automatic callback for the last call if it received a busy signal or was unanswered.
        Parameters:
        enabled - If true automatic callback is enabled. If false automatic callback is is disabled.
        completionHandler - A completion handler that receives the result of the operation.
      • isAutoCallbackEnabled

        boolean isAutoCallbackEnabled​(java.lang.String destination)
        Returns a Boolean value indicating whether the auto callback feature is enabled for the specified destination. Use this method only if AutoCallback destination is editable, otherwise use isAutoCallbackEnabled() method.
        Parameters:
        destination - The destination to query auto-callback enablement for.
        Returns:
        a Boolean value indicating whether the auto callback feature is enabled.
        See Also:
        FeatureStatusParameters.isDestinationExtensionEditable()
      • setAutoCallbackEnabled

        void setAutoCallbackEnabled​(boolean enabled,
                                    java.lang.String destination,
                                    FeatureCompletionHandler completionHandler)
        Enables or disables automatic callback for the specified destination. Use this method only if AutoCallback destination is editable, otherwise use setAutoCallbackEnabled(boolean, FeatureCompletionHandler) method.
        Parameters:
        enabled - If true automatic callback is enabled for the specified destination. If false automatic callback is disabled for the specified destination.
        destination - The destination to enable or disable auto-callback for.
        completionHandler - A completion handler that receives the result of the operation.
        See Also:
        FeatureStatusParameters.isDestinationExtensionEditable()
      • getWhisperPageCapability

        Capability getWhisperPageCapability()
        Returns:
        a capability object indicating whether the whisper page feature is available.
      • whisperPage

        void whisperPage​(java.lang.String extension,
                         FeatureCompletionHandler completionHandler)
        Starts a whisper page to another user that is on an active call.
        Parameters:
        extension - The extension to start a whisper page to.
        completionHandler - A completion handler that receives the result of the operation.
      • getDirectedCallPickupCapability

        Capability getDirectedCallPickupCapability()
        Returns:
        a capability object indicating whether the directed call pickup feature is available.
      • directedCallPickup

        void directedCallPickup​(java.lang.String extension,
                                FeatureCompletionHandler completionHandler)
        Picks up a call ringing at the specified extension.
        Parameters:
        extension - The extension to pick up the call from.
        completionHandler - A completion handler that receives the result of the operation.
      • getGroupCallPickupCapability

        Capability getGroupCallPickupCapability()
        Returns:
        a capability object indicating whether the group call pickup feature is available.
      • groupCallPickup

        void groupCallPickup​(FeatureCompletionHandler completionHandler)
        Picks up a call for the user's pickup group.
        Parameters:
        completionHandler - A completion handler that receives the result of the operation.
      • getExtendedGroupCallPickupCapability

        Capability getExtendedGroupCallPickupCapability()
        Returns:
        a capability object indicating whether the extended group call pickup feature is available.
      • extendedGroupCallPickup

        void extendedGroupCallPickup​(int groupNumber,
                                     FeatureCompletionHandler completionHandler)
        Picks up a call for the specified pickup group.
        Parameters:
        groupNumber - The group number to pick up the call from.
        completionHandler - A completion handler that receives the result of the operation.
      • getBlockCallingPartyNumberCapability

        Capability getBlockCallingPartyNumberCapability()
        Returns:
        a capability object indicating whether the block calling party number feature is available.
      • blockCallingPartyNumber

        void blockCallingPartyNumber​(java.lang.String destination,
                                     FeatureCompletionHandler completionHandler)
        Starts a call to the specified destination with the user's calling party number information blocked if the call is made over a trunk.
        Parameters:
        destination - The destination to call.
        completionHandler - A completion handler that receives the result of the operation.
      • getUnblockCallingPartyNumberCapability

        Capability getUnblockCallingPartyNumberCapability()
        Returns:
        a capability object indicating whether the unblock calling party number feature is available.
      • unblockCallingPartyNumber

        void unblockCallingPartyNumber​(java.lang.String destination,
                                       FeatureCompletionHandler completionHandler)
        Starts a call to the specified destination with the user's calling party number information unblocked if it would normally be blocked.
        Parameters:
        destination - The destination to call.
        completionHandler - A completion handler that receives the result of the operation.
      • getPriorityCallCapability

        Capability getPriorityCallCapability()
        Returns:
        a capability object indicating whether the priority call feature is available.
      • priorityCall

        void priorityCall​(java.lang.String destination,
                          FeatureCompletionHandler completionHandler)
        Starts a priority call to the specified destination.

        Priority calls have distinct alerting and typically do not go to coverage.

        Parameters:
        destination - The destination to call.
        completionHandler - A completion handler that receives the result of the operation.
      • completeCallPreemption

        void completeCallPreemption​(Call preemptedCall,
                                    FeatureCompletionHandler completionHandler)
        Completes call preemption after user acknowledges the continuous preemption tone. Call preemption occurs when a precedence call is sent to a preemptable endpoint that is busy with a call of lower precedence and has no idle appearances. This causes the lower precedence call to be preempted, regardless of whether the lower precedence call and the new higher precedence call are of the same media type. When preemption occurs, the active busy user receive a continuous preemption tone until user acknowledges the preemption by invoking complete preemption method and the other party receives a preemption tone for a minimum of 3 seconds. After acknowledging the preemption, the extension to which the precedence call is directed will be provided with precedence ringing and the calling party will receive an audible ring-back precedence tone. Application must start playing preemption tone upon receipt of event CallListener.onCallPreempted(Call, CallPreemptionReason, boolean) and stop preemption tone before calling completeCallPreemption when user acknowledges the preemption. However when other end receives preemption application must stop tone after 3 seconds and CallListener.onCallPreempted(Call, CallPreemptionReason, boolean) is NOT needed since there is no precedence call is directed at this end, other end is free and ready to receive any other new call while tone is being played.
        Parameters:
        preemptedCall - call which was preempted and received onCallPreempted event.
        completionHandler - A completion handler that receives the result of the operation.
        See Also:
        CallListener.onCallPreempted(Call, CallPreemptionReason, boolean)
      • setHuntGroupBusyPositionEnabled

        void setHuntGroupBusyPositionEnabled​(boolean enabled,
                                             int huntGroupNumber,
                                             FeatureCompletionHandler completionHandler)
        Enables or disables Hunt Group Busy Position feature for a specified hunt group number. When enabled, user will not receive any calls targeted for that hunt group. In order to receive calls on that hunt group, feature needs to be disabled.
        Parameters:
        enabled - If true, hunt group busy position is enabled. If false, hunt group busy position is disabled.
        huntGroupNumber - The hunt group number for which feature is enabled or disabled.
        completionHandler - A completion handler that received the result of the operation
      • getAvailableHuntGroupBusyPositionFeatures

        java.util.List<FeatureStatusParameters> getAvailableHuntGroupBusyPositionFeatures()
        Gets a list of configured hunt-group-busy-position feature buttons for the user.
        Returns:
        A list of FeatureStatusParameters objects describing the available hunt-group-busy-position features.
      • setPersonalizedLabelForFeature

        void setPersonalizedLabelForFeature​(java.lang.String featureLabel,
                                            FeatureParameters featureParams,
                                            FeatureLabelCompletionHandler completionHandler)
        Updates the feature button with personalized label given by user.
        Parameters:
        featureLabel - The personalized label to be set
        featureParams - The FeatureParameters object providing details of feature to update.
        completionHandler - A completion handler that received the result of the operation
      • getHuntGroupBusyPositionCapability

        Capability getHuntGroupBusyPositionCapability​(int huntGroupNumber)
        Parameters:
        huntGroupNumber - The hunt group number for which to query the availability of the feature.
        Returns:
        a capability object indicating whether the hunt-group-busy-position feature is available for the specified hunt group number.
      • getMaliciousCallTraceCapability

        Capability getMaliciousCallTraceCapability()
        Returns a capability object indicating whether Malicious Call Trace feature is available for incoming active call.
        Returns:
        a capability object indicating whether Malicious Call Trace feature is available for incoming active call.
      • isMaliciousCallTraceActive

        boolean isMaliciousCallTraceActive()
        Returns a Boolean value indicating whether Malicious Call Trace feature is activated.
        Returns:
        True if feature is activated, or False if feature is not activated.
      • activateMaliciousCallTrace

        void activateMaliciousCallTrace​(FeatureCompletionHandler completionHandler)
        Activate Malicious Call Trace feature for incoming active call. Successful completionHandler indicates that Malicious Call Trace feature is activated. When malicious call trace controller (human) presses "mct-contr" button, callback CallFeatureServiceListener.onMaliciousCallTraceStatusChanged(true) is invoked. When the controller deactivates a malicious call trace, callback CallFeatureServiceListener.onMaliciousCallTraceStatusChanged(false) is invoked. Feature is deactivated by pressing the feature deactivation code by same client, which pressed "mct-contr" button. "mct-contr" button is implemented in CM for h.323 only.
        Parameters:
        completionHandler - A completion handler that receives the result of the operation.
      • getNoHoldConferenceCapability

        Capability getNoHoldConferenceCapability()
        Returns a capability object indicating whether No Hold Conference feature is available for active call.
        Returns:
        a capability object indicating whether No Hold Conference feature is available for active call.
      • getNoHoldConferenceCancelCapability

        Capability getNoHoldConferenceCancelCapability()
        Returns a capability object indicating whether No Hold Conference feature can be canceled.
        Returns:
        a capability object indicating whether No Hold Conference feature can be canceled.
      • getNoHoldConferenceDestination

        java.lang.String getNoHoldConferenceDestination()
        Returns the destination extension for No Hold Conference feature button.
        Returns:
        the destination extension for No Hold Conference feature button.
      • makeNoHoldConference

        void makeNoHoldConference​(java.lang.String destination,
                                  FeatureCompletionHandler completionHandler)
        Start No Hold Conference for active call, or add new participant to existing conference. No Hold Conference feature button allows a user to set up a conference call without interrupting the current conversation. The called party is automatically added to the conference as soon as they answer. Successful completionHandler is invoked after invited party answered, or the feature was canceled. Current active call will be transformed into the conference. The number dialed by the user is sent as a message and not as tone so that the digits are not heard by any party on the call. So No Hold Conference button should be used if it's important that no tones are heard by participants, and/or remote user should not be held. In other cases AddParticipantFromCall/AddParticipant methods of Conference interface should be used. No Hold Conference is Avaya Communication Manager feature, which is not available in other environments.
        Parameters:
        destination - Network address of the person who is being added to the conference call.
        completionHandler - A completion handler that receives the result of the operation.
      • cancelNoHoldConference

        void cancelNoHoldConference​(FeatureCompletionHandler completionHandler)
        Cancels the No Hold Conference invocation. The feature can be canceled after invocation of No Hold Conference and during the time it's ringing on the party that is to be added to the No Hold Conference.
        Parameters:
        completionHandler - A completion handler that receives the result of the operation.
      • getServiceObservingCapability

        Capability getServiceObservingCapability()
        Returns an indication as to whether the service observing is available.
        Returns:
        Capability object describing whether the service observing is available.
      • startServiceObserving

        void startServiceObserving​(java.lang.String entity,
                                   ServiceObservingType type,
                                   int location,
                                   FeatureCompletionHandler handler)
        Start of service observing.
        Parameters:
        entity - The extension of the endpoint currently observed.
        type - The Service Observing type.
        location - The location number associated with the observed VDN. The valid range is 0-2000. The value 0 means that the soType is not "By Location".
        handler - Completion handler instance that receives the result of the operation.
      • changeServiceObservingMode

        void changeServiceObservingMode​(ServiceObservingMode mode,
                                        FeatureCompletionHandler handler)
        Change the mode of service observing session.
        Parameters:
        mode - The Service Observing mode.
        handler - Completion handler instance that receives the result of the operation.
      • stopCoachingSession

        void stopCoachingSession​(FeatureCompletionHandler handler)
        Stop of coaching session.
        Parameters:
        handler - Completion handler instance that receives the result of the operation.
      • stopServiceObserving

        void stopServiceObserving​(FeatureCompletionHandler handler)
        Stop of service observing.
        Parameters:
        handler - Completion handler instance that receives the result of the operation.
      • getServiceObservingStatusParameters

        ServiceObservingStatusParameters getServiceObservingStatusParameters()
        If service observing feature is enabled then ServiceObservingStatusParameters contains details of service observing feature.
        Returns:
        ServiceObservingStatusParameters specifying details of service observing feature.
      • getCallRecordingCapabilityForActionType

        Capability getCallRecordingCapabilityForActionType​(CallRecordingActionType type)
        Returns a capability object indicating whether a specific call recording action is allowed.
        Parameters:
        type - The call recording action type.
        Returns:
        Capability object describing whether a specific call recording action is allowed.
      • performCallRecordingWithActionType

        void performCallRecordingWithActionType​(CallRecordingActionType type,
                                                FeatureCompletionHandler handler)
        Perform call recording operation with specific action type.
        Parameters:
        type - The call recording action type.
        handler - Completion handler instance that receives the result of the operation.
      • moveCall

        void moveCall​(FeatureCompletionHandler completionHandler)
        Call Handover to move a call to user's simultaneous/twin clients.
        Parameters:
        completionHandler - Completion handler instance that receives the result of the operation.
      • retrieveCall

        void retrieveCall​(FeatureCompletionHandler completionHandler)
        Call Handover to retrieve a call from user's simultaneous/twin clients.
        Parameters:
        completionHandler - Completion handler instance that receives the result of the operation.
      • isInternalTwinningEnabled

        boolean isInternalTwinningEnabled()
        Returns:
        a Boolean value indicating whether the internal twinning feature is enabled.
      • isSimRingCallbackEnabled

        boolean isSimRingCallbackEnabled()
        Returns:
        a Boolean value indicating whether the callback / simultaneous ring feature is enabled.
      • getSimRingCallbackCapability

        Capability getSimRingCallbackCapability()
        Returns:
        a capability object indicating whether the user is able to configure callback / simultaneous ring destinations and their parameters.
      • getSimRingCallbackStatusParameters

        SimRingCallbackStatusParameters getSimRingCallbackStatusParameters()
        Returns:
        the callback / simultaneous ring feature parameters for the user's local extension.
      • setSimRingCallbackStatusParameters

        void setSimRingCallbackStatusParameters​(SimRingCallbackStatusParameters simRingCallbackStatusParameters,
                                                FeatureCompletionHandler completionHandler)
        Enables or disables the callback / simultaneous ring feature with the specified parameters.
        Parameters:
        simRingCallbackStatusParameters - The callback / simultaneous ring feature status parameters. To enable the feature at least 1 destination should be configured. All of the configured destinations must be unique. To disable the feature all of the destinations must be empty ("" or null). The configured default callback destination in these parameters may also be overridden by the callback call feature invocation (@see #invokeCallbackCall(String callbackDestination, String remoteAddress, CallbackCallCompletionHandler completionHandler))
        completionHandler - A completion handler that received the result of the operation.
      • getCallbackCallCapability

        Capability getCallbackCallCapability()
        Returns:
        a capability object indicating whether the user is able to invoke callback calls.