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
br...@freeswitch.org

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




_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org

Reply via email to