Ringer State

Reports a change in ringing status.

Supported only on some devices.

Datapoint

   
Name in Jabra SDK DeviceLoggingEventArgs.Data["Ringer State"]
Trigger Change from ringing to not ringing and vice versa.
Event Subscription IDeviceService.DeviceLoggingInput
Value Range True = Device is ringing.
False = Device is not ringing.

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 ringerStateToken = eventPayload["Ringer State"];
            if (ringerStateToken != null)
            {
                Console.WriteLine($"Device is ringing: {ringerStateToken}");
            }
        }
    }
}