Advanced routing
IVRs are not just limited to menus. While you most likely want to program complex IVRs using a programming language, it's possible to use the built-in XML IVRs in other ways, too.
For example, let's say you wanted to require callers to enter a PIN number in order to reach a special answering service. You might create an IVR that contains the PIN number as the only available entry, and replace the sound files with a greeting, requesting the PIN number and the invalid entry sound with an invalid password message. The menu would be simple enough as follows:
<menu name="enter_pin" greet-long="phrase:enter_your_pin" invalid-sound="phrase:invalid_pin" exit-sound="phrase:invalid_pin" timeout="15000" max-failures="3" max-timeouts="3"> <entry digits="1828" action="menu-exec-app" param="transferafter_hours XML default"/> </menu>
This would effectively create a prompt, requesting a password as...