2013-01-18 15:55:50 +00:00
|
|
|
using System;
|
2014-01-08 14:16:39 +00:00
|
|
|
namespace AsterNET.FastAGI.Command
|
2013-01-18 15:55:50 +00:00
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// Say a given number, returning early if any of the given DTMF number are received on the channel.<br/>
|
|
|
|
/// Returns 0 if playback completes without a digit being pressed, or the ASCII
|
|
|
|
/// numerical value of the digit if one was pressed or -1 on error/hangup.
|
|
|
|
/// </summary>
|
|
|
|
public class SayNumberCommand : AGICommand
|
|
|
|
{
|
|
|
|
/// <summary> The number to say.</summary>
|
|
|
|
private string number;
|
|
|
|
/// <summary> When one of these number is pressed while streaming the command returns.</summary>
|
|
|
|
private string escapeDigits;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Get/Set the number to say.
|
|
|
|
/// </summary>
|
|
|
|
public string Number
|
|
|
|
{
|
|
|
|
get { return number; }
|
|
|
|
set { this.number = value; }
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
|
|
/// Get/Set the number that allow the user to interrupt this command.
|
|
|
|
/// </summary>
|
|
|
|
public string EscapeDigits
|
|
|
|
{
|
|
|
|
get { return escapeDigits; }
|
|
|
|
set { this.escapeDigits = value; }
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Creates a new SayNumberCommand.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="number">the number to say.</param>
|
|
|
|
public SayNumberCommand(string number)
|
|
|
|
{
|
|
|
|
this.number = number;
|
|
|
|
this.escapeDigits = null;
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Creates a new SayNumberCommand.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="number">the number to say.</param>
|
|
|
|
/// <param name="escapeDigits">contains the number that allow the user to interrupt this command.</param>
|
|
|
|
public SayNumberCommand(string number, string escapeDigits)
|
|
|
|
{
|
|
|
|
this.number = number;
|
|
|
|
this.escapeDigits = escapeDigits;
|
|
|
|
}
|
|
|
|
|
|
|
|
public override string BuildCommand()
|
|
|
|
{
|
|
|
|
return "SAY NUMBER " + EscapeAndQuote(number) + " " + EscapeAndQuote(escapeDigits);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|