using System;
namespace PepperDash.Essentials.Devices.Common.Codec
{
///
/// Requirements for a device that has dialing capabilities
///
public interface IHasDialer
{
// Add requirements for Dialer functionality
///
/// Event that is raised when call status changes
///
event EventHandler CallStatusChange;
///
/// Dials the specified number
///
/// The number to dial
void Dial(string number);
///
/// Ends the specified active call
///
/// The active call to end
void EndCall(CodecActiveCallItem activeCall);
///
/// Ends all active calls
///
void EndAllCalls();
///
/// Accepts the specified incoming call
///
/// The call item to accept
void AcceptCall(CodecActiveCallItem item);
///
/// Rejects the specified incoming call
///
/// The call item to reject
void RejectCall(CodecActiveCallItem item);
///
/// Sends DTMF digits during a call
///
/// The DTMF digit(s) to send
void SendDtmf(string digit);
///
/// Gets a value indicating whether the device is currently in a call
///
bool IsInCall { get; }
}
}