using System;
namespace Asterisk.NET.Manager.Event
{
///
/// A QueueParamsEvent is triggered in response to a QueueStatusAction and contains the parameters of a queue.
/// It is implemented in apps/app_queue.c
///
///
public class QueueParamsEvent : ResponseEvent
{
private string queue;
private int max;
private int calls;
private int holdtime;
private int completed;
private int abandoned;
private int serviceLevel;
private Double serviceLevelPerf;
private int weight;
private string strategy;
///
/// Get/Set queue strategy.
///
public string Strategy
{
get { return strategy; }
set { this.strategy = value; }
}
///
/// Get/Set the name of the queue.
///
public string Queue
{
get { return queue; }
set { this.queue = value; }
}
/// Returns the maximum number of people waiting in the queue or 0 for unlimited.
/// This corresponds to the maxlen
setting in queues.conf
.
///
/// Sets the maximum number of people waiting in the queue.
public int Max
{
get { return max; }
set { this.max = value; }
}
/// Returns the number of calls currently waiting in the queue.
/// Sets the number of calls currently waiting in the queue.
public int Calls
{
get { return calls; }
set { this.calls = value; }
}
/// Returns the current average holdtime for this queue (in seconds).
/// Sets the current average holdtime for this queue.
public int Holdtime
{
get { return holdtime; }
set { this.holdtime = value; }
}
/// Returns the number of completed calls.
/// Sets the number of completed calls.
public int Completed
{
get { return completed; }
set { this.completed = value; }
}
/// Returns the number of abandoned calls.
/// Sets the number of abandoned calls.
public int Abandoned
{
get { return abandoned; }
set { this.abandoned = value; }
}
/// Returns the service level (in seconds) as defined by the servicelevel
setting
/// in queues.conf
.
///
/// Sets the service level.
public int ServiceLevel
{
get { return serviceLevel; }
set { this.serviceLevel = value; }
}
/// Returns the ratio of calls answered within the specified service level per total completed
/// calls (in percent).
///
/// Sets the ratio of calls answered within the specified service level per total completed
/// calls.
///
public Double ServiceLevelPerf
{
get { return serviceLevelPerf; }
set { this.serviceLevelPerf = value; }
}
///
/// Returns the weight of this queue.
/// A queues can be assigned a 'weight' to ensure calls waiting in a
/// higher priority queue will deliver its calls first. Only delays
/// the lower weight queue's call if the member is also in the
/// higher weight queue.
///
public int Weight
{
get { return weight; }
set { this.weight = value; }
}
public QueueParamsEvent(ManagerConnection source)
: base(source)
{
}
}
}