Страница 1 из 1

AMI

Добавлено: 31 май 2012, 08:37
KrLL
Коллеги, подскажите.
Есть ПО, которое через АMI совершает одновременно несколько вызовов по транку H323.
Как отследить результат звонков и количество свободных слотов в транке?

Re: AMI

Добавлено: 31 май 2012, 08:43
KrLL
Кусок кода, который совершает один вызов.
А как отследить состояние транка, и при наличии свободных слотов сделать еще один вызов?

===============================================================
$astman = Asterisk::AMI->new(PeerAddr => '127.0.0.1',
PeerPort => '5038',
Username => 'user',
Secret => 'user',
Events => 'on',
Handlers => {Hangup => \&do_HangUP}
);
$response = $astman->send_action({Action => 'Originate',
Channel => 'H323/avaya/555555',
Context => 'dial',
ActionID => 34234234234234,
CallerID => 111111,
Priority => 1,
Async => 1});
$astman->loop();

sub do_HangUP {
print Dumper(@_);
}
===========================================

Re: AMI

Добавлено: 31 май 2012, 12:42
Aven
Так делать не стоит. При высокой нагрузке Asterisk перестает отвечать на консольные запросы.
Правильно делать обработчик в самом диалплане.