Avaya Client SDK

< Back to Package Overview

Call Recording

Overview

Call recording enables your application to record audio calls / conferences.

  • Allows to Start / Stop / Pause / Resume call recording
  • Notifies calls about reocrding states - Off / On / Paused

It is recommended to check for the respective call recording capabilities before performing call recording actions

Checking the recording capability

Check for call recording capability over CallFeatureService to define recording UX behaviour

CallRecordingActionType actionType = START_RECORDING;
Capability recordingActionCapability = callFeatureService.getCallRecordingCapabilityForActionType(actionType);

{{=CallRecordingActionType}} defines action types.

Perform call recording

Call recording action can be invoked using CallFeatureService ```java CallRecordingActionType actionType = START_RECORDING; callFeatureService.performCallRecordingWithActionType(actionType, new FeatureCompletionHandler() { @Override public void onSuccess() { Log.d(TAG, "Recording action successful."); }

@Override public void onError(FeatureException error) { Log.d(TAG, "Failed to perform call recording action for reason : " + error.getError()); } }); ```

Listen to Call Recording state changes

To monitor call recording progress events, the CallListener interface can be used. This interface provides notification as the call recording state changes.

class AppCallHandler implements CallListener
{
    @Override
        public void onCallRecordingStateChanged(Call call, CallRecordingState recordingState) {
            // Called to report that call recording is off/on/paused.
        // Add code here to update the UI as appropriate.
        }
    ....
};

{{=CallRecordingState}} defines call recording state

You can instantiate an application call handler (AppCallHandler) and add that as a listener to the call.

AppCallHandler callHandler = new AppCallHandler();
call.addListener(callHandler);

Retrieving call recording states

In addition to listen recording state changes, application can also check the {{=Clientservices_Call}} for the recording states

/**
 * A Boolean value indicating whether the call is being recorded.
 */
boolean isRecordingActive();


/**
 * A Boolean value indicating whether the call recording is paused.
 */
boolean isRecordingPaused();