<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 updated