<div dir="ltr"><div><div><div><div><div>Hi,<br></div><div><br>This works for me with PHP and outbound socket.<br><br></div>Dialplan: *** sends connection to IP A.B.C.D port 8084<br><br><extension name="test"><br>
<condition field="destination_number" expression="^\*\*\*$"><br> <action application="socket" data="A.B.C.D:8084"/><br> </condition><br></extension><br>
<br></div>xinetd picks up the connection and sends to the script. xinetd config is:<br><br><b>service unlisted<br>{<br> user = whoever<br> disable = no<br> type = UNLISTED<br>
socket_type = stream<br> protocol = tcp<br> wait = no<br> server = /home/test/test.php<br> port = 8084<br> server_args = HOST<br>
}<br><br></b></div>The php script picks it up from there<br><br>#!/usr/bin/php<br><?php<br>require_once('ESL.php');<br><br>$esl = new ESLconnection(0);<br><br>$ans= $esl->execute('answer');<br><br>$subscribe = $esl->sendRecv('myevents');<br>
$subscribe = $esl->sendRecv('linger'); # Without this the channel closes before we receive the events<br>$res = $esl->execute('sleep', '1000');<br><br>$context = $esl->getInfo()->getHeader('Caller-Context');<br>
$curr_user = $esl->getInfo()->getHeader('variable_sip_from_user');<br>$curr_host = $esl->getInfo()->getHeader('variable_sip_from_host');<br><br>///etc etc.<br><br></div>Hope that helps<br><br></div>
Mike<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 10, 2013 at 11:23 AM, Milos Jovanovic <span dir="ltr"><<a href="mailto:development.milos@gmail.com" target="_blank">development.milos@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br><br>I am trying to create PHP application that will be receiving information about each call from freeswitch and send commands to control freeswitch.<br>
<br>I found an example at <a href="https://wiki.freeswitch.org/wiki/PHP_ESL#ivrd" target="_blank">https://wiki.freeswitch.org/wiki/PHP_ESL#ivrd</a> BUT unfortunately they do not explain how I can retrieve information from freeswitch (so I can do the routing in PHP).<br>
<br>I guess I should use PHP ESL but the documentation is pretty bad so if someone has some working example, I'd appreciate it.<br><br>I tried to read from stdin this way:<br><br><br><i>#!/usr/bin/php -q<br><br><?php<br>
<br>// set a couple of things so we dont kill the system<br>ob_implicit_flush(true);<br>set_time_limit(30);<br><br>// Open stdin so we can read the data in<br>$in = fopen("php://stdin", "r");<br><br>// Connect<br>
echo "connect\n\n";<br><br>// READ DATA<br>$text = fgets($in);<br>file_put_contents('/usr/local/freeswitch/scripts/socketlog.txt' ,$text, FILE_APPEND);<br><br>// Answer<br>echo "sendmsg\n";<br>
echo "call-command: execute\n";<br>echo "execute-app-name: answer\n\n";<br><br>// Play a prompt<br>echo "sendmsg\n";<br>echo "call-command: execute\n";<br>echo "execute-app-name: playback\n";<br>
echo "execute-app-arg: /usr/local/freeswitch/sounds/en/us/callie/ivr/8000/ivr-welcome_to_freeswitch.wav\n\n";<br><br>// Wait<br>sleep(5);<br><br>// Hangup<br>echo "sendmsg\n";<br>echo "call-command: hangup\n\n";<br>
<br>fclose($in);<br><br>?></i><br><br><b>Unfortunately, everything I get as a result in my log file is:</b><br><br><i>Event-Name: CHANNEL_DATA</i><br><br>
<br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br></div>