Showing results for 
Search instead for 
Did you mean: 

TCL on outbound Dial Peer


I have simple TCL script configured on outbound dial as "service name out-bound".  However its not working.

My call fails and even the TCL script doesn't get executed. I have tried to collect TCL logs via debug but there is no logs which makes me believe that TCL script doesn't even start.

Does TCL in the outbound dial peers needs some specific starting point for it to be recognised ?

15 Replies 15

Cisco Employee
Cisco Employee

First I will check if out bound dial peer is really outbound. Remove "out-bound" keyword, remove service...etc., use anyway to verify the dial-peer is out bound.

2nd, check state machine -

set fsm(CALL_INIT,ev_handoff) " act_Setup        GETDEST"

use ev_handoff for outbound instead of ev_setup_indication.

Finally if there is anything error in script, script will be terminated before the triggered.

What debugs did you turn on ?

Hi yawchen,

Dial Peer is outbound as calls does connect if I do not apply any service to it.

However If I apply service, calls stop working.

I have following debugs enabled:

debug voip application script is ON (filter is OFF)

debug voip application tcl commands is ON (filter is OFF)

My State Machine is like this :

set StateMachine(CALLINIT,ev_handoff) "CallSetup same_state"
set StateMachine(any_state,ev_setup_done) "CallSetupDone same_state"
set StateMachine(any_state,ev_disconnected) "Disconnect same_state"

# Set initial state in FSM to CALLINIT triggered by event ev_handoff
fsm define StateMachine CALLINIT

Hi Ashish,

Please collect the logs with debugs "debug voip app" and output of "sh call app voice <app name>".

Please make sure there are no errors in your script.


Hi Raghavendra,

I can not see any errors in application itself as gateway loads the script successfully.

Logs attached as requested.



Thanks for sharing logs. From the logs looks like 402 is your incoming dial-peer and 404 is out going dial peer, did you apply script under 404 dial peer ?



Hi Raghavendra,

Yes, you are right. 402 Incoming dial peer and 404 as outbound dial peer.

Service is applied to 404 dial peer.

dial-peer voice 404 voip

description Used for Switch leg SIP Direct

preference 1

service outboundtcl out-bound

max-conn 225

destination-pattern xxxxxxxxxxx

session protocol sipv2

session target ipv4:x.x.x.x

session transport tcp

voice-class codec 1

dtmf-relay rtp-nte

no vad

Thanks for the confirmation, which IOS version you are running.



Its ASR 1001

System image file is "bootflash:asr1001-universalk9.03.13.00.S.154-3.S-ext.bin"

looks like you have enabled WSAPI, not sure if TCL IVR will work  with WSAPI .Let me check and get back to you.



Cisco Employee
Cisco Employee

Can you please remove the service then turn Tcl debug re-apply


  service servicename flash:outboundtcl.tcl

at this time monitor if there is any error

It does load successfully.

Nov 24 16:08:31.940: //-1//HIFS:/hifs_ifs_cb: hifs ifs file read succeeded. size=1522, url=flash:outboundtcl.tcl

Nov 24 16:08:31.940: //-1//HIFS:/hifs_free_idata: hifs_free_idata: 0x7FE1641D7050

Nov 24 16:08:31.940: //-1//HIFS:/hifs_hold_idata: hifs_hold_idata: 0x7FE1641D7050

Nov 24 16:08:31.940: //-1//AFW_:EE7FE15671A910000:/Tcl_Link: Linking script outboundtcl

Nov 24 16:08:31.941: //-1//TCL :EE7FE15671A910000:/tcl_PutsObjCmd: INFO: ***** In Init: start

Nov 24 16:08:31.941:

Nov 24 16:08:31.941: //-1//TCL :EE7FE15671A910000:/tcl_FSMObjCmd:  fsm define StateMachine CALLINIT

Nov 24 16:08:31.941: //-1//TCL :EE7FE15671A910000:/tcl_FSMDefineObjCmd: State Machine: Array StateMachine: Start State: CALLINIT

Nov 24 16:08:31.941: //-1//TCL :EE7FE15671A910000:/tcl_FSMDefineObjCmd: FSM Data structure

Nov 24 16:08:31.941: (any_state(0), ev_setup_done(250)--(CallSetupDone)-->(any_state(0))

Nov 24 16:08:31.941: (CALLINIT(1), ev_handoff(26)--(CallSetup)-->(any_state(0))

Nov 24 16:08:31.941: (any_state(0), ev_disconnected(22)--(Disconnect)-->(any_state(0))

Nov 24 16:08:31.941: FSM start state CALLINIT(1)

Nov 24 16:08:31.941: //-1//AFW_:EE7FE15671A910000:/Tcl_Link: Script outboundtcl succesfully linked.

Cisco Employee
Cisco Employee

Is there a reason you use out-bound dial-peer ? The call setup you have you can do it incoming as well

Can you please show related IOS config ? dial-peers ...ect.

Hi Ashish,

Can you please try to apply script under incoming dial peer and see whether script got triggered. just to confirm your using wsapi as well right.



Hi Raghavendra,

Yes, if apply TCL script on inbound dial peer it does get triggered and works fine. I can confirm that we have WSAPI configured on the router.

Yawchen: There is no real purpose of this script, we are just type testing this router and created script to test TCL feature.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Recognize Your Peers