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

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

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

ответил 2013-06-05 10:43:28 +0400

meral Gravatar meral flag of Ukraine

http://pro-sip.net/

эта пробелма не имеет простого решения.

сложное решение - слушаеть евенты астриска и при окончании перевода(кажися по link) запускать chanspy на отдельном канале чтоб сказать абонентам что перевод завершен.

Укровень решения - експерт/guru.

эта пробелма не имеет простого решения.

сложное решение - слушаеть евенты астриска и при окончании перевода(кажися по link) запускать chanspy на отдельном канале чтоб сказать абонентам что перевод завершен.

Укровень Уровень решения - експерт/guru.

эта пробелма не имеет простого решения.

сложное решение - слушаеть евенты астриска и при окончании перевода(кажися по link) запускать chanspy на отдельном канале чтоб сказать абонентам что перевод завершен.

Уровень решения - експерт/guru.експерт/guru.1

выглядит както вот так

sub save_transfer {
   my ($ami, $event) = @_;
   if($event->{'TransferMethod'} eq "SIP"){
           my $chan=$event->{'TargetChannel'};
           print "Detected transfer $chan\n";
           $transfer{$chan}=1;
   }else{
        print 'transfer ',Dumper($event),"\r\n";
   }
}

sub save_masquerade {
   my ($ami, $event) = @_;
   my $chan=$event->{'Original'};
   if(exists $transfer{$chan}){# we have such transfer
        my $new=$event->{'Clone'};
        print "Detected masquerade $chan $new \n";
        delete($transfer{$chan});
        $masq{$new}=$chan;
   }

}

sub do_hold_end {
  my ($ami, $event) = @_; 
  if($event->{'State'} eq "Stop"){
        #print "Detected moh stop \n";
        my $chan=$event->{'Channel'};
        if(exists $masq{$chan}){
                print "Detected moh stop on $chan \n";
                $ami->send_action({  Action => 'Originate',
                                        Channel=> 'Local/s@custom-play-spy',
                                        Application => 'Playback',
                                        Data => $sound_file,
                                        Variable => "chan=$chan",
                                        Async => 1

                                },sub { return }, 7);
                delete($masq{$chan});
        }else{  
                print "detected MOH stop,but no transfer recorded\n";#,Dumper($event);
        }
  }else{

  }
}

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