Подскажите пожалуйста, как можно сделать так, чтобы при переводе внешнего звонка через *2, когда абонент "А" передал информацию о звонке абоненту "Б" и перевел внешний звонок на абонента "Б", этот абонент "Б" слышал бы в линии любое уведомление (например короткий сигнал или голосовое уведомление) о том, что он уже соединился с внешним абонентом, а не разговаривает еще с внутренним. Наверно запутанно написал... а то сейчас при переводе звонка внимательно слушаешь линию и после того как слышишь ухудшение связи - понимаешь что на тебя уже переключили. Использую freepbx 2.10
**P.S. вопрос решил с помощью xfersound=beep в features_general_custom.conf**
эта пробелма не имеет простого решения.
сложное решение - слушаеть евенты астриска и при окончании перевода(кажися по link) запускать chanspy на отдельном канале чтоб сказать абонентам что перевод завершен.
Уровень решения - експерт/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{
}
}
Задан: 2013-06-05 10:08:34 +0400
Просмотрен: 380 раз
Обновлен: Jun 05 '13
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
м. проверьте с помощью тарнсфер кнопки телефона, удивитесь.
meral ( 2013-06-05 12:09:39 +0400 )редактироватьа я про кнопку телефона изначально написал, что перевод через *2
sorgchik ( 2013-06-05 12:20:58 +0400 )редактировать