<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:courier,monaco,monospace,sans-serif;font-size:12pt">We do have mod_event_socket's "socket" app which is similar to the network<br>based fast-agi (FAGI).&nbsp; This application makes an outbound tcp connection to<br>the specified ip:port and the other end can control the call in similar ways to an agi only the dialect is much different and it supports async operations e.g. telling the call to play foo.wav and getting an immediate return to listen for dtmf as the file plays rather than block till the file is over.<br><br>there is an example perl script in tree:<br><br>"scripts/socket/sock.pl"<br><br>The data syntax from the dialplan is<br>&lt;ip&gt;:&lt;port&gt; [&lt;keywords&gt;]<br><br>keywords: <br><br>async:<br><br>The "async" keyword indicates that all commands will return instantly making <br>it possible to monitor the socket for events etc while the <br>stack of
 commands are executing.<br><br>If the async keyword is absent then all calls will block until the<br>command has finished.<br><br>full:<br><br>The "full" keyword indicates that the other end will have the full command<br>set for event_socket this is the same command set an inbound connection to<br>event_socket has so you can execute api commands, get global events etc.<br><br>If the "full" keyword is absent the command set and events are limited<br>to that paticular call<br><br>Here are examples of how to use it in the dialplan.<br><br>&lt;action application="socket" data="127.0.0.1:8084"/&gt;<br>
&lt;action application="socket" data="127.0.0.1:8084 async"/&gt;<br>&lt;action application="socket" data="127.0.0.1:8084 full"/&gt;<br>
&lt;action application="socket" data="127.0.0.1:8084 async full"/&gt;<br>
<br><br>I think if wasim's angel want's to implement it a good idea<br>is to write it as a separate application and use this interface<br>to control the call then let the forked processes in the remote<br>application provide the AGI emulation.<br><br>We have someone working on a C library to use as an event socket library also.<br>but in the meantime there is also a crude C example with no client library but just inline commands in "scripts/socket/socket2me" this small C program demonstrates how you can use the interface to not only control the call but to also request a 2 way media stream and process the data.&nbsp; This application uses spandsp to implement a fax send/recv similar to asterisk's rxfax txfax only over the loopback interface.<br><br><br><br>/me hopes somone makes a wiki page out of this info =D<br><br><br><br><br><div>&nbsp;</div><div>Anthony Minessale II<br><br><span>FreeSWITCH <a target="_blank"
 href="http://www.freeswitch.org/">http://www.freeswitch.org/</a></span><br><span>ClueCon <a target="_blank" href="http://www.cluecon.com/">http://www.cluecon.com/</a></span><br><br>AIM: anthm<br>MSN:anthony_minessale@hotmail.com<br>JABBER:anthony.minessale@gmail.com<br>IRC: irc.freenode.net #freeswitch</div><div><br>FreeSWITCH Developer Conference<br>sip:888@conference.freeswitch.org<br>iax:guest@conference.freeswitch.org/888<br>googletalk:conf+888@conference.freeswitch.org<br>pstn:213-799-1400</div><div style="font-family: courier,monaco,monospace,sans-serif; font-size: 12pt;"><br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">----- Original Message ----<br>From: Wasim Baig &lt;wasim@convergence.pk&gt;<br>To: freeswitch-users@lists.freeswitch.org<br>Sent: Thursday, May 24, 2007 7:13:24 AM<br>Subject: Re: [Freeswitch-users] Does FS handle remote NATed phones?<br><br>On 5/24/07, <b class="gmail_sendername">Fred</b> &lt;<a rel="nofollow"
 target="_blank" href="mailto:codecomplete@free.fr">codecomplete@free.fr</a>&gt; wrote:<div><span class="gmail_quote"></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hopefully, the AGI interface works the same, so that existing scripts will<br>still work in FS.</blockquote><div><br>nope, not as yet, but i'm convincing an angel to write up a mod_agi that would allow using most if not all of the AGI functions in
freeswitch (atleast SetVar and GetVar, if not Dial)<br>
<br>
imho thats one of the main bottlenecks for people who have existing
asterisk deployments on AGI from switching to FS, lets see if we can
get some good news on this shortly<br>
<br></div></div>-- <br>wasim h. baig | principal consultant | convergence pk | +92 300 8508070
<div>_______________________________________________<br>Freeswitch-users mailing list<br>Freeswitch-users@lists.freeswitch.org<br><a target="_blank" href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>UNSUBSCRIBE:<a target="_blank" href="http://lists.freeswitch.org/mailman/options/freeswitch-users">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br><a target="_blank" href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></div></div><br></div></div><br>
      <hr size=1>Ready for the edge of your seat? 
<a href="http://us.rd.yahoo.com/evt=48220/*http://tv.yahoo.com/">Check out tonight's top picks</a> on Yahoo! TV. 

</body></html>