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.


action Callback URL none
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.

Once the user enters the response. It will call http://yourserver/handle-key.php