mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-05 15:55:02 +00:00
2131 lines
53 KiB
C#
2131 lines
53 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using Crestron.SimplSharp;
|
|
using Crestron.SimplSharp.CrestronXml.Serialization;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
|
|
using PepperDash.Core;
|
|
using PepperDash.Essentials.Devices.Common.VideoCodec.CiscoCodec;
|
|
|
|
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
|
{
|
|
/// <summary>
|
|
/// This class exists to capture serialized data sent back by a Cisco codec in JSON output mode
|
|
/// </summary>
|
|
public class CiscoCodecStatus
|
|
{
|
|
// Helper Classes for Proerties
|
|
public abstract class ValueProperty
|
|
{
|
|
/// <summary>
|
|
/// Triggered when Value is set
|
|
/// </summary>
|
|
public Action ValueChangedAction { get; set; }
|
|
|
|
protected void OnValueChanged()
|
|
{
|
|
var a = ValueChangedAction;
|
|
if (a != null)
|
|
a();
|
|
}
|
|
|
|
}
|
|
|
|
|
|
public class ConnectionStatus
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class EcReferenceDelay
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Microphone
|
|
{
|
|
public string id { get; set; }
|
|
public ConnectionStatus ConnectionStatus { get; set; }
|
|
public EcReferenceDelay EcReferenceDelay { get; set; }
|
|
}
|
|
|
|
public class Connectors
|
|
{
|
|
public List<Microphone> Microphone { get; set; }
|
|
}
|
|
|
|
public class Input
|
|
{
|
|
public Connectors Connectors { get; set; }
|
|
}
|
|
|
|
public class Mute : ValueProperty
|
|
{
|
|
public bool BoolValue { get; private set; }
|
|
|
|
public string Value
|
|
{
|
|
set
|
|
{
|
|
// If the incoming value is "On" it sets the BoolValue true, otherwise sets it false
|
|
BoolValue = value == "On";
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
public class Microphones
|
|
{
|
|
public Mute Mute { get; set; }
|
|
|
|
public Microphones()
|
|
{
|
|
Mute = new Mute();
|
|
}
|
|
}
|
|
|
|
public class ConnectionStatus2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class DelayMs
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Line
|
|
{
|
|
public string id { get; set; }
|
|
public ConnectionStatus2 ConnectionStatus { get; set; }
|
|
public DelayMs DelayMs { get; set; }
|
|
}
|
|
|
|
public class Connectors2
|
|
{
|
|
public List<Line> Line { get; set; }
|
|
}
|
|
|
|
public class Output
|
|
{
|
|
public Connectors2 Connectors { get; set; }
|
|
}
|
|
|
|
public class Volume : ValueProperty
|
|
{
|
|
string _Value;
|
|
|
|
/// <summary>
|
|
/// Sets Value and triggers the action when set
|
|
/// </summary>
|
|
public string Value
|
|
{
|
|
get
|
|
{
|
|
return _Value;
|
|
}
|
|
set
|
|
{
|
|
_Value = value;
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Converted value of _Value for use as feedback
|
|
/// </summary>
|
|
public int IntValue
|
|
{
|
|
get
|
|
{
|
|
if (!string.IsNullOrEmpty(_Value))
|
|
return Convert.ToInt32(_Value);
|
|
else
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
public class VolumeMute : ValueProperty
|
|
{
|
|
public bool BoolValue { get; private set; }
|
|
|
|
public string Value
|
|
{
|
|
set
|
|
{
|
|
// If the incoming value is "On" it sets the BoolValue true, otherwise sets it false
|
|
BoolValue = value == "On";
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
public class Audio
|
|
{
|
|
public Input Input { get; set; }
|
|
public Microphones Microphones { get; set; } // Can we have this setter fire the update on the CiscoCodec feedback?
|
|
public Output Output { get; set; }
|
|
public Volume Volume { get; set; }
|
|
public VolumeMute VolumeMute { get; set; }
|
|
|
|
public Audio()
|
|
{
|
|
Volume = new Volume();
|
|
VolumeMute = new VolumeMute();
|
|
Microphones = new Microphones();
|
|
}
|
|
}
|
|
|
|
public class Id
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Current
|
|
{
|
|
public Id Id { get; set; }
|
|
}
|
|
|
|
public class Bookings
|
|
{
|
|
public Current Current { get; set; }
|
|
}
|
|
|
|
public class Options
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Capabilities
|
|
{
|
|
public Options Options { get; set; }
|
|
}
|
|
|
|
public class Connected
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Framerate
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Flip
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class HardwareID
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Manufacturer
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Model
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Pan
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Tilt
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Zoom
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Position
|
|
{
|
|
public Pan Pan { get; set; }
|
|
public Tilt Tilt { get; set; }
|
|
public Zoom Zoom { get; set; }
|
|
}
|
|
|
|
public class SoftwareID
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Camera
|
|
{
|
|
public string id { get; set; }
|
|
public Capabilities Capabilities { get; set; }
|
|
public Connected Connected { get; set; }
|
|
public Flip Flip { get; set; }
|
|
public HardwareID HardwareID { get; set; }
|
|
public MacAddress MacAddress { get; set; }
|
|
public Manufacturer Manufacturer { get; set; }
|
|
public Model Model { get; set; }
|
|
public Position Position { get; set; }
|
|
public SerialNumber SerialNumber { get; set; }
|
|
public SoftwareID SoftwareID { get; set; }
|
|
}
|
|
|
|
public class Availability : ValueProperty
|
|
{
|
|
string _Value;
|
|
public bool BoolValue { get; private set; }
|
|
|
|
public string Value
|
|
{
|
|
get
|
|
{
|
|
return _Value;
|
|
}
|
|
set
|
|
{
|
|
// If the incoming value is "Available" it sets the BoolValue true, otherwise sets it false
|
|
_Value = value;
|
|
BoolValue = value == "Available";
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
public class Status2 : ValueProperty
|
|
{
|
|
string _Value;
|
|
public bool BoolValue { get; private set; }
|
|
|
|
public string Value
|
|
{
|
|
get
|
|
{
|
|
return _Value;
|
|
}
|
|
set
|
|
{
|
|
// If the incoming value is "Active" it sets the BoolValue true, otherwise sets it false
|
|
_Value = value;
|
|
BoolValue = value == "Active";
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
public class SpeakerTrack
|
|
{
|
|
public Availability Availability { get; set; }
|
|
public Status2 Status { get; set; }
|
|
|
|
public SpeakerTrack()
|
|
{
|
|
Status = new Status2();
|
|
Availability = new Availability();
|
|
}
|
|
}
|
|
|
|
public class Cameras
|
|
{
|
|
// [JsonConverter(typeof(CameraConverter))]
|
|
public List<Camera> Camera { get; set; }
|
|
public SpeakerTrack SpeakerTrack { get; set; }
|
|
|
|
public Cameras()
|
|
{
|
|
Camera = new List<Camera>();
|
|
SpeakerTrack = new SpeakerTrack();
|
|
}
|
|
}
|
|
|
|
//public class CameraConverter : JsonConverter
|
|
//{
|
|
|
|
// public override bool CanConvert(System.Type objectType)
|
|
// {
|
|
// return true; // objectType == typeof(Camera) || objectType == typeof(List<Camera>); // This should not be called but is required for implmentation
|
|
// }
|
|
|
|
// public override object ReadJson(JsonReader reader, System.Type objectType, object existingValue, JsonSerializer serializer)
|
|
// {
|
|
// try
|
|
// {
|
|
// if (reader.TokenType == JsonToken.StartArray)
|
|
// {
|
|
// var l = new List<Camera>();
|
|
// reader.Read();
|
|
// while (reader.TokenType != JsonToken.EndArray)
|
|
// {
|
|
// l.Add(reader.Value as Camera);
|
|
// reader.Read();
|
|
// }
|
|
// Debug.Console(1, "[xStatus]: Cameras converted as list");
|
|
// return l;
|
|
// }
|
|
// else
|
|
// {
|
|
// Debug.Console(1, "[xStatus]: Camera converted as single object and added to list");
|
|
// return new List<Camera> { reader.Value as Camera };
|
|
// }
|
|
// }
|
|
// catch (Exception e)
|
|
// {
|
|
// Debug.Console(1, "[xStatus]: Unable to convert JSON for camera objects: {0}", e);
|
|
|
|
// return new List<Camera>();
|
|
// }
|
|
// }
|
|
|
|
// public override bool CanWrite
|
|
// {
|
|
// get
|
|
// {
|
|
// return false;
|
|
// }
|
|
// }
|
|
|
|
// public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
|
// {
|
|
// throw new NotImplementedException("Write not implemented");
|
|
// }
|
|
//}
|
|
|
|
|
|
public class MaxActiveCalls
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class MaxAudioCalls
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class MaxCalls
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class MaxVideoCalls
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Conference
|
|
{
|
|
public MaxActiveCalls MaxActiveCalls { get; set; }
|
|
public MaxAudioCalls MaxAudioCalls { get; set; }
|
|
public MaxCalls MaxCalls { get; set; }
|
|
public MaxVideoCalls MaxVideoCalls { get; set; }
|
|
}
|
|
|
|
public class Capabilities2
|
|
{
|
|
public Conference Conference { get; set; }
|
|
}
|
|
|
|
public class CallId
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class ActiveSpeaker
|
|
{
|
|
public CallId CallId { get; set; }
|
|
}
|
|
|
|
public class DoNotDisturb : ValueProperty
|
|
{
|
|
string _Value;
|
|
|
|
public bool BoolValue { get; private set; }
|
|
|
|
public string Value
|
|
{
|
|
get
|
|
{
|
|
return _Value;
|
|
}
|
|
set
|
|
{
|
|
_Value = value;
|
|
// If the incoming value is "On" it sets the BoolValue true, otherwise sets it false
|
|
BoolValue = value == "On" || value == "Active";
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
public class Mode
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Multipoint
|
|
{
|
|
public Mode Mode { get; set; }
|
|
}
|
|
|
|
public class CallId2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Mode2 : ValueProperty
|
|
{
|
|
string _Value;
|
|
|
|
public bool BoolValue { get; private set; }
|
|
|
|
|
|
|
|
public string Value
|
|
{
|
|
get
|
|
{
|
|
return _Value;
|
|
}
|
|
set
|
|
{
|
|
_Value = value;
|
|
// If the incoming value is "Sending" it sets the BoolValue true, otherwise sets it false
|
|
BoolValue = value == "Sending";
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
public class Mode3
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class ReleaseFloorAvailability
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class RequestFloorAvailability
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Whiteboard
|
|
{
|
|
public Mode3 Mode { get; set; }
|
|
public ReleaseFloorAvailability ReleaseFloorAvailability { get; set; }
|
|
public RequestFloorAvailability RequestFloorAvailability { get; set; }
|
|
}
|
|
|
|
public class Source2 : ValueProperty
|
|
{
|
|
string _Value;
|
|
|
|
/// <summary>
|
|
/// Sets Value and triggers the action when set
|
|
/// </summary>
|
|
public string Value
|
|
{
|
|
get
|
|
{
|
|
return _Value;
|
|
}
|
|
set
|
|
{
|
|
_Value = value;
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Converted value of _Value for use as feedback
|
|
/// </summary>
|
|
public int IntValue
|
|
{
|
|
get
|
|
{
|
|
if (!string.IsNullOrEmpty(_Value))
|
|
return Convert.ToInt32(_Value);
|
|
else
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
public class SendingMode
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class LocalInstance
|
|
{
|
|
public string id { get; set; }
|
|
public string ghost { get; set; }
|
|
public SendingMode SendingMode { get; set; }
|
|
public Source2 Source { get; set; }
|
|
|
|
public LocalInstance()
|
|
{
|
|
Source = new Source2();
|
|
}
|
|
}
|
|
|
|
public class Presentation
|
|
{
|
|
public CallId2 CallId { get; set; }
|
|
public Mode2 Mode { get; set; }
|
|
public Whiteboard Whiteboard { get; set; }
|
|
public List<LocalInstance> LocalInstance { get; set; }
|
|
|
|
public Presentation()
|
|
{
|
|
Mode = new Mode2();
|
|
LocalInstance = new List<LocalInstance>();
|
|
}
|
|
}
|
|
|
|
public class CallId3
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Mode4
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class SpeakerLock
|
|
{
|
|
public CallId3 CallId { get; set; }
|
|
public Mode4 Mode { get; set; }
|
|
}
|
|
|
|
public class Conference2
|
|
{
|
|
public ActiveSpeaker ActiveSpeaker { get; set; }
|
|
public DoNotDisturb DoNotDisturb { get; set; }
|
|
public Multipoint Multipoint { get; set; }
|
|
public Presentation Presentation { get; set; }
|
|
public SpeakerLock SpeakerLock { get; set; }
|
|
|
|
public Conference2()
|
|
{
|
|
Presentation = new Presentation();
|
|
DoNotDisturb = new DoNotDisturb();
|
|
}
|
|
}
|
|
|
|
public class Description
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Level
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class References
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Type
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Message
|
|
{
|
|
public string id { get; set; }
|
|
public Description Description { get; set; }
|
|
public Level Level { get; set; }
|
|
public References References { get; set; }
|
|
public Type Type { get; set; }
|
|
}
|
|
|
|
public class Diagnostics
|
|
{
|
|
public List<Message> Message { get; set; }
|
|
}
|
|
|
|
public class Conference3
|
|
{
|
|
}
|
|
|
|
public class Experimental
|
|
{
|
|
public Conference3 Conference { get; set; }
|
|
}
|
|
|
|
public class Address
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Port
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Reason
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Status3
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Gatekeeper
|
|
{
|
|
public Address Address { get; set; }
|
|
public Port Port { get; set; }
|
|
public Reason Reason { get; set; }
|
|
public Status3 Status { get; set; }
|
|
}
|
|
|
|
public class Reason2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Status4
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Mode5
|
|
{
|
|
public Reason2 Reason { get; set; }
|
|
public Status4 Status { get; set; }
|
|
}
|
|
|
|
public class H323
|
|
{
|
|
public Gatekeeper Gatekeeper { get; set; }
|
|
public Mode5 Mode { get; set; }
|
|
}
|
|
|
|
public class Expression
|
|
{
|
|
public string id { get; set; }
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Format
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class URL
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class HttpFeedback
|
|
{
|
|
public string id { get; set; }
|
|
public List<Expression> Expression { get; set; }
|
|
public Format Format { get; set; }
|
|
public URL URL { get; set; }
|
|
}
|
|
|
|
public class MediaChannels
|
|
{
|
|
}
|
|
|
|
public class Address2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Capabilities3
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class DeviceId
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Duplex
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Platform
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class PortID
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class PrimaryMgmtAddress
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class SysName
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class SysObjectID
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class VTPMgmtDomain
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Version
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class VoIPApplianceVlanID
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class CDP
|
|
{
|
|
public Address2 Address { get; set; }
|
|
public Capabilities3 Capabilities { get; set; }
|
|
public DeviceId DeviceId { get; set; }
|
|
public Duplex Duplex { get; set; }
|
|
public Platform Platform { get; set; }
|
|
public PortID PortID { get; set; }
|
|
public PrimaryMgmtAddress PrimaryMgmtAddress { get; set; }
|
|
public SysName SysName { get; set; }
|
|
public SysObjectID SysObjectID { get; set; }
|
|
public VTPMgmtDomain VTPMgmtDomain { get; set; }
|
|
public Version Version { get; set; }
|
|
public VoIPApplianceVlanID VoIPApplianceVlanID { get; set; }
|
|
}
|
|
|
|
public class Name
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Domain
|
|
{
|
|
public Name Name { get; set; }
|
|
}
|
|
|
|
public class Address3
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Server
|
|
{
|
|
public string id { get; set; }
|
|
public Address3 Address { get; set; }
|
|
}
|
|
|
|
public class DNS
|
|
{
|
|
public Domain Domain { get; set; }
|
|
public List<Server> Server { get; set; }
|
|
}
|
|
|
|
public class MacAddress
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Speed
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Ethernet
|
|
{
|
|
public MacAddress MacAddress { get; set; }
|
|
public Speed Speed { get; set; }
|
|
}
|
|
|
|
public class Address4
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Gateway
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class SubnetMask
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class IPv4
|
|
{
|
|
public Address4 Address { get; set; }
|
|
public Gateway Gateway { get; set; }
|
|
public SubnetMask SubnetMask { get; set; }
|
|
}
|
|
|
|
public class Address5
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Gateway2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class IPv6
|
|
{
|
|
public Address5 Address { get; set; }
|
|
public Gateway2 Gateway { get; set; }
|
|
}
|
|
|
|
public class VlanId
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Voice
|
|
{
|
|
public VlanId VlanId { get; set; }
|
|
}
|
|
|
|
public class VLAN
|
|
{
|
|
public Voice Voice { get; set; }
|
|
}
|
|
|
|
public class Network
|
|
{
|
|
public string id { get; set; }
|
|
public CDP CDP { get; set; }
|
|
public DNS DNS { get; set; }
|
|
public Ethernet Ethernet { get; set; }
|
|
public IPv4 IPv4 { get; set; }
|
|
public IPv6 IPv6 { get; set; }
|
|
public VLAN VLAN { get; set; }
|
|
}
|
|
|
|
public class CurrentAddress
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Address6
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Server2
|
|
{
|
|
public string id { get; set; }
|
|
public Address6 Address { get; set; }
|
|
}
|
|
|
|
public class Status5
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class NTP
|
|
{
|
|
public CurrentAddress CurrentAddress { get; set; }
|
|
public List<Server2> Server { get; set; }
|
|
public Status5 Status { get; set; }
|
|
}
|
|
|
|
public class NetworkServices
|
|
{
|
|
public NTP NTP { get; set; }
|
|
}
|
|
|
|
public class HardwareInfo
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class ID2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Name2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class SoftwareInfo
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Status6
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Type2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class UpgradeStatus
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class ConnectedDevice
|
|
{
|
|
public string id { get; set; }
|
|
public HardwareInfo HardwareInfo { get; set; }
|
|
public ID2 ID { get; set; }
|
|
public Name2 Name { get; set; }
|
|
public SoftwareInfo SoftwareInfo { get; set; }
|
|
public Status6 Status { get; set; }
|
|
public Type2 Type { get; set; }
|
|
public UpgradeStatus UpgradeStatus { get; set; }
|
|
}
|
|
|
|
public class Peripherals
|
|
{
|
|
public List<ConnectedDevice> ConnectedDevice { get; set; }
|
|
}
|
|
|
|
public class Enabled
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class LastLoggedInUserId
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class LoggedIn
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class ExtensionMobility
|
|
{
|
|
public Enabled Enabled { get; set; }
|
|
public LastLoggedInUserId LastLoggedInUserId { get; set; }
|
|
public LoggedIn LoggedIn { get; set; }
|
|
}
|
|
|
|
public class CUCM
|
|
{
|
|
public ExtensionMobility ExtensionMobility { get; set; }
|
|
}
|
|
|
|
public class CompletedAt
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class URL2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class VersionId
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Current2
|
|
{
|
|
public CompletedAt CompletedAt { get; set; }
|
|
public URL2 URL { get; set; }
|
|
public VersionId VersionId { get; set; }
|
|
}
|
|
|
|
public class LastChange
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Message2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Phase
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class SessionId
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Status7
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class URL3
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class VersionId2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class UpgradeStatus2
|
|
{
|
|
public LastChange LastChange { get; set; }
|
|
public Message2 Message { get; set; }
|
|
public Phase Phase { get; set; }
|
|
public SessionId SessionId { get; set; }
|
|
public Status7 Status { get; set; }
|
|
public URL3 URL { get; set; }
|
|
public VersionId2 VersionId { get; set; }
|
|
}
|
|
|
|
public class Software
|
|
{
|
|
public Current2 Current { get; set; }
|
|
public UpgradeStatus2 UpgradeStatus { get; set; }
|
|
}
|
|
|
|
public class Status8
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Provisioning
|
|
{
|
|
public CUCM CUCM { get; set; }
|
|
public Software Software { get; set; }
|
|
public Status8 Status { get; set; }
|
|
}
|
|
|
|
public class Availability2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Services
|
|
{
|
|
public Availability2 Availability { get; set; }
|
|
}
|
|
|
|
public class Proximity
|
|
{
|
|
public Services Services { get; set; }
|
|
}
|
|
|
|
public class Current3 : ValueProperty
|
|
{
|
|
string _Value;
|
|
|
|
/// <summary>
|
|
/// Sets Value and triggers the action when set
|
|
/// </summary>
|
|
public string Value
|
|
{
|
|
get
|
|
{
|
|
return _Value;
|
|
}
|
|
set
|
|
{
|
|
_Value = value;
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Converted value of _Value for use as feedback
|
|
/// </summary>
|
|
public int IntValue
|
|
{
|
|
get
|
|
{
|
|
if (!string.IsNullOrEmpty(_Value))
|
|
return Convert.ToInt32(_Value);
|
|
else
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
public class PeopleCount
|
|
{
|
|
public Current3 Current { get; set; }
|
|
|
|
public PeopleCount()
|
|
{
|
|
Current = new Current3();
|
|
}
|
|
}
|
|
|
|
public class PeoplePresence : ValueProperty
|
|
{
|
|
public bool BoolValue { get; private set; }
|
|
|
|
public string Value
|
|
{
|
|
set
|
|
{
|
|
// If the incoming value is "Yes" it sets the BoolValue true, otherwise sets it false
|
|
BoolValue = value == "Yes";
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
public class RoomAnalytics
|
|
{
|
|
public PeopleCount PeopleCount { get; set; }
|
|
public PeoplePresence PeoplePresence { get; set; }
|
|
|
|
public RoomAnalytics()
|
|
{
|
|
PeopleCount = new PeopleCount();
|
|
PeoplePresence = new PeoplePresence();
|
|
}
|
|
}
|
|
|
|
public class Primary
|
|
{
|
|
public URI URI { get; set; }
|
|
|
|
public Primary()
|
|
{
|
|
URI = new URI();
|
|
}
|
|
}
|
|
|
|
public class AlternateURI
|
|
{
|
|
public Primary Primary { get; set; }
|
|
|
|
public AlternateURI()
|
|
{
|
|
Primary = new Primary();
|
|
}
|
|
}
|
|
|
|
public class Authentication
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class DisplayName
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Mode6
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class URI
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class CallForward
|
|
{
|
|
public DisplayName DisplayName { get; set; }
|
|
public Mode6 Mode { get; set; }
|
|
public URI URI { get; set; }
|
|
}
|
|
|
|
public class MessagesWaiting
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class URI2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Mailbox
|
|
{
|
|
public MessagesWaiting MessagesWaiting { get; set; }
|
|
public URI2 URI { get; set; }
|
|
}
|
|
|
|
public class Address7
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Status9
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Proxy
|
|
{
|
|
public string id { get; set; }
|
|
public Address7 Address { get; set; }
|
|
public Status9 Status { get; set; }
|
|
}
|
|
|
|
public class Reason3
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Status10
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class URI3
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Registration
|
|
{
|
|
public string id { get; set; }
|
|
public Reason3 Reason { get; set; }
|
|
public Status10 Status { get; set; }
|
|
public URI3 URI { get; set; }
|
|
|
|
public Registration()
|
|
{
|
|
URI = new URI3();
|
|
}
|
|
}
|
|
|
|
public class Secure
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Verified
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class SIP
|
|
{
|
|
public AlternateURI AlternateURI { get; set; }
|
|
public Authentication Authentication { get; set; }
|
|
public CallForward CallForward { get; set; }
|
|
public Mailbox Mailbox { get; set; }
|
|
public List<Proxy> Proxy { get; set; }
|
|
public List<Registration> Registration { get; set; }
|
|
public Secure Secure { get; set; }
|
|
public Verified Verified { get; set; }
|
|
|
|
public SIP()
|
|
{
|
|
AlternateURI = new AlternateURI();
|
|
Registration = new List<Registration>();
|
|
}
|
|
}
|
|
|
|
public class Mode7
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class FIPS
|
|
{
|
|
public Mode7 Mode { get; set; }
|
|
}
|
|
|
|
public class CallHistory
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Configurations
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class DHCP
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class InternalLogging
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class LocalPhonebook
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Persistency
|
|
{
|
|
public CallHistory CallHistory { get; set; }
|
|
public Configurations Configurations { get; set; }
|
|
public DHCP DHCP { get; set; }
|
|
public InternalLogging InternalLogging { get; set; }
|
|
public LocalPhonebook LocalPhonebook { get; set; }
|
|
}
|
|
|
|
public class Security
|
|
{
|
|
public FIPS FIPS { get; set; }
|
|
public Persistency Persistency { get; set; }
|
|
}
|
|
|
|
public class State : ValueProperty
|
|
{
|
|
string _value;
|
|
|
|
public bool BoolValue { get; private set; }
|
|
|
|
public string Value // Valid values are Standby/EnteringStandby/Halfwake/Off
|
|
{
|
|
get { return _value; }
|
|
set
|
|
{
|
|
_value = value;
|
|
// If the incoming value is "On" it sets the BoolValue true, otherwise sets it false
|
|
BoolValue = value == "On" || value == "Standby";
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
public class Standby
|
|
{
|
|
public State State { get; set; }
|
|
|
|
public Standby()
|
|
{
|
|
State = new State();
|
|
}
|
|
}
|
|
|
|
public class CompatibilityLevel
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class SerialNumber
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Module
|
|
{
|
|
public CompatibilityLevel CompatibilityLevel { get; set; }
|
|
public SerialNumber SerialNumber { get; set; }
|
|
}
|
|
|
|
public class Hardware
|
|
{
|
|
public Module Module { get; set; }
|
|
}
|
|
|
|
public class ProductId
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class ProductPlatform
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class ProductType
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class DisplayName2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Name3
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Encryption
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class MultiSite
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class RemoteMonitoring
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class OptionKeys
|
|
{
|
|
public Encryption Encryption { get; set; }
|
|
public MultiSite MultiSite { get; set; }
|
|
public RemoteMonitoring RemoteMonitoring { get; set; }
|
|
|
|
public OptionKeys()
|
|
{
|
|
MultiSite = new MultiSite();
|
|
}
|
|
}
|
|
|
|
public class ReleaseDate
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Version2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Software2
|
|
{
|
|
public DisplayName2 DisplayName { get; set; }
|
|
public Name3 Name { get; set; }
|
|
public OptionKeys OptionKeys { get; set; }
|
|
public ReleaseDate ReleaseDate { get; set; }
|
|
public Version2 Version { get; set; }
|
|
|
|
public Software2()
|
|
{
|
|
OptionKeys = new OptionKeys();
|
|
}
|
|
}
|
|
|
|
public class NumberOfActiveCalls
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class NumberOfInProgressCalls
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class NumberOfSuspendedCalls
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class State2
|
|
{
|
|
public NumberOfActiveCalls NumberOfActiveCalls { get; set; }
|
|
public NumberOfInProgressCalls NumberOfInProgressCalls { get; set; }
|
|
public NumberOfSuspendedCalls NumberOfSuspendedCalls { get; set; }
|
|
}
|
|
|
|
public class Uptime
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class SystemUnit
|
|
{
|
|
public Hardware Hardware { get; set; }
|
|
public ProductId ProductId { get; set; }
|
|
public ProductPlatform ProductPlatform { get; set; }
|
|
public ProductType ProductType { get; set; }
|
|
public Software2 Software { get; set; }
|
|
public State2 State { get; set; }
|
|
public Uptime Uptime { get; set; }
|
|
|
|
public SystemUnit()
|
|
{
|
|
Software = new Software2();
|
|
}
|
|
}
|
|
|
|
public class SystemTime
|
|
{
|
|
public DateTime Value { get; set; }
|
|
}
|
|
|
|
public class Time
|
|
{
|
|
public SystemTime SystemTime { get; set; }
|
|
}
|
|
|
|
public class Number
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class ContactMethod
|
|
{
|
|
public string id { get; set; }
|
|
public Number Number { get; set; }
|
|
}
|
|
|
|
public class Name4
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class ContactInfo
|
|
{
|
|
public List<ContactMethod> ContactMethod { get; set; }
|
|
public Name4 Name { get; set; }
|
|
}
|
|
|
|
public class UserInterface
|
|
{
|
|
public ContactInfo ContactInfo { get; set; }
|
|
}
|
|
|
|
public class PIPPosition
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class ActiveSpeaker2
|
|
{
|
|
public PIPPosition PIPPosition { get; set; }
|
|
}
|
|
|
|
public class Connected2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class SignalState
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class SourceId
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Type3
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Connector
|
|
{
|
|
public string id { get; set; }
|
|
public Connected2 Connected { get; set; }
|
|
public SignalState SignalState { get; set; }
|
|
public SourceId SourceId { get; set; }
|
|
public Type3 Type { get; set; }
|
|
}
|
|
|
|
public class MainVideoSource
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class MainVideoMute : ValueProperty
|
|
{
|
|
public bool BoolValue { get; private set; }
|
|
|
|
public string Value
|
|
{
|
|
set
|
|
{
|
|
// If the incoming value is "On" it sets the BoolValue true, otherwise sets it false
|
|
BoolValue = value == "On";
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public class ConnectorId
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class FormatStatus
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class FormatType
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class MediaChannelId
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Height
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class RefreshRate
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Width
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Resolution
|
|
{
|
|
public Height Height { get; set; }
|
|
public RefreshRate RefreshRate { get; set; }
|
|
public Width Width { get; set; }
|
|
}
|
|
|
|
public class Source
|
|
{
|
|
public string id { get; set; }
|
|
public ConnectorId ConnectorId { get; set; }
|
|
public FormatStatus FormatStatus { get; set; }
|
|
public FormatType FormatType { get; set; }
|
|
public MediaChannelId MediaChannelId { get; set; }
|
|
public Resolution Resolution { get; set; }
|
|
}
|
|
|
|
public class Input2
|
|
{
|
|
public List<Connector> Connector { get; set; }
|
|
public MainVideoSource MainVideoSource { get; set; }
|
|
public MainVideoMute MainVideoMute { get; set; }
|
|
public List<Source> Source { get; set; }
|
|
|
|
public Input2()
|
|
{
|
|
MainVideoMute = new MainVideoMute();
|
|
}
|
|
}
|
|
|
|
public class Local : ValueProperty
|
|
{
|
|
string _Value;
|
|
|
|
public string Value // Valid values are On/Off
|
|
{
|
|
get
|
|
{
|
|
return _Value;
|
|
}
|
|
set
|
|
{
|
|
_Value = value;
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
public class LayoutFamily
|
|
{
|
|
public Local Local { get; set; }
|
|
|
|
public LayoutFamily()
|
|
{
|
|
Local = new Local();
|
|
}
|
|
}
|
|
|
|
public class Layout
|
|
{
|
|
public LayoutFamily LayoutFamily { get; set; }
|
|
|
|
public Layout()
|
|
{
|
|
LayoutFamily = new LayoutFamily();
|
|
}
|
|
}
|
|
|
|
public class Monitors
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Connected3
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Name5
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class PreferredFormat
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class ConnectedDevice2
|
|
{
|
|
public Name5 Name { get; set; }
|
|
public PreferredFormat PreferredFormat { get; set; }
|
|
}
|
|
|
|
public class MonitorRole
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Height2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class RefreshRate2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Width2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Resolution2
|
|
{
|
|
public Height2 Height { get; set; }
|
|
public RefreshRate2 RefreshRate { get; set; }
|
|
public Width2 Width { get; set; }
|
|
}
|
|
|
|
public class Type4
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Connector2
|
|
{
|
|
public string id { get; set; }
|
|
public Connected3 Connected { get; set; }
|
|
public ConnectedDevice2 ConnectedDevice { get; set; }
|
|
public MonitorRole MonitorRole { get; set; }
|
|
public Resolution2 Resolution { get; set; }
|
|
public Type4 Type { get; set; }
|
|
}
|
|
|
|
public class Output2
|
|
{
|
|
public List<Connector2> Connector { get; set; }
|
|
}
|
|
|
|
public class PIPPosition2
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Presentation2
|
|
{
|
|
public PIPPosition2 PIPPosition { get; set; }
|
|
}
|
|
|
|
public class FullscreenMode
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Mode8 : ValueProperty
|
|
{
|
|
public bool BoolValue { get; private set; }
|
|
|
|
public string Value // Valid values are On/Off
|
|
{
|
|
set
|
|
{
|
|
// If the incoming value is "On" it sets the BoolValue true, otherwise sets it false
|
|
BoolValue = value == "On";
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public class OnMonitorRole
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class PIPPosition3 : ValueProperty
|
|
{
|
|
string _Value;
|
|
|
|
public string Value
|
|
{
|
|
get
|
|
{
|
|
return _Value;
|
|
}
|
|
set
|
|
{
|
|
_Value = value;
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
public class Selfview
|
|
{
|
|
public FullscreenMode FullscreenMode { get; set; }
|
|
public Mode8 Mode { get; set; }
|
|
public OnMonitorRole OnMonitorRole { get; set; }
|
|
public PIPPosition3 PIPPosition { get; set; }
|
|
|
|
public Selfview()
|
|
{
|
|
Mode = new Mode8();
|
|
PIPPosition = new PIPPosition3();
|
|
}
|
|
}
|
|
|
|
public class Video
|
|
{
|
|
public ActiveSpeaker2 ActiveSpeaker { get; set; }
|
|
public Input2 Input { get; set; }
|
|
public Layout Layout { get; set; }
|
|
public Monitors Monitors { get; set; }
|
|
public Output2 Output { get; set; }
|
|
public Presentation2 Presentation { get; set; }
|
|
public Selfview Selfview { get; set; }
|
|
|
|
public Video()
|
|
{
|
|
Selfview = new Selfview();
|
|
Layout = new Layout();
|
|
Input = new Input2();
|
|
}
|
|
}
|
|
|
|
public class AnswerState
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class CallType
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class CallbackNumber
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class DeviceType
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Direction
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Duration
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class FacilityServiceId
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class HoldReason
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class PlacedOnHold
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Protocol
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class ReceiveCallRate
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class RemoteNumber
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class TransmitCallRate
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Call
|
|
{
|
|
public string id { get; set; }
|
|
public AnswerState AnswerState { get; set; }
|
|
public CallType CallType { get; set; }
|
|
public CallbackNumber CallbackNumber { get; set; }
|
|
public DeviceType DeviceType { get; set; }
|
|
public Direction Direction { get; set; }
|
|
public DisplayName DisplayName { get; set; }
|
|
public Duration Duration { get; set; }
|
|
public Encryption Encryption { get; set; }
|
|
public FacilityServiceId FacilityServiceId { get; set; }
|
|
public string ghost { get; set; }
|
|
public HoldReason HoldReason { get; set; }
|
|
public PlacedOnHold PlacedOnHold { get; set; }
|
|
public Protocol Protocol { get; set; }
|
|
public ReceiveCallRate ReceiveCallRate { get; set; }
|
|
public RemoteNumber RemoteNumber { get; set; }
|
|
public Status2 Status { get; set; }
|
|
public TransmitCallRate TransmitCallRate { get; set; }
|
|
|
|
public Call()
|
|
{
|
|
CallType = new CallType();
|
|
Status = new Status2();
|
|
}
|
|
}
|
|
|
|
public class Type5
|
|
{
|
|
public string Value { get; set; }
|
|
}
|
|
|
|
public class Description2 : ValueProperty
|
|
{
|
|
string _Value;
|
|
|
|
public string Value
|
|
{
|
|
get
|
|
{
|
|
return _Value;
|
|
}
|
|
set
|
|
{
|
|
_Value = value;
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
public class Defined : ValueProperty
|
|
{
|
|
public bool BoolValue { get; private set; }
|
|
|
|
public string Value // Valid values are True/False
|
|
{
|
|
set
|
|
{
|
|
// If the incoming value is "True" it sets the BoolValue true, otherwise sets it false
|
|
BoolValue = value == "True";
|
|
OnValueChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
public class RoomPreset
|
|
{
|
|
public string id { get; set; }
|
|
public Defined Defined { get; set; }
|
|
public Description2 Description { get; set; }
|
|
public Type5 Type { get; set; }
|
|
|
|
public RoomPreset()
|
|
{
|
|
Defined = new Defined();
|
|
Description = new Description2();
|
|
Type = new Type5();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public class Status
|
|
{
|
|
public Audio Audio { get; set; }
|
|
public Bookings Bookings { get; set; }
|
|
public List<Call> Call { get; set; }
|
|
public Cameras Cameras { get; set; }
|
|
public Capabilities2 Capabilities { get; set; }
|
|
public Conference2 Conference { get; set; }
|
|
public Diagnostics Diagnostics { get; set; }
|
|
public Experimental Experimental { get; set; }
|
|
public H323 H323 { get; set; }
|
|
public List<HttpFeedback> HttpFeedback { get; set; }
|
|
public MediaChannels MediaChannels { get; set; }
|
|
public List<Network> Network { get; set; }
|
|
public NetworkServices NetworkServices { get; set; }
|
|
public Peripherals Peripherals { get; set; }
|
|
public Provisioning Provisioning { get; set; }
|
|
public Proximity Proximity { get; set; }
|
|
public RoomAnalytics RoomAnalytics { get; set; }
|
|
|
|
public List<RoomPreset> RoomPreset { get; set; }
|
|
|
|
public SIP SIP { get; set; }
|
|
public Security Security { get; set; }
|
|
public Standby Standby { get; set; }
|
|
public SystemUnit SystemUnit { get; set; }
|
|
public Time Time { get; set; }
|
|
public UserInterface UserInterface { get; set; }
|
|
public Video Video { get; set; }
|
|
|
|
public Status()
|
|
{
|
|
Audio = new Audio();
|
|
Call = new List<Call>();
|
|
Standby = new Standby();
|
|
Cameras = new Cameras();
|
|
RoomAnalytics = new RoomAnalytics();
|
|
RoomPreset = new List<RoomPreset>();
|
|
Conference = new Conference2();
|
|
SystemUnit = new SystemUnit();
|
|
Video = new Video();
|
|
Conference = new Conference2();
|
|
}
|
|
}
|
|
|
|
public class RootObject
|
|
{
|
|
public Status Status { get; set; }
|
|
|
|
public RootObject()
|
|
{
|
|
Status = new Status();
|
|
}
|
|
}
|
|
}
|
|
}
|