Страница 1 из 1

SMG1016M DTMF

Добавлено: 05 дек 2016 12:47
AlexeyMish
Коллеги, добрый день.
Ситуация следующая, SMG1016M используется как шлюз между потоками PRI и SIP PBX.
По какой то причине символ "#" поступающий через поток, на PBX уходит в виде "11".
Насколько корректно такое поведение?
Способ передачи DTMF в исходящее плечо "INFO" .

Программное обеспечение:
Версия ПО V.3.5.1.1736 M Build: Apr 11 2016 08:29:40
Версия SIP-адаптера 3.5.1.2

Пробовал провести эксперимент, входящее плечо SIP способ передачи DTMF "RFC2833", исходящее плечо SIP, способ передачи DTMF "INFO". Картина такая же, во входящем плече "#", в исходящем "11".
При этом в логах:
16:24:01.695615 [INFO] Conn[101b]: Signal [c]. DTMF-mode [rfc2833]. Dir IP. Detect-mode [rfc2833]. Port SIPT:0133
16:24:01.695799 [INFO] Port SIPT:0133. IP-conn InDigit from <RTP> [12]
16:24:01.695909 [INFO] Port SIPT:0133. InDigit '#'
16:24:01.696003 [INFO] Conn[101b]: Digit [c] DTMF-MODE[rfc2833]
16:24:01.696099 [INFO] Conn[101b]: Remote event 'DTMF digit A' <RFC2833(AAL)>
16:24:01.765331 [INFO] Conn[3033]: Detect signal <DTMF digit #> (level 17 dBov ~= 11 dBm0). Timestamp 498797802 (G711A)
16:24:01.898084 [INFO] Conn[501e]: Detect remote signal <DTMF digit 2> (level 9 dBov). Timestamp 4269819640 (G711A)
16:24:01.936597 [INFO] Conn[1012]: Detect signal <DTMF digit 2> (level 9 dBov ~= 2 dBm0). Timestamp 469531903 (G711A)
16:24:02.065332 [INFO] Conn[3033]: End of signal <DTMF digit #>, duration 305 ms. Timestamp 498798107. DTMF-mode[2]
16:24:02.065535 [INFO] Conn[3033]: Signal [c]. DTMF-mode [sip-info]. Dir TDM. Detect-mode [inband]. Port SIPT:069e
16:24:02.065649 [INFO] Port SIPT:069e. IP-conn InDigit from <TDM> [12]
16:24:02.065768 [INFO] SIP. Callref 069e. Tx DTMF signal [12]
16:24:02.066031 [INFO] SIP. TX. Callref 069e. DTMFsignal
## DTMFsignal: <11>


В приложенном дампе данные только по порту сигнализации, по этой причине DTMF входящего плеча не видно. При необходимости могу приложить полный дамп входящего плеча, но без исходящего. Полного дампа одновременно входящего и исходящего плеча к сожалению не сделано.

Re: SMG1016M DTMF

Добавлено: 05 дек 2016 14:48
Dmitriy_eltex
Здравствуйте.

Что вы имеете в виду под 11?
Может быть в логе отображается не цифра, а volume, т.е. уровень DTMF сигнала.

Полного дампа одновременно входящего и исходящего плеча к сожалению не сделано.

А есть ли возможность сделать?
Чтобы разобраться пришлите на techsupp@eltex.nsk.ru 3 файла:
1) конфигурацию SMG
2) полный лог звонка с донабором # pbx_pstn(все уровни 1);
3) ТСР дамп звонка с донабором # с интерфейса any.
2 и 3 логи желательно снимать одновременно.

Re: SMG1016M DTMF

Добавлено: 05 дек 2016 16:56
Bokrenok
AlexeyMish писал(а):Способ передачи DTMF в исходящее плечо "INFO" .


а в самом сообщении SIP-INFO что передается в итоге?
подозреваю, что "## DTMFsignal: <11> " это внутренний идентификатор, который потом будет заменен на корректный символ "#"

Re: SMG1016M DTMF

Добавлено: 05 дек 2016 18:51
AlexeyMish
В логе видно, что "9" передалось как "9", а вместо "#" две единицы.
Ну и на самой станции у меня колцентр, там явно видно, как он воспринимает в ivr нажатие решетки (как две единицы).
По ссылке запрошенные файлы. Смотреть звонок с номера "2215804"
https://yadi.sk/d/xuaxbIk_32Gfi3
PS при звонках через потоки PRI картина аналогичная. Приходят две единички.

Re: SMG1016M DTMF

Добавлено: 06 дек 2016 10:08
Dmitriy_eltex
Здравствуйте.

Посмотрел вашу конфигурацию и дамп.
В настройках SIP интерфейса "SIP-interface_INF9" в опции "DTMF MIME Type" установлено "application/dtmf".
Попробуйте установить "application/dtmf-relay", проблема должна уйти.

Вот описание опции из документации:
DTMF MIME Type – тип нагрузки, используемый для передачи DTMF в пакетах INFO протокола SIP:
– application/dtmf-relay – в пакетах INFO application/dtmf-relay протокола SIP (* и #
передаются как символы * и #);
– application/dtmf – в пакетах INFO application/dtmf протокола SIP (* и # передаются как
числа 10 и 11).

Re: SMG1016M DTMF

Добавлено: 06 дек 2016 12:07
Bokrenok
В дополнение к тому, что написал Дмитрий и отвечая на вопрос
AlexeyMish писал(а):По какой то причине символ "#" поступающий через поток, на PBX уходит в виде "11".
Насколько корректно такое поведение?


скажу, что поведение корректное.
согласно RFC2833 именно так и должен кодироваться этот символ:

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

 Event  encoding (decimal)
 _________________________
 0--9                0--9
 *                     10
 #                     11
 A--D              12--15
 Flash                 16


Re: SMG1016M DTMF

Добавлено: 06 дек 2016 12:21
AlexeyMish
Спасибо за оперативный ответ.
Вот описание опции из документации

Мне стыдно, написал сюда не изучив в документацию.

Re: SMG1016M DTMF

Добавлено: 08 дек 2016 18:59
Fluke
AlexeyMish писал(а):Коллеги, добрый день.
Ситуация следующая, SMG1016M используется как шлюз между потоками PRI и SIP PBX.
По какой то причине символ "#" поступающий через поток, на PBX уходит в виде "11".
Насколько корректно такое поведение?
Способ передачи DTMF в исходящее плечо "INFO" .

Программное обеспечение:
Версия ПО V.3.5.1.1736 M Build: Apr 11 2016 08:29:40
Версия SIP-адаптера 3.5.1.2

Пробовал провести эксперимент, входящее плечо SIP способ передачи DTMF "RFC2833", исходящее плечо SIP, способ передачи DTMF "INFO". Картина такая же, во входящем плече "#", в исходящем "11".
При этом в логах:
16:24:01.695615 [INFO] Conn[101b]: Signal [c]. DTMF-mode [rfc2833]. Dir IP. Detect-mode [rfc2833]. Port SIPT:0133
16:24:01.695799 [INFO] Port SIPT:0133. IP-conn InDigit from <RTP> [12]
16:24:01.695909 [INFO] Port SIPT:0133. InDigit '#'
16:24:01.696003 [INFO] Conn[101b]: Digit [c] DTMF-MODE[rfc2833]
16:24:01.696099 [INFO] Conn[101b]: Remote event 'DTMF digit A' <RFC2833(AAL)>
16:24:01.765331 [INFO] Conn[3033]: Detect signal <DTMF digit #> (level 17 dBov ~= 11 dBm0). Timestamp 498797802 (G711A)
16:24:01.898084 [INFO] Conn[501e]: Detect remote signal <DTMF digit 2> (level 9 dBov). Timestamp 4269819640 (G711A)
16:24:01.936597 [INFO] Conn[1012]: Detect signal <DTMF digit 2> (level 9 dBov ~= 2 dBm0). Timestamp 469531903 (G711A)
16:24:02.065332 [INFO] Conn[3033]: End of signal <DTMF digit #>, duration 305 ms. Timestamp 498798107. DTMF-mode[2]
16:24:02.065535 [INFO] Conn[3033]: Signal [c]. DTMF-mode [sip-info]. Dir TDM. Detect-mode [inband]. Port SIPT:069e
16:24:02.065649 [INFO] Port SIPT:069e. IP-conn InDigit from <TDM> [12]
16:24:02.065768 [INFO] SIP. Callref 069e. Tx DTMF signal [12]
16:24:02.066031 [INFO] SIP. TX. Callref 069e. DTMFsignal
## DTMFsignal: <11>


В приложенном дампе данные только по порту сигнализации, по этой причине DTMF входящего плеча не видно. При необходимости могу приложить полный дамп входящего плеча, но без исходящего. Полного дампа одновременно входящего и исходящего плеча к сожалению не сделано.






В SIP интерфейсе зайдите во вкладку "Настройка кодеков/RTP" а там есть параметр "DTMF MIME Type". - переключите его в application/dtmf-relay