VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Проблема с dynamic features

Проблемы Asterisk без вэб-оболочек и их решения

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

Ответить
andrew-khv
Сообщения: 14
Зарегистрирован: 29 янв 2021, 14:33

Проблема с dynamic features

Сообщение andrew-khv »

Здравствуйте.
Не могу разобраться с 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, 14:33

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

Сообщение andrew-khv »

Сейчас обратил внимание, что сервер вообще не пишет в консоль сообщения о приеме DTMF info, хотя в настройках логгера стоит:

Код: Выделить всё

console => notice,warning,error,dtmf
При этом приходящие в rtp dtmf (rfc2833),сразу отображаются.
Может что-то не так с настройками транка?
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение ded »

Это значит, что DTMF к вам приходят не в info, а в rfc2833
andrew-khv
Сообщения: 14
Зарегистрирован: 29 янв 2021, 14:33

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

Сообщение andrew-khv »

Немного не понял. Логгер отображает только dtmf в rfc2833?
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение ded »

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

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

Сообщение andrew-khv »

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

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

Сообщение andrew-khv »

И нет, транскодить 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)
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение ded »

Синтаксис апликации

Код: Выделить всё

 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?
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH