Agent Speaking

This event reports when the agent starts or stops speaking. This data point is supported only on some devices.

Definition: The agent is the person who uses the headset which produces data for this data point.

Data Point

   
Name in Jabra SDK DeviceLoggingEventArgs.Data["Speech_Analysis_TX"]
Trigger When the agent starts speaking or stops speaking.
Event Subscription IDeviceService.DeviceLoggingInput
Value Range True = Agent is speaking.
False = Agent is not speaking.

Code Sample

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

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 isAgentSpeakingToken = eventPayload["Speech_Analysis_TX"];
            if (isAgentSpeakingToken != null)
            {
                Console.WriteLine($"Agent is speaking: {isAgentSpeakingToken}");
            }
        }
    }
}