IOS-based Tcl IVR Solution for Pre-Call Media and Business-Hours Schedule Announcements


I’ve recently written a Tcl script using Cisco’s Tcl IVR Voice Gateway API.  The script provides Time of Day routing.  It offers the ability for streaming audio as early media while ringing, playing a prompt prior to call hand-off, or simply playing a prompt and dropping a call.

The script also adds the option for playing custom prompts for mid-day, after-hours and holiday schedules, similar to Unity Connection call handlers.  This may prove useful for sites with IVR requirements even when in SRST, or where a centralized Unity Connection solution is infeasible or unavailable.

The script has been tested on both ISR G2 and G3 (ISR 4000) platforms, with both ISDN and CUBE integrations.

Script Parameters

Flexible configurable settings selection is offered as IOS application params, similar to the canned B-ACD IVR script offered by Cisco:

# ********************************
# *** Supported CLI Parameters ***
# ********************************
# This script provides the following configurable params:
#  * working-hours-destination <destination-pattern>
#  * working-hours-prompt <path-to-flash-file>
#  * working-hours-prompt-behaviour [ early-media | handoff | hangup]
#  * after-hours-destination <destination-pattern>
#  * after-hours-prompt ""
#  * after-hours-prompt-behaviour [ early-media | handoff | hangup]
#  * midday-break-destination <destination-pattern>
#  * midday-break-prompt ""
#  * midday-break-prompt-behaviour [ early-media | handoff | hangup]
#  * holiday-destination <destination-pattern>
#  * holiday-prompt ""
#  * holiday-prompt-behaviour [ early-media | handoff | hangup]
#  * time-schedule-filename <path-to-flash-file>
#  * holiday-schedule-filename <path-to-flash-file>

More information is included in the script itself (see below)

Availability on GitHub

The full script is available on GitHub here.  The samples for uploading time schedules and holidays are also available in the same repo here.

Custom Extensions – On Request

The script is fairly robust, covering several working scenarios.  Please feel free to contact me there’s a more complex scenario that you’d require assistance with.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.