Package com.avaya.clientservices.call.feature

## Interface CallFeatureServiceListener

-     public interface CallFeatureServiceListener

  Interface that can be used to retrieve status updates from a CallFeatureService object. One or more listeners can be registered with a CallFeatureService object to retrieve status updates.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `onAutoCallbackListChanged​(CallFeatureService callFeatureService, java.util.List<java.lang.String> autoCallbackList)` | Occurs when the list of outstanding auto-callback destinations is changed.
    `void` | `onAutoCallbackStatusChanged​(CallFeatureService callFeatureService, boolean enabled)` | Called when the status of the auto callback feature has changed.
    `void` | `onAvailableFeatures​(CallFeatureService callFeatureService, java.util.List<FeatureType> features)` | Called when the available features has changed.
    `void` | `onBusyIndicatorChanged​(CallFeatureService callFeatureService, BusyIndicator busyIndicator)` | Called when the status of the busy indicator has changed.
    `void` | `onCallFeatureServiceAvailable​(CallFeatureService callFeatureService)` | Reports when feature service becomes available.
    `void` | `onCallFeatureServiceUnavailable​(CallFeatureService callFeatureService)` | Reports when feature service becomes unavailable.
    `void` | `onCallForwardingBusyNoAnswerStatusChanged​(CallFeatureService callFeatureService, boolean enabled, java.lang.String extension, java.lang.String destination)` | Called when the status of the call forwarding busy-no-answer feature has changed.
    `void` | `onCallForwardingStatusChanged​(CallFeatureService callFeatureService, boolean enabled, java.lang.String extension, java.lang.String destination)` | Called when the status of the call forwarding feature has changed.
    `void` | `onCallPickupAlertStatusChanged​(CallFeatureService callFeatureService, CallPickupAlertParameters callPickupAlertParameters)` | Called when the status of the enhanced call pickup feature status change.
    `void` | `onEC500StatusChanged​(CallFeatureService callFeatureService, boolean enabled)` | Called when the status of the EC500 feature has changed.
    `void` | `onEnhancedCallForwardingStatusChanged​(CallFeatureService callFeatureService, java.lang.String extension, EnhancedCallForwardingStatus enhancedCallForwardingStatus)` | Called when the status of the enhanced call forwarding feature has changed.
    `void` | `onFeatureCapabilityChanged​(CallFeatureService callFeatureService, FeatureType featureType)` | Called when the given feature capability has changed.
    `void` | `onFeatureListChanged​(CallFeatureService callFeatureService)` | Reports when feature list changes.
    `void` | `onFeatureStatus​(CallFeatureService callFeatureService, java.util.List<FeatureStatusParameters> featureStatusList)` | Called when the feature status of one or more features has changed.
    `void` | `onFeatureStatusChanged​(CallFeatureService callFeatureService, FeatureStatusParameters statusInfo)` | Called when the status of a feature has changed.
    `void` | `onIncomingTeamButtonCallAdded​(CallFeatureService callFeatureService, TeamButton teamButton, TeamButtonIncomingCall teamButtonIncomingCallAdded)` | Occurs when the monitored station has an incoming ringing call.
    `void` | `onIncomingTeamButtonCallRemoved​(CallFeatureService callFeatureService, TeamButton teamButton, TeamButtonIncomingCall teamButtonIncomingCallRemoved)` | Occurs when the incoming call to monitored station stops ringing.
    `void` | `onIncomingTeamButtonCallUpdated​(CallFeatureService callFeatureService, TeamButton teamButton, TeamButtonIncomingCall teamButtonIncomingCallUpdated)` | Occurs when the monitored station updated an incoming ringing call.
    `void` | `onMaliciousCallTraceStatusChanged​(CallFeatureService callFeatureService, boolean active)` | Occurs when the Malicious Call Trace status is changed (active/not active).
    `void` | `onSendAllCallsStatusChanged​(CallFeatureService callFeatureService, boolean enabled, java.lang.String extension)` | Called when the status of the send all calls feature has changed.
    `void` | `onSendNNStatusChanged​(CallFeatureService callFeatureService, boolean enabled, java.lang.String extension)` | Called when the parameters of the send-nn feature have changed.
    `void` | `onServiceObservingDisabled​(CallFeatureService callFeatureService)` | Called when ServiceObserving feature gets disabled.
    `void` | `onServiceObservingEnabled​(CallFeatureService callFeatureService, java.lang.String soEntity, ServiceObservingType soType, ButtonLampState soButtonLamp)` | Called when ServiceObserving feature gets enabled.
    `void` | `onServiceObservingErrorReceived​(CallFeatureService callFeatureService, ServiceObservingError serviceObservingError)` | Deprecated. Raised only if service observing feature is invoked using deprecated methods.
    `void` | `onServiceObservingStatusChanged​(CallFeatureService callFeatureService, ServiceObservingStatusParameters serviceObservingStatusParameters)` | Reports service observing feature status changed.
    `void` | `onSimRingCallbackStatusChanged​(CallFeatureService callFeatureService, boolean enabled, SimRingCallbackStatusParameters simRingCallbackStatusParameters)` | Called when the status of the callback / simultaneous ring feature has been changed.
    `void` | `onTeamButtonBusyStatusChanged​(CallFeatureService callFeatureService, TeamButton teamButton)` | Occurs if the Team Button busy status is changed when the monitored station eiher dials or has an active call.
    `void` | `onTeamButtonForwardingStatusChanged​(CallFeatureService callFeatureService, TeamButton teamButton)` | Occurs when the forwarding status of Team Button monitored station is changed.
    `void` | `onTeamButtonsChanged​(CallFeatureService callFeatureService)` | Occurs when the available team buttons list are updated.

- - ### Method Detail

    - #### onCallFeatureServiceAvailable

          void onCallFeatureServiceAvailable​(CallFeatureService callFeatureService)

      Reports when feature service becomes available.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.

    - #### onCallFeatureServiceUnavailable

          void onCallFeatureServiceUnavailable​(CallFeatureService callFeatureService)

      Reports when feature service becomes unavailable.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.

    - #### onFeatureListChanged

          void onFeatureListChanged​(CallFeatureService callFeatureService)

      Reports when feature list changes.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.

    - #### onFeatureCapabilityChanged

          void onFeatureCapabilityChanged​(CallFeatureService callFeatureService,
                                          FeatureType featureType)

      Called when the given feature capability has changed.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `featureType` - feature for which capability has changed.

    - #### onAvailableFeatures

          void onAvailableFeatures​(CallFeatureService callFeatureService,
                                   java.util.List<FeatureType> features)

      Called when the available features has changed.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `features` - The list of available features.

    - #### onFeatureStatus

          void onFeatureStatus​(CallFeatureService callFeatureService,
                               java.util.List<FeatureStatusParameters> featureStatusList)

      Called when the feature status of one or more features has changed.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `featureStatusList` - The list of features with status updates.

    - #### onFeatureStatusChanged

          void onFeatureStatusChanged​(CallFeatureService callFeatureService,
                                      FeatureStatusParameters statusInfo)

      Called when the status of a feature has changed.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `statusInfo` - Updated feature status information.

    - #### onSendAllCallsStatusChanged

          void onSendAllCallsStatusChanged​(CallFeatureService callFeatureService,
                                           boolean enabled,
                                           java.lang.String extension)

      Called when the status of the send all calls feature has changed.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `enabled` - The new state of the feature.
        `extension` - The extension for which the feature has been enabled or disabled. The value is an empty string if the feature has been enabled or disabled for the user's local extension.

    - #### onCallForwardingStatusChanged

          void onCallForwardingStatusChanged​(CallFeatureService callFeatureService,
                                             boolean enabled,
                                             java.lang.String extension,
                                             java.lang.String destination)

      Called when the status of the call forwarding feature has changed.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `enabled` - The new state of the feature.
        `extension` - The extension for which the feature has been enabled or disabled. The value is an empty string if the feature has been enabled or disabled for the user's local extension.
        `destination` - The new forwarding destination.

    - #### onCallForwardingBusyNoAnswerStatusChanged

          void onCallForwardingBusyNoAnswerStatusChanged​(CallFeatureService callFeatureService,
                                                         boolean enabled,
                                                         java.lang.String extension,
                                                         java.lang.String destination)

      Called when the status of the call forwarding busy-no-answer feature has changed.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `enabled` - The new state of the feature.
        `extension` - The extension for which the feature has been enabled or disabled. The value is an empty string if the feature has been enabled or disabled for the user's local extension.
        `destination` - The new forwarding destination.

    - #### onEnhancedCallForwardingStatusChanged

          void onEnhancedCallForwardingStatusChanged​(CallFeatureService callFeatureService,
                                                     java.lang.String extension,
                                                     EnhancedCallForwardingStatus enhancedCallForwardingStatus)

      Called when the status of the enhanced call forwarding feature has changed.
      Parameters:
        `callFeatureService` - the call feature service instance reporting the callback.
        `extension` - the extension for which the feature has been enabled or disabled. The value is an empty string if the feature has been enabled or disabled for the user's local extension.
        `enhancedCallForwardingStatus` - the new enhanced call forward status with destination details.

    - #### onCallPickupAlertStatusChanged

          void onCallPickupAlertStatusChanged​(CallFeatureService callFeatureService,
                                              CallPickupAlertParameters callPickupAlertParameters)

      Called when the status of the enhanced call pickup feature status change.
      Parameters:
        `callFeatureService` - the call feature service instance reporting the callback.
        `callPickupAlertParameters` - for enhanced call pickup alert details, ringing type and pattern .

    - #### onEC500StatusChanged

          void onEC500StatusChanged​(CallFeatureService callFeatureService,
                                    boolean enabled)

      Called when the status of the EC500 feature has changed.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `enabled` - The new state of the feature.

    - #### onAutoCallbackStatusChanged

          void onAutoCallbackStatusChanged​(CallFeatureService callFeatureService,
                                           boolean enabled)

      Called when the status of the auto callback feature has changed.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `enabled` - The new state of the feature.

    - #### onAutoCallbackListChanged

          void onAutoCallbackListChanged​(CallFeatureService callFeatureService,
                                         java.util.List<java.lang.String> autoCallbackList)

      Occurs when the list of outstanding auto-callback destinations is changed.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `autoCallbackList` - The new list of outstanding automatic callback destinations.

    - #### onBusyIndicatorChanged

          void onBusyIndicatorChanged​(CallFeatureService callFeatureService,
                                      BusyIndicator busyIndicator)

      Called when the status of the busy indicator has changed.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `busyIndicator` - The busyindicator object.

    - #### onTeamButtonsChanged

          void onTeamButtonsChanged​(CallFeatureService callFeatureService)

      Occurs when the available team buttons list are updated.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
      See Also:
        `CallFeatureService.getTeamButtons()`

    - #### onTeamButtonBusyStatusChanged

          void onTeamButtonBusyStatusChanged​(CallFeatureService callFeatureService,
                                             TeamButton teamButton)

      Occurs if the Team Button busy status is changed when the monitored station eiher dials or has an active call. A Team Button is considered Idle if all call appearances on the monitored station are either in the Idle or Ringing states. If there are bridged call appearances on the monitored station, the states "Alerting" and "In-Use" are interpreted by the CM as equivalent to Idle.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `teamButton` - The team button with busy status updated.

    - #### onIncomingTeamButtonCallAdded

          void onIncomingTeamButtonCallAdded​(CallFeatureService callFeatureService,
                                             TeamButton teamButton,
                                             TeamButtonIncomingCall teamButtonIncomingCallAdded)

      Occurs when the monitored station has an incoming ringing call. The Team Button notification alert status depends on `TeamButton.getPickupRingType()`. `TeamButtonIncomingCall` started ringing at the monitored station is provided.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `teamButton` - The team button that has alerting calls.
        `teamButtonIncomingCallAdded` - The team button call that started alerting.
      See Also:
        `TeamButton.getPickupCapability()`, `TeamButton.getSpeedDialCapability()`

    - #### onIncomingTeamButtonCallUpdated

          void onIncomingTeamButtonCallUpdated​(CallFeatureService callFeatureService,
                                               TeamButton teamButton,
                                               TeamButtonIncomingCall teamButtonIncomingCallUpdated)

      Occurs when the monitored station updated an incoming ringing call. The Team Button notification alert status depends on `TeamButton.getPickupRingType()`.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `teamButton` - The team button that has alerting calls.
        `teamButtonIncomingCallUpdated` - The team button call that changed the alert parameters.
      See Also:
        `TeamButton.getPickupCapability()`, `TeamButton.getSpeedDialCapability()`

    - #### onIncomingTeamButtonCallRemoved

          void onIncomingTeamButtonCallRemoved​(CallFeatureService callFeatureService,
                                               TeamButton teamButton,
                                               TeamButtonIncomingCall teamButtonIncomingCallRemoved)

      Occurs when the incoming call to monitored station stops ringing. `TeamButtonIncomingCall` stopped ringing at the monitored station is provided.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `teamButton` - The team button that has alerting calls.
        `teamButtonIncomingCallRemoved` - The team button call that stopped alerting.
      See Also:
        `TeamButton.getPickupCapability()`, `TeamButton.getSpeedDialCapability()`

    - #### onTeamButtonForwardingStatusChanged

          void onTeamButtonForwardingStatusChanged​(CallFeatureService callFeatureService,
                                                   TeamButton teamButton)

      Occurs when the forwarding status of Team Button monitored station is changed.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `teamButton` - The team button that has alerting calls.
      See Also:
        `TeamButton.isForwardingEnabled()`, `TeamButton.getForwardingDestination()`

    - #### onMaliciousCallTraceStatusChanged

          void onMaliciousCallTraceStatusChanged​(CallFeatureService callFeatureService,
                                                 boolean active)

      Occurs when the Malicious Call Trace status is changed (active/not active). Feature status is changed to active when Malicious Call Trace controller took control over a malicious call trace. Feature status is changed to not active when Malicious Call Trace controller deactivated a malicious call trace.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `active` - The flag indicating new status value (active/not active).

    - #### onServiceObservingEnabled

          void onServiceObservingEnabled​(CallFeatureService callFeatureService,
                                         java.lang.String soEntity,
                                         ServiceObservingType soType,
                                         ButtonLampState soButtonLamp)

      Called when ServiceObserving feature gets enabled.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `soEntity` - The observed entity.
        `soType` - The Service Observing type.
        `soButtonLamp` - The Service Observing button lamp type.

    - #### onServiceObservingDisabled

          void onServiceObservingDisabled​(CallFeatureService callFeatureService)

      Called when ServiceObserving feature gets disabled.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.

    - #### onServiceObservingStatusChanged

          void onServiceObservingStatusChanged​(CallFeatureService callFeatureService,
                                               ServiceObservingStatusParameters serviceObservingStatusParameters)

      Reports service observing feature status changed.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `serviceObservingStatusParameters` - The service observing feature status parameters containing all changed/unchanged parameters.

    - #### onServiceObservingErrorReceived

          @Deprecated
          void onServiceObservingErrorReceived​(CallFeatureService callFeatureService,
                                               ServiceObservingError serviceObservingError)

      Deprecated.
      Raised only if service observing feature is invoked using deprecated methods.
      Reports an error received for service observing session. Client SDK raises this event if it receives an error from the server during the service observing session. e.g. supervisor is trying to start a service observing session by providing an invalid agent id. e.g. observed user has activated the exclusion during the service observing call.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `serviceObservingError` - The error received from invocation/changes.

    - #### onSimRingCallbackStatusChanged

          void onSimRingCallbackStatusChanged​(CallFeatureService callFeatureService,
                                              boolean enabled,
                                              SimRingCallbackStatusParameters simRingCallbackStatusParameters)

      Called when the status of the callback / simultaneous ring feature has been changed.
      Parameters:
        `callFeatureService` - the call feature service instance reporting the callback.
        `enabled` - The new state of the feature.
        `simRingCallbackStatusParameters` - the new callback / simultaneous ring feature parameters.

    - #### onSendNNStatusChanged

          void onSendNNStatusChanged​(CallFeatureService callFeatureService,
                                     boolean enabled,
                                     java.lang.String extension)

      Called when the parameters of the send-nn feature have changed.
      Parameters:
        `callFeatureService` - The call feature service instance reporting the callback.
        `enabled` - The new state of the feature.
        `extension` - The relevant send-nn extension.