Hi, I am a new user and want to create an application to play a message using mod_tts (cepstral) like we have a meeting on Monday at 9 are you available, if yes press 1 and no then press 2 then record the key pressed in a variable or store it in the database. but when i originate call the call hangup after speak, but i need to make call continue so the caller press the key and then call hangup. now what i do, can i make it simple or make an IVR for it. i searched alot but not manage to get the solution. so far i get the digit pressed using $digit = getHeader("DTMF-Digit"); but i need to control the call to park it after playing the message till called press the digit. my code is as: <?php require_once('ESL.php'); $host_name = 'localhost'; $port = '8021'; $password = 'ClueCon'; $esl = new ESLconnection($host_name,$port,$password); $e = $esl->sendRecv("api create_uuid"); $uuid = $e->getBody(); $user = '1500'; $cmd1 = "bgapi originate {origination_uuid=$uuid}user/$user &speak('cepstral|william|Hi, we have a meeting on Monday at nine, are you joining us, if yes then press one and if not press two')"; $e = $esl->sendRecv($cmd1); $e = $esl->sendRecv("events plain all"); $e = $esl->filter("Unique-ID",$uuid); while ($esl->connected()) { $e = $esl->recvEvent(); $result = $e->getType(); if($result=='CHANNEL_EXECUTE_COMPLETE') { // what i do here...! $esl->execute("&sleep",10000); } $digit = $e->getHeader("DTMF-Digit"); $state_no = $e->getHeader("Channel-State-Number"); $curr_uuid = $e->getHeader("Channel-Call-UUID"); /* $ans_state = $e->getHeader("Answer-State"); $state_no = $e->getHeader("Channel-State-Number"); $core_id = $e->getHeader("Core-UUID"); */ if($curr_uuid==$uuid && $digit!=NULL) { print "input number is " . $digit . "\n"; } $state = $e->getHeader("Channel-Call-State"); if ($state == 'HANGUP') { print "\n\nHangup Cause Number: " . $state_no; $esl->disconnect(); } } ?> please help me to solve the problem Regards Shahzad Bhatti