cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4282
Views
3
Helpful
11
Replies

Need help on Auto Attendant design with TCL scripting

Vinod Dahiya
Level 1
Level 1

Hello All,

I need some urgent help to create a design call flow for auto attendant with TCL scripts on Cisco 2921/51 router. This is a custom design requirement along with time of day routing. My customer already has default scripts loaded on same GW for same pilot number but require modified functionality now.

Call flow is PSTN --> Main line number 7500 --> Matches application service (aa1) --> Run TCL script "its-CISCO7500.tcl" on VGW.

application

service aa1 flash:its-CISCO7500.tcl

  param aa-pilot 7500

  paramspace english index 0

  paramspace english language en

  paramspace english location flash:

  param operator 7501

  paramspace english prefix en

11 Replies 11

yawming
Cisco Employee
Cisco Employee

I wonder if you can post tts-CISCO7500.tcl and state what need to be done, a menu tree like:

greeting ...

press 1 for ...      press 1 for ....

                                     2 for

          2 for ...

         3for ....

see if it is a easy modification.

If it is not a easy one then if may want to open a DevNet support ticket for that - Cisco DevNet: DevNet Developer Support

There are a few scripts in Cisco DevNet: Voice Gateway API (VGAPI) - Sample-Scripts you can take a look to see if there is any one closer to your requirement so you can use it to modify script.

Thanks for a quick reply Yawchen!

Added is the call flow for simpler view. Also I tried looking into scripts you mentioned earlier and downloaded the TOD scripts but did not find how to merge and add new requirements so that i wont blow up existing setup.

TCL.PNG

Added its-CISCO7500.tcl script for reference from GW.

Thanks!

Can you please explain, things like connect to 696 then Para 2 record or press number except 0.1.2,9 first time then para 4  record.

Like to know is this 696 a 3rd party device ? Because according to the flow we need to continue the process after Para 2 record. or Para 4 record ...etc

696, 501 these are directory numbers on call manager. 501 is operator and 696 is another person.

After initial greeting played and caller wish to press 1 then call should be connected and sent to extension 696 on cucm, Play Para 2 until this call is not connected to 696.

If person wish to press 0, then sent the call to operator at 501.

If caller wish to press 3,4,5,6,7,8 for first time, play a Para like please reenter correct extension.

If person knows direct extension of any person, he must dial his/her direct extension instead of waiting or directed towards operator 501.

I do have Para translations which we need to upload if required , I can share for quick reference and that will be helpful here.

Thanks for help!

Regards,

Vinod

Para summary is as below:

Scenario 1: Working time (9:00 – 12:00, 13:00 - 17:30, Mon. – Fri., UTC+8)

Para 1:

(Welcome to XYZ company Industrial Technique Customer Center )

For English Service, please press “9”.

(For enquiry, please press 1.)

(For after-sale service,please press 2.)

(Please dial the extension number or dial 0 for operator.)

Para 2:

(For better service, your voice maybe recorded!)

Para 3:

(Please wait, the operator is busy now)

Para 4:

(Your dial number is incorrect,please redial or dial 0 for operator.)

Para 5:

(Your dial number is incorrect, we will transfer your call to reception for better service.)

Para 6:

9 English message

Welcome to XYZ company Industrial Technique Customer Center . Please dial the extension number or dial 0 for operator.

Para 7:

Please wait, the operator is busy now.

Scenario 2: Off time (Sat.- Sun.; 17:30 – 9:00, 12:00-13:00 Mon.–Fri.; UTC+8)

Para 8:

(Welcome to XYZ company Industrial Technique Customer Center )

For English Service, please press “9”.

(Press Please dial the extension number directly. Since it is not working time, please visit our website: : www.xyzcompany.com “Contact us”or follow our public wechat account and send your message. We will contact you as soon as possible.)

Para 9:

9  English message

Welcome to XYZ company Industrial Technique Customer Center . Please dial the extension number directly

Ok, so it should not be to hard.

1. When script is triggered check TOD, for this you can refer to - Time of Day Routing TCL script.zip

2. for working hours check if it is lunch time first (go to 501) otherwise rest of main jobs.

      

          collect digit

          you can use "switch" of many "if", say using switch

          you have

         1 or 2 -> 696 if by or no answer play Para 3 and collect digit again

         0 ->501

         9 -> collect digit again then .....

         default play Para 4 then collect digit again

3. Off time - play Para 8 if digit 9 is pressed within X seconds then play Para 9 (Need to consider what is they pressed other then 9 ?)

For digit collection you can refer to BACD-AA script

Cisco Systems

Thanks!

Let me try it, if i can create it.

Hi Yawchen,

Does any modifications are required for default tod.tcl script?

I can add time details like below but how to specify day of the week like Monday to Friday and Sat/Sunday?

call application voice tod tftp://10.1.1.1/tod.tcl

call application voice tod start <09:00>

call application voice tod end <12:59>

call application voice tod prefix <prefix>

call application voice tod tftp://10.1.1.1/tod.tcl

call application voice tod start <12:00>

call application voice tod end <13:59>

call application voice tod prefix <prefix>

call application voice tod tftp://10.1.1.1/tod.tcl

call application voice tod start <14:00>

call application voice tod end <16:59>

call application voice tod prefix <prefix>

call application voice tod tftp://10.1.1.1/tod.tcl

call application voice tod start <17:00>

call application voice tod end <23:59>

call application voice tod prefix <prefix>

call application voice tod tftp://10.1.1.1/tod.tcl

call application voice tod start <00:00>

call application voice tod end <08:59>

call application voice tod prefix <prefix>

Can i load this tod.tcl on routers flash instead of tftp server?

Regards,

Vinod

Sorry that I didn't make it clear.

The TOD script is just an example, the best way is integrating into your script.

Attached is another script that dispatch the call according to TOD.

Thanks,

Yawming

Thanks Yawming!

You can use below sample code to get current day and time to check with working time and off time.

set clockSec [clock seconds]
set clockFormat [clock format $clockSec -format  "%a    %b   %d   %H    %M   %m"]
set curday [lindex $clockFormat 0]
set curtime [lindex $clockFormat 3]

Thanks,
Raghavendra