How to implement Multiple Services based on the Dialed Line Identifier.
 
Important
 
Please turn on your desktop speakers and check the volume level settings.
 
You can simulate an incoming call by clicking on the handset.
 
Main.ivr is the main script for scheduling services on different channels. You can use the variable $DLI to do the service allocation. Here the call get answered and disconnected in the main script itself.
 
Only the control flow is directed to different scripts. So statements which are common to all services are given in the main script. For example if background play is common to all the services, then you can issue a bgplay command immediately after the answer command in the main script.
 
Each service is a separate script, and will be treated as an external function. The system labels, if any, provided in the child script will get preference over those in Main.ivr.
 
You can have E1 connections of 30 channels with 30 or more telephone numbers assigned by enabling the hunting facility, if required. In this example, the numbers used - 3011000, 3011011, 3011022 - belong to the same E1 connection. These numbers can be announced in advance for providing different services.
 
A call to any of these numbers lands on the same IVR system where you can decide the service to be offered, depending on the $DLI value. In the script, if $DLI is 3011000, Changed Number Announcement System is deployed; channel with DLI 3011011 is dedicated to Fault Booking System and any other DLI will provide Bill Payment Service.