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

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

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

Вообще, Манго достаточно странная система. Если у других 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. Но тем не менее, все работает нормально.

Помогла статья? Есть возможность отблагодарить автора

One comment

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

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

Ваш e-mail не будет опубликован.