Click or drag to resize

VoiceResourceGetResponse Method (Int32, Int32, String, Int32, Boolean)

Waits for a user response as Digit(s) or Speech specifying all settings for the Voice Resource: Maximum Digits, Maximum Time, Termination Digit, Inter Digit Timeout and Clear Digit Buffer Flag.

Namespace:  VoiceElements.Client
Assembly:  VoiceElementsClient (in VoiceElementsClient.dll) Version: 8.6.1.1
Syntax
public TerminationCode GetResponse(
	int maximumDigits,
	int maximumTime,
	string terminationDigits,
	int interDigitTimeout,
	bool clearDigitBuffer
)

Parameters

maximumDigits
Type: SystemInt32
The maximum number of digits that will be accepted from the caller. For more information, and an alternative way to set this property, see Maximum Digits Voice Resource Property.
maximumTime
Type: SystemInt32
The number of seconds to wait for the entire expected string of digits to be received. For more information, and an alternative way to set this property, see Maximum Time Voice Resource Property.
terminationDigits
Type: SystemString
This digit, like a pound sign (#) would stop the response from waiting for more digits in a string. Note that using the "@" wildcard can be done here to denote any digit. This is especially helpful when getting a variable length or long string of input from a caller. For more information, and an alternative way to set this property, see Termination Digit Voice Resource Property.
interDigitTimeout
Type: SystemInt32
This is the number of seconds between digits in a string that will cause Get Response to terminate and consider the input of the string complete. For more information, and an alternative way to set this property, see Inter-Digit Timeout Voice Resource Property.
clearDigitBuffer
Type: SystemBoolean
If set to true, digits in the buffer will be purged before the wait for response begins. Use this to clear any residual input you think might be in the buffer. For more information, and an alternative way to set this property, see Clear Digit Buffer Resource Property.

Return Value

Type: TerminationCode
A Termination Code indicating how the wait ended. Typically, you will use this to determine what to do next.
Remarks
This method sets all five relevant Voice Resource properties for how long to wait, what response to expect, etc. In the sample code below, these properties are specifically called with Get Response.

Voice Resource Properties and Overloads

This method has three additional overloads allowing you to set only some of the Voice Resource properties to control behavior, or none at all. Before choosing, you will want to review the No Parameter Get Response Overload, the Three Parameter Get Response Overload and the Four Parameter Get Response Overload.

Getting Speech Recognition Responses

This method will also return a word or string of word from a Speech Recognition Engine. What is returned can be retrieved using the Returned Word Property. In addition, you will need to define grammars, and set Speech Recognition Active property among other settings to properly use speech. More information on speech can be found on our Support Wiki.

Examples
The following sample code sets up a Channel Resource, Dials a Call, retrieves a Voice Resource, sets up some properties for a Voice Resource object and executes a Get Response with a max digits of 11, max time of 20 seconds, a pound sign termination, 3 second inter-digit timeout, and sets the clear digit buffer flag to true.
public void DialAndGetResponse()
{
  // To get a channel, you must first get a link to a Telephony Server.  You may need to pass a username password here.
  TelephonyServer m_TelephonyServer = new TelephonyServer();

  // Get your channel resource from the server
  ChannelResource m_ChannelResource = m_TelephonyServer.GetChannel();

  // Example 1: Dial an oubound call
  string phoneNumber = "2135551212";
  m_ChannelResource.Dial(phoneNumber);

  // Get the voice resource and store in a variable for local use
  VoiceResource m_VoiceResource = m_ChannelResource.VoiceResource;

  // Setup the basic settings for the Voice Resource
  m_VoiceResource.ClearDigitBuffer = true;
  m_VoiceResource.TerminationDigits = "@"; // "@" or "ANY" can denote terminate a play on any digit received
  m_VoiceResource.Codec = Codec.MULAW_8Khz_8Bit;
  m_VoiceResource.DataFormat = DataFormat.Raw;

  // Set a termination code variable we will use to switch on response
  TerminationCode tc = TerminationCode.Normal;

  // Play a file
  tc = m_VoiceResource.Play(@"Introduction.wav");

  // Set the digit buffer to retain digits during the first play
  m_VoiceResource.ClearDigitBuffer = false;

  // Play some options to the caller, which will require input back from them
  tc = m_VoiceResource.Play(@"InputOptions.wav");

  // Execute GetResponse with max digits of 11, max time of 20 seconds and a pound sign termination digit, inter digit timeout is 3 seconds, clear the digit buffer
  tc = m_VoiceResource.GetResponse(11, 20, "#", 3, true);

  // Insert your code here to process based on the termination code. and move on with your application
}
See Also