Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2015-02-21 13:22:17 +0400

andy2108 Gravatar andy2108

perl Asterisk::AMI вопрос по OriginateResponse

Hello!

Подскажите плз, пробую использовать perl'овый модуль Asterisk::AMI. Почему-то не обрабатывается event handler для OriginateResponse.

Делаю так, как в примере

#!/usr/bin/perl -w

use strict;
use EV;
use Asterisk::AMI;
use warnings;

        #Create your connection
        my $astman = Asterisk::AMI->new(PeerAddr => '10.100.100.100',
                                        PeerPort => '5038',
                                        Username => 'zzzzz',
                                        Secret => 'zzzzz',
                                        Events => 'call',
                                        Handlers => { OriginateResponse => \&OriginateRespEH });

        die "Unable to connect to asterisk" unless ($astman);

        #Define the subroutines for events

        sub OriginateRespEH  { my ($ami, $event) = @_;
                                print "Got Event: $event->{'Event'} \r\n";
                             }

        EV::run

потом из telnet 10.100.100.100 5038 генерю Originate. И вот, если Originate идет с ActionId, то OriginateRespEH не срабатывает, а если без ActionId, то срабатывает.

Подскажите плз, что я не так делаю?

Вообще этот Asterisk::AMI с 2011 не апдейтился, он еще поддерживается кем-то? Или есть какие-нить альтернативы под perl?

Заранее спасибо!

perl Asterisk::AMI вопрос по OriginateResponse

Hello!

Подскажите плз, пробую использовать perl'овый модуль Asterisk::AMI. Почему-то не обрабатывается event handler для OriginateResponse.OriginateResponse в зависимости от ActionId.

Делаю так, как в примере

#!/usr/bin/perl -w

use strict;
use EV;
use Asterisk::AMI;
use warnings;

        #Create your connection
        my $astman = Asterisk::AMI->new(PeerAddr => '10.100.100.100',
                                        PeerPort => '5038',
                                        Username => 'zzzzz',
                                        Secret => 'zzzzz',
                                        Events => 'call',
                                        Handlers => { OriginateResponse => \&OriginateRespEH });

        die "Unable to connect to asterisk" unless ($astman);

        #Define the subroutines for events

        sub OriginateRespEH  { my ($ami, $event) = @_;
                                print "Got Event: $event->{'Event'} \r\n";
                             }

        EV::run

потом из telnet 10.100.100.100 5038 генерю Originate. И вот, если Originate идет с ActionId, то OriginateRespEH не срабатывает, а если без ActionId, то срабатывает.

Подскажите плз, что я не так делаю?

Вообще этот Asterisk::AMI с 2011 не апдейтился, он еще поддерживается кем-то? Или есть какие-нить альтернативы под perl?

Заранее спасибо!

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.