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="transfer after_hours XML default"/> </menu>
This would effectively create a prompt, requesting a password of 1828 as previously stated, and disconnect the caller after three failed attempts...