Customer Speaking

This event reports when the customer starts or stops speaking.

Definition: The customer is the person who is talking to the agent. The agent is wearing the headset that produces data for this datapoint.

Supported only on some devices.

Datapoint

   
Name in Jabra SDK DeviceLoggingEventArgs.Data["Speech_Analysis_RX"]
Trigger When the customer starts or stops speaking.
Event Subscription IDeviceService.DeviceLoggingInput
Value Range None. This event has no value.

Code Sample

The code sample demonstrates the event subscription. It shows how to parse the event to get back the data for the datapoint.

using System;
using JabraSDK;
using Newtonsoft.Json.Linq;

namespace Jabra.TelemetryExample
{
    public class TelemetryPrinter
    {
        public TelemetryPrinter(IDeviceService deviceService)
        {
            deviceService.DeviceAdded += OnDeviceAddedEvent;
            deviceService.DeviceLoggingInput += OnDeviceLoggingInputEvent;
        }

        private void OnDeviceAddedEvent(object sender, DeviceAddedEventArgs e)
        {
            // Return if device logging is _not_ supported by devices
            if (!e.Device.IsFeatureSupported(DeviceFeature.Logging))
                return;

            // Return if device logging is already enabled for device
            if (e.Device.IsDeviceLogEnabled)
                return;

            try
            {
                var status = e.Device.DeviceLoggingConfiguration(true);
                if (status == DeviceStatus.ReturnOk)
                    Console.WriteLine($"Device logging enabled for: {e.Device.Name}");
            }
            catch (Exception)
            {
                // Exception raised when enabling device logging
            }
        }

        private void OnDeviceLoggingInputEvent(object sender, DeviceLoggingEventArgs e)
        {
            var eventPayload = JObject.Parse(e.Data);
            var isCustomerSpeakingToken = eventPayload["Speech_Analysis_RX"];
            if (isCustomerSpeakingToken != null)
            {
                Console.WriteLine($"Customer is speaking: {isCustomerSpeakingToken}");
            }
        }
    }
}