Ringer State

Reports a change in ringing status.

Supported only on some devices.

Data Point

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