[Freeswitch-users] Re-2: Ruby and ESL help

Brian West brian at freeswitch.org
Sun May 3 14:06:36 PDT 2009


This is how we do it in perl with ESL... it should be very similar in  
Ruby. You shouldn't have to manually use sendmsg if you tie the fd  
from the socket to ESL like we do in perl.

/b


require ESL;
use IO::Socket::INET;

my $ip = "127.0.0.1";
my $sock = new IO::Socket::INET ( LocalHost => $ip,  LocalPort =>  
'8040',  Proto => 'tcp',  Listen => 1,  Reuse => 1 );
die "Could not create socket: $!\n" unless $sock;

for(;;) {
   my $new_sock = $sock->accept();
   my $pid = fork();
   if ($pid) {
     close($new_sock);
     next;
   }

   my $host = $new_sock->sockhost();
   my $fd = fileno($new_sock);

   my $con = new ESL::ESLconnection($fd);
   my $info = $con->getInfo();

   print $info->serialize();

   my $uuid = $info->getHeader("unique-id");

   $con->execute("answer", "", $uuid);
   $con->execute("playback", "/ram/swimp.raw", $uuid);

   close($new_sock);
}



On May 3, 2009, at 4:00 PM, Diego Viola wrote:

> Yep, it works Guido.
>
> require 'socket'
>
> server = TCPServer.new(8084)
> loop do
>        con = server.accept
>        con.puts "connect\n\n"
>        con.puts "sendmsg\ncall-command: execute\nexecute-app-name:  
> answer\n\n"
>        con.puts "sendmsg\ncall-command: execute\nexecute-app-name:
> playback\nexecute-app-arg: tone_stream://%(10000,0,350,440)\n\n"
> end
>
> Thanks for the tip =D

Brian West
brian at freeswitch.org

-- Meet us at ClueCon!  http://www.cluecon.com




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20090503/ac0d2373/attachment-0002.html 


More information about the FreeSWITCH-users mailing list