In telephony, interactive voice response, or IVR, is a computerised system that allows a person, typically a telephone caller, to select an option from a voice menu and otherwise interface with a computer system. Generally the system plays pre-recorded voice prompts to which the person presses a number on a telephone keypad to select the option chosen, or speaks simple answers such as “yes”, “no”, or numbers in answer to the voice prompts. Source Wikipedia

IVR call flows are created in a variety of ways: while older systems depended upon proprietary programming or scripting languages, modern systems are structured similar to WWW pages, using the VoiceXML or SALT languages. This allows any Web server to act as an application server, freeing the developer to focus on the call flow. Developers then also no longer require specialized programming skills, as any Web developer already has all the tools needed to create an IVR call flow.

IVR is taken to high level with VoiceXML application, and we’ll talk also about NLG here as I have already I said.