namespace AsterNET.Manager.Event
{
///
/// Abstract base class for several queue member related events.
///
public abstract class AbstractQueueMemberEvent : ManagerEvent
{
///
/// AbstractQueueMemberEvent contructor
///
/// ManagerConnection passed through in the event.
public AbstractQueueMemberEvent(ManagerConnection source)
: base(source)
{
}
///
/// The name of the queue.
///
public string Queue { get; set; }
///
/// Returns the name of the member's interface.
/// E.g. the channel name or agent group.
/// Removed since : Asterisk 12.
/// Replaced by : since Asterisk 12.
///
public string Location { get; set; }
///
/// The queue member's channel technology or location.
/// Available since : Asterisk 12.
///
public string Interface { get; set; }
///
/// Channel technology or location from which to read device state changes.
/// Available since : Asterisk 12.
///
public string StateInterface { get; set; }
///
/// The name of the queue member.
/// Available since : Asterisk 12.
///
public string MemberName { get; set; }
///
/// "dynamic" if the added member is a dynamic queue member,
/// "realtime" if the added member is a realtime queue member,
/// "static" if the added member is a static queue member.
/// Available since : Asterisk 12.
///
public string Membership { get; set; }
///
/// The penalty associated with the queue member. When calls are distributed members with higher penalties are considered last.
/// Available since : Asterisk 12.
///
public int Penalty { get; set; }
///
/// The number of calls this queue member has serviced.
/// Available since : Asterisk 12.
///
public int CallsTaken { get; set; }
///
/// The time this member last took a call, expressed in seconds since 00:00, Jan 1, 1970 UTC.
/// Available since : Asterisk 12.
///
public long LastCall { get; set; }
///
/// When queue member is paused (not accepting calls).
/// Evaluates if this member has been paused,
/// if not.
/// Available since : Asterisk 12.
///
public bool Paused { get; set; }
///
/// The numeric device state status of the queue member.
///
/// Valid status codes are:
///
/// - AST_DEVICE_UNKNOWN
/// - AST_DEVICE_NOT_INUSE
/// - AST_DEVICE_INUSE
/// - AST_DEVICE_BUSY
/// - AST_DEVICE_INVALID
/// - AST_DEVICE_UNAVAILABLE
/// - AST_DEVICE_RINGING
/// - AST_DEVICE_RINGINUSE
/// - AST_DEVICE_ONHOLD
///
///
/// Available since : Asterisk 12.
///
public int Status { get; set; }
///
/// Evaluates if Ringinuse,
/// if not.
/// Available since : Asterisk 12.
///
public bool Ringinuse { get; set; }
///
/// Evaluates if member is in call,
/// after LastCall time is updated.
/// Available since : Asterisk 13.
///
public bool InCall { get; set; }
///
/// If set when paused, the reason the queue member was paused.
/// Available since : Asterisk 13.
///
public string PausedReason { get; set; }
}
}