using System; namespace AsterNET.Manager.Action { /// /// The AbsoluteTimeoutAction sets the absolute maximum amount of time permitted for a call on a given channel.
/// Note that the timeout is set from the current time forward, not counting the number of seconds the call has already been up.
/// When setting a new timeout all previous absolute timeouts are cancelled.
/// When the timeout is reached the call is returned to the T extension so that /// you can playback an explanatory note to the calling party (the called party will not hear that).
/// This action corresponds the the AbsoluteTimeout command used in the dialplan. ///
public class AbsoluteTimeoutAction : ManagerAction { private string channel; private int timeout; #region AbsoluteTimeoutAction() /// /// Creates a new empty AbsoluteTimeoutAction. /// public AbsoluteTimeoutAction() { } #endregion #region AbsoluteTimeoutAction(channel, timeout) /// /// Creates a new AbsoluteTimeoutAction with the given channel and timeout. /// /// the name of the channel /// the timeout in seconds or 0 to cancel the AbsoluteTimeout public AbsoluteTimeoutAction(string channel, int timeout) { this.channel = channel; this.timeout = timeout; } #endregion #region Action /// /// Get the name of this action, i.e. "AbsoluteTimeout". /// override public string Action { get { return "AbsoluteTimeout"; } } #endregion #region Channel /// /// Get/Set the name of the channel. public string Channel { get { return channel; } set { this.channel = value; } } #endregion #region Timeout /// /// Get/Set the timeout (in seconds) to set. /// public int Timeout { get { return timeout; } set { this.timeout = value; } } #endregion } }