提交 bf093e9d authored 作者: Brian West's avatar Brian West

Dispatch will call you on register, and call you back if you hangup on next register

上级 8ce6198b
......@@ -2,7 +2,11 @@
use ESL::Dispatch;
use Data::Dumper;
my $daemon = init ESL::Dispatch({});
my $calls;
# Debug Yo!
#ESL::eslSetLogLevel(7);
$| = 1;
......@@ -11,23 +15,34 @@ sub worker {
print "I'm a worker\n";
}
sub heartbeat {
sub register {
my $self = shift;
my $event = shift;
print Dumper $event;
my $esl = $self->{_esl};
my $contact = $event->{contact};
my $profile = $event->{'profile-name'};
my $callid = $event->{'call-id'};
return if $call->{$callid};
$contact =~ s/.*\<(.*)\>.*/{my_call_id=$callid}sofia\/$profile\/$1/;
$esl->api('bgapi', "originate $contact &echo");
print "Adding $callid to calls hash\n";
$call->{$callid} = 1;
}
sub channel_hangup {
my $self = shift;
my $event = shift;
print Dumper $event;
print "DO SQL GOODIES HERE!\n";
my $callid = $event->{variable_my_call_id};
print "Removing $callid from calls hash\n";
delete $call->{$callid};
}
$0 = "ESL::Dispatch rocks!";
$daemon->set_worker(\&worker, 2000);
$daemon->set_callback("heartbeat", \&heartbeat);
$daemon->set_callback("custom", \&register, 'sofia::register');
$daemon->set_callback("channel_hangup", \&channel_hangup);
$daemon->run;
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论