ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Проблема с dynamic features

Проблемы и их решения Asterisk как такового

Модераторы: april22, Zavr2008

Проблема с dynamic features

Сообщение andrew-khv » 31 май 2022, 22:06

Здравствуйте.
Не могу разобраться с dynamic features. Необходимо в ходе разговора обработать приходящий от одной из сторон DTMF info.
При вызове от внутреннего пира звонок должен уходить второй стороне через транк. Инициируется он с помощью AMI и при ответе уходит в dialplan (необходимо делать несколько параллельных вызовов, потому вызов делается через Originate AMI):
Код: выделить все
exten => _XXXXXXX,1,Set(__DYNAMIC_FEATURES=dtmffeature)
exten => _XXXXXXX,2,Gosub(sub-recording,${EXTEN},1)
exten => _XXXXXXX,3,Bridge(SIP/${EXTEN}-)
exten => _XXXXXXX,4,Hangup()

В файле features настроено:
Код: выделить все
[applicationmap]
dtmffeature => 1,self/callee,NoOp,test

Со стороны транка вижу приходящие SIP INFO c DTMF:
Код: выделить все
<--- SIP read from UDP:99.88.77.66:5060 --->
INFO sip:66.55.44.33:2307 SIP/2.0
Via: SIP/2.0/UDP 99.88.77.66:5060;branch=z9hG4bK227437;rport
From: <sip:110@sip.rds.com>
To: "110" <sip:siptrunk_2158048@sip.rds.com:2307>;tag=as0678f88b
CSeq: 103 INFO
Max-Forwards: 70
Call-ID: 523e57cc7fad02ba7f29c715265dac33@sip.rds.com
Content-Length: 23
Content-Type: application/dtmf-relay

Signal=1
Duration=2000
<------------->

При этом со стороны features никакой реакции.
Настройки транка:
Код: выделить все
[rds]
type=friend
qualify=no
host=sip.com
insecure=port,invite
fromdomain=sip.com
dtmfmode=info
context=rd
disallow=all
allow=alaw
allow=ulaw

Подскажите, кто настраивал feature - в такой конфигурации оно вообще должно работать?
andrew-khv
 
Сообщений: 14
Зарегистрирован: 29 янв 2021, 15:33

Re: Проблема с dynamic features

Сообщение andrew-khv » 31 май 2022, 22:10

Сейчас обратил внимание, что сервер вообще не пишет в консоль сообщения о приеме DTMF info, хотя в настройках логгера стоит:
Код: выделить все
console => notice,warning,error,dtmf

При этом приходящие в rtp dtmf (rfc2833),сразу отображаются.
Может что-то не так с настройками транка?
andrew-khv
 
Сообщений: 14
Зарегистрирован: 29 янв 2021, 15:33

Re: Проблема с dynamic features

Сообщение ded » 31 май 2022, 23:48

Это значит, что DTMF к вам приходят не в info, а в rfc2833
ded
 
Сообщений: 15801
Зарегистрирован: 26 авг 2010, 19:00

Re: Проблема с dynamic features

Сообщение andrew-khv » 01 июн 2022, 03:48

Немного не понял. Логгер отображает только dtmf в rfc2833?
andrew-khv
 
Сообщений: 14
Зарегистрирован: 29 янв 2021, 15:33

Re: Проблема с dynamic features

Сообщение ded » 01 июн 2022, 12:14

andrew-khv писал(а):При этом приходящие в rtp dtmf (rfc2833),сразу отображаются.
Может что-то не так с настройками транка?
Может я чего-то не допонял.
Вызовы к вам поступают через транк, так?
Формат dtmf может быть там или rfc2833, или в пакете SIP info, или в rtp (аудио)..
Если видите нажатия в rfc2833 в CLI, то ни в каком другом формате их не будет. Так настроено на дальнем конце транке скорее всего.
И, насколько понял, вы хотите транскодить dtmf& Прибегает из мира по транку info, а внутренний экстен посылает по rfc2833?
andrew-khv писал(а):При этом со стороны features никакой реакции.

Посмотрите выхлоп
*CLI> features show
ded
 
Сообщений: 15801
Зарегистрирован: 26 авг 2010, 19:00

Re: Проблема с dynamic features

Сообщение andrew-khv » 01 июн 2022, 16:55

Нет, вызовы поступают от внутренних клиентов на номера за транком (в обратном направлении). А dtmf посылки идут от номеров со стороны транка ( от вызываемого номера ).
DTMF в данном случае только INFO. Про rfc2833 написал как пример - сообщения в rfc от других клиентов на этом же сервере отображаются в консоли при соответствующей настройке логгера. А DTMF info со стороны указанного транка, не отображаются никак, хотя в выводе дебага для транка я их вижу.
andrew-khv
 
Сообщений: 14
Зарегистрирован: 29 янв 2021, 15:33

Re: Проблема с dynamic features

Сообщение andrew-khv » 01 июн 2022, 17:01

И нет, транскодить DTMF - такой цели нет. Хотелось бы выполнять AGI скрипт на сервере через features.
Вывод features show ничего необычного не показывает...
Код: выделить все
app1*CLI> features show
Builtin Feature           Default Current
---------------           ------- -------
Pickup                    *8      *8
Blind Transfer            #       #
Attended Transfer
One Touch Monitor
Disconnect Call           *       *
Park Call
One Touch MixMonitor

Dynamic Feature           Default Current
---------------           ------- -------
dtmffeature               no def  1

Feature Groups:
---------------
(none)
andrew-khv
 
Сообщений: 14
Зарегистрирован: 29 янв 2021, 15:33

Re: Проблема с dynamic features

Сообщение ded » 01 июн 2022, 23:41

Синтаксис апликации
Код: выделить все
Bridge(channel[,options])
options                                                                                                                                 
    p: Play a courtesy tone to <channel>.                                                                                               
    h: Allow the called party to hang up by sending the <*> DTMF digit.                                                                 
    H: Allow the calling party to hang up by pressing the <*> DTMF digit.                                                               
    k: Allow the called party to enable parking of the call by sending                                                                   
    the DTMF sequence defined for call parking in "features.conf".                                                                       
    K: Allow the calling party to enable parking of the call by sending the DTMF sequence defined for call parking in "features.conf".                                                                       
    L(x[:y][:z]): Limit the call to <x> ms. Play a warning when <y> ms are left. Repeat the warning every <z> ms.

я вот не понимаю как интерпретирировать минус у вас:
Код: выделить все
exten => _XXXXXXX,3,Bridge(SIP/${EXTEN}-)

Укажите
console => debug,notice,verbose,warning,error,dtmf

Добавьте в features в порядке эксперимента
Код: выделить все
apprecord=>*1,caller,Macro,one-touch-record
если у вас есть такой макрос. Проверьте что эта феатура видна в выводе
*CLI> features show
и сделайте звонок между двумя внутренними абонентами, где в процессе разговора пусть первый абонент нажмёт *1
Будет ли видно выполнение начала записи в CLI?
ded
 
Сообщений: 15801
Зарегистрирован: 26 авг 2010, 19:00


Вернуться в Конфигурация и настройка Asterisk

Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 28

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH