Hello,

I am trying to create PHP application that will be receiving information about each call from freeswitch and send commands to control freeswitch.

I found an example at https://wiki.freeswitch.org/wiki/PHP_ESL#ivrd  BUT unfortunately they do not explain how I can retrieve information from freeswitch (so I can do the routing in PHP).

I guess I should use PHP ESL but the documentation is pretty bad so if someone has some working example, I'd appreciate it.

I tried to read from stdin this way:


#!/usr/bin/php -q

<?php

// set a couple of things so we dont kill the system
ob_implicit_flush(true);
set_time_limit(30);

// Open stdin so we can read the data in
$in = fopen("php://stdin", "r");

// Connect
echo "connect\n\n";

// READ DATA
$text = fgets($in);
file_put_contents('/usr/local/freeswitch/scripts/socketlog.txt' ,$text, FILE_APPEND);

// Answer
echo "sendmsg\n";
echo "call-command: execute\n";
echo "execute-app-name: answer\n\n";

// Play a prompt
echo "sendmsg\n";
echo "call-command: execute\n";
echo "execute-app-name: playback\n";
echo "execute-app-arg: /usr/local/freeswitch/sounds/en/us/callie/ivr/8000/ivr-welcome_to_freeswitch.wav\n\n";

// Wait
sleep(5);

// Hangup
echo "sendmsg\n";
echo "call-command: hangup\n\n";

fclose($in);

?>


Unfortunately, everything I get as a result in my log file is:

Event-Name: CHANNEL_DATA