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());
}