diff --git a/Essentials Core/PepperDashEssentialsBase/Devices/CodecInterfaces.cs b/Essentials Core/PepperDashEssentialsBase/Devices/CodecInterfaces.cs index d7a00aa6..49f02cfb 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(); + 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 d6c399c7..621ad8a4 100644 --- a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CiscoCodec.cs +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CiscoCodec.cs @@ -36,7 +36,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco private CiscoCodecStatus.RootObject CodecStatus; - private CiscoCodecEvents.RootObject CodecEvent; + private CiscoCodecEvents.RootObject CodecEvent; /// /// Gets and returns the scaled volume of the codec @@ -551,9 +551,17 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco SendText(string.Format("xCommand Dial BookingId: {0}", s)); } - public override void EndCall() + 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 a1d3895e..0ab4d7ac 100644 --- a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CodecActiveCallItem.cs +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CodecActiveCallItem.cs @@ -9,15 +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 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 0bfdb681..e3296145 100644 --- a/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVC.cs +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVC.cs @@ -99,11 +99,16 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec /// /// /// - public override void EndCall() + public override void EndCall(CodecActiveCallItem activeCall) { Debug.Console(1, this, "EndCall"); //_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 920bf1b8..3daa9cf6 100644 --- a/Essentials Devices Common/Essentials Devices Common/VideoCodec/VideoCodecBase.cs +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/VideoCodecBase.cs @@ -77,7 +77,12 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec #region IHasDialer Members public abstract void Dial(string s); - public abstract void EndCall(); + 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 6cce71d9..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(); + Codec.EndAllCalls(); else Codec.Dial(DialStringBuilder.ToString()); }