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 = StartRecording;
Capability capability = callFeatureService.GetCallRecordingCapabilityForActionType(actionType);

{{=ClientServices_CallRecordingActionType}} defines action types.

Perform call recording

Call recording action can be invoked using CallFeatureService

CallRecordingActionType actionType = StartRecording;
CallFeatureServiceCompletionHandler ch = new CallFeatureServiceCompletionHandler(this, arguments, "CallRecording");
Capability capability = callFeatureService.GetCallRecordingCapabilityForActionType(actionType);
if (capability.Allowed)
{
    PrintInfo("Capability is allowed");
    callFeatureService.PerformCallRecordingWithActionType(actionType, ch.Handler);
}
else
{
    PrintInfo("Capability is not supported");
}

Listen to Call Recording state changes

To monitor call recording progress events, the Call protocol can be implemented. This protocol provides notification as the call recording state changes.

event EventHandler CallRecordingStateChanged;
...
@end


void call_CallRecordingStateChanged(object sender, CallRecordingStateChangedEventArgs e)
{
        // Called to report that recording state has changed.
        // Add code here to update the UI as appropriate.
}

@end

{{=ClientServices_etCallRecordingState}} defines call recording state

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

AppCallDelegate callDelegate = new AppCallDelegate();
call.CallRecordingStateChanged += new EventHandler(call_CallRecordingStateChanged);

Retrieving call recording states

In addition to listen recording state changes, application can also check the Call for the recording states

/// 
/// A Boolean value indicating whether the call is being recorded.
/// 
property bool IsRecordingActive
{
    bool get();
}

/// 
/// A Boolean value indicating whether the call recording is paused.
/// 
property bool IsRecordingPaused
{
    bool get();
}