forked from Mirrors/freeswitch
8d8609ab56
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14001 d0543943-73ff-0310-b7d9-9358b9ac24b2
50 lines
866 B
Perl
Executable File
50 lines
866 B
Perl
Executable File
#!/usr/bin/perl
|
|
use FreeSWITCH::Client;
|
|
use Data::Dumper;
|
|
|
|
my $fs = init FreeSWITCH::Client {} or die "Error $@";
|
|
my $pid;
|
|
|
|
for (;;) {
|
|
$fs->accept();
|
|
|
|
if (!($pid = fork)) {
|
|
last;
|
|
}
|
|
}
|
|
|
|
my $data = $fs->call_data();
|
|
|
|
#print Dumper $data
|
|
print "Call: $data->{'caller-channel-name'} $data->{'unique-id'}\n";
|
|
|
|
|
|
$o = $fs->call_command("answer");
|
|
#to turn on events when in async mode
|
|
$o = $fs->raw_command("myevents");
|
|
$o = $fs->call_command("playback", "/ram/swimp.raw");
|
|
|
|
|
|
#comment exit in async mode
|
|
#exit;
|
|
|
|
while(my $r = $fs->readhash(undef)) {
|
|
if ($r->{socketerror}) {
|
|
last;
|
|
}
|
|
|
|
if ($r->{has_event}) {
|
|
print Dumper $r->{event};
|
|
}
|
|
if ($r->{event}->{'event-name'} !~ /execute/i) {
|
|
printf "uuid: $data->{'unique-id'}\n";
|
|
$o = $fs->call_command("break");
|
|
$o = $fs->call_command("hangup");
|
|
}
|
|
}
|
|
|
|
$fs->disconnect();
|
|
print "done\n";
|
|
|
|
|