asternet/Asterisk.2013/Asterisk.NET/Manager/Event/AgentsEvent.cs

140 lines
4.8 KiB
C#

namespace AsterNET.Manager.Event
{
/// <summary>
/// An AgentsEvent is triggered for each agent in response to an AgentsAction.<br />
/// Available since Asterisk 1.2
/// </summary>
/// <seealso cref="Manager.Action.AgentsAction" />
public class AgentsEvent : ResponseEvent
{
public AgentsEvent(ManagerConnection source)
: base(source)
{
}
/// <summary>
/// Get/Set the agentid.
/// </summary>
public string Agent { get; set; }
/// <summary>
/// Get/Set the name of this agent.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Get/Set the status of this agent.<br />
/// This is one of
/// <dl>
/// <dt>"AGENT_LOGGEDOFF"</dt>
/// <dd>Agent isn't logged in</dd>
/// <dt>"AGENT_IDLE"</dt>
/// <dd>Agent is logged in, and waiting for call</dd>
/// <dt>"AGENT_ONCALL"</dt>
/// <dd>Agent is logged in, and on a call</dd>
/// <dt>"AGENT_UNKNOWN"</dt>
/// <dd>Don't know anything about agent. Shouldn't ever get this.</dd>
/// </dl>
/// </summary>
public string Status { get; set; }
/// <summary>
/// Get/Set the name of channel this agent logged in from or "n/a" if the agent is not logged in.<br />
/// Removed on Asterisk 12 app_agent_pool.so module. Use Channel instead.
/// </summary>
public string LoggedInChan { get; set; }
/// <summary>
/// Get/Set the numerical Caller*ID of the channel this agent is talking toor "n/a" if this agent is talking to nobody.<br />
/// Removed on Asterisk 12 app_agent_pool.so module. Use TalkingToChan instead.
/// </summary>
public string TalkingTo { get; set; }
/// <summary>
/// Get/Set BRIDGEPEER value on agent channel.<br />
/// Present if Status value is AGENT_ONCALL.
/// </summary>
public string TalkingToChan { get; set; }
/// <summary>
/// Get/Set Epoche time when the agent started talking with the caller.<br />
/// Present if Status value is AGENT_ONCALL.
/// </summary>
public string CallStarted { get; set; }
/// <summary>
/// Get/Set the time (in seconds since 01/01/1970).<br />
/// Present if Status value is AGENT_IDLE or AGENT_ONCALL.
/// </summary>
public long LoggedInTime { get; set; }
/// <summary>
/// Get/Set a numeric code for the channel's current state, related to ChannelStateDesc.
/// </summary>
public int ChannelState { get; set; }
/// <summary>
/// Get/Set a description for the channel's current state.<br />
/// This is one of
/// <dl>
/// <dt>Down</dt>
/// <dt>Rsrvd</dt>
/// <dt>OffHook</dt>
/// <dt>Dialing</dt>
/// <dt>Ring</dt>
/// <dt>Ringing</dt>
/// <dt>Up</dt>
/// <dt>Busy</dt>
/// <dt>Dialing Offhook</dt>
/// <dt>Pre-ring</dt>
/// <dt>Unknown</dt>
/// </dl>
/// </summary>
public string ChannelStateDesc { get; set; }
/// <summary>
/// Get/Set the callerID number.
/// </summary>
public string CallerIDNum { get; set; }
/// <summary>
/// Get/Set the callerID name.
/// </summary>
public string CallerIDName { get; set; }
/// <summary>
/// Get/Set the connected line number.
/// </summary>
public string ConnectedLineNum { get; set; }
/// <summary>
/// Get/Set the connected line name.
/// </summary>
public string ConnectedLineName { get; set; }
/// <summary>
/// Get/Set the account codee.
/// </summary>
public string AccountCode { get; set; }
/// <summary>
/// Get/Set the context.
/// </summary>
public string Context { get; set; }
/// <summary>
/// Get/Set the extension.
/// </summary>
public string Exten { get; set; }
/// <summary>
/// Get/Set the agent priority.
/// </summary>
public int Priority { get; set; }
/// <summary>
/// Get/Set the uniqueid of the oldest channel associated with this channel.
/// </summary>
public int Linkedid { get; set; }
}
}