Не передаются нажатия клавиш в IVR в asterisk

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

Углубленный онлайн-курс по MikroTik

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

Вообще, Манго достаточно странная система. Если у других sip операторов ты покупаешь номер, и тебе присылают учетки и пример конфигурации под asterisk, то тут не все так просто. По факту ты покупаешь услугу виртуальной АТС и тебе дают к ней доступ. А дальше ты уже сам все настраиваешь в ней. По идее, это даже удобно и круто, но не совсем. Например, по-умолчанию, после покупки нового номера и создания первого пользователя, если вы захотите позвонить на него, то попадете на факс!!! Да, по-умолчанию у них так устроено. Если руками не указать принимать звонок новому пользователю, то примет его факс. Сам бы я не догадался, позвонил в техподдержку, там объяснили.

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

WARNING[24680][C-0000000f]: chan_sip.c:18071 get_rdnis: Huh?  Not an RDNIS SIP header (tel:74995185726)?

Я грешил на него и долго пытался понять, что это такое и с чем связано. Но реально не смог понять до конца, о чем тут идет речь и в чем проблема. Полный лог больше ничего подозрительного не показывал и это навело на мысль, что причина все же не в этом сообщении. Смущало то, что в астериске вообще не было никакой реакции на тоновый набор, как-будто сигнал просто не доходил. Как только я это понял, сразу стало очевидно, куда копать.

По факту у меня просто не передавался через транк тональный сигнал, или dtfm. Стал смотреть, какие настройки пира за это отвечают. Сразу же нашел - dtmfmode. В манговской wiki написано:

Метод передачи DTMF - INBAND, RFC_2833 (не рекомендуется)

Я человек не глупый, фразу не рекомендуется понимаю буквально и не использую. В итоге у меня стояло dtmfmode=inband. После того, как поменял на rfc2833 все заработало. В конечном счете у меня работает Манго (Mango office) с asterisk с такими настройками пира:

[74995185726]
type=peer
secret=password
username=user1
host=vpbx400091290.mangosip.ru
fromuser=user1
fromdomain=vpbx400091290.mangosip.ru
insecure=invite
useragent=JopAster
directmedia=yes
nat=force_rport
context=call-in-mango
dtmfmode=rfc2833
qualify=300
disallow=all
allow=alaw

Они не соответствуют полностью тому, что рекомендуется у них в примерах конфигурации астериск - http://wiki.mangotele.com/index.php/Asterisk. Но тем не менее, все работает нормально.

Для отладки и тестирования работы voip я рекомендую сервис Zadarma. Плюс его в том, что после регистрации вы получите настройки пира для внутренней сети оператора. И внутри этой сети вы можете бесплатно звонить. Например, я одного пира регистрирую на sip клиенте смартфона и с него звоню на второй аккаунт, пир от которого настроен в астериске. Таким образом эмулирую внешний звонок. Удобно отлаживать различные конфигурации звонков, не требуя платного подключения.

Другие материалы по asterisk:

Онлайн-курс по устройству компьютерных сетей.

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

Один комментарий

  1. Здравствуйте, подскажите пожалуйста, у меня провайдер МТС.
    Поддерживаемые кодеки: G.729, G711A-Law, G.711Mu-Law
    Метод передачи частотных сигналов DTMF: RFC-2833, INFO
    В итоге что получается: если я ставлю dtmfmode=info, то любые нажатия на клавиши терминируют звонок, если я ставлю dtmfmode=rfc2833, то никакой реакции не происходит вообще. Вместе, как я понял их вообще нельзя использовать (например dtmfmode=info,rfc2833).
    Перерыл весь инет, в итоге запутался, почему у меня ни в том, ни в другом случае dtmf не работает. В логах конкретики никакой не нашёл...
    Буду рад любым советам...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar