namespace AsterNET.Manager.Event { /// /// A QueueMemberEvent is triggered in response to a QueueStatusAction and contains information about a member of a queue.
/// It is implemented in apps/app_queue.c ///
/// public class QueueMemberEvent : ResponseEvent { private string queue; private string location; private string memberName; private string membership; private int penalty; private int callsTaken; private long lastCall; private int status; private bool paused; private string name; private bool incall; /// /// Get/Set the name of the queue member. /// public string Name { get { return this.name; } set { this.name = value; } } /// /// Get/Set the name of the queue member. /// public string MemberName { get { return this.memberName; } set { this.memberName = value; } } /// /// Get/Set the name of the queue. /// public string Queue { get { return queue; } set { this.queue = value; } } /// /// Get/Set the name of the member's interface.
/// E.g. the channel name or agent group. ///
public string Location { get { return location; } set { this.location = value; } } /// /// Get/Set value if this member has been dynamically added by the QueueAdd command /// (in the dialplan or via the Manager API) or if this member is has been /// statically defined in queues.conf. /// "dynamic" if the added member is a dynamic queue member, "static" if the added member is a static queue member. /// public string Membership { get { return membership; } set { this.membership = value; } } /// /// Get/Set the penalty for the added member. When calls are distributed members with higher penalties are considered last. /// public int Penalty { get { return this.penalty; } set { this.penalty = value; } } /// /// Get/Set the number of calls answered by the member. /// public int CallsTaken { get { return this.callsTaken; } set { this.callsTaken = value; } } /// /// Get/Set the time (in seconds since 01/01/1970) the last successful call answered by the added member was hungup. /// public long LastCall { get { return this.lastCall; } set { this.lastCall = value; } } /// /// Get/Set the status of this queue member.
/// Available since Asterisk 1.2
/// Valid status codes are: ///
///
AST_DEVICE_UNKNOWN (0)
///
Queue member is available
///
AST_DEVICE_NOT_INUSE (1)
///
?
///
AST_DEVICE_INUSE (2)
///
?
///
AST_DEVICE_BUSY (3)
///
?
///
AST_DEVICE_INVALID (4)
///
?
///
AST_DEVICE_UNAVAILABLE (5)
///
?
///
///
public int Status { get { return this.status; } set { this.status = value; } } /// /// Is this queue member paused (not accepting calls)?
/// Available since Asterisk 1.2.
/// true if this member has been paused, /// false if not ///
public bool Paused { get { return this.paused; } set { this.paused = value; } } /// /// Is this queue member in call??
/// Available since Asterisk 12.
/// true if this member is in call, /// false if not ///
public bool InCall { get { return this.incall; } set { this.incall = value; } } public QueueMemberEvent(ManagerConnection source) : base(source) { } } }