Updates to codec interfaces to handle active calls

This commit is contained in:
Neil Dorin
2017-09-18 17:23:05 -06:00
parent 95a6f3948f
commit b0fd837cdc
6 changed files with 38 additions and 11 deletions

View File

@@ -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; }

View File

@@ -36,7 +36,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
private CiscoCodecStatus.RootObject CodecStatus;
private CiscoCodecEvents.RootObject CodecEvent;
private CiscoCodecEvents.RootObject CodecEvent;
/// <summary>
/// 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()

View File

@@ -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
}
}

View File

@@ -99,11 +99,16 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
/// <summary>
///
/// </summary>
public override void EndCall()
public override void EndCall(CodecActiveCallItem activeCall)
{
Debug.Console(1, this, "EndCall");
//_InCall = false;
//IsInCall.FireUpdate();
}
public override void EndAllCalls()
{
}
/// <summary>

View File

@@ -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);

View File

@@ -191,7 +191,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
void ConnectPress()
{
if (Codec.IsInCall)
Codec.EndCall();
Codec.EndAllCalls();
else
Codec.Dial(DialStringBuilder.ToString());
}