<gather>
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.

Attributes

Attribute
Value
Default
action
Callback URL
none
Method
POST/GET
POST
minDigits
1-200
1
numDigits
1-200
20
Timeout (in seconds)
Integer
4 Seconds
Tries
1-10
3
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"?>
<Response>
<Gather timeout="10" finishOnKey="*" action="handle-key.php">
<Say>Please enter the Extension number you want to dial.</Say>
</Gather>
</Response>
Once the user enters the response. It will call http://yourserver/handle-key.php
<?php
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
echo "<Response><Say>You entered ".$_REQUEST['Digits']. "</Say></Response>"; ?>
Last modified 3yr ago
Copy link
Outline
Attributes