diff --git a/Essentials Core/PepperDashEssentialsBase/Devices/IHasDialer.cs b/Essentials Core/PepperDashEssentialsBase/Devices/CodecInterfaces.cs
similarity index 64%
rename from Essentials Core/PepperDashEssentialsBase/Devices/IHasDialer.cs
rename to Essentials Core/PepperDashEssentialsBase/Devices/CodecInterfaces.cs
index c4682abd..5135ac07 100644
--- a/Essentials Core/PepperDashEssentialsBase/Devices/IHasDialer.cs
+++ b/Essentials Core/PepperDashEssentialsBase/Devices/CodecInterfaces.cs
@@ -18,8 +18,28 @@ namespace PepperDash.Essentials.Core
void AcceptCall();
void RejectCall();
+ void SendDtmf(string digit);
+
BoolFeedback InCallFeedback { get; }
BoolFeedback IncomingCallFeedback { get; }
+
+
+ }
+
+ public interface IHasCallHistory
+ {
+ // Add recent calls list
+ }
+
+ public interface IHasDirectory
+ {
+
+ }
+
+ public interface IHasObtp
+ {
+
+ // Upcoming Meeting warning event
}
}
\ No newline at end of file
diff --git a/Essentials Core/PepperDashEssentialsBase/Devices/IHasSharing.cs b/Essentials Core/PepperDashEssentialsBase/Devices/IHasSharing.cs
index 317a188a..675c11c3 100644
--- a/Essentials Core/PepperDashEssentialsBase/Devices/IHasSharing.cs
+++ b/Essentials Core/PepperDashEssentialsBase/Devices/IHasSharing.cs
@@ -11,7 +11,9 @@ namespace PepperDash.Essentials.Core
///
public interface IHasSharing
{
+ void StartSharing();
+ void StopSharing();
- BoolFeedback SharingSourceFeedback { get; }
+ StringFeedback SharingSourceFeedback { get; }
}
}
\ No newline at end of file
diff --git a/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj b/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj
index e06834ec..94e66af1 100644
--- a/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj
+++ b/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj
@@ -103,7 +103,7 @@
-
+
diff --git a/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj b/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj
index f7a4fab5..9edcb434 100644
--- a/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj
+++ b/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj
@@ -46,9 +46,9 @@
off
-
+
False
- ..\..\..\Crestron Cisco OBTP\OBTP\bin\Cisco One Button To Push.dll
+ ..\..\..\PTD_Cisco_One_Button_To_Push\bin\Cisco One Button To Push.dll
False
@@ -127,7 +127,11 @@
+
+
+
+
diff --git a/Essentials Devices Common/Essentials Devices Common/VC/Cisco/CiscoCodec.cs b/Essentials Devices Common/Essentials Devices Common/VC/Cisco/CiscoCodec.cs
deleted file mode 100644
index 56397284..00000000
--- a/Essentials Devices Common/Essentials Devices Common/VC/Cisco/CiscoCodec.cs
+++ /dev/null
@@ -1,388 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Crestron.SimplSharp.Net.Https;
-using Crestron.SimplSharp.CrestronXml;
-using Crestron.SimplSharp.CrestronXml.Serialization;
-using Newtonsoft.Json;
-using Cisco_One_Button_To_Push;
-using Cisco_SX80_Corporate_Phone_Book;
-
-using PepperDash.Core;
-using PepperDash.Essentials.Core;
-
-namespace PepperDash.Essentials.Devices.VideoCodec.Cisco
-{
- enum eCommandType { SessionStart, SessionEnd, Command, GetStatus, GetConfiguration };
-
- public class CiscoCodec : VideoCodecBase
- {
- public IBasicCommunication Communication { get; private set; }
-
- public StatusMonitorBase CommunicationMonitor { get; private set; }
-
- private CiscoOneButtonToPush CodecObtp;
-
- private Corporate_Phone_Book PhoneBook;
-
- private CiscoCodecConfiguration.Configuration CodecConfiguration;
-
- private CiscoCodecStatus.Status CodecStatus;
-
- private HttpsClient Client;
-
- private HttpApiServer Server;
-
- private int ServerPort;
-
- private string CodecUrl;
-
- private string HttpSessionId;
-
- private string FeedbackRegistrationExpression;
-
- // Constructor for IBasicCommunication
- public CiscoCodec(string key, string name, IBasicCommunication comm, int serverPort)
- : base(key, name)
- {
- Communication = comm;
- Communication.TextReceived += new EventHandler(Communication_TextReceived);
-
- ServerPort = serverPort;
-
- CodecObtp = new CiscoOneButtonToPush();
-
- PhoneBook = new Corporate_Phone_Book();
-
- CodecConfiguration = new CiscoCodecConfiguration.Configuration();
-
- CodecStatus = new CiscoCodecStatus.Status();
-
- Client = new HttpsClient();
-
- Server = new HttpApiServer();
-
- }
-
- ///
- /// Starts the HTTP feedback server and syncronizes state of codec
- ///
- ///
- public override bool CustomActivate()
- {
- Debug.Console(1, this, "Starting Cisco API Server");
-
- Server.Start(ServerPort);
-
- Server.ApiRequest += new EventHandler(Server_ApiRequest);
-
- CodecUrl = string.Format("http://{0}", (Communication as GenericSshClient).Hostname);
-
- CommunicationMonitor = new GenericCommunicationMonitor(this, Communication, 2000, 120000, 300000, "xStatus SystemUnit Software Version\r");
- DeviceManager.AddDevice(CommunicationMonitor);
-
- Client = new HttpsClient();
-
- Client.Verbose = true;
- Client.KeepAlive = true;
-
-
- // Temp feedback registration
-
- FeedbackRegistrationExpression =
- "1" +
- string.Format("http://{0}:{1}/cisco/api", CrestronEthernetHelper.GetEthernetParameter(CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_IP_ADDRESS, 0), ServerPort) +
- "JSON" +
- "/Configuration" +
- "/Event/CallDisconnect" +
- "/Status/Call" +
- "" +
- "" +
- "";
-
- StartHttpsSession();
-
- //CodecObtp.Initialize();
-
- //CodecObtp.GetMeetings();
-
- //PhoneBook.DownloadPhoneBook(Corporate_Phone_Book.ePhoneBookLocation.Corporate);
-
- return base.CustomActivate();
- }
-
- private void StartHttpsSession()
- {
- SendHttpCommand("", eCommandType.SessionStart);
- }
-
- private void EndHttpsSession()
- {
- SendHttpCommand("", eCommandType.SessionEnd);
- }
-
- private void SendHttpCommand(string command, eCommandType commandType)
- {
- HttpsClientRequest request = new HttpsClientRequest();
-
- string urlSuffix = null;
-
- Client.UserName = null;
- Client.Password = null;
-
- Client.PeerVerification = false;
- Client.HostVerification = false;
-
- request.RequestType = RequestType.Post;
-
- if(!string.IsNullOrEmpty(HttpSessionId))
- request.Header.SetHeaderValue("Cookie", HttpSessionId);
-
- switch (commandType)
- {
- case eCommandType.Command:
- {
- urlSuffix = "/putxml";
- request.ContentString = command;
- request.Header.SetHeaderValue("Content-Type", "text/xml");
- break;
- }
- case eCommandType.SessionStart:
- {
-
- urlSuffix = "/xmlapi/session/begin";
-
- Client.UserName = (Communication as GenericSshClient).Username;
- Client.Password = (Communication as GenericSshClient).Password;
-
- break;
- }
- case eCommandType.SessionEnd:
- {
- urlSuffix = "/xmlapi/session/end";
- request.Header.SetHeaderValue("Cookie", HttpSessionId);
- break;
- }
- case eCommandType.GetStatus:
- {
- request.RequestType = RequestType.Get;
- request.Header.SetHeaderValue("Content-Type", "text/xml");
- urlSuffix = "/getxml?location=/Status";
- break;
- }
- case eCommandType.GetConfiguration:
- {
- request.RequestType = RequestType.Get;
- request.Header.SetHeaderValue("Content-Type", "text/xml");
- urlSuffix = "/getxml?location=/Configuration";
- break;
- }
- }
-
- var requestUrl = CodecUrl + urlSuffix;
- request.Header.RequestVersion = "HTTP/1.1";
- request.Url.Parse(requestUrl);
-
- Debug.Console(1, this, "Sending HTTP request to Cisco Codec at {0}\nHeader:\n{1}\nContent:\n{2}", requestUrl, request.Header, request.ContentString);
-
- Client.DispatchAsync(request, PostConnectionCallback);
- }
-
- void PostConnectionCallback(HttpsClientResponse resp, HTTP_CALLBACK_ERROR err)
- {
- try
- {
- if (resp != null)
- {
- if (resp.Code == 200)
- {
- Debug.Console(1, this, "Http Post to Cisco Codec Successful. Code: {0}\nContent: {1}", resp.Code, resp.ContentString);
-
- if (resp.ContentString.IndexOf("") > 1)
- {
- // Get the initial configruation for sync purposes
- SendHttpCommand("", eCommandType.GetConfiguration);
- }
- else
- {
- try
- {
- if (resp.ContentString.IndexOf("") > -1)
- {
- XmlReaderSettings settings = new XmlReaderSettings();
-
- XmlReader reader = new XmlReader(resp.ContentString, settings);
-
- CodecConfiguration = CrestronXMLSerialization.DeSerializeObject(reader);
-
- Debug.Console(1, this, "Product Name: {0} Software Version: {1} ApiVersion: {2}", CodecConfiguration.Product, CodecConfiguration.Version, CodecConfiguration.ApiVersion);
-
- // Get the initial status for sync purposes
- SendHttpCommand("", eCommandType.GetStatus);
- }
- else if (resp.ContentString.IndexOf("") > -1)
- {
- XmlReaderSettings settings = new XmlReaderSettings();
-
- XmlReader reader = new XmlReader(resp.ContentString, settings);
-
- CodecStatus = CrestronXMLSerialization.DeSerializeObject(reader);
-
- Debug.Console(1, this, "Product Name: {0} Software Version: {1} ApiVersion: {2} Volume: {3}", CodecStatus.Product, CodecStatus.Version, CodecStatus.ApiVersion, CodecStatus.Audio.Volume);
- }
- }
- catch (Exception ex)
- {
- Debug.Console(1, this, "Error Deserializing XML document from codec: {0}", ex);
- }
- }
- }
- else if (resp.Code == 204)
- {
- Debug.Console(1, this, "Response Code: {0}\nHeader:\n{1}Content:\n{1}", resp.Code, resp.Header, resp.ContentString);
-
- HttpSessionId = resp.Header.GetHeaderValue("Set-Cookie");
- //var chunks = HttpSessionId.Split(';');
- //HttpSessionId = chunks[0];
- //HttpSessionId = HttpSessionId.Substring(HttpSessionId.IndexOf("=") + 1);
-
-
- // Register for feedbacks once we have a valid session
- SendHttpCommand(FeedbackRegistrationExpression, eCommandType.Command);
- }
- else
- {
- Debug.Console(1, this, "Response Code: {0}\nHeader:\n{1}Content:\n{1}Err:\n{2}", resp.Code, resp.Header, resp.ContentString, err);
- }
- }
- else
- Debug.Console(1, this, "Null response received from server");
- }
- catch (Exception e)
- {
- Debug.Console(1, this, "Error Initializing HTTPS Client: {0}", e);
- }
- }
-
- void Server_ApiRequest(object sender, Crestron.SimplSharp.Net.Http.OnHttpRequestArgs e)
- {
- Debug.Console(1, this, "Api Reqeust from Codec: {0}", e.Request.ContentString);
- e.Response.Code = 200;
- e.Response.ContentString = "OK";
-
- try
- {
- // Serializer settings. We want to ignore null values and mising members
- JsonSerializerSettings settings = new JsonSerializerSettings();
- settings.NullValueHandling = NullValueHandling.Ignore;
- settings.MissingMemberHandling = MissingMemberHandling.Ignore;
-
- if (e.Request.ContentString.IndexOf("\"Configuration\":{") > -1)
- CodecConfiguration = JsonConvert.DeserializeObject(e.Request.ContentString, settings);
- else if (e.Request.ContentString.IndexOf("\"Status\":{") > -1)
- CodecStatus = JsonConvert.DeserializeObject(e.Request.ContentString, settings);
- }
- catch (Exception ex)
- {
- Debug.Console(1, this, "Error Deserializing feedback from codec: {0}", ex);
- }
- }
-
- void Communication_TextReceived(object sender, GenericCommMethodReceiveTextArgs e)
- {
- //CodecObtp.
- }
-
- public override void ExecuteSwitch(object selector)
- {
- throw new NotImplementedException();
- }
-
- protected override Func InCallFeedbackFunc { get { return () => false; } }
-
- protected override Func IncomingCallFeedbackFunc { get { return () => false; } }
-
- protected override Func TransmitMuteFeedbackFunc { get { return () => false; } }
-
- protected override Func ReceiveMuteFeedbackFunc { get { return () => false; } }
-
- protected override Func PrivacyModeFeedbackFunc { get { return () => false; } }
-
- public override void Dial()
- {
-
- }
-
- public override void EndCall()
- {
-
- }
-
- public override void AcceptCall()
- {
-
- }
-
- public override void RejectCall()
- {
-
- }
-
- public override void ReceiveMuteOff()
- {
-
- }
-
- public override void ReceiveMuteOn()
- {
-
- }
-
- public override void ReceiveMuteToggle()
- {
-
- }
-
- public override void SetReceiveVolume(ushort level)
- {
-
- }
-
- public override void TransmitMuteOff()
- {
-
- }
-
- public override void TransmitMuteOn()
- {
-
- }
-
- public override void TransmitMuteToggle()
- {
-
- }
-
- public override void SetTransmitVolume(ushort level)
- {
-
- }
-
- public override void PrivacyModeOn()
- {
-
- }
-
- public override void PrivacyModeOff()
- {
-
- }
-
- public override void PrivacyModeToggle()
- {
-
- }
- }
-}
\ No newline at end of file
diff --git a/Essentials Devices Common/Essentials Devices Common/VC/Cisco/Configuration.cs b/Essentials Devices Common/Essentials Devices Common/VC/Cisco/Configuration.cs
deleted file mode 100644
index a88b9b70..00000000
--- a/Essentials Devices Common/Essentials Devices Common/VC/Cisco/Configuration.cs
+++ /dev/null
@@ -1,1895 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-
-namespace PepperDash.Essentials.Devices.VideoCodec.Cisco
-{
- public class CiscoCodecConfiguration
- {
- //[XmlRoot(ElementName = "DefaultVolume")]
- public class DefaultVolume
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Mode")]
- public class Mode
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Microphone")]
- public class Microphone
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- //[XmlAttribute(AttributeName = "item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName = "maxOccurrence")]
- public string MaxOccurrence { get; set; }
- //[XmlElement(ElementName = "EchoControl")]
- public EchoControl EchoControl { get; set; }
- //[XmlElement(ElementName = "Level")]
- public Level Level { get; set; }
- }
-
- //[XmlRoot(ElementName = "Dereverberation")]
- public class Dereverberation
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "NoiseReduction")]
- public class NoiseReduction
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "EchoControl")]
- public class EchoControl
- {
- //[XmlElement(ElementName = "Dereverberation")]
- public Dereverberation Dereverberation { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- //[XmlElement(ElementName = "NoiseReduction")]
- public NoiseReduction NoiseReduction { get; set; }
- }
-
- //[XmlRoot(ElementName = "Level")]
- public class Level
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Input")]
- public class Input
- {
- //[XmlElement(ElementName = "Microphone")]
- public List Microphone { get; set; }
- //[XmlElement(ElementName = "Connector")]
- public List Connector { get; set; }
- }
-
- //[XmlRoot(ElementName = "Enabled")]
- public class Enabled
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Mute")]
- public class Mute
- {
- //[XmlElement(ElementName = "Enabled")]
- public Enabled Enabled { get; set; }
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Microphones")]
- public class Microphones
- {
- //[XmlElement(ElementName = "Mute")]
- public Mute Mute { get; set; }
- }
-
- //[XmlRoot(ElementName = "InternalSpeaker")]
- public class InternalSpeaker
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "OutputType")]
- public class OutputType
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Line")]
- public class Line
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- //[XmlElement(ElementName = "OutputType")]
- public OutputType OutputType { get; set; }
- //[XmlAttribute(AttributeName = "item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName = "maxOccurrence")]
- public string MaxOccurrence { get; set; }
- }
-
- //[XmlRoot(ElementName = "Output")]
- public class Output
- {
- //[XmlElement(ElementName = "InternalSpeaker")]
- public InternalSpeaker InternalSpeaker { get; set; }
- //[XmlElement(ElementName = "Line")]
- public Line Line { get; set; }
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- //[XmlElement(ElementName = "Connector")]
- public List Connector { get; set; }
- }
-
- //[XmlRoot(ElementName = "RingTone")]
- public class RingTone
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "RingVolume")]
- public class RingVolume
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "SoundsAndAlerts")]
- public class SoundsAndAlerts
- {
- //[XmlElement(ElementName = "RingTone")]
- public RingTone RingTone { get; set; }
- //[XmlElement(ElementName = "RingVolume")]
- public RingVolume RingVolume { get; set; }
- }
-
- //[XmlRoot(ElementName = "Audio")]
- public class Audio
- {
- //[XmlElement(ElementName = "DefaultVolume")]
- public DefaultVolume DefaultVolume { get; set; }
- //[XmlElement(ElementName = "Input")]
- public Input Input { get; set; }
- //[XmlElement(ElementName = "Microphones")]
- public Microphones Microphones { get; set; }
- //[XmlElement(ElementName = "Output")]
- public Output Output { get; set; }
- //[XmlElement(ElementName = "SoundsAndAlerts")]
- public SoundsAndAlerts SoundsAndAlerts { get; set; }
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Framerate")]
- public class Framerate
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Camera")]
- public class Camera
- {
- //[XmlElement(ElementName = "Framerate")]
- public Framerate Framerate { get; set; }
- }
-
- //[XmlRoot(ElementName = "Closeup")]
- public class Closeup
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "SpeakerTrack")]
- public class SpeakerTrack
- {
- //[XmlElement(ElementName = "Closeup")]
- public Closeup Closeup { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "Cameras")]
- public class Cameras
- {
- //[XmlElement(ElementName = "Camera")]
- public Camera Camera { get; set; }
- //[XmlElement(ElementName = "SpeakerTrack")]
- public SpeakerTrack SpeakerTrack { get; set; }
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Delay")]
- public class Delay
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "AutoAnswer")]
- public class AutoAnswer
- {
- //[XmlElement(ElementName = "Delay")]
- public Delay Delay { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- //[XmlElement(ElementName = "Mute")]
- public Mute Mute { get; set; }
- }
-
- //[XmlRoot(ElementName = "Protocol")]
- public class Protocol
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Rate")]
- public class Rate
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "DefaultCall")]
- public class DefaultCall
- {
- //[XmlElement(ElementName = "Protocol")]
- public Protocol Protocol { get; set; }
- //[XmlElement(ElementName = "Rate")]
- public Rate Rate { get; set; }
- }
-
- //[XmlRoot(ElementName = "DefaultTimeout")]
- public class DefaultTimeout
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "DoNotDisturb")]
- public class DoNotDisturb
- {
- //[XmlElement(ElementName = "DefaultTimeout")]
- public DefaultTimeout DefaultTimeout { get; set; }
- }
-
- //[XmlRoot(ElementName = "Encryption")]
- public class Encryption
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- //[XmlElement(ElementName = "KeySize")]
- public KeySize KeySize { get; set; }
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "FarEndControl")]
- public class FarEndControl
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "MaxReceiveCallRate")]
- public class MaxReceiveCallRate
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "MaxTotalReceiveCallRate")]
- public class MaxTotalReceiveCallRate
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "MaxTotalTransmitCallRate")]
- public class MaxTotalTransmitCallRate
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "MaxTransmitCallRate")]
- public class MaxTransmitCallRate
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "MultiStream")]
- public class MultiStream
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "Conference")]
- public class Conference
- {
- //[XmlElement(ElementName = "AutoAnswer")]
- public AutoAnswer AutoAnswer { get; set; }
- //[XmlElement(ElementName = "DefaultCall")]
- public DefaultCall DefaultCall { get; set; }
- //[XmlElement(ElementName = "DoNotDisturb")]
- public DoNotDisturb DoNotDisturb { get; set; }
- //[XmlElement(ElementName = "Encryption")]
- public Encryption Encryption { get; set; }
- //[XmlElement(ElementName = "FarEndControl")]
- public FarEndControl FarEndControl { get; set; }
- //[XmlElement(ElementName = "MaxReceiveCallRate")]
- public MaxReceiveCallRate MaxReceiveCallRate { get; set; }
- //[XmlElement(ElementName = "MaxTotalReceiveCallRate")]
- public MaxTotalReceiveCallRate MaxTotalReceiveCallRate { get; set; }
- //[XmlElement(ElementName = "MaxTotalTransmitCallRate")]
- public MaxTotalTransmitCallRate MaxTotalTransmitCallRate { get; set; }
- //[XmlElement(ElementName = "MaxTransmitCallRate")]
- public MaxTransmitCallRate MaxTransmitCallRate { get; set; }
- //[XmlElement(ElementName = "MultiStream")]
- public MultiStream MultiStream { get; set; }
- }
-
- //[XmlRoot(ElementName = "LoginName")]
- public class LoginName
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- }
-
- //[XmlRoot(ElementName = "Password")]
- public class Password
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Authentication")]
- public class Authentication
- {
- //[XmlElement(ElementName = "LoginName")]
- public LoginName LoginName { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- //[XmlElement(ElementName = "Password")]
- public Password Password { get; set; }
- //[XmlElement(ElementName = "UserName")]
- public UserName UserName { get; set; }
- }
-
- //[XmlRoot(ElementName = "CallSetup")]
- public class CallSetup
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "KeySize")]
- public class KeySize
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Address")]
- public class Address
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Gatekeeper")]
- public class Gatekeeper
- {
- //[XmlElement(ElementName = "Address")]
- public Address Address { get; set; }
- }
-
- //[XmlRoot(ElementName = "E164")]
- public class E164
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "ID")]
- public class ID
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "H323Alias")]
- public class H323Alias
- {
- //[XmlElement(ElementName = "E164")]
- public E164 E164 { get; set; }
- //[XmlElement(ElementName = "ID")]
- public ID ID { get; set; }
- }
-
- //[XmlRoot(ElementName = "NAT")]
- public class NAT
- {
- //[XmlElement(ElementName = "Address")]
- public Address Address { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "H323")]
- public class H323
- {
- //[XmlElement(ElementName = "Authentication")]
- public Authentication Authentication { get; set; }
- //[XmlElement(ElementName = "CallSetup")]
- public CallSetup CallSetup { get; set; }
- //[XmlElement(ElementName = "Encryption")]
- public Encryption Encryption { get; set; }
- //[XmlElement(ElementName = "Gatekeeper")]
- public Gatekeeper Gatekeeper { get; set; }
- //[XmlElement(ElementName = "H323Alias")]
- public H323Alias H323Alias { get; set; }
- //[XmlElement(ElementName = "NAT")]
- public NAT NAT { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "Name")]
- public class Name
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Domain")]
- public class Domain
- {
- //[XmlElement(ElementName = "Name")]
- public Name Name { get; set; }
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- }
-
- //[XmlRoot(ElementName = "Server")]
- public class Server
- {
- //[XmlElement(ElementName = "Address")]
- public Address Address { get; set; }
- //[XmlAttribute(AttributeName = "item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName = "maxOccurrence")]
- public string MaxOccurrence { get; set; }
- //[XmlElement(ElementName = "MinimumTLSVersion")]
- public MinimumTLSVersion MinimumTLSVersion { get; set; }
- //[XmlElement(ElementName = "ID")]
- public ID ID { get; set; }
- //[XmlElement(ElementName = "Type")]
- public Type Type { get; set; }
- //[XmlElement(ElementName = "URL")]
- public URL URL { get; set; }
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlElement(ElementName = "Port")]
- public Port Port { get; set; }
- }
-
- //[XmlRoot(ElementName = "DNS")]
- public class DNS
- {
- //[XmlElement(ElementName = "Domain")]
- public Domain Domain { get; set; }
- //[XmlElement(ElementName = "Server")]
- public List Server { get; set; }
- }
-
- //[XmlRoot(ElementName = "AnonymousIdentity")]
- public class AnonymousIdentity
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- }
-
- //[XmlRoot(ElementName = "Md5")]
- public class Md5
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Peap")]
- public class Peap
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Tls")]
- public class Tls
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Ttls")]
- public class Ttls
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Eap")]
- public class Eap
- {
- //[XmlElement(ElementName = "Md5")]
- public Md5 Md5 { get; set; }
- //[XmlElement(ElementName = "Peap")]
- public Peap Peap { get; set; }
- //[XmlElement(ElementName = "Tls")]
- public Tls Tls { get; set; }
- //[XmlElement(ElementName = "Ttls")]
- public Ttls Ttls { get; set; }
- }
-
- //[XmlRoot(ElementName = "Identity")]
- public class Identity
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- }
-
- //[XmlRoot(ElementName = "TlsVerify")]
- public class TlsVerify
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "UseClientCertificate")]
- public class UseClientCertificate
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "IEEE8021X")]
- public class IEEE8021X
- {
- //[XmlElement(ElementName = "AnonymousIdentity")]
- public AnonymousIdentity AnonymousIdentity { get; set; }
- //[XmlElement(ElementName = "Eap")]
- public Eap Eap { get; set; }
- //[XmlElement(ElementName = "Identity")]
- public Identity Identity { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- //[XmlElement(ElementName = "Password")]
- public Password Password { get; set; }
- //[XmlElement(ElementName = "TlsVerify")]
- public TlsVerify TlsVerify { get; set; }
- //[XmlElement(ElementName = "UseClientCertificate")]
- public UseClientCertificate UseClientCertificate { get; set; }
- }
-
- //[XmlRoot(ElementName = "IPStack")]
- public class IPStack
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Assignment")]
- public class Assignment
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Gateway")]
- public class Gateway
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "SubnetMask")]
- public class SubnetMask
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "IPv4")]
- public class IPv4
- {
- //[XmlElement(ElementName = "Address")]
- public Address Address { get; set; }
- //[XmlElement(ElementName = "Assignment")]
- public Assignment Assignment { get; set; }
- //[XmlElement(ElementName = "Gateway")]
- public Gateway Gateway { get; set; }
- //[XmlElement(ElementName = "SubnetMask")]
- public SubnetMask SubnetMask { get; set; }
- }
-
- //[XmlRoot(ElementName = "DHCPOptions")]
- public class DHCPOptions
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "IPv6")]
- public class IPv6
- {
- //[XmlElement(ElementName = "Address")]
- public Address Address { get; set; }
- //[XmlElement(ElementName = "Assignment")]
- public Assignment Assignment { get; set; }
- //[XmlElement(ElementName = "DHCPOptions")]
- public DHCPOptions DHCPOptions { get; set; }
- //[XmlElement(ElementName = "Gateway")]
- public Gateway Gateway { get; set; }
- }
-
- //[XmlRoot(ElementName = "MTU")]
- public class MTU
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Data")]
- public class Data
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "ICMPv6")]
- public class ICMPv6
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "NTP")]
- public class NTP
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- //[XmlElement(ElementName = "Server")]
- public List Server { get; set; }
- }
-
- //[XmlRoot(ElementName = "Signalling")]
- public class Signalling
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Video")]
- public class Video
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- //[XmlElement(ElementName = "DefaultMainSource")]
- public DefaultMainSource DefaultMainSource { get; set; }
- //[XmlElement(ElementName = "Input")]
- public Input Input { get; set; }
- //[XmlElement(ElementName = "Monitors")]
- public Monitors Monitors { get; set; }
- //[XmlElement(ElementName = "Output")]
- public Output Output { get; set; }
- //[XmlElement(ElementName = "Presentation")]
- public Presentation Presentation { get; set; }
- //[XmlElement(ElementName = "Selfview")]
- public Selfview Selfview { get; set; }
- }
-
- //[XmlRoot(ElementName = "Diffserv")]
- public class Diffserv
- {
- //[XmlElement(ElementName = "Audio")]
- public Audio Audio { get; set; }
- //[XmlElement(ElementName = "Data")]
- public Data Data { get; set; }
- //[XmlElement(ElementName = "ICMPv6")]
- public ICMPv6 ICMPv6 { get; set; }
- //[XmlElement(ElementName = "NTP")]
- public NTP NTP { get; set; }
- //[XmlElement(ElementName = "Signalling")]
- public Signalling Signalling { get; set; }
- //[XmlElement(ElementName = "Video")]
- public Video Video { get; set; }
- }
-
- //[XmlRoot(ElementName = "QoS")]
- public class QoS
- {
- //[XmlElement(ElementName = "Diffserv")]
- public Diffserv Diffserv { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "Allow")]
- public class Allow
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- }
-
- //[XmlRoot(ElementName = "RemoteAccess")]
- public class RemoteAccess
- {
- //[XmlElement(ElementName = "Allow")]
- public Allow Allow { get; set; }
- }
-
- //[XmlRoot(ElementName = "Speed")]
- public class Speed
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "VlanId")]
- public class VlanId
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Voice")]
- public class Voice
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- //[XmlElement(ElementName = "VlanId")]
- public VlanId VlanId { get; set; }
- }
-
- //[XmlRoot(ElementName = "VLAN")]
- public class VLAN
- {
- //[XmlElement(ElementName = "Voice")]
- public Voice Voice { get; set; }
- }
-
- //[XmlRoot(ElementName = "Network")]
- public class Network
- {
- //[XmlElement(ElementName = "DNS")]
- public DNS DNS { get; set; }
- //[XmlElement(ElementName = "IEEE8021X")]
- public IEEE8021X IEEE8021X { get; set; }
- //[XmlElement(ElementName = "IPStack")]
- public IPStack IPStack { get; set; }
- //[XmlElement(ElementName = "IPv4")]
- public IPv4 IPv4 { get; set; }
- //[XmlElement(ElementName = "IPv6")]
- public IPv6 IPv6 { get; set; }
- //[XmlElement(ElementName = "MTU")]
- public MTU MTU { get; set; }
- //[XmlElement(ElementName = "QoS")]
- public QoS QoS { get; set; }
- //[XmlElement(ElementName = "RemoteAccess")]
- public RemoteAccess RemoteAccess { get; set; }
- //[XmlElement(ElementName = "Speed")]
- public Speed Speed { get; set; }
- //[XmlElement(ElementName = "VLAN")]
- public VLAN VLAN { get; set; }
- //[XmlAttribute(AttributeName = "item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName = "maxOccurrence")]
- public string MaxOccurrence { get; set; }
- }
-
- //[XmlRoot(ElementName = "CDP")]
- public class CDP
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "HTTP")]
- public class HTTP
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "MinimumTLSVersion")]
- public class MinimumTLSVersion
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "StrictTransportSecurity")]
- public class StrictTransportSecurity
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "VerifyClientCertificate")]
- public class VerifyClientCertificate
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "VerifyServerCertificate")]
- public class VerifyServerCertificate
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "HTTPS")]
- public class HTTPS
- {
- //[XmlElement(ElementName = "Server")]
- public Server Server { get; set; }
- //[XmlElement(ElementName = "StrictTransportSecurity")]
- public StrictTransportSecurity StrictTransportSecurity { get; set; }
- //[XmlElement(ElementName = "VerifyClientCertificate")]
- public VerifyClientCertificate VerifyClientCertificate { get; set; }
- //[XmlElement(ElementName = "VerifyServerCertificate")]
- public VerifyServerCertificate VerifyServerCertificate { get; set; }
- }
-
- //[XmlRoot(ElementName = "SIP")]
- public class SIP
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- //[XmlElement(ElementName = "Authentication")]
- public Authentication Authentication { get; set; }
- //[XmlElement(ElementName = "DefaultTransport")]
- public DefaultTransport DefaultTransport { get; set; }
- //[XmlElement(ElementName = "DisplayName")]
- public DisplayName DisplayName { get; set; }
- //[XmlElement(ElementName = "Ice")]
- public Ice Ice { get; set; }
- //[XmlElement(ElementName = "ListenPort")]
- public ListenPort ListenPort { get; set; }
- //[XmlElement(ElementName = "Proxy")]
- public List Proxy { get; set; }
- //[XmlElement(ElementName = "Turn")]
- public Turn Turn { get; set; }
- //[XmlElement(ElementName = "URI")]
- public URI URI { get; set; }
- }
-
- //[XmlRoot(ElementName = "CommunityName")]
- public class CommunityName
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Host")]
- public class Host
- {
- //[XmlElement(ElementName = "Address")]
- public Address Address { get; set; }
- //[XmlAttribute(AttributeName = "item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName = "maxOccurrence")]
- public string MaxOccurrence { get; set; }
- }
-
- //[XmlRoot(ElementName = "SystemContact")]
- public class SystemContact
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- }
-
- //[XmlRoot(ElementName = "SystemLocation")]
- public class SystemLocation
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- }
-
- //[XmlRoot(ElementName = "SNMP")]
- public class SNMP
- {
- //[XmlElement(ElementName = "CommunityName")]
- public CommunityName CommunityName { get; set; }
- //[XmlElement(ElementName = "Host")]
- public List Host { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- //[XmlElement(ElementName = "SystemContact")]
- public SystemContact SystemContact { get; set; }
- //[XmlElement(ElementName = "SystemLocation")]
- public SystemLocation SystemLocation { get; set; }
- }
-
- //[XmlRoot(ElementName = "SSH")]
- public class SSH
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "UPnP")]
- public class UPnP
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "WelcomeText")]
- public class WelcomeText
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "NetworkServices")]
- public class NetworkServices
- {
- //[XmlElement(ElementName = "CDP")]
- public CDP CDP { get; set; }
- //[XmlElement(ElementName = "H323")]
- public H323 H323 { get; set; }
- //[XmlElement(ElementName = "HTTP")]
- public HTTP HTTP { get; set; }
- //[XmlElement(ElementName = "HTTPS")]
- public HTTPS HTTPS { get; set; }
- //[XmlElement(ElementName = "NTP")]
- public NTP NTP { get; set; }
- //[XmlElement(ElementName = "SIP")]
- public SIP SIP { get; set; }
- //[XmlElement(ElementName = "SNMP")]
- public SNMP SNMP { get; set; }
- //[XmlElement(ElementName = "SSH")]
- public SSH SSH { get; set; }
- //[XmlElement(ElementName = "UPnP")]
- public UPnP UPnP { get; set; }
- //[XmlElement(ElementName = "WelcomeText")]
- public WelcomeText WelcomeText { get; set; }
- }
-
- //[XmlRoot(ElementName = "ControlSystems")]
- public class ControlSystems
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "TouchPanels")]
- public class TouchPanels
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Profile")]
- public class Profile
- {
- //[XmlElement(ElementName = "Cameras")]
- public Cameras Cameras { get; set; }
- //[XmlElement(ElementName = "ControlSystems")]
- public ControlSystems ControlSystems { get; set; }
- //[XmlElement(ElementName = "TouchPanels")]
- public TouchPanels TouchPanels { get; set; }
- }
-
- //[XmlRoot(ElementName = "Peripherals")]
- public class Peripherals
- {
- //[XmlElement(ElementName = "Profile")]
- public Profile Profile { get; set; }
- }
-
- //[XmlRoot(ElementName = "Type")]
- public class Type
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "URL")]
- public class URL
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Phonebook")]
- public class Phonebook
- {
- //[XmlElement(ElementName = "Server")]
- public Server Server { get; set; }
- }
-
- //[XmlRoot(ElementName = "Connectivity")]
- public class Connectivity
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "AlternateAddress")]
- public class AlternateAddress
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- }
-
- //[XmlRoot(ElementName = "Path")]
- public class Path
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "ExternalManager")]
- public class ExternalManager
- {
- //[XmlElement(ElementName = "Address")]
- public Address Address { get; set; }
- //[XmlElement(ElementName = "AlternateAddress")]
- public AlternateAddress AlternateAddress { get; set; }
- //[XmlElement(ElementName = "Domain")]
- public Domain Domain { get; set; }
- //[XmlElement(ElementName = "Path")]
- public Path Path { get; set; }
- //[XmlElement(ElementName = "Protocol")]
- public Protocol Protocol { get; set; }
- }
-
- //[XmlRoot(ElementName = "HttpMethod")]
- public class HttpMethod
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Provisioning")]
- public class Provisioning
- {
- //[XmlElement(ElementName = "Connectivity")]
- public Connectivity Connectivity { get; set; }
- //[XmlElement(ElementName = "ExternalManager")]
- public ExternalManager ExternalManager { get; set; }
- //[XmlElement(ElementName = "HttpMethod")]
- public HttpMethod HttpMethod { get; set; }
- //[XmlElement(ElementName = "LoginName")]
- public LoginName LoginName { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- //[XmlElement(ElementName = "Password")]
- public Password Password { get; set; }
- }
-
- //[XmlRoot(ElementName = "CallControl")]
- public class CallControl
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "FromClients")]
- public class FromClients
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "ToClients")]
- public class ToClients
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "ContentShare")]
- public class ContentShare
- {
- //[XmlElement(ElementName = "FromClients")]
- public FromClients FromClients { get; set; }
- //[XmlElement(ElementName = "ToClients")]
- public ToClients ToClients { get; set; }
- }
-
- //[XmlRoot(ElementName = "Services")]
- public class Services
- {
- //[XmlElement(ElementName = "CallControl")]
- public CallControl CallControl { get; set; }
- //[XmlElement(ElementName = "ContentShare")]
- public ContentShare ContentShare { get; set; }
- }
-
- //[XmlRoot(ElementName = "Proximity")]
- public class Proximity
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- //[XmlElement(ElementName = "Services")]
- public Services Services { get; set; }
- }
-
- //[XmlRoot(ElementName = "PeopleCountOutOfCall")]
- public class PeopleCountOutOfCall
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "PeoplePresenceDetector")]
- public class PeoplePresenceDetector
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "RoomAnalytics")]
- public class RoomAnalytics
- {
- //[XmlElement(ElementName = "PeopleCountOutOfCall")]
- public PeopleCountOutOfCall PeopleCountOutOfCall { get; set; }
- //[XmlElement(ElementName = "PeoplePresenceDetector")]
- public PeoplePresenceDetector PeoplePresenceDetector { get; set; }
- }
-
- //[XmlRoot(ElementName = "UserName")]
- public class UserName
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- }
-
- //[XmlRoot(ElementName = "DefaultTransport")]
- public class DefaultTransport
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "DisplayName")]
- public class DisplayName
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- }
-
- //[XmlRoot(ElementName = "DefaultCandidate")]
- public class DefaultCandidate
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Ice")]
- public class Ice
- {
- //[XmlElement(ElementName = "DefaultCandidate")]
- public DefaultCandidate DefaultCandidate { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "ListenPort")]
- public class ListenPort
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Proxy")]
- public class Proxy
- {
- //[XmlElement(ElementName = "Address")]
- public Address Address { get; set; }
- //[XmlAttribute(AttributeName = "item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName = "maxOccurrence")]
- public string MaxOccurrence { get; set; }
- }
-
- //[XmlRoot(ElementName = "Turn")]
- public class Turn
- {
- //[XmlElement(ElementName = "Password")]
- public Password Password { get; set; }
- //[XmlElement(ElementName = "Server")]
- public Server Server { get; set; }
- //[XmlElement(ElementName = "UserName")]
- public UserName UserName { get; set; }
- }
-
- //[XmlRoot(ElementName = "URI")]
- public class URI
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- }
-
- //[XmlRoot(ElementName = "BaudRate")]
- public class BaudRate
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "LoginRequired")]
- public class LoginRequired
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "SerialPort")]
- public class SerialPort
- {
- //[XmlElement(ElementName = "BaudRate")]
- public BaudRate BaudRate { get; set; }
- //[XmlElement(ElementName = "LoginRequired")]
- public LoginRequired LoginRequired { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "BootAction")]
- public class BootAction
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Control")]
- public class Control
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "StandbyAction")]
- public class StandbyAction
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "WakeupAction")]
- public class WakeupAction
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Standby")]
- public class Standby
- {
- //[XmlElement(ElementName = "BootAction")]
- public BootAction BootAction { get; set; }
- //[XmlElement(ElementName = "Control")]
- public Control Control { get; set; }
- //[XmlElement(ElementName = "Delay")]
- public Delay Delay { get; set; }
- //[XmlElement(ElementName = "StandbyAction")]
- public StandbyAction StandbyAction { get; set; }
- //[XmlElement(ElementName = "WakeupAction")]
- public WakeupAction WakeupAction { get; set; }
- }
-
- //[XmlRoot(ElementName = "SystemUnit")]
- public class SystemUnit
- {
- //[XmlElement(ElementName = "Name")]
- public Name Name { get; set; }
- }
-
- //[XmlRoot(ElementName = "DateFormat")]
- public class DateFormat
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "TimeFormat")]
- public class TimeFormat
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Zone")]
- public class Zone
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Time")]
- public class Time
- {
- //[XmlElement(ElementName = "DateFormat")]
- public DateFormat DateFormat { get; set; }
- //[XmlElement(ElementName = "TimeFormat")]
- public TimeFormat TimeFormat { get; set; }
- //[XmlElement(ElementName = "Zone")]
- public Zone Zone { get; set; }
- }
-
- //[XmlRoot(ElementName = "ContactInfo")]
- public class ContactInfo
- {
- //[XmlElement(ElementName = "Type")]
- public Type Type { get; set; }
- }
-
- //[XmlRoot(ElementName = "KeyTones")]
- public class KeyTones
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "Language")]
- public class Language
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "OSD")]
- public class OSD
- {
- //[XmlElement(ElementName = "Output")]
- public Output Output { get; set; }
- }
-
- //[XmlRoot(ElementName = "UserInterface")]
- public class UserInterface
- {
- //[XmlElement(ElementName = "ContactInfo")]
- public ContactInfo ContactInfo { get; set; }
- //[XmlElement(ElementName = "KeyTones")]
- public KeyTones KeyTones { get; set; }
- //[XmlElement(ElementName = "Language")]
- public Language Language { get; set; }
- //[XmlElement(ElementName = "OSD")]
- public OSD OSD { get; set; }
- }
-
- //[XmlRoot(ElementName = "Filter")]
- public class Filter
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- }
-
- //[XmlRoot(ElementName = "Group")]
- public class Group
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- }
-
- //[XmlRoot(ElementName = "Admin")]
- public class Admin
- {
- //[XmlElement(ElementName = "Filter")]
- public Filter Filter { get; set; }
- //[XmlElement(ElementName = "Group")]
- public Group Group { get; set; }
- }
-
- //[XmlRoot(ElementName = "Attribute")]
- public class Attribute
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- }
-
- //[XmlRoot(ElementName = "BaseDN")]
- public class BaseDN
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- }
-
- //[XmlRoot(ElementName = "Port")]
- public class Port
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "LDAP")]
- public class LDAP
- {
- //[XmlElement(ElementName = "Admin")]
- public Admin Admin { get; set; }
- //[XmlElement(ElementName = "Attribute")]
- public Attribute Attribute { get; set; }
- //[XmlElement(ElementName = "BaseDN")]
- public BaseDN BaseDN { get; set; }
- //[XmlElement(ElementName = "Encryption")]
- public Encryption Encryption { get; set; }
- //[XmlElement(ElementName = "MinimumTLSVersion")]
- public MinimumTLSVersion MinimumTLSVersion { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- //[XmlElement(ElementName = "Server")]
- public Server Server { get; set; }
- //[XmlElement(ElementName = "VerifyServerCertificate")]
- public VerifyServerCertificate VerifyServerCertificate { get; set; }
- }
-
- //[XmlRoot(ElementName = "UserManagement")]
- public class UserManagement
- {
- //[XmlElement(ElementName = "LDAP")]
- public LDAP LDAP { get; set; }
- }
-
- //[XmlRoot(ElementName = "DefaultMainSource")]
- public class DefaultMainSource
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "CameraId")]
- public class CameraId
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "CameraControl")]
- public class CameraControl
- {
- //[XmlElement(ElementName = "CameraId")]
- public CameraId CameraId { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "InputSourceType")]
- public class InputSourceType
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Visibility")]
- public class Visibility
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Connector")]
- public class Connector
- {
- //[XmlElement(ElementName = "CameraControl")]
- public CameraControl CameraControl { get; set; }
- //[XmlElement(ElementName = "InputSourceType")]
- public InputSourceType InputSourceType { get; set; }
- //[XmlElement(ElementName = "Name")]
- public Name Name { get; set; }
- //[XmlElement(ElementName = "Visibility")]
- public Visibility Visibility { get; set; }
- //[XmlAttribute(AttributeName = "item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName = "maxOccurrence")]
- public string MaxOccurrence { get; set; }
- //[XmlElement(ElementName = "PreferredResolution")]
- public PreferredResolution PreferredResolution { get; set; }
- //[XmlElement(ElementName = "PresentationSelection")]
- public PresentationSelection PresentationSelection { get; set; }
- //[XmlElement(ElementName = "Quality")]
- public Quality Quality { get; set; }
- //[XmlElement(ElementName = "CEC")]
- public CEC CEC { get; set; }
- //[XmlElement(ElementName = "MonitorRole")]
- public MonitorRole MonitorRole { get; set; }
- //[XmlElement(ElementName = "Resolution")]
- public Resolution Resolution { get; set; }
- }
-
- //[XmlRoot(ElementName = "PreferredResolution")]
- public class PreferredResolution
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "PresentationSelection")]
- public class PresentationSelection
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Quality")]
- public class Quality
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Monitors")]
- public class Monitors
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "CEC")]
- public class CEC
- {
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "MonitorRole")]
- public class MonitorRole
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Resolution")]
- public class Resolution
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "DefaultSource")]
- public class DefaultSource
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Presentation")]
- public class Presentation
- {
- //[XmlElement(ElementName = "DefaultSource")]
- public DefaultSource DefaultSource { get; set; }
- }
-
- //[XmlRoot(ElementName = "FullscreenMode")]
- public class FullscreenMode
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "OnMonitorRole")]
- public class OnMonitorRole
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "PIPPosition")]
- public class PIPPosition
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "Default")]
- public class Default
- {
- //[XmlElement(ElementName = "FullscreenMode")]
- public FullscreenMode FullscreenMode { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- //[XmlElement(ElementName = "OnMonitorRole")]
- public OnMonitorRole OnMonitorRole { get; set; }
- //[XmlElement(ElementName = "PIPPosition")]
- public PIPPosition PIPPosition { get; set; }
- }
-
- //[XmlRoot(ElementName = "Duration")]
- public class Duration
- {
- //[XmlAttribute(AttributeName = "valueSpaceRef")]
- public string ValueSpaceRef { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName = "OnCall")]
- public class OnCall
- {
- //[XmlElement(ElementName = "Duration")]
- public Duration Duration { get; set; }
- //[XmlElement(ElementName = "Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName = "Selfview")]
- public class Selfview
- {
- //[XmlElement(ElementName = "Default")]
- public Default Default { get; set; }
- //[XmlElement(ElementName = "OnCall")]
- public OnCall OnCall { get; set; }
- }
-
- //[XmlRoot(ElementName = "Configuration")]
- public class Configuration
- {
- //[XmlElement(ElementName = "Audio")]
- public Audio Audio { get; set; }
- //[XmlElement(ElementName = "Cameras")]
- public Cameras Cameras { get; set; }
- //[XmlElement(ElementName = "Conference")]
- public Conference Conference { get; set; }
- //[XmlElement(ElementName = "H323")]
- public H323 H323 { get; set; }
- //[XmlElement(ElementName = "Network")]
- public Network Network { get; set; }
- //[XmlElement(ElementName = "NetworkServices")]
- public NetworkServices NetworkServices { get; set; }
- //[XmlElement(ElementName = "Peripherals")]
- public Peripherals Peripherals { get; set; }
- //[XmlElement(ElementName = "Phonebook")]
- public Phonebook Phonebook { get; set; }
- //[XmlElement(ElementName = "Provisioning")]
- public Provisioning Provisioning { get; set; }
- //[XmlElement(ElementName = "Proximity")]
- public Proximity Proximity { get; set; }
- //[XmlElement(ElementName = "RoomAnalytics")]
- public RoomAnalytics RoomAnalytics { get; set; }
- //[XmlElement(ElementName = "SIP")]
- public SIP SIP { get; set; }
- //[XmlElement(ElementName = "SerialPort")]
- public SerialPort SerialPort { get; set; }
- //[XmlElement(ElementName = "Standby")]
- public Standby Standby { get; set; }
- //[XmlElement(ElementName = "SystemUnit")]
- public SystemUnit SystemUnit { get; set; }
- //[XmlElement(ElementName = "Time")]
- public Time Time { get; set; }
- //[XmlElement(ElementName = "UserInterface")]
- public UserInterface UserInterface { get; set; }
- //[XmlElement(ElementName = "UserManagement")]
- public UserManagement UserManagement { get; set; }
- //[XmlElement(ElementName = "Video")]
- public Video Video { get; set; }
- //[XmlAttribute(AttributeName = "product")]
- public string Product { get; set; }
- //[XmlAttribute(AttributeName = "version")]
- public string Version { get; set; }
- //[XmlAttribute(AttributeName = "apiVersion")]
- public string ApiVersion { get; set; }
- }
- }
-}
\ No newline at end of file
diff --git a/Essentials Devices Common/Essentials Devices Common/VC/Cisco/Status.cs b/Essentials Devices Common/Essentials Devices Common/VC/Cisco/Status.cs
deleted file mode 100644
index ecf54edd..00000000
--- a/Essentials Devices Common/Essentials Devices Common/VC/Cisco/Status.cs
+++ /dev/null
@@ -1,872 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Crestron.SimplSharp.CrestronXml.Serialization;
-
-namespace PepperDash.Essentials.Devices.VideoCodec.Cisco
-{
- public class CiscoCodecStatus
- {
-
- //[XmlRoot(ElementName="Microphone")]
- public class Microphone {
- //[XmlElement(ElementName="ConnectionStatus")]
- public string ConnectionStatus { get; set; }
- //[XmlAttribute(AttributeName="item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName="maxOccurrence")]
- public string MaxOccurrence { get; set; }
- }
-
- //[XmlRoot(ElementName="Connectors")]
- public class Connectors {
- //[XmlElement(ElementName="Microphone")]
- public List Microphone { get; set; }
- //[XmlElement(ElementName="Line")]
- public Line Line { get; set; }
- }
-
- //[XmlRoot(ElementName="Input")]
- public class Input {
- //[XmlElement(ElementName="Connectors")]
- public Connectors Connectors { get; set; }
- //[XmlElement(ElementName="Connector")]
- public List Connector { get; set; }
- //[XmlElement(ElementName="MainVideoSource")]
- public string MainVideoSource { get; set; }
- //[XmlElement(ElementName="Source")]
- public List Source { get; set; }
- }
-
- //[XmlRoot(ElementName="Microphones")]
- public class Microphones {
- //[XmlElement(ElementName="Mute")]
- public string Mute { get; set; }
- }
-
- //[XmlRoot(ElementName="Line")]
- public class Line {
- //[XmlElement(ElementName="ConnectionStatus")]
- public string ConnectionStatus { get; set; }
- //[XmlElement(ElementName="DelayMs")]
- public string DelayMs { get; set; }
- //[XmlAttribute(AttributeName="item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName="maxOccurrence")]
- public string MaxOccurrence { get; set; }
- }
-
- //[XmlRoot(ElementName="Output")]
- public class Output {
- //[XmlElement(ElementName="Connectors")]
- public Connectors Connectors { get; set; }
- //[XmlElement(ElementName="Connector")]
- public List Connector { get; set; }
- }
-
- //[XmlRoot(ElementName="Audio")]
- public class Audio {
- //[XmlElement(ElementName="Input")]
- public Input Input { get; set; }
- //[XmlElement(ElementName="Microphones")]
- public Microphones Microphones { get; set; }
- //[XmlElement(ElementName="Output")]
- public Output Output { get; set; }
- //[XmlElement(ElementName="Volume")]
- public string Volume { get; set; }
- //[XmlElement(ElementName="VolumeMute")]
- public string VolumeMute { get; set; }
- }
-
- //[XmlRoot(ElementName="Current")]
- public class Current {
- //[XmlElement(ElementName="Id")]
- public string Id { get; set; }
- //[XmlElement(ElementName="CompletedAt")]
- public string CompletedAt { get; set; }
- //[XmlElement(ElementName="URL")]
- public string URL { get; set; }
- //[XmlElement(ElementName="VersionId")]
- public string VersionId { get; set; }
- }
-
- //[XmlRoot(ElementName="Bookings")]
- public class Bookings {
- //[XmlElement(ElementName="Current")]
- public Current Current { get; set; }
- }
-
- //[XmlRoot(ElementName="Capabilities")]
- public class Capabilities {
- //[XmlElement(ElementName="Options")]
- public string Options { get; set; }
- //[XmlElement(ElementName="Conference")]
- public Conference Conference { get; set; }
- }
-
- //[XmlRoot(ElementName="Position")]
- public class Position {
- //[XmlElement(ElementName="Pan")]
- public string Pan { get; set; }
- //[XmlElement(ElementName="Tilt")]
- public string Tilt { get; set; }
- //[XmlElement(ElementName="Zoom")]
- public string Zoom { get; set; }
- }
-
- //[XmlRoot(ElementName="Camera")]
- public class Camera {
- //[XmlElement(ElementName="Capabilities")]
- public Capabilities Capabilities { get; set; }
- //[XmlElement(ElementName="Connected")]
- public string Connected { get; set; }
- //[XmlElement(ElementName="Framerate")]
- public string Framerate { get; set; }
- //[XmlElement(ElementName="Manufacturer")]
- public string Manufacturer { get; set; }
- //[XmlElement(ElementName="Model")]
- public string Model { get; set; }
- //[XmlElement(ElementName="Position")]
- public Position Position { get; set; }
- //[XmlAttribute(AttributeName="item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName="maxOccurrence")]
- public string MaxOccurrence { get; set; }
- }
-
- //[XmlRoot(ElementName="SpeakerTrack")]
- public class SpeakerTrack {
- //[XmlElement(ElementName="Availability")]
- public string Availability { get; set; }
- //[XmlElement(ElementName="Status")]
- public string Status { get; set; }
- }
-
- //[XmlRoot(ElementName="Cameras")]
- public class Cameras {
- //[XmlElement(ElementName="Camera")]
- public Camera Camera { get; set; }
- //[XmlElement(ElementName="SpeakerTrack")]
- public SpeakerTrack SpeakerTrack { get; set; }
- }
-
- //[XmlRoot(ElementName="Conference")]
- public class Conference {
- //[XmlElement(ElementName="MaxActiveCalls")]
- public string MaxActiveCalls { get; set; }
- //[XmlElement(ElementName="MaxAudioCalls")]
- public string MaxAudioCalls { get; set; }
- //[XmlElement(ElementName="MaxCalls")]
- public string MaxCalls { get; set; }
- //[XmlElement(ElementName="MaxVideoCalls")]
- public string MaxVideoCalls { get; set; }
- //[XmlElement(ElementName="ActiveSpeaker")]
- public ActiveSpeaker ActiveSpeaker { get; set; }
- //[XmlElement(ElementName="DoNotDisturb")]
- public string DoNotDisturb { get; set; }
- //[XmlElement(ElementName="Multipoint")]
- public Multipoint Multipoint { get; set; }
- //[XmlElement(ElementName="Presentation")]
- public Presentation Presentation { get; set; }
- //[XmlElement(ElementName="SpeakerLock")]
- public SpeakerLock SpeakerLock { get; set; }
- }
-
- //[XmlRoot(ElementName="ActiveSpeaker")]
- public class ActiveSpeaker {
- //[XmlElement(ElementName="CallId")]
- public string CallId { get; set; }
- //[XmlElement(ElementName="PIPPosition")]
- public string PIPPosition { get; set; }
- }
-
- //[XmlRoot(ElementName="Multipoint")]
- public class Multipoint {
- //[XmlElement(ElementName="Mode")]
- public string Mode { get; set; }
- }
-
- //[XmlRoot(ElementName="Whiteboard")]
- public class Whiteboard {
- //[XmlElement(ElementName="Mode")]
- public string Mode { get; set; }
- //[XmlElement(ElementName="ReleaseFloorAvailability")]
- public string ReleaseFloorAvailability { get; set; }
- //[XmlElement(ElementName="RequestFloorAvailability")]
- public string RequestFloorAvailability { get; set; }
- }
-
- //[XmlRoot(ElementName="Presentation")]
- public class Presentation {
- //[XmlElement(ElementName="CallId")]
- public string CallId { get; set; }
- //[XmlElement(ElementName="Mode")]
- public string Mode { get; set; }
- //[XmlElement(ElementName="Whiteboard")]
- public Whiteboard Whiteboard { get; set; }
- //[XmlElement(ElementName="PIPPosition")]
- public string PIPPosition { get; set; }
- }
-
- //[XmlRoot(ElementName="SpeakerLock")]
- public class SpeakerLock {
- //[XmlElement(ElementName="CallId")]
- public string CallId { get; set; }
- //[XmlElement(ElementName="Mode")]
- public string Mode { get; set; }
- }
-
- //[XmlRoot(ElementName="Message")]
- public class Message {
- //[XmlElement(ElementName="Description")]
- public string Description { get; set; }
- //[XmlElement(ElementName="Level")]
- public string Level { get; set; }
- //[XmlElement(ElementName="References")]
- public string References { get; set; }
- //[XmlElement(ElementName="Type")]
- public string Type { get; set; }
- //[XmlAttribute(AttributeName="item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName="maxOccurrence")]
- public string MaxOccurrence { get; set; }
- }
-
- //[XmlRoot(ElementName="Diagnostics")]
- public class Diagnostics {
- //[XmlElement(ElementName="Message")]
- public List Message { get; set; }
- }
-
- //[XmlRoot(ElementName="Experimental")]
- public class Experimental {
- //[XmlElement(ElementName="Conference")]
- public string Conference { get; set; }
- }
-
- //[XmlRoot(ElementName="Gatekeeper")]
- public class Gatekeeper {
- //[XmlElement(ElementName="Address")]
- public string Address { get; set; }
- //[XmlElement(ElementName="Port")]
- public string Port { get; set; }
- //[XmlElement(ElementName="Reason")]
- public string Reason { get; set; }
- //[XmlElement(ElementName="Status")]
- public string Status { get; set; }
- }
-
- //[XmlRoot(ElementName="Mode")]
- public class Mode {
- //[XmlElement(ElementName="Reason")]
- public string Reason { get; set; }
- //[XmlElement(ElementName="Status")]
- public string Status { get; set; }
- }
-
- //[XmlRoot(ElementName="H323")]
- public class H323 {
- //[XmlElement(ElementName="Gatekeeper")]
- public Gatekeeper Gatekeeper { get; set; }
- //[XmlElement(ElementName="Mode")]
- public Mode Mode { get; set; }
- }
-
- //[XmlRoot(ElementName="Expression")]
- public class Expression {
- //[XmlAttribute(AttributeName="item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName="maxOccurrence")]
- public string MaxOccurrence { get; set; }
- //[XmlText]
- public string Text { get; set; }
- }
-
- //[XmlRoot(ElementName="HttpFeedback")]
- public class HttpFeedback {
- //[XmlElement(ElementName="Expression")]
- public List Expression { get; set; }
- //[XmlElement(ElementName="Format")]
- public string Format { get; set; }
- //[XmlElement(ElementName="URL")]
- public string URL { get; set; }
- //[XmlAttribute(AttributeName="item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName="maxOccurrence")]
- public string MaxOccurrence { get; set; }
- }
-
- //[XmlRoot(ElementName="CDP")]
- public class CDP {
- //[XmlElement(ElementName="Address")]
- public string Address { get; set; }
- //[XmlElement(ElementName="Capabilities")]
- public string Capabilities { get; set; }
- //[XmlElement(ElementName="DeviceId")]
- public string DeviceId { get; set; }
- //[XmlElement(ElementName="Duplex")]
- public string Duplex { get; set; }
- //[XmlElement(ElementName="Platform")]
- public string Platform { get; set; }
- //[XmlElement(ElementName="PortID")]
- public string PortID { get; set; }
- //[XmlElement(ElementName="PrimaryMgmtAddress")]
- public string PrimaryMgmtAddress { get; set; }
- //[XmlElement(ElementName="SysName")]
- public string SysName { get; set; }
- //[XmlElement(ElementName="SysObjectID")]
- public string SysObjectID { get; set; }
- //[XmlElement(ElementName="VTPMgmtDomain")]
- public string VTPMgmtDomain { get; set; }
- //[XmlElement(ElementName="Version")]
- public string Version { get; set; }
- //[XmlElement(ElementName="VoIPApplianceVlanID")]
- public string VoIPApplianceVlanID { get; set; }
- }
-
- //[XmlRoot(ElementName="Domain")]
- public class Domain {
- //[XmlElement(ElementName="Name")]
- public string Name { get; set; }
- }
-
- //[XmlRoot(ElementName="Server")]
- public class Server {
- //[XmlElement(ElementName="Address")]
- public string Address { get; set; }
- //[XmlAttribute(AttributeName="item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName="maxOccurrence")]
- public string MaxOccurrence { get; set; }
- }
-
- //[XmlRoot(ElementName="DNS")]
- public class DNS {
- //[XmlElement(ElementName="Domain")]
- public Domain Domain { get; set; }
- //[XmlElement(ElementName="Server")]
- public List Server { get; set; }
- }
-
- //[XmlRoot(ElementName="Ethernet")]
- public class Ethernet {
- //[XmlElement(ElementName="MacAddress")]
- public string MacAddress { get; set; }
- //[XmlElement(ElementName="Speed")]
- public string Speed { get; set; }
- }
-
- //[XmlRoot(ElementName="IPv4")]
- public class IPv4 {
- //[XmlElement(ElementName="Address")]
- public string Address { get; set; }
- //[XmlElement(ElementName="Gateway")]
- public string Gateway { get; set; }
- //[XmlElement(ElementName="SubnetMask")]
- public string SubnetMask { get; set; }
- }
-
- //[XmlRoot(ElementName="IPv6")]
- public class IPv6 {
- //[XmlElement(ElementName="Address")]
- public string Address { get; set; }
- //[XmlElement(ElementName="Gateway")]
- public string Gateway { get; set; }
- }
-
- //[XmlRoot(ElementName="Voice")]
- public class Voice {
- //[XmlElement(ElementName="VlanId")]
- public string VlanId { get; set; }
- }
-
- //[XmlRoot(ElementName="VLAN")]
- public class VLAN {
- //[XmlElement(ElementName="Voice")]
- public Voice Voice { get; set; }
- }
-
- //[XmlRoot(ElementName="Network")]
- public class Network {
- //[XmlElement(ElementName="CDP")]
- public CDP CDP { get; set; }
- //[XmlElement(ElementName="DNS")]
- public DNS DNS { get; set; }
- //[XmlElement(ElementName="Ethernet")]
- public Ethernet Ethernet { get; set; }
- //[XmlElement(ElementName="IPv4")]
- public IPv4 IPv4 { get; set; }
- //[XmlElement(ElementName="IPv6")]
- public IPv6 IPv6 { get; set; }
- //[XmlElement(ElementName="VLAN")]
- public VLAN VLAN { get; set; }
- //[XmlAttribute(AttributeName="item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName="maxOccurrence")]
- public string MaxOccurrence { get; set; }
- }
-
- //[XmlRoot(ElementName="NTP")]
- public class NTP {
- //[XmlElement(ElementName="CurrentAddress")]
- public string CurrentAddress { get; set; }
- //[XmlElement(ElementName="Server")]
- public List Server { get; set; }
- //[XmlElement(ElementName="Status")]
- public string Status { get; set; }
- }
-
- //[XmlRoot(ElementName="NetworkServices")]
- public class NetworkServices {
- //[XmlElement(ElementName="NTP")]
- public NTP NTP { get; set; }
- }
-
- //[XmlRoot(ElementName="ConnectedDevice")]
- public class ConnectedDevice {
- //[XmlElement(ElementName="HardwareInfo")]
- public string HardwareInfo { get; set; }
- //[XmlElement(ElementName="ID")]
- public string ID { get; set; }
- //[XmlElement(ElementName="Name")]
- public string Name { get; set; }
- //[XmlElement(ElementName="SoftwareInfo")]
- public string SoftwareInfo { get; set; }
- //[XmlElement(ElementName="Status")]
- public string Status { get; set; }
- //[XmlElement(ElementName="Type")]
- public string Type { get; set; }
- //[XmlElement(ElementName="UpgradeStatus")]
- public string UpgradeStatus { get; set; }
- //[XmlAttribute(AttributeName="item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName="maxOccurrence")]
- public string MaxOccurrence { get; set; }
- //[XmlElement(ElementName="PreferredFormat")]
- public string PreferredFormat { get; set; }
- }
-
- //[XmlRoot(ElementName="Peripherals")]
- public class Peripherals {
- //[XmlElement(ElementName="ConnectedDevice")]
- public ConnectedDevice ConnectedDevice { get; set; }
- }
-
- //[XmlRoot(ElementName="ExtensionMobility")]
- public class ExtensionMobility {
- //[XmlElement(ElementName="Enabled")]
- public string Enabled { get; set; }
- //[XmlElement(ElementName="LastLoggedInUserId")]
- public string LastLoggedInUserId { get; set; }
- //[XmlElement(ElementName="LoggedIn")]
- public string LoggedIn { get; set; }
- }
-
- //[XmlRoot(ElementName="CUCM")]
- public class CUCM {
- //[XmlElement(ElementName="ExtensionMobility")]
- public ExtensionMobility ExtensionMobility { get; set; }
- }
-
- //[XmlRoot(ElementName="UpgradeStatus")]
- public class UpgradeStatus {
- //[XmlElement(ElementName="LastChange")]
- public string LastChange { get; set; }
- //[XmlElement(ElementName="Message")]
- public string Message { get; set; }
- //[XmlElement(ElementName="Phase")]
- public string Phase { get; set; }
- //[XmlElement(ElementName="SessionId")]
- public string SessionId { get; set; }
- //[XmlElement(ElementName="Status")]
- public string Status { get; set; }
- //[XmlElement(ElementName="URL")]
- public string URL { get; set; }
- //[XmlElement(ElementName="VersionId")]
- public string VersionId { get; set; }
- }
-
- //[XmlRoot(ElementName="Software")]
- public class Software {
- //[XmlElement(ElementName="Current")]
- public Current Current { get; set; }
- //[XmlElement(ElementName="UpgradeStatus")]
- public UpgradeStatus UpgradeStatus { get; set; }
- //[XmlElement(ElementName="DisplayName")]
- public string DisplayName { get; set; }
- //[XmlElement(ElementName="Name")]
- public string Name { get; set; }
- //[XmlElement(ElementName="OptionKeys")]
- public OptionKeys OptionKeys { get; set; }
- //[XmlElement(ElementName="ReleaseDate")]
- public string ReleaseDate { get; set; }
- //[XmlElement(ElementName="Version")]
- public string Version { get; set; }
- }
-
- //[XmlRoot(ElementName="Provisioning")]
- public class Provisioning {
- //[XmlElement(ElementName="CUCM")]
- public CUCM CUCM { get; set; }
- //[XmlElement(ElementName="Software")]
- public Software Software { get; set; }
- //[XmlElement(ElementName="Status")]
- public string Status { get; set; }
- }
-
- //[XmlRoot(ElementName="Services")]
- public class Services {
- //[XmlElement(ElementName="Availability")]
- public string Availability { get; set; }
- }
-
- //[XmlRoot(ElementName="Proximity")]
- public class Proximity {
- //[XmlElement(ElementName="Services")]
- public Services Services { get; set; }
- }
-
- //[XmlRoot(ElementName="PeopleCount")]
- public class PeopleCount {
- //[XmlElement(ElementName="Current")]
- public string Current { get; set; }
- }
-
- //[XmlRoot(ElementName="RoomAnalytics")]
- public class RoomAnalytics {
- //[XmlElement(ElementName="PeopleCount")]
- public PeopleCount PeopleCount { get; set; }
- //[XmlElement(ElementName="PeoplePresence")]
- public string PeoplePresence { get; set; }
- }
-
- //[XmlRoot(ElementName="CallForward")]
- public class CallForward {
- //[XmlElement(ElementName="DisplayName")]
- public string DisplayName { get; set; }
- //[XmlElement(ElementName="Mode")]
- public string Mode { get; set; }
- //[XmlElement(ElementName="URI")]
- public string URI { get; set; }
- }
-
- //[XmlRoot(ElementName="Mailbox")]
- public class Mailbox {
- //[XmlElement(ElementName="MessagesWaiting")]
- public string MessagesWaiting { get; set; }
- //[XmlElement(ElementName="URI")]
- public string URI { get; set; }
- }
-
- //[XmlRoot(ElementName="Proxy")]
- public class Proxy {
- //[XmlElement(ElementName="Address")]
- public string Address { get; set; }
- //[XmlElement(ElementName="Status")]
- public string Status { get; set; }
- //[XmlAttribute(AttributeName="item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName="maxOccurrence")]
- public string MaxOccurrence { get; set; }
- }
-
- //[XmlRoot(ElementName="Registration")]
- public class Registration {
- //[XmlElement(ElementName="Reason")]
- public string Reason { get; set; }
- //[XmlElement(ElementName="Status")]
- public string Status { get; set; }
- //[XmlElement(ElementName="URI")]
- public string URI { get; set; }
- //[XmlAttribute(AttributeName="item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName="maxOccurrence")]
- public string MaxOccurrence { get; set; }
- }
-
- //[XmlRoot(ElementName="SIP")]
- public class SIP {
- //[XmlElement(ElementName="Authentication")]
- public string Authentication { get; set; }
- //[XmlElement(ElementName="CallForward")]
- public CallForward CallForward { get; set; }
- //[XmlElement(ElementName="Mailbox")]
- public Mailbox Mailbox { get; set; }
- //[XmlElement(ElementName="Proxy")]
- public Proxy Proxy { get; set; }
- //[XmlElement(ElementName="Registration")]
- public Registration Registration { get; set; }
- //[XmlElement(ElementName="Secure")]
- public string Secure { get; set; }
- //[XmlElement(ElementName="Verified")]
- public string Verified { get; set; }
- }
-
- //[XmlRoot(ElementName="FIPS")]
- public class FIPS {
- //[XmlElement(ElementName="Mode")]
- public string Mode { get; set; }
- }
-
- //[XmlRoot(ElementName="Persistency")]
- public class Persistency {
- //[XmlElement(ElementName="CallHistory")]
- public string CallHistory { get; set; }
- //[XmlElement(ElementName="Configurations")]
- public string Configurations { get; set; }
- //[XmlElement(ElementName="DHCP")]
- public string DHCP { get; set; }
- //[XmlElement(ElementName="InternalLogging")]
- public string InternalLogging { get; set; }
- //[XmlElement(ElementName="LocalPhonebook")]
- public string LocalPhonebook { get; set; }
- }
-
- //[XmlRoot(ElementName="Security")]
- public class Security {
- //[XmlElement(ElementName="FIPS")]
- public FIPS FIPS { get; set; }
- //[XmlElement(ElementName="Persistency")]
- public Persistency Persistency { get; set; }
- }
-
- //[XmlRoot(ElementName="Standby")]
- public class Standby {
- //[XmlElement(ElementName="State")]
- public string State { get; set; }
- }
-
- //[XmlRoot(ElementName="Module")]
- public class Module {
- //[XmlElement(ElementName="CompatibilityLevel")]
- public string CompatibilityLevel { get; set; }
- //[XmlElement(ElementName="SerialNumber")]
- public string SerialNumber { get; set; }
- }
-
- //[XmlRoot(ElementName="Hardware")]
- public class Hardware {
- //[XmlElement(ElementName="Module")]
- public Module Module { get; set; }
- }
-
- //[XmlRoot(ElementName="OptionKeys")]
- public class OptionKeys {
- //[XmlElement(ElementName="Encryption")]
- public string Encryption { get; set; }
- //[XmlElement(ElementName="MultiSite")]
- public string MultiSite { get; set; }
- //[XmlElement(ElementName="RemoteMonitoring")]
- public string RemoteMonitoring { get; set; }
- }
-
- //[XmlRoot(ElementName="State")]
- public class State {
- //[XmlElement(ElementName="NumberOfActiveCalls")]
- public string NumberOfActiveCalls { get; set; }
- //[XmlElement(ElementName="NumberOfInProgressCalls")]
- public string NumberOfInProgressCalls { get; set; }
- //[XmlElement(ElementName="NumberOfSuspendedCalls")]
- public string NumberOfSuspendedCalls { get; set; }
- }
-
- //[XmlRoot(ElementName="SystemUnit")]
- public class SystemUnit {
- //[XmlElement(ElementName="Hardware")]
- public Hardware Hardware { get; set; }
- //[XmlElement(ElementName="ProductId")]
- public string ProductId { get; set; }
- //[XmlElement(ElementName="ProductPlatform")]
- public string ProductPlatform { get; set; }
- //[XmlElement(ElementName="ProductType")]
- public string ProductType { get; set; }
- //[XmlElement(ElementName="Software")]
- public Software Software { get; set; }
- //[XmlElement(ElementName="State")]
- public State State { get; set; }
- //[XmlElement(ElementName="Uptime")]
- public string Uptime { get; set; }
- }
-
- //[XmlRoot(ElementName="Time")]
- public class Time {
- //[XmlElement(ElementName="SystemTime")]
- public string SystemTime { get; set; }
- }
-
- //[XmlRoot(ElementName="ContactMethod")]
- public class ContactMethod {
- //[XmlElement(ElementName="Number")]
- public string Number { get; set; }
- //[XmlAttribute(AttributeName="item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName="maxOccurrence")]
- public string MaxOccurrence { get; set; }
- }
-
- //[XmlRoot(ElementName="ContactInfo")]
- public class ContactInfo {
- //[XmlElement(ElementName="ContactMethod")]
- public List ContactMethod { get; set; }
- //[XmlElement(ElementName="Name")]
- public string Name { get; set; }
- }
-
- //[XmlRoot(ElementName="UserInterface")]
- public class UserInterface {
- //[XmlElement(ElementName="ContactInfo")]
- public ContactInfo ContactInfo { get; set; }
- }
-
- //[XmlRoot(ElementName="Connector")]
- public class Connector {
- //[XmlElement(ElementName="Connected")]
- public string Connected { get; set; }
- //[XmlElement(ElementName="SignalState")]
- public string SignalState { get; set; }
- //[XmlElement(ElementName="SourceId")]
- public string SourceId { get; set; }
- //[XmlElement(ElementName="Type")]
- public string Type { get; set; }
- //[XmlAttribute(AttributeName="item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName="maxOccurrence")]
- public string MaxOccurrence { get; set; }
- //[XmlElement(ElementName="ConnectedDevice")]
- public ConnectedDevice ConnectedDevice { get; set; }
- //[XmlElement(ElementName="MonitorRole")]
- public string MonitorRole { get; set; }
- //[XmlElement(ElementName="Resolution")]
- public Resolution Resolution { get; set; }
- }
-
- //[XmlRoot(ElementName="Resolution")]
- public class Resolution {
- //[XmlElement(ElementName="Height")]
- public string Height { get; set; }
- //[XmlElement(ElementName="RefreshRate")]
- public string RefreshRate { get; set; }
- //[XmlElement(ElementName="Width")]
- public string Width { get; set; }
- }
-
- //[XmlRoot(ElementName="Source")]
- public class Source {
- //[XmlElement(ElementName="ConnectorId")]
- public string ConnectorId { get; set; }
- //[XmlElement(ElementName="FormatStatus")]
- public string FormatStatus { get; set; }
- //[XmlElement(ElementName="FormatType")]
- public string FormatType { get; set; }
- //[XmlElement(ElementName="MediaChannelId")]
- public string MediaChannelId { get; set; }
- //[XmlElement(ElementName="Resolution")]
- public Resolution Resolution { get; set; }
- //[XmlAttribute(AttributeName="item")]
- public string Item { get; set; }
- //[XmlAttribute(AttributeName="maxOccurrence")]
- public string MaxOccurrence { get; set; }
- }
-
- //[XmlRoot(ElementName="LayoutFamily")]
- public class LayoutFamily {
- //[XmlElement(ElementName="Local")]
- public string Local { get; set; }
- }
-
- //[XmlRoot(ElementName="Layout")]
- public class Layout {
- //[XmlElement(ElementName="LayoutFamily")]
- public LayoutFamily LayoutFamily { get; set; }
- }
-
- //[XmlRoot(ElementName="Selfview")]
- public class Selfview {
- //[XmlElement(ElementName="FullscreenMode")]
- public string FullscreenMode { get; set; }
- //[XmlElement(ElementName="Mode")]
- public string Mode { get; set; }
- //[XmlElement(ElementName="OnMonitorRole")]
- public string OnMonitorRole { get; set; }
- //[XmlElement(ElementName="PIPPosition")]
- public string PIPPosition { get; set; }
- }
-
- //[XmlRoot(ElementName="Video")]
- public class Video {
- //[XmlElement(ElementName="ActiveSpeaker")]
- public ActiveSpeaker ActiveSpeaker { get; set; }
- //[XmlElement(ElementName="Input")]
- public Input Input { get; set; }
- //[XmlElement(ElementName="Layout")]
- public Layout Layout { get; set; }
- //[XmlElement(ElementName="Monitors")]
- public string Monitors { get; set; }
- //[XmlElement(ElementName="Output")]
- public Output Output { get; set; }
- //[XmlElement(ElementName="Presentation")]
- public Presentation Presentation { get; set; }
- //[XmlElement(ElementName="Selfview")]
- public Selfview Selfview { get; set; }
- }
-
- //[XmlRoot(ElementName="Status")]
- public class Status {
- //[XmlElement(ElementName="Audio")]
- public Audio Audio { get; set; }
- //[XmlElement(ElementName="Bookings")]
- public Bookings Bookings { get; set; }
- //[XmlElement(ElementName="Cameras")]
- public Cameras Cameras { get; set; }
- //[XmlElement(ElementName="Capabilities")]
- public Capabilities Capabilities { get; set; }
- //[XmlElement(ElementName="Conference")]
- public Conference Conference { get; set; }
- //[XmlElement(ElementName="Diagnostics")]
- public Diagnostics Diagnostics { get; set; }
- //[XmlElement(ElementName="Experimental")]
- public Experimental Experimental { get; set; }
- //[XmlElement(ElementName="H323")]
- public H323 H323 { get; set; }
- //[XmlElement(ElementName="HttpFeedback")]
- public HttpFeedback HttpFeedback { get; set; }
- //[XmlElement(ElementName="MediaChannels")]
- public string MediaChannels { get; set; }
- //[XmlElement(ElementName="Network")]
- public Network Network { get; set; }
- //[XmlElement(ElementName="NetworkServices")]
- public NetworkServices NetworkServices { get; set; }
- //[XmlElement(ElementName="Peripherals")]
- public Peripherals Peripherals { get; set; }
- //[XmlElement(ElementName="Provisioning")]
- public Provisioning Provisioning { get; set; }
- //[XmlElement(ElementName="Proximity")]
- public Proximity Proximity { get; set; }
- //[XmlElement(ElementName="RoomAnalytics")]
- public RoomAnalytics RoomAnalytics { get; set; }
- //[XmlElement(ElementName="SIP")]
- public SIP SIP { get; set; }
- //[XmlElement(ElementName="Security")]
- public Security Security { get; set; }
- //[XmlElement(ElementName="Standby")]
- public Standby Standby { get; set; }
- //[XmlElement(ElementName="SystemUnit")]
- public SystemUnit SystemUnit { get; set; }
- //[XmlElement(ElementName="Time")]
- public Time Time { get; set; }
- //[XmlElement(ElementName="UserInterface")]
- public UserInterface UserInterface { get; set; }
- //[XmlElement(ElementName="Video")]
- public Video Video { get; set; }
- //[XmlAttribute(AttributeName="product")]
- public string Product { get; set; }
- //[XmlAttribute(AttributeName="version")]
- public string Version { get; set; }
- //[XmlAttribute(AttributeName="apiVersion")]
- public string ApiVersion { get; set; }
- }
-
- }
-}
diff --git a/Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/CiscoCodec.cs b/Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/CiscoCodec.cs
new file mode 100644
index 00000000..048462a6
--- /dev/null
+++ b/Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/CiscoCodec.cs
@@ -0,0 +1,642 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+using Crestron.SimplSharp.Net.Https;
+using Crestron.SimplSharp.CrestronXml;
+using Crestron.SimplSharp.CrestronXml.Serialization;
+using Newtonsoft.Json;
+using Cisco_One_Button_To_Push;
+using Cisco_SX80_Corporate_Phone_Book;
+
+using PepperDash.Core;
+using PepperDash.Essentials.Core;
+
+namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
+{
+ enum eCommandType { SessionStart, SessionEnd, Command, GetStatus, GetConfiguration };
+
+ public class CiscoCodec : VideoCodecBase
+ {
+ public IBasicCommunication Communication { get; private set; }
+ public CommunicationGather PortGather { get; private set; }
+ public CommunicationGather JsonGather { get; private set; }
+
+ public StatusMonitorBase CommunicationMonitor { get; private set; }
+
+ private CiscoOneButtonToPush CodecObtp;
+
+ private Corporate_Phone_Book PhoneBook;
+
+ private CiscoCodecConfiguration.RootObject CodecConfiguration;
+
+ private CiscoCodecStatus.RootObject CodecStatus;
+
+ protected override Func VolumeLevelFeedbackFunc
+ {
+ get
+ {
+ return () => CodecStatus.Status.Audio.Volume.IntValue;
+ }
+ }
+
+ //private HttpsClient Client;
+
+ //private HttpApiServer Server;
+
+ //private int ServerPort;
+
+ //private string CodecUrl;
+
+ //private string HttpSessionId;
+
+ //private string FeedbackRegistrationExpression;
+
+ private string CliFeedbackRegistrationExpression;
+
+ private CodecSyncState SyncState;
+
+ private StringBuilder JsonMessage;
+
+ private bool JsonFeedbackMessageIsIncoming;
+
+ string Delimiter = "\r\n";
+
+ // Constructor for IBasicCommunication
+ public CiscoCodec(string key, string name, IBasicCommunication comm, int serverPort)
+ : base(key, name)
+ {
+ Communication = comm;
+
+ SyncState = new CodecSyncState(key + "--sync");
+
+ PortGather = new CommunicationGather(Communication, "\r\n");
+ PortGather.IncludeDelimiter = true;
+ PortGather.LineReceived += this.Port_LineReceived;
+
+ //JsonGather = new CommunicationGather(Communication, "}\r\n\r\n");
+ //JsonGather.IncludeDelimiter = true;
+ //JsonGather.LineReceived += new EventHandler(JsonGather_LineReceived);
+
+ Communication.TextReceived += new EventHandler(Communication_TextReceived);
+
+ //ServerPort = serverPort;
+
+ CodecObtp = new CiscoOneButtonToPush();
+
+ PhoneBook = new Corporate_Phone_Book();
+
+ CodecConfiguration = new CiscoCodecConfiguration.RootObject();
+
+ CodecStatus = new CiscoCodecStatus.RootObject();
+
+ CodecStatus.Status.Audio.Volume.ValueChangedAction = VolumeLevelFeedback.FireUpdate;
+
+ //Client = new HttpsClient();
+
+ //Server = new HttpApiServer();
+ }
+
+ ///
+ /// Starts the HTTP feedback server and syncronizes state of codec
+ ///
+ ///
+ public override bool CustomActivate()
+ {
+ CrestronConsole.AddNewConsoleCommand(SendText, "send" + Key, "", ConsoleAccessLevelEnum.AccessOperator);
+
+ Communication.Connect();
+ var socket = Communication as ISocketStatus;
+ if (socket != null)
+ {
+ socket.ConnectionChange += new EventHandler(socket_ConnectionChange);
+ }
+ Debug.Console(1, this, "Starting Cisco API Server");
+
+ //Server.Start(ServerPort);
+
+ //Server.ApiRequest += new EventHandler(Server_ApiRequest);
+
+ //CodecUrl = string.Format("http://{0}", (Communication as GenericSshClient).Hostname);
+
+ CommunicationMonitor = new GenericCommunicationMonitor(this, Communication, 2000, 120000, 300000, "xStatus SystemUnit Software Version\r");
+ DeviceManager.AddDevice(CommunicationMonitor);
+
+ //Client = new HttpsClient();
+
+ //Client.Verbose = true;
+ //Client.KeepAlive = true;
+
+
+ // Temp feedback registration
+
+ //FeedbackRegistrationExpression =
+ // "1" +
+ // string.Format("http://{0}:{1}/cisco/api", CrestronEthernetHelper.GetEthernetParameter(CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_IP_ADDRESS, 0), ServerPort) +
+ // "JSON" +
+ // "/Configuration" +
+ // "/Event/CallDisconnect" +
+ // "/Status/Call" +
+ // "" +
+ // "" +
+ // "";
+
+ string prefix = "xFeedback register ";
+ CliFeedbackRegistrationExpression =
+ prefix + "/Configuration" + Delimiter +
+ prefix + "/Status/Audio" + Delimiter +
+ prefix + "/Status/Call" + Delimiter +
+ prefix + "/Status/Cameras/SpeakerTrack" + Delimiter +
+ prefix + "/Status/RoomAnalytics" + Delimiter +
+ prefix + "/Status/Standby" + Delimiter +
+ prefix + "/Status/Video/Selfview" + Delimiter +
+ prefix + "/Bookings" + Delimiter +
+ prefix + "/Event/CallDisconnect" + Delimiter;
+
+ //StartHttpsSession();
+
+ //CodecObtp.Initialize();
+
+ //CodecObtp.GetMeetings();
+
+ //PhoneBook.DownloadPhoneBook(Corporate_Phone_Book.ePhoneBookLocation.Corporate);
+
+ return base.CustomActivate();
+ }
+
+ void socket_ConnectionChange(object sender, GenericSocketStatusChageEventArgs e)
+ {
+ // Reset sync status on disconnect
+ if (!e.Client.IsConnected)
+ SyncState.CodecDisconnected();
+ }
+
+ ///
+ /// Gathers responses from the codec (including the delimiter. Responses are checked to see if they contain JSON data and if so, the data is collected until a complete JSON
+ /// message is received before forwarding the message to be deserialized.
+ ///
+ ///
+ ///
+ void Port_LineReceived(object dev, GenericCommMethodReceiveTextArgs args)
+ {
+ if (Debug.Level == 1)
+ {
+ if(!JsonFeedbackMessageIsIncoming)
+ Debug.Console(1, this, "RX: '{0}'", args.Text);
+ }
+
+ if (args.Text == "{" + Delimiter) // Check for the beginning of a new JSON message
+ {
+ JsonFeedbackMessageIsIncoming = true;
+
+ Debug.Console(1, this, "Incoming JSON message...");
+
+ JsonMessage = new StringBuilder();
+ }
+ else if (args.Text == "}" + Delimiter) // Check for the end of a JSON message
+ {
+ JsonFeedbackMessageIsIncoming = false;
+
+ JsonMessage.Append(args.Text);
+
+ Debug.Console(1, this, "Complete JSON Received:\n{0}", JsonMessage.ToString());
+
+ // Forward the complete message to be deserialized
+ DeserializeResponse(JsonMessage.ToString());
+ return;
+ }
+
+ if(JsonFeedbackMessageIsIncoming)
+ {
+ JsonMessage.Append(args.Text);
+
+ //Debug.Console(1, this, "Building JSON:\n{0}", JsonMessage.ToString());
+ return;
+ }
+
+ if (!SyncState.InitialSyncComplete)
+ {
+ switch (args.Text.Trim())
+ {
+ case "*r Login successful":
+ {
+ SendText("xPreferences outputmode json");
+ break;
+ }
+ case "xPreferences outputmode json":
+ {
+ if(!SyncState.InitialStatusMessageWasReceived)
+ SendText("xStatus");
+ break;
+ }
+ case "xFeedback register":
+ {
+ SyncState.FeedbackRegistered();
+ break;
+ }
+ }
+ }
+ }
+
+ void JsonGather_LineReceived(object sender, GenericCommMethodReceiveTextArgs e)
+ {
+ //Debug.Console(1, this, "JSON repsonse length: {0}", e.Text.Length);
+
+ var startPos = e.Text.IndexOf("{");
+ var json = e.Text.Substring(startPos, e.Text.Length - startPos);
+
+ //Debug.Console(1, this, "First curly brace found at position {0}. Substring will start at position {1} and continue for {2} characters", startPos, startPos, e.Text.Length - startPos);
+
+ Debug.Console(1, this, "JSON received:\n{0}", json);
+
+
+ DeserializeResponse(json);
+
+
+ }
+
+ public void SendText(string command)
+ {
+ Debug.Console(1, this, "Sending: '{0}'", command);
+ Communication.SendText(command + "\x0d\x0a");
+ }
+
+ //private void StartHttpsSession()
+ //{
+ // SendHttpCommand("", eCommandType.SessionStart);
+ //}
+
+ //private void EndHttpsSession()
+ //{
+ // SendHttpCommand("", eCommandType.SessionEnd);
+ //}
+
+ //private void SendHttpCommand(string command, eCommandType commandType)
+ //{
+ // //HttpsClientRequest request = new HttpsClientRequest();
+
+ // //string urlSuffix = null;
+
+ // //Client.UserName = null;
+ // //Client.Password = null;
+
+ // //Client.PeerVerification = false;
+ // //Client.HostVerification = false;
+
+ // //request.RequestType = RequestType.Post;
+
+ // //if(!string.IsNullOrEmpty(HttpSessionId))
+ // // request.Header.SetHeaderValue("Cookie", HttpSessionId);
+
+ // //switch (commandType)
+ // //{
+ // // case eCommandType.Command:
+ // // {
+ // // urlSuffix = "/putxml";
+ // // request.ContentString = command;
+ // // request.Header.SetHeaderValue("Content-Type", "text/xml");
+ // // break;
+ // // }
+ // // case eCommandType.SessionStart:
+ // // {
+
+ // // urlSuffix = "/xmlapi/session/begin";
+
+ // // Client.UserName = (Communication as GenericSshClient).Username;
+ // // Client.Password = (Communication as GenericSshClient).Password;
+
+ // // break;
+ // // }
+ // // case eCommandType.SessionEnd:
+ // // {
+ // // urlSuffix = "/xmlapi/session/end";
+ // // request.Header.SetHeaderValue("Cookie", HttpSessionId);
+ // // break;
+ // // }
+ // // case eCommandType.GetStatus:
+ // // {
+ // // request.RequestType = RequestType.Get;
+ // // request.Header.SetHeaderValue("Content-Type", "text/xml");
+ // // urlSuffix = "/getxml?location=/Status";
+ // // break;
+ // // }
+ // // case eCommandType.GetConfiguration:
+ // // {
+ // // request.RequestType = RequestType.Get;
+ // // request.Header.SetHeaderValue("Content-Type", "text/xml");
+ // // urlSuffix = "/getxml?location=/Configuration";
+ // // break;
+ // // }
+ // //}
+
+ // //var requestUrl = CodecUrl + urlSuffix;
+ // //request.Header.RequestVersion = "HTTP/1.1";
+ // //request.Url.Parse(requestUrl);
+
+ // //Debug.Console(1, this, "Sending HTTP request to Cisco Codec at {0}\nHeader:\n{1}\nContent:\n{2}", requestUrl, request.Header, request.ContentString);
+
+ // //Client.DispatchAsync(request, PostConnectionCallback);
+ //}
+
+ //void PostConnectionCallback(HttpsClientResponse resp, HTTPS_CALLBACK_ERROR err)
+ //{
+ // //try
+ // //{
+ // // if (resp != null)
+ // // {
+ // // if (resp.Code == 200)
+ // // {
+ // // Debug.Console(1, this, "Http Post to Cisco Codec Successful. Code: {0}\nContent: {1}", resp.Code, resp.ContentString);
+
+ // // if (resp.ContentString.IndexOf("") > 1)
+ // // {
+ // // // Get the initial configruation for sync purposes
+ // // SendHttpCommand("", eCommandType.GetConfiguration);
+ // // }
+ // // else
+ // // {
+ // // try
+ // // {
+ // // if (resp.ContentString.IndexOf("") > -1)
+ // // {
+ // // XmlReaderSettings settings = new XmlReaderSettings();
+
+ // // XmlReader reader = new XmlReader(resp.ContentString, settings);
+
+ // // CodecConfiguration = CrestronXMLSerialization.DeSerializeObject(reader);
+
+ // // //Debug.Console(1, this, "Product Name: {0} Software Version: {1} ApiVersion: {2}", CodecConfiguration.Configuration.Product, CodecConfiguration.Version, CodecConfiguration.ApiVersion);
+
+ // // // Get the initial status for sync purposes
+ // // SendHttpCommand("", eCommandType.GetStatus);
+ // // }
+ // // else if (resp.ContentString.IndexOf("") > -1)
+ // // {
+ // // XmlReaderSettings settings = new XmlReaderSettings();
+
+ // // XmlReader reader = new XmlReader(resp.ContentString, settings);
+
+ // // CodecStatus = CrestronXMLSerialization.DeSerializeObject(reader);
+ // // //Debug.Console(1, this, "Product Name: {0} Software Version: {1} ApiVersion: {2} Volume: {3}", CodecStatus.Product, CodecStatus.Version, CodecStatus.ApiVersion, CodecStatus.Audio.Volume);
+ // // }
+ // // }
+ // // catch (Exception ex)
+ // // {
+ // // Debug.Console(1, this, "Error Deserializing XML document from codec: {0}", ex);
+ // // }
+ // // }
+ // // }
+ // // else if (resp.Code == 204)
+ // // {
+ // // Debug.Console(1, this, "Response Code: {0}\nHeader:\n{1}Content:\n{1}", resp.Code, resp.Header, resp.ContentString);
+
+ // // HttpSessionId = resp.Header.GetHeaderValue("Set-Cookie");
+ // // //var chunks = HttpSessionId.Split(';');
+ // // //HttpSessionId = chunks[0];
+ // // //HttpSessionId = HttpSessionId.Substring(HttpSessionId.IndexOf("=") + 1);
+
+
+ // // // Register for feedbacks once we have a valid session
+ // // SendHttpCommand(FeedbackRegistrationExpression, eCommandType.Command);
+ // // }
+ // // else
+ // // {
+ // // Debug.Console(1, this, "Response Code: {0}\nHeader:\n{1}Content:\n{1}Err:\n{2}", resp.Code, resp.Header, resp.ContentString, err);
+ // // }
+ // // }
+ // // else
+ // // Debug.Console(1, this, "Null response received from server");
+ // //}
+ // //catch (Exception e)
+ // //{
+ // // Debug.Console(1, this, "Error Initializing HTTPS Client: {0}", e);
+ // //}
+ //}
+
+ //void Server_ApiRequest(object sender, Crestron.SimplSharp.Net.Http.OnHttpRequestArgs e)
+ //{
+ // Debug.Console(1, this, "Api Reqeust from Codec: {0}", e.Request.ContentString);
+ // e.Response.Code = 200;
+ // e.Response.ContentString = "OK";
+
+ // DeserializeResponse(e.Request.ContentString);
+ //}
+
+ void DeserializeResponse(string response)
+ {
+ try
+ {
+ // Serializer settings. We want to ignore null values and mising members
+ JsonSerializerSettings settings = new JsonSerializerSettings();
+ settings.NullValueHandling = NullValueHandling.Ignore;
+ settings.MissingMemberHandling = MissingMemberHandling.Ignore;
+ settings.ObjectCreationHandling = ObjectCreationHandling.Auto;
+
+ if (response.IndexOf("\"Status\":{") > -1)
+ {
+ JsonConvert.PopulateObject(response, CodecStatus);
+
+ if (!SyncState.InitialStatusMessageWasReceived)
+ {
+ SyncState.InitialStatusMessageReceived();
+ if(!SyncState.InitialConfigurationMessageWasReceived)
+ SendText("xConfiguration");
+ }
+ }
+ else if (response.IndexOf("\"Configuration\":{") > -1)
+ {
+ JsonConvert.PopulateObject(response, CodecConfiguration);
+
+ if (!SyncState.InitialConfigurationMessageWasReceived)
+ {
+ SyncState.InitialConfigurationMessageReceived();
+ if (!SyncState.FeedbackWasRegistered)
+ {
+ SendText(CliFeedbackRegistrationExpression);
+ }
+ }
+
+ }
+
+ }
+ catch (Exception ex)
+ {
+ Debug.Console(1, this, "Error Deserializing feedback from codec: {0}", ex);
+ }
+ }
+
+ void Communication_TextReceived(object sender, GenericCommMethodReceiveTextArgs e)
+ {
+ //CodecObtp.
+ }
+
+ public override void ExecuteSwitch(object selector)
+ {
+ throw new NotImplementedException();
+ }
+
+ protected override Func InCallFeedbackFunc { get { return () => false; } }
+
+ protected override Func IncomingCallFeedbackFunc { get { return () => false; } }
+
+ protected override Func TransmitMuteFeedbackFunc { get { return () => false; } }
+
+ protected override Func ReceiveMuteFeedbackFunc { get { return () => false; } }
+
+ protected override Func PrivacyModeFeedbackFunc { get { return () => false; } }
+
+ public override void Dial(string s)
+ {
+ SendText(string.Format("xCommand Dial Number: {0}", s));
+ }
+
+ public override void EndCall()
+ {
+ //SendText(string.Format("xCommand Accept CallId: {0}", CodecStatus.Status.));
+
+ }
+
+ public override void AcceptCall()
+ {
+
+ }
+
+ public override void RejectCall()
+ {
+
+ }
+
+ public override void SendDtmf(string s)
+ {
+
+ }
+
+ public override void StartSharing()
+ {
+
+ }
+
+ public override void StopSharing()
+ {
+
+ }
+
+ public override void ReceiveMuteOff()
+ {
+
+ }
+
+ public override void ReceiveMuteOn()
+ {
+
+ }
+
+ public override void ReceiveMuteToggle()
+ {
+
+ }
+
+ public override void SetReceiveVolume(ushort level)
+ {
+
+ }
+
+ public override void TransmitMuteOff()
+ {
+
+ }
+
+ public override void TransmitMuteOn()
+ {
+
+ }
+
+ public override void TransmitMuteToggle()
+ {
+
+ }
+
+ public override void SetTransmitVolume(ushort level)
+ {
+
+ }
+
+ public override void PrivacyModeOn()
+ {
+
+ }
+
+ public override void PrivacyModeOff()
+ {
+
+ }
+
+ public override void PrivacyModeToggle()
+ {
+
+ }
+ }
+
+ ///
+ /// Tracks the initial sycnronization state of the codec when making a connection
+ ///
+ public class CodecSyncState : IKeyed
+ {
+ public string Key { get; private set; }
+
+ public bool InitialSyncComplete { get; private set; }
+
+ public bool InitialStatusMessageWasReceived { get; private set; }
+
+ public bool InitialConfigurationMessageWasReceived { get; private set; }
+
+ public bool FeedbackWasRegistered { get; private set; }
+
+ public CodecSyncState(string key)
+ {
+ Key = key;
+ CodecDisconnected();
+ }
+
+ public void InitialStatusMessageReceived()
+ {
+ InitialStatusMessageWasReceived = true;
+ Debug.Console(1, this, "Initial Codec Status Message Received.");
+ CheckSyncStatus();
+ }
+
+ public void InitialConfigurationMessageReceived()
+ {
+ InitialConfigurationMessageWasReceived = true;
+ Debug.Console(1, this, "Initial Codec Configuration Message Received.");
+ CheckSyncStatus();
+ }
+
+ public void FeedbackRegistered()
+ {
+ FeedbackWasRegistered = true;
+ Debug.Console(1, this, "Initial Codec Feedback Registration Successful.");
+ CheckSyncStatus();
+ }
+
+ public void CodecDisconnected()
+ {
+ InitialConfigurationMessageWasReceived = false;
+ InitialStatusMessageWasReceived = false;
+ FeedbackWasRegistered = false;
+ InitialSyncComplete = false;
+ }
+
+ void CheckSyncStatus()
+ {
+ if (InitialConfigurationMessageWasReceived && InitialStatusMessageWasReceived && FeedbackWasRegistered)
+ {
+ InitialSyncComplete = true;
+ Debug.Console(1, this, "Initial Codec Sync Complete!");
+ }
+ else
+ InitialSyncComplete = false;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/Configuration.cs b/Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/Configuration.cs
new file mode 100644
index 00000000..75eed815
--- /dev/null
+++ b/Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/Configuration.cs
@@ -0,0 +1,1668 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+
+namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
+{
+ public class CiscoCodecConfiguration
+ {
+ public class DefaultVolume
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Dereverberation
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class NoiseReduction
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class EchoControl
+ {
+ public Dereverberation Dereverberation { get; set; }
+ public Mode2 Mode { get; set; }
+ public NoiseReduction NoiseReduction { get; set; }
+ }
+
+ public class Level
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Microphone
+ {
+ public string id { get; set; }
+ public Mode Mode { get; set; }
+ public EchoControl EchoControl { get; set; }
+ public Level Level { get; set; }
+ }
+
+ public class Input
+ {
+ public List Microphone { get; set; }
+ }
+
+ public class Enabled
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mute
+ {
+ public Enabled Enabled { get; set; }
+ }
+
+ public class Microphones
+ {
+ public Mute Mute { get; set; }
+ }
+
+ public class Mode3
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class InternalSpeaker
+ {
+ public Mode3 Mode { get; set; }
+ }
+
+ public class Mode4
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class OutputType
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Line
+ {
+ public string id { get; set; }
+ public Mode4 Mode { get; set; }
+ public OutputType OutputType { get; set; }
+ }
+
+ public class Output
+ {
+ public InternalSpeaker InternalSpeaker { get; set; }
+ public List Line { get; set; }
+ }
+
+ public class RingTone
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class RingVolume
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class SoundsAndAlerts
+ {
+ public RingTone RingTone { get; set; }
+ public RingVolume RingVolume { get; set; }
+ }
+
+ public class Audio
+ {
+ public DefaultVolume DefaultVolume { get; set; }
+ public Input Input { get; set; }
+ public Microphones Microphones { get; set; }
+ public Output Output { get; set; }
+ public SoundsAndAlerts SoundsAndAlerts { get; set; }
+ }
+
+ public class Framerate
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Camera
+ {
+ public Framerate Framerate { get; set; }
+ }
+
+ public class Closeup
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode5
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class SpeakerTrack
+ {
+ public Closeup Closeup { get; set; }
+ public Mode5 Mode { get; set; }
+ }
+
+ public class Cameras
+ {
+ public Camera Camera { get; set; }
+ public SpeakerTrack SpeakerTrack { get; set; }
+ }
+
+ public class Delay
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode6
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mute2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class AutoAnswer
+ {
+ public Delay Delay { get; set; }
+ public Mode6 Mode { get; set; }
+ public Mute2 Mute { get; set; }
+ }
+
+ public class Protocol
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Rate
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class DefaultCall
+ {
+ public Protocol Protocol { get; set; }
+ public Rate Rate { get; set; }
+ }
+
+ public class DefaultTimeout
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class DoNotDisturb
+ {
+ public DefaultTimeout DefaultTimeout { get; set; }
+ }
+
+ public class Mode7
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Encryption
+ {
+ public Mode7 Mode { get; set; }
+ }
+
+ public class Mode8
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class FarEndControl
+ {
+ public Mode8 Mode { get; set; }
+ }
+
+ public class MaxReceiveCallRate
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class MaxTotalReceiveCallRate
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class MaxTotalTransmitCallRate
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class MaxTransmitCallRate
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode9
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class MultiStream
+ {
+ public Mode9 Mode { get; set; }
+ }
+
+ public class Conference
+ {
+ public AutoAnswer AutoAnswer { get; set; }
+ public DefaultCall DefaultCall { get; set; }
+ public DoNotDisturb DoNotDisturb { get; set; }
+ public Encryption Encryption { get; set; }
+ public FarEndControl FarEndControl { get; set; }
+ public MaxReceiveCallRate MaxReceiveCallRate { get; set; }
+ public MaxTotalReceiveCallRate MaxTotalReceiveCallRate { get; set; }
+ public MaxTotalTransmitCallRate MaxTotalTransmitCallRate { get; set; }
+ public MaxTransmitCallRate MaxTransmitCallRate { get; set; }
+ public MultiStream MultiStream { get; set; }
+ }
+
+ public class LoginName
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode10
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Password
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Authentication
+ {
+ public LoginName LoginName { get; set; }
+ public Mode10 Mode { get; set; }
+ public Password Password { get; set; }
+ }
+
+ public class Mode11
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class CallSetup
+ {
+ public Mode11 Mode { get; set; }
+ }
+
+ public class KeySize
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Encryption2
+ {
+ public KeySize KeySize { get; set; }
+ }
+
+ public class Address
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Gatekeeper
+ {
+ public Address Address { get; set; }
+ }
+
+ public class E164
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class ID
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class H323Alias
+ {
+ public E164 E164 { get; set; }
+ public ID ID { get; set; }
+ }
+
+ public class Address2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode12
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class NAT
+ {
+ public Address2 Address { get; set; }
+ public Mode12 Mode { get; set; }
+ }
+
+ public class H323
+ {
+ public Authentication Authentication { get; set; }
+ public CallSetup CallSetup { get; set; }
+ public Encryption2 Encryption { get; set; }
+ public Gatekeeper Gatekeeper { get; set; }
+ public H323Alias H323Alias { get; set; }
+ public NAT NAT { get; set; }
+ }
+
+ public class Name
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Domain
+ {
+ public Name Name { get; set; }
+ }
+
+ public class Address3
+ {
+ public string valueSpaceRef { get; set; }
+ 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 { get; set; }
+ }
+
+ public class AnonymousIdentity
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Md5
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Peap
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Tls
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Ttls
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Eap
+ {
+ public Md5 Md5 { get; set; }
+ public Peap Peap { get; set; }
+ public Tls Tls { get; set; }
+ public Ttls Ttls { get; set; }
+ }
+
+ public class Identity
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode13
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Password2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class TlsVerify
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class UseClientCertificate
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class IEEE8021X
+ {
+ public AnonymousIdentity AnonymousIdentity { get; set; }
+ public Eap Eap { get; set; }
+ public Identity Identity { get; set; }
+ public Mode13 Mode { get; set; }
+ public Password2 Password { get; set; }
+ public TlsVerify TlsVerify { get; set; }
+ public UseClientCertificate UseClientCertificate { get; set; }
+ }
+
+ public class IPStack
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Address4
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Assignment
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Gateway
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class SubnetMask
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class IPv4
+ {
+ public Address4 Address { get; set; }
+ public Assignment Assignment { get; set; }
+ public Gateway Gateway { get; set; }
+ public SubnetMask SubnetMask { get; set; }
+ }
+
+ public class Address5
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Assignment2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class DHCPOptions
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Gateway2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class IPv6
+ {
+ public Address5 Address { get; set; }
+ public Assignment2 Assignment { get; set; }
+ public DHCPOptions DHCPOptions { get; set; }
+ public Gateway2 Gateway { get; set; }
+ }
+
+ public class MTU
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Audio2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Data
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class ICMPv6
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class NTP
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Signalling
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Video
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Diffserv
+ {
+ public Audio2 Audio { get; set; }
+ public Data Data { get; set; }
+ public ICMPv6 ICMPv6 { get; set; }
+ public NTP NTP { get; set; }
+ public Signalling Signalling { get; set; }
+ public Video Video { get; set; }
+ }
+
+ public class Mode14
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class QoS
+ {
+ public Diffserv Diffserv { get; set; }
+ public Mode14 Mode { get; set; }
+ }
+
+ public class Allow
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class RemoteAccess
+ {
+ public Allow Allow { get; set; }
+ }
+
+ public class Speed
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode15
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class VlanId
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Voice
+ {
+ public Mode15 Mode { get; set; }
+ public VlanId VlanId { get; set; }
+ }
+
+ public class VLAN
+ {
+ public Voice Voice { get; set; }
+ }
+
+ public class Network
+ {
+ public string id { get; set; }
+ public DNS DNS { get; set; }
+ public IEEE8021X IEEE8021X { get; set; }
+ public IPStack IPStack { get; set; }
+ public IPv4 IPv4 { get; set; }
+ public IPv6 IPv6 { get; set; }
+ public MTU MTU { get; set; }
+ public QoS QoS { get; set; }
+ public RemoteAccess RemoteAccess { get; set; }
+ public Speed Speed { get; set; }
+ public VLAN VLAN { get; set; }
+ }
+
+ public class Mode16
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class CDP
+ {
+ public Mode16 Mode { get; set; }
+ }
+
+ public class Mode17
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class H3232
+ {
+ public Mode17 Mode { get; set; }
+ }
+
+ public class Mode18
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class HTTP
+ {
+ public Mode18 Mode { get; set; }
+ }
+
+ public class MinimumTLSVersion
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Server2
+ {
+ public MinimumTLSVersion MinimumTLSVersion { get; set; }
+ }
+
+ public class StrictTransportSecurity
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class VerifyClientCertificate
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class VerifyServerCertificate
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class HTTPS
+ {
+ public Server2 Server { get; set; }
+ public StrictTransportSecurity StrictTransportSecurity { get; set; }
+ public VerifyClientCertificate VerifyClientCertificate { get; set; }
+ public VerifyServerCertificate VerifyServerCertificate { get; set; }
+ }
+
+ public class Mode19
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Address6
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Server3
+ {
+ public string id { get; set; }
+ public Address6 Address { get; set; }
+ }
+
+ public class NTP2
+ {
+ public Mode19 Mode { get; set; }
+ public List Server { get; set; }
+ }
+
+ public class Mode20
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class SIP
+ {
+ public Mode20 Mode { get; set; }
+ }
+
+ public class CommunityName
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Address7
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Host
+ {
+ public string id { get; set; }
+ public Address7 Address { get; set; }
+ }
+
+ public class Mode21
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class SystemContact
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class SystemLocation
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class SNMP
+ {
+ public CommunityName CommunityName { get; set; }
+ public List Host { get; set; }
+ public Mode21 Mode { get; set; }
+ public SystemContact SystemContact { get; set; }
+ public SystemLocation SystemLocation { get; set; }
+ }
+
+ public class Mode22
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class SSH
+ {
+ public Mode22 Mode { get; set; }
+ }
+
+ public class Mode23
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class UPnP
+ {
+ public Mode23 Mode { get; set; }
+ }
+
+ public class WelcomeText
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class NetworkServices
+ {
+ public CDP CDP { get; set; }
+ public H3232 H323 { get; set; }
+ public HTTP HTTP { get; set; }
+ public HTTPS HTTPS { get; set; }
+ public NTP2 NTP { get; set; }
+ public SIP SIP { get; set; }
+ public SNMP SNMP { get; set; }
+ public SSH SSH { get; set; }
+ public UPnP UPnP { get; set; }
+ public WelcomeText WelcomeText { get; set; }
+ }
+
+ public class Cameras2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class ControlSystems
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class TouchPanels
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Profile
+ {
+ public Cameras2 Cameras { get; set; }
+ public ControlSystems ControlSystems { get; set; }
+ public TouchPanels TouchPanels { get; set; }
+ }
+
+ public class Peripherals
+ {
+ public Profile Profile { get; set; }
+ }
+
+ public class ID2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Type
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class URL
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Server4
+ {
+ public string id { get; set; }
+ public ID2 ID { get; set; }
+ public Type Type { get; set; }
+ public URL URL { get; set; }
+ }
+
+ public class Phonebook
+ {
+ public List Server { get; set; }
+ }
+
+ public class Connectivity
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Address8
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class AlternateAddress
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Domain2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Path
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Protocol2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class ExternalManager
+ {
+ public Address8 Address { get; set; }
+ public AlternateAddress AlternateAddress { get; set; }
+ public Domain2 Domain { get; set; }
+ public Path Path { get; set; }
+ public Protocol2 Protocol { get; set; }
+ }
+
+ public class HttpMethod
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class LoginName2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode24
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Password3
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Provisioning
+ {
+ public Connectivity Connectivity { get; set; }
+ public ExternalManager ExternalManager { get; set; }
+ public HttpMethod HttpMethod { get; set; }
+ public LoginName2 LoginName { get; set; }
+ public Mode24 Mode { get; set; }
+ public Password3 Password { get; set; }
+ }
+
+ public class Mode25
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class CallControl
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class FromClients
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class ToClients
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class ContentShare
+ {
+ public FromClients FromClients { get; set; }
+ public ToClients ToClients { get; set; }
+ }
+
+ public class Services
+ {
+ public CallControl CallControl { get; set; }
+ public ContentShare ContentShare { get; set; }
+ }
+
+ public class Proximity
+ {
+ public Mode25 Mode { get; set; }
+ public Services Services { get; set; }
+ }
+
+ public class PeopleCountOutOfCall
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class PeoplePresenceDetector
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class RoomAnalytics
+ {
+ public PeopleCountOutOfCall PeopleCountOutOfCall { get; set; }
+ public PeoplePresenceDetector PeoplePresenceDetector { get; set; }
+ }
+
+ public class Password4
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class UserName
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Authentication2
+ {
+ public Password4 Password { get; set; }
+ public UserName UserName { get; set; }
+ }
+
+ public class DefaultTransport
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class DisplayName
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class DefaultCandidate
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode26
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Ice
+ {
+ public DefaultCandidate DefaultCandidate { get; set; }
+ public Mode26 Mode { get; set; }
+ }
+
+ public class ListenPort
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Address9
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Proxy
+ {
+ public string id { get; set; }
+ public Address9 Address { get; set; }
+ }
+
+ public class Password5
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Server5
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class UserName2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Turn
+ {
+ public Password5 Password { get; set; }
+ public Server5 Server { get; set; }
+ public UserName2 UserName { get; set; }
+ }
+
+ public class URI
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class SIP2
+ {
+ public Authentication2 Authentication { get; set; }
+ public DefaultTransport DefaultTransport { get; set; }
+ public DisplayName DisplayName { get; set; }
+ public Ice Ice { get; set; }
+ public ListenPort ListenPort { get; set; }
+ public List Proxy { get; set; }
+ public Turn Turn { get; set; }
+ public URI URI { get; set; }
+ }
+
+ public class BaudRate
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class LoginRequired
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode27
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class SerialPort
+ {
+ public BaudRate BaudRate { get; set; }
+ public LoginRequired LoginRequired { get; set; }
+ public Mode27 Mode { get; set; }
+ }
+
+ public class BootAction
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Control
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Delay2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class StandbyAction
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class WakeupAction
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Standby
+ {
+ public BootAction BootAction { get; set; }
+ public Control Control { get; set; }
+ public Delay2 Delay { get; set; }
+ public StandbyAction StandbyAction { get; set; }
+ public WakeupAction WakeupAction { get; set; }
+ }
+
+ public class Name2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class SystemUnit
+ {
+ public Name2 Name { get; set; }
+ }
+
+ public class DateFormat
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class TimeFormat
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Zone
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Time
+ {
+ public DateFormat DateFormat { get; set; }
+ public TimeFormat TimeFormat { get; set; }
+ public Zone Zone { get; set; }
+ }
+
+ public class Type2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class ContactInfo
+ {
+ public Type2 Type { get; set; }
+ }
+
+ public class Mode28
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class KeyTones
+ {
+ public Mode28 Mode { get; set; }
+ }
+
+ public class Language
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Output2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class OSD
+ {
+ public Output2 Output { get; set; }
+ }
+
+ public class UserInterface
+ {
+ public ContactInfo ContactInfo { get; set; }
+ public KeyTones KeyTones { get; set; }
+ public Language Language { get; set; }
+ public OSD OSD { get; set; }
+ }
+
+ public class Filter
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Group
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Admin
+ {
+ public Filter Filter { get; set; }
+ public Group Group { get; set; }
+ }
+
+ public class Attribute
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class BaseDN
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Encryption3
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class MinimumTLSVersion2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode29
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Address10
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Port
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Server6
+ {
+ public Address10 Address { get; set; }
+ public Port Port { get; set; }
+ }
+
+ public class VerifyServerCertificate2
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class LDAP
+ {
+ public Admin Admin { get; set; }
+ public Attribute Attribute { get; set; }
+ public BaseDN BaseDN { get; set; }
+ public Encryption3 Encryption { get; set; }
+ public MinimumTLSVersion2 MinimumTLSVersion { get; set; }
+ public Mode29 Mode { get; set; }
+ public Server6 Server { get; set; }
+ public VerifyServerCertificate2 VerifyServerCertificate { get; set; }
+ }
+
+ public class UserManagement
+ {
+ public LDAP LDAP { get; set; }
+ }
+
+ public class DefaultMainSource
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class CameraId
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode30
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class CameraControl
+ {
+ public CameraId CameraId { get; set; }
+ public Mode30 Mode { get; set; }
+ }
+
+ public class InputSourceType
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Name3
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Visibility
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class PreferredResolution
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class PresentationSelection
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Quality
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Connector
+ {
+ public string id { get; set; }
+ public CameraControl CameraControl { get; set; }
+ public InputSourceType InputSourceType { get; set; }
+ public Name3 Name { get; set; }
+ public Visibility Visibility { get; set; }
+ public PreferredResolution PreferredResolution { get; set; }
+ public PresentationSelection PresentationSelection { get; set; }
+ public Quality Quality { get; set; }
+ }
+
+ public class Input2
+ {
+ public List Connector { get; set; }
+ }
+
+ public class Monitors
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode31
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class CEC
+ {
+ public Mode31 Mode { get; set; }
+ }
+
+ public class MonitorRole
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Resolution
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Connector2
+ {
+ public string id { get; set; }
+ public CEC CEC { get; set; }
+ public MonitorRole MonitorRole { get; set; }
+ public Resolution Resolution { get; set; }
+ }
+
+ public class Output3
+ {
+ public List Connector { get; set; }
+ }
+
+ public class DefaultSource
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Presentation
+ {
+ public DefaultSource DefaultSource { get; set; }
+ }
+
+ public class FullscreenMode
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode32
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class OnMonitorRole
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class PIPPosition
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Default
+ {
+ public FullscreenMode FullscreenMode { get; set; }
+ public Mode32 Mode { get; set; }
+ public OnMonitorRole OnMonitorRole { get; set; }
+ public PIPPosition PIPPosition { get; set; }
+ }
+
+ public class Duration
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class Mode33
+ {
+ public string valueSpaceRef { get; set; }
+ public string Value { get; set; }
+ }
+
+ public class OnCall
+ {
+ public Duration Duration { get; set; }
+ public Mode33 Mode { get; set; }
+ }
+
+ public class Selfview
+ {
+ public Default Default { get; set; }
+ public OnCall OnCall { get; set; }
+ }
+
+ public class Video2
+ {
+ public DefaultMainSource DefaultMainSource { get; set; }
+ public Input2 Input { get; set; }
+ public Monitors Monitors { get; set; }
+ public Output3 Output { get; set; }
+ public Presentation Presentation { get; set; }
+ public Selfview Selfview { get; set; }
+ }
+
+ public class Configuration
+ {
+ public Audio Audio { get; set; }
+ public Cameras Cameras { get; set; }
+ public Conference Conference { get; set; }
+ public H323 H323 { get; set; }
+ public List Network { get; set; }
+ public NetworkServices NetworkServices { get; set; }
+ public Peripherals Peripherals { get; set; }
+ public Phonebook Phonebook { get; set; }
+ public Provisioning Provisioning { get; set; }
+ public Proximity Proximity { get; set; }
+ public RoomAnalytics RoomAnalytics { get; set; }
+ public SIP2 SIP { get; set; }
+ public SerialPort SerialPort { get; set; }
+ public Standby Standby { get; set; }
+ public SystemUnit SystemUnit { get; set; }
+ public Time Time { get; set; }
+ public UserInterface UserInterface { get; set; }
+ public UserManagement UserManagement { get; set; }
+ public Video2 Video { get; set; }
+ }
+
+ public class RootObject
+ {
+ public Configuration Configuration { get; set; }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Essentials Devices Common/Essentials Devices Common/VC/Cisco/HttpApiServer.cs b/Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/HttpApiServer.cs
similarity index 94%
rename from Essentials Devices Common/Essentials Devices Common/VC/Cisco/HttpApiServer.cs
rename to Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/HttpApiServer.cs
index 4f5f3fd5..4e25f732 100644
--- a/Essentials Devices Common/Essentials Devices Common/VC/Cisco/HttpApiServer.cs
+++ b/Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/HttpApiServer.cs
@@ -8,7 +8,7 @@ using Crestron.SimplSharp.Net.Http;
using PepperDash.Core;
-namespace PepperDash.Essentials.Devices.VideoCodec.Cisco
+namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
{
public class HttpApiServer
{
diff --git a/Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/Status.cs b/Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/Status.cs
new file mode 100644
index 00000000..fb1070b4
--- /dev/null
+++ b/Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/Status.cs
@@ -0,0 +1,1529 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+using Crestron.SimplSharp.CrestronXml.Serialization;
+
+namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
+{
+ public class CiscoCodecStatus
+ {
+ // Helper Classes for Proerties
+ public abstract class ValueProperty
+ {
+ ///
+ /// Triggered when Value is set
+ ///
+ 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 Microphone
+ {
+ public string id { get; set; }
+ public ConnectionStatus ConnectionStatus { get; set; }
+ }
+
+ public class Connectors
+ {
+ public List 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 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 { get; set; }
+ }
+
+ public class Output
+ {
+ public Connectors2 Connectors { get; set; }
+ }
+
+ public class Volume : ValueProperty
+ {
+ string _Value;
+
+ ///
+ /// Sets Value and triggers the action when set
+ ///
+ public string Value
+ {
+ get
+ {
+ return _Value;
+ }
+ set
+ {
+ _Value = value;
+ OnValueChanged();
+ }
+ }
+
+ ///
+ /// Converted value of _Value for use as feedback
+ ///
+ 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();
+ }
+ }
+
+ 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 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 Camera
+ {
+ public string id { get; set; }
+ public Capabilities Capabilities { get; set; }
+ public Connected Connected { get; set; }
+ public Framerate Framerate { get; set; }
+ public Manufacturer Manufacturer { get; set; }
+ public Model Model { get; set; }
+ public Position Position { get; set; }
+ }
+
+ public class Availability
+ {
+ public string Value { get; set; }
+ }
+
+ public class Status2
+ {
+ public string Value { get; set; }
+ }
+
+ public class SpeakerTrack
+ {
+ public Availability Availability { get; set; }
+ public Status2 Status { get; set; }
+ }
+
+ public class Cameras
+ {
+ public List Camera { get; set; }
+ public SpeakerTrack SpeakerTrack { get; set; }
+ }
+
+ 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
+ {
+ public string Value { get; set; }
+ }
+
+ 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
+ {
+ public string Value { get; set; }
+ }
+
+ 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 Presentation
+ {
+ public CallId2 CallId { get; set; }
+ public Mode2 Mode { get; set; }
+ public Whiteboard Whiteboard { get; set; }
+ }
+
+ 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 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 { 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 { 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 { 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 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 { 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
+ {
+ public string Value { get; set; }
+ }
+
+ public class PeopleCount
+ {
+ public Current3 Current { get; set; }
+ }
+
+ public class PeoplePresence
+ {
+ public string Value { get; set; }
+ }
+
+ public class RoomAnalytics
+ {
+ public PeopleCount PeopleCount { get; set; }
+ public PeoplePresence PeoplePresence { get; set; }
+ }
+
+ 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 class Secure
+ {
+ public string Value { get; set; }
+ }
+
+ public class Verified
+ {
+ public string Value { get; set; }
+ }
+
+ public class SIP
+ {
+ public Authentication Authentication { get; set; }
+ public CallForward CallForward { get; set; }
+ public Mailbox Mailbox { get; set; }
+ public List Proxy { get; set; }
+ public List Registration { get; set; }
+ public Secure Secure { get; set; }
+ public Verified Verified { get; set; }
+ }
+
+ 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
+ {
+ public string Value { get; set; }
+ }
+
+ public class Standby
+ {
+ public State State { get; set; }
+ }
+
+ 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 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 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 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 { 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 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 { get; set; }
+ public MainVideoSource MainVideoSource { get; set; }
+ public List Source { get; set; }
+ }
+
+ public class Local
+ {
+ public string Value { get; set; }
+ }
+
+ public class LayoutFamily
+ {
+ public Local Local { get; set; }
+ }
+
+ public class Layout
+ {
+ public LayoutFamily LayoutFamily { get; set; }
+ }
+
+ 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 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
+ {
+ public string Value { get; set; }
+ }
+
+ public class OnMonitorRole
+ {
+ public string Value { get; set; }
+ }
+
+ public class PIPPosition3
+ {
+ public string Value { get; set; }
+ }
+
+ public class Selfview
+ {
+ public FullscreenMode FullscreenMode { get; set; }
+ public Mode8 Mode { get; set; }
+ public OnMonitorRole OnMonitorRole { get; set; }
+ public PIPPosition3 PIPPosition { get; set; }
+ }
+
+ 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 class Status
+ {
+ public Audio Audio { get; set; }
+ public Bookings Bookings { 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 { get; set; }
+ public MediaChannels MediaChannels { get; set; }
+ public List 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 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();
+ }
+ }
+
+ public class RootObject
+ {
+ public Status Status { get; set; }
+
+ public RootObject()
+ {
+ Status = new Status();
+ }
+ }
+ }
+}
diff --git a/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs b/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs
index 29b5832c..a6033b0d 100644
--- a/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs
+++ b/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs
@@ -1,231 +1,245 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-
-using PepperDash.Core;
-using PepperDash.Essentials.Core;
-
-namespace PepperDash.Essentials.Devices.Common.VideoCodec
-{
- public class MockVC : VideoCodecBase
- {
- public MockVC(string key, string name)
- : base(key, name)
- {
-
- }
-
- protected override Func InCallFeedbackFunc
- {
- get { return () => _InCall; }
- }
- bool _InCall;
-
- protected override Func IncomingCallFeedbackFunc
- {
- get { return () => _IncomingCall; }
- }
- bool _IncomingCall;
-
- protected override Func TransmitMuteFeedbackFunc
- {
- get { return () => _TransmitMute; }
- }
- bool _TransmitMute;
-
- protected override Func ReceiveMuteFeedbackFunc
- {
- get { return () => _ReceiveMute; }
- }
- bool _ReceiveMute;
-
- protected override Func PrivacyModeFeedbackFunc
- {
- get { return () => _PrivacyModeIsOn; }
- }
- bool _PrivacyModeIsOn;
-
- ///
- /// Dials, yo!
- ///
- public override void Dial(string s)
- {
- Debug.Console(1, this, "Dial: {0}", s);
-
- _InCall = true;
- InCallFeedback.FireUpdate();
- }
-
- ///
- /// Makes horrible tones go out on the wire!
- ///
- ///
- public void SendDTMF(string s)
- {
- Debug.Console(1, this, "SendDTMF: {0}", s);
- }
-
- ///
- ///
- ///
- public override void EndCall()
- {
- Debug.Console(1, this, "EndCall");
- _InCall = false;
- InCallFeedback.FireUpdate();
- }
-
- ///
- /// For a call from the test methods below
- ///
- public override void AcceptCall()
- {
- Debug.Console(1, this, "AcceptCall");
- }
-
- ///
- /// For a call from the test methods below
- ///
- public override void RejectCall()
- {
- Debug.Console(1, this, "RejectCall");
- }
-
-
- ///
- /// Called by routing to make it happen
- ///
- ///
- public override void ExecuteSwitch(object selector)
- {
- Debug.Console(1, this, "ExecuteSwitch");
-
- }
-
- ///
- ///
- ///
- public override void ReceiveMuteOff()
- {
- Debug.Console(1, this, "ReceiveMuteOff");
-
- if (!_ReceiveMute)
- return;
- _ReceiveMute = false;
- ReceiveMuteIsOnFeedback.FireUpdate();
- }
-
- ///
- ///
- ///
- public override void ReceiveMuteOn()
- {
- Debug.Console(1, this, "ReceiveMuteOn");
- if (_ReceiveMute)
- return;
- ReceiveMuteIsOnFeedback.FireUpdate();
- }
-
- ///
- ///
- ///
- public override void ReceiveMuteToggle()
- {
- Debug.Console(1, this, "ReceiveMuteToggle");
-
- _ReceiveMute = !_ReceiveMute;
- ReceiveMuteIsOnFeedback.FireUpdate();
- }
-
- ///
- ///
- ///
- ///
- public override void SetReceiveVolume(ushort level)
- {
- Debug.Console(1, this, "SetReceiveVolume: {0}", level);
-
- }
-
- ///
- ///
- ///
- public override void TransmitMuteOff()
- {
- Debug.Console(1, this, "TransmitMuteOff");
-
- if (!_TransmitMute)
- return;
- _TransmitMute = false;
- TransmitMuteIsOnFeedback.FireUpdate();
- }
-
- ///
- ///
- ///
- public override void TransmitMuteOn()
- {
- Debug.Console(1, this, "TransmitMuteOn");
- if (_TransmitMute)
- return;
- TransmitMuteIsOnFeedback.FireUpdate();
- }
-
- public override void TransmitMuteToggle()
- {
- _TransmitMute = !_TransmitMute;
- Debug.Console(1, this, "TransmitMuteToggle: {0}", _TransmitMute);
- TransmitMuteIsOnFeedback.FireUpdate();
- }
-
- public override void SetTransmitVolume(ushort level)
- {
- Debug.Console(1, this, "SetTransmitVolume: {0}", level);
- }
-
- public override void PrivacyModeOn()
- {
- Debug.Console(1, this, "PrivacyMuteOn");
- if (_PrivacyModeIsOn)
- return;
- _PrivacyModeIsOn = true;
- PrivacyModeIsOnFeedback.FireUpdate();
-
- }
-
- public override void PrivacyModeOff()
- {
- Debug.Console(1, this, "PrivacyMuteOff");
- if (!_PrivacyModeIsOn)
- return;
- _PrivacyModeIsOn = false;
- PrivacyModeIsOnFeedback.FireUpdate();
- }
-
- public override void PrivacyModeToggle()
- {
- _PrivacyModeIsOn = !_PrivacyModeIsOn;
- Debug.Console(1, this, "PrivacyMuteToggle: {0}", _PrivacyModeIsOn);
- PrivacyModeIsOnFeedback.FireUpdate();
- }
-
- //********************************************************
- // SIMULATION METHODS
-
- public void TestIncomingCall(string url)
- {
- Debug.Console(1, this, "TestIncomingCall");
-
- _IncomingCall = true;
- IncomingCallFeedback.FireUpdate();
- }
-
- public void TestFarEndHangup()
- {
- Debug.Console(1, this, "TestFarEndHangup");
-
- }
- }
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+
+using PepperDash.Core;
+using PepperDash.Essentials.Core;
+
+namespace PepperDash.Essentials.Devices.Common.VideoCodec
+{
+ public class MockVC : VideoCodecBase
+ {
+ public MockVC(string key, string name)
+ : base(key, name)
+ {
+
+ }
+
+ protected override Func InCallFeedbackFunc
+ {
+ get { return () => _InCall; }
+ }
+ bool _InCall;
+
+ protected override Func IncomingCallFeedbackFunc
+ {
+ get { return () => _IncomingCall; }
+ }
+ bool _IncomingCall;
+
+ protected override Func TransmitMuteFeedbackFunc
+ {
+ get { return () => _TransmitMute; }
+ }
+ bool _TransmitMute;
+
+ protected override Func ReceiveMuteFeedbackFunc
+ {
+ get { return () => _ReceiveMute; }
+ }
+ bool _ReceiveMute;
+
+ protected override Func PrivacyModeFeedbackFunc
+ {
+ get { return () => _PrivacyModeIsOn; }
+ }
+ bool _PrivacyModeIsOn;
+
+ protected override Func VolumeLevelFeedbackFunc
+ {
+ get { throw new NotImplementedException(); }
+ }
+
+ ///
+ /// Dials, yo!
+ ///
+ public override void Dial(string s)
+ {
+ Debug.Console(1, this, "Dial: {0}", s);
+
+ _InCall = true;
+ InCallFeedback.FireUpdate();
+ }
+
+ ///
+ ///
+ ///
+ public override void EndCall()
+ {
+ Debug.Console(1, this, "EndCall");
+ _InCall = false;
+ InCallFeedback.FireUpdate();
+ }
+
+ ///
+ /// For a call from the test methods below
+ ///
+ public override void AcceptCall()
+ {
+ Debug.Console(1, this, "AcceptCall");
+ }
+
+ ///
+ /// For a call from the test methods below
+ ///
+ public override void RejectCall()
+ {
+ Debug.Console(1, this, "RejectCall");
+ }
+
+ ///
+ /// Makes horrible tones go out on the wire!
+ ///
+ ///
+ public override void SendDtmf(string s)
+ {
+ Debug.Console(1, this, "SendDTMF: {0}", s);
+ }
+
+ public override void StartSharing()
+ {
+
+ }
+
+ public override void StopSharing()
+ {
+
+ }
+
+ ///
+ /// Called by routing to make it happen
+ ///
+ ///
+ public override void ExecuteSwitch(object selector)
+ {
+ Debug.Console(1, this, "ExecuteSwitch");
+
+ }
+
+ ///
+ ///
+ ///
+ public override void ReceiveMuteOff()
+ {
+ Debug.Console(1, this, "ReceiveMuteOff");
+
+ if (!_ReceiveMute)
+ return;
+ _ReceiveMute = false;
+ ReceiveMuteIsOnFeedback.FireUpdate();
+ }
+
+ ///
+ ///
+ ///
+ public override void ReceiveMuteOn()
+ {
+ Debug.Console(1, this, "ReceiveMuteOn");
+ if (_ReceiveMute)
+ return;
+ ReceiveMuteIsOnFeedback.FireUpdate();
+ }
+
+ ///
+ ///
+ ///
+ public override void ReceiveMuteToggle()
+ {
+ Debug.Console(1, this, "ReceiveMuteToggle");
+
+ _ReceiveMute = !_ReceiveMute;
+ ReceiveMuteIsOnFeedback.FireUpdate();
+ }
+
+ ///
+ ///
+ ///
+ ///
+ public override void SetReceiveVolume(ushort level)
+ {
+ Debug.Console(1, this, "SetReceiveVolume: {0}", level);
+
+ }
+
+ ///
+ ///
+ ///
+ public override void TransmitMuteOff()
+ {
+ Debug.Console(1, this, "TransmitMuteOff");
+
+ if (!_TransmitMute)
+ return;
+ _TransmitMute = false;
+ TransmitMuteIsOnFeedback.FireUpdate();
+ }
+
+ ///
+ ///
+ ///
+ public override void TransmitMuteOn()
+ {
+ Debug.Console(1, this, "TransmitMuteOn");
+ if (_TransmitMute)
+ return;
+ TransmitMuteIsOnFeedback.FireUpdate();
+ }
+
+ public override void TransmitMuteToggle()
+ {
+ _TransmitMute = !_TransmitMute;
+ Debug.Console(1, this, "TransmitMuteToggle: {0}", _TransmitMute);
+ TransmitMuteIsOnFeedback.FireUpdate();
+ }
+
+ public override void SetTransmitVolume(ushort level)
+ {
+ Debug.Console(1, this, "SetTransmitVolume: {0}", level);
+ }
+
+ public override void PrivacyModeOn()
+ {
+ Debug.Console(1, this, "PrivacyMuteOn");
+ if (_PrivacyModeIsOn)
+ return;
+ _PrivacyModeIsOn = true;
+ PrivacyModeIsOnFeedback.FireUpdate();
+
+ }
+
+ public override void PrivacyModeOff()
+ {
+ Debug.Console(1, this, "PrivacyMuteOff");
+ if (!_PrivacyModeIsOn)
+ return;
+ _PrivacyModeIsOn = false;
+ PrivacyModeIsOnFeedback.FireUpdate();
+ }
+
+ public override void PrivacyModeToggle()
+ {
+ _PrivacyModeIsOn = !_PrivacyModeIsOn;
+ Debug.Console(1, this, "PrivacyMuteToggle: {0}", _PrivacyModeIsOn);
+ PrivacyModeIsOnFeedback.FireUpdate();
+ }
+
+ //********************************************************
+ // SIMULATION METHODS
+
+ public void TestIncomingCall(string url)
+ {
+ Debug.Console(1, this, "TestIncomingCall");
+
+ _IncomingCall = true;
+ IncomingCallFeedback.FireUpdate();
+ }
+
+ public void TestFarEndHangup()
+ {
+ Debug.Console(1, this, "TestFarEndHangup");
+
+ }
+ }
}
\ No newline at end of file
diff --git a/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs b/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs
index c844cfbb..68de18e1 100644
--- a/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs
+++ b/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs
@@ -9,7 +9,7 @@ using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.Devices.Common.VideoCodec
{
- public abstract class VideoCodecBase : Device, IRoutingSinkWithSwitching, IUsageTracking, IHasDialer, ICodecAudio
+ public abstract class VideoCodecBase : Device, IRoutingSinkWithSwitching, IUsageTracking, IHasDialer, IHasSharing, IBasicVolumeWithFeedback //, ICodecAudio
{
#region IUsageTracking Members
@@ -32,6 +32,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
abstract protected Func ReceiveMuteFeedbackFunc { get; }
abstract protected Func PrivacyModeFeedbackFunc { get; }
+ abstract protected Func VolumeLevelFeedbackFunc { get; }
+
public VideoCodecBase(string key, string name)
: base(key, name)
{
@@ -41,6 +43,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
TransmitMuteIsOnFeedback = new BoolFeedback(TransmitMuteFeedbackFunc);
PrivacyModeIsOnFeedback = new BoolFeedback(PrivacyModeFeedbackFunc);
+ VolumeLevelFeedback = new IntFeedback(VolumeLevelFeedbackFunc);
+
InputPorts = new RoutingPortCollection();
InCallFeedback.OutputChange += new EventHandler(InCallFeedback_OutputChange);
@@ -56,11 +60,15 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
UsageTracker.EndDeviceUsage();
}
}
+ #region IHasDialer Members
public abstract void Dial(string s);
public abstract void EndCall();
public abstract void AcceptCall();
public abstract void RejectCall();
+ public abstract void SendDtmf(string s);
+
+ #endregion
public virtual List Feedbacks
{
@@ -101,5 +109,56 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
public BoolFeedback PrivacyModeIsOnFeedback { get; private set; }
#endregion
+
+ #region IHasSharing Members
+
+ public abstract void StartSharing();
+ public abstract void StopSharing();
+
+ public StringFeedback SharingSourceFeedback { get; private set; }
+
+ #endregion
+
+ #region IBasicVolumeWithFeedback Members
+
+ public BoolFeedback MuteFeedback { get; private set; }
+
+ public void MuteOff()
+ {
+
+ }
+
+ public void MuteOn()
+ {
+
+ }
+
+ public void SetVolume(ushort level)
+ {
+
+ }
+
+ public IntFeedback VolumeLevelFeedback { get; private set; }
+
+ #endregion
+
+ #region IBasicVolumeControls Members
+
+ public void MuteToggle()
+ {
+
+ }
+
+ public void VolumeDown(bool pressRelease)
+ {
+
+ }
+
+ public void VolumeUp(bool pressRelease)
+ {
+
+ }
+
+ #endregion
}
}
\ No newline at end of file
diff --git a/Essentials/PepperDashEssentials/ControlSystem.cs b/Essentials/PepperDashEssentials/ControlSystem.cs
index 9e995b5e..f33d6198 100644
--- a/Essentials/PepperDashEssentials/ControlSystem.cs
+++ b/Essentials/PepperDashEssentials/ControlSystem.cs
@@ -57,17 +57,6 @@ namespace PepperDash.Essentials
//PortalSync = new PepperDashPortalSyncClient();
-
- // CODEC TESTING
- //GenericSshClient TestCodecClient = new GenericSshClient("TestCodec-1--SshClient", "10.11.50.135", 22, "crestron", "2H3Zu&OvgXp6");
-
- //PepperDash.Essentials.Devices.VideoCodec.Cisco.CiscoCodec TestCodec =
- // new PepperDash.Essentials.Devices.VideoCodec.Cisco.CiscoCodec("TestCodec-1", "Cisco Spark Room Kit", TestCodecClient, 8080);
-
- //TestCodec.CustomActivate();
-
- // CODEC TESTING
-
Debug.Console(0, "Starting Essentials load from configuration");
ConfigReader.LoadConfig2();
LoadDevices();
@@ -137,6 +126,16 @@ namespace PepperDash.Essentials
else
Debug.Console(0, "WARNING: Cannot load unknown device type '{0}', key '{1}'.", devConf.Type, devConf.Key);
}
+
+ // CODEC TESTING
+ GenericSshClient TestCodecClient = new GenericSshClient("TestCodec-1--SshClient", "10.11.50.135", 22, "crestron", "2H3Zu&OvgXp6");
+
+ PepperDash.Essentials.Devices.Common.VideoCodec.Cisco.CiscoCodec TestCodec =
+ new PepperDash.Essentials.Devices.Common.VideoCodec.Cisco.CiscoCodec("TestCodec-1", "Cisco Spark Room Kit", TestCodecClient, 8080);
+
+ TestCodec.CustomActivate();
+
+ // CODEC TESTING
}
///
diff --git a/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs b/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs
index f95f3670..b3525e22 100644
--- a/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs
+++ b/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs
@@ -8,7 +8,7 @@ using Crestron.SimplSharpPro.DeviceSupport;
using PepperDash.Core;
using PepperDash.Essentials;
using PepperDash.Essentials.Core;
-using PepperDash.Essentials.Core.SmartObjects;
+using PepperDash.Essentials.Core.SmartObjects;
using PepperDash.Essentials.Devices.Common.VideoCodec;
namespace PepperDash.Essentials.UIDrivers.VC