Dear list, I am trying perl esl by this link http://wiki.freeswitch.org/wiki/Perl_ESL my dialplan is <extension name="ivrd-example1"> <condition field="destination_number" expression="^99$"> <action application="log" data="INFO Let's do some ivrd, shall we?"/> <action application="set" data="ivr_path=/usr/local/freeswitch/conf/ ivr1.pl"/> <action application="socket" data="127.0.0.1:9090 full"/> </condition> </extension> when i call to the freeswitch box it reads the ivr file and hangs up the call and even doesn't print the line "Starting ivrd-hello_world.pl...\n\n" as written in ivr1.pl 2010-07-19 11:43:35.352121 [INFO] mod_dptools.c:984 Let's do some ivrd, shall we? EXECUTE sofia/external/5555@74.55.234.106set(ivr_path=/usr/local/freeswitch/scripts/ ivr1.pl) 2010-07-19 11:43:35.352121 [DEBUG] mod_dptools.c:854 sofia/external/ 5555@74.55.234.106 SET [ivr_path]=[/usr/local/freeswitch/scripts/ivr1.pl] EXECUTE sofia/external/5555@74.55.234.106 socket(127.0.0.1:9090 full) 2010-07-19 11:43:35.360110 [NOTICE] switch_core_state_machine.c:185 sofia/external/5555@74.55.234.106 has executed the last dialplan instruction, hanging up. 2010-07-19 11:43:35.360110 [DEBUG] switch_channel.c:2261 (sofia/external/ 5555@74.55.234.106) Callstate Change RINGING -> HANGUP my ivr1.pl is #!/usr/bin/perl # # ivrd-hello_world.pl # # Launched from FreeSWITCH using socket app and ${ivr_path} variable # use strict; use warnings; # Use lib is easy, but you can also install your ESL.pm and esl/perl/ESL/* into site_perl use lib '/root/freeswitch/libs/esl/perl'; use ESL::IVR $| = 1; # Turn off buffering select STDERR; # We'll take this stream, thanks print "Starting ivrd-hello_world.pl...\n\n"; ## Set the root dir for sound files my $sound_root = '/usr/local/freeswitch/sounds/en/us/callie'; ## Create the connection object which is basically an IVR my $con = new ESL::IVR; ## Get this channel's uuid and dialed number my $uuid = $con->{_uuid}; my $dest = $con->getVar('destination_number'}; ## Answer call, sleep for half second to let media get up and running $con->execute('answer','',$uuid); $con->execute('sleep','500'); ## Play a simple greeting $con->playback('/usr/local/freeswitch/sounds/en/us/callie/ivr/8000/ivr-welcome_to_freeswitch.wav'); ## Tell the call what he/she dialed $con->execute('sleep','500'); $con->execute('say', "en number iterated $dest"); ## Politely disconnect $con->execute('sleep','1000'); $con->playback('/usr/local/freeswitch/sounds/en/us/callie/ivr/8000/ivr-thank_you.wav'); $con->execute('sleep','500'); $con->playback('voicemail/vm-goodbye.wav'); -- Can any one suggest me from where i am going wrong.