Role: <gather>, in simple words collects the user response as the user makes their choice by pressing the keys on the dial pad.
Use: The main use of <gather> is to collect the digits as the user enters them from their phone. Some of the examples stating how gather can be used are :-
- IVR – When building an IVR for your company <gather> collects the digits that the user enters to direct the call to correct department/individual.
- Conference – When joining a conference caller enters the “pin”. This pin is collected by <gather> for validating the user.
- Authentication – Yet another way of using <gather> for security authentication when accessing personal or secured information over phone.
While there are no limitation on where <gather> can be used, there definitely is requirement or set of attributes to use with <gather>. Below is a list of attributes to be used with <gather>, each attribute has a specific function and can use certain values.
|Timeout (in seconds)||Integer||4 Seconds|
|Audiotype||text to speech (tts)||none|
|finishOnKey||0-9 ; * ; #||#|
Here is an example of how <gather> is used within code.
<?xml version="1.0" encoding="UTF-8"?>
<Gather timeout="10" finishOnKey="*" action="handle-key.php">
<Say>Please enter the Extension number you want to dial.</Say>
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
echo "<Response><Say>You entered ".$_REQUEST['Digits']. "</Say></Response>"; ?>