diff --git a/Essentials Core/PepperDashEssentialsBase/Devices/CodecInterfaces.cs b/Essentials Core/PepperDashEssentialsBase/Devices/CodecInterfaces.cs index daf46197..b9b24394 100644 --- a/Essentials Core/PepperDashEssentialsBase/Devices/CodecInterfaces.cs +++ b/Essentials Core/PepperDashEssentialsBase/Devices/CodecInterfaces.cs @@ -14,10 +14,10 @@ namespace PepperDash.Essentials.Core // Add requirements for Dialer functionality void Dial(string number); - void EndCall(string number); + void EndCall(object activeCall); + void EndAllCalls(); void AcceptCall(); void RejectCall(); - void SendDtmf(string digit); IntFeedback ActiveCallCountFeedback { get; } diff --git a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CiscoCodec.cs b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CiscoCodec.cs index 0f08d7ee..4311d868 100644 --- a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CiscoCodec.cs +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CiscoCodec.cs @@ -551,9 +551,17 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco SendText(string.Format("xCommand Dial BookingId: {0}", s)); } - public override void EndCall(string s) + public override void EndCall(CodecActiveCallItem activeCall) { - SendText(string.Format("xCommand Call Disconnect CallId: {0}", GetCallId())); + SendText(string.Format("xCommand Call Disconnect CallId: {0}", activeCall.Id)); + } + + public override void EndAllCalls() + { + foreach (CodecActiveCallItem activeCall in ActiveCalls) + { + SendText(string.Format("xCommand Call Disconnect CallId: {0}", activeCall.Id)); + } } public override void AcceptCall() diff --git a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CodecActiveCallItem.cs b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CodecActiveCallItem.cs index e06a0dfa..e75ac69b 100644 --- a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CodecActiveCallItem.cs +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CodecActiveCallItem.cs @@ -9,22 +9,24 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec { public class CodecActiveCallItem { - public string Name { get; private set; } + public string Name { get; set; } - public string Number { get; private set; } + public string Number { get; set; } - public eCodecCallType Type { get; private set; } + public eCodecCallType Type { get; set; } - public CodecActiveCallItem(string name, string number, eCodecCallType type) - { - Name = name; - Number = number; - Type = type; - } + public eCodecCallStatus Status { get; set; } + + public string Id { get; set; } } public enum eCodecCallType { None, Audio, Video } + + public enum eCodecCallStatus + { + Dialing, Established, Incoming + } } \ No newline at end of file diff --git a/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVC.cs b/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVC.cs index 03917220..f70988dd 100644 --- a/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVC.cs +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVC.cs @@ -71,11 +71,18 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec /// /// /// - public override void EndCall(string s) + public override void EndCall(CodecActiveCallItem activeCall) { Debug.Console(1, this, "EndCall"); ActiveCalls.RemoveAll(i => i.Name == s); ActiveCallCountFeedback.FireUpdate(); + //_InCall = false; + //IsInCall.FireUpdate(); + } + + public override void EndAllCalls() + { + } /// diff --git a/Essentials Devices Common/Essentials Devices Common/VideoCodec/VideoCodecBase.cs b/Essentials Devices Common/Essentials Devices Common/VideoCodec/VideoCodecBase.cs index d218ea23..7614d42a 100644 --- a/Essentials Devices Common/Essentials Devices Common/VideoCodec/VideoCodecBase.cs +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/VideoCodecBase.cs @@ -80,7 +80,12 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec #region IHasDialer Members public abstract void Dial(string s); - public abstract void EndCall(string s); + public void EndCall(object activeCall) + { + + } + public abstract void EndCall(CodecActiveCallItem activeCall); + public abstract void EndAllCalls(); public abstract void AcceptCall(); public abstract void RejectCall(); public abstract void SendDtmf(string s); diff --git a/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs b/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs index b7f27e28..ba8ead8f 100644 --- a/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs +++ b/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs @@ -191,7 +191,7 @@ namespace PepperDash.Essentials.UIDrivers.VC void ConnectPress() { if (Codec.IsInCall) - Codec.EndCall("end whatever is selected"); + Codec.EndAllCalls(); else Codec.Dial(DialStringBuilder.ToString()); }