freeswitchforum.com
https://freeswitchforum.com/

playAndGetDigits не видит dtmf
https://freeswitchforum.com/viewtopic.php?f=6&t=864
Страница 1 из 1

Автор:  astashov [ 06 сен 2017 14:59 ]
Заголовок сообщения:  playAndGetDigits не видит dtmf

Здравствуйте, ребята.

Вопрос вот какой, есть у меня в диалплане использование play_and_get_digits
Цитата:
<action application="play_and_get_digits" data="1 1 1 10000 # play.file playAndGetDigitsTimeoutFile digits_key \d+"/>


И по какой то причине, он не всегда отлавливает нажатие dtmf. Вроде и dtmf в rfc стоит, и тип 101. И в ртп про это пишется.....
Причем включен dtmf_verbose и в консоле получение dtmf последовательности видно. И если забиндить событие, то в last_matching_digits опознанный номер есть.

И вопрос даже не в том, что починить или переходить на bind_digit_action, т.к. весь алгоритм все равно буду на bind_digit_action переводить со временем...
Просто сейчас расстраивает то, что не понятно почему нажатие не ловит play_and_get_digits. И если починить, то можно отложить перевод на bind_digit_action на еще какое то время....

Причем скорее всего "плохой" прием play_and_get_digits только на исходящие звонки(на некоторых шлюзах все замечательно, на некоторых только 10-го или 20-го нажатия на кнопку на телефоне. А может и вообще не увидит.). На входящие в фрисвитч dtmf определяет без проблем.
По крайней мере ошибки определения не замечены.

Спасибо всем не равнодушным за то, что поделитесь опытом.

Автор:  Vlad1983 [ 06 сен 2017 15:05 ]
Заголовок сообщения:  Re: playAndGetDigits не видит dtmf

смотреть в трафике действительно летит по rfc2833 или внутриполосно

Автор:  astashov [ 06 сен 2017 15:52 ]
Заголовок сообщения:  Re: playAndGetDigits не видит dtmf

еще раз посмотрел только что в вайршарке, три нажатия в трафике отражены и биты "RFC 2833 RTP Event"(по версии вайршарка) присутствуют.
Только вот play_and.... увидел только последнее нажатие. Предыдущие в dtmf verbose отражены, но play_and_d... на них ни как не отреагировал.(громкость 7, продолжительность 160)

Автор:  Samael28 [ 06 сен 2017 17:51 ]
Заголовок сообщения:  Re: playAndGetDigits не видит dtmf

А покажите настройки профиля.

Автор:  astashov [ 07 сен 2017 13:05 ]
Заголовок сообщения:  Re: playAndGetDigits не видит dtmf

Код:
<?xml version="1.0" encoding="ISO-8859-1"?>
<profile>
  <profile-info>
    <name>external-g-eth0</name>
    <domain-name>N/A</domain-name>
    <auto-nat>false</auto-nat>
    <db-name>sofia_reg_external-g-eth0</db-name>
    <pres-hosts></pres-hosts>
    <dialplan>XML</dialplan>
    <context>default</context>
    <challenge-realm>auto_to</challenge-realm>
    <rtp-ip>192.168.100.25</rtp-ip>
    <sip-ip>192.168.100.25</sip-ip>
    <url>sip:mod_sofia@192.168.100.25:5080</url>
    <bind-url>sip:mod_sofia@192.168.100.25:5080;transport=udp,tcp</bind-url>
    <hold-music>local_stream://moh</hold-music>
    <outbound-proxy>N/A</outbound-proxy>
    <inbound-codecs>PCMU,PCMA</inbound-codecs>
    <outbound-codecs>PCMU,PCMA,GSM</outbound-codecs>
    <tel-event>101</tel-event>
    <dtmf-mode>rfc2833</dtmf-mode>
    <cng>13</cng>
    <session-to>0</session-to>
    <max-dialog>0</max-dialog>
    <nomedia>false</nomedia>
    <late-neg>true</late-neg>
    <proxy-media>false</proxy-media>
    <zrtp-passthru>true</zrtp-passthru>
    <aggressive-nat>false</aggressive-nat>
    <calls-in>0</calls-in>
    <calls-out>0</calls-out>
    <failed-calls-in>0</failed-calls-in>
    <failed-calls-out>0</failed-calls-out>
    <registrations>0</registrations>
  </profile-info>
</profile>

Автор:  Samael28 [ 07 сен 2017 18:08 ]
Заголовок сообщения:  Re: playAndGetDigits не видит dtmf

И еще вопрос - нету ли перед play_and_get_digits команд типа bind_digits_action? Потому что она тоже может перехватывать DTMF нажатия.

Автор:  astashov [ 07 сен 2017 18:39 ]
Заголовок сообщения:  Re: playAndGetDigits не видит dtmf

нет конечно. об этом в доке на сайте написано.
с биндом познакомился когда плей начал "шалить"

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/