День добрый.
Имеется IPO500v2 6.0
Настроен SIP-транк на Asterisk. Проблема с вызовом внутреннего абонента при входящих внешних звонках. Например, набирают 308, попадают на 330. Набирают 320 - попадают на 332. Возможны и другие сочетания. Изначально настраивалось на 6.1.5 с direct dial by number в AutoAttendant. Обновление до 6.1.504 и откат (с форматированием SD) на 6.0 не помогли.
Сейчас три транка настроены на разный способ получения DTMF: RFC, inband и INFO (SIP). Лучше всех работает inband (но тут многое завист от вызывающего абонента). Хуже всего - SIP info.
Подключался и слушал трафик между астериском и ипо - астериск dtmf-ы передает исправно. Понять, что делает с полученными dtmf-ами авайа тяжело: для rfc и inband не смог подобрать настроек в sysmonitor-е, чтобы он показывал эти rtp-пакеты нормально (повторюсь, что в wireshark видно, что эти пакеты на авайю приходят).
В случае SIP видно, что все sip info пакеты с dtmf авайя получает, но, не дождавшись последнего, а после второго пакета в логах уже видно запись типа LVMail: DialByNumber: 330. С какого перепугу не понятно. К тому же часть звонков таки пропускает на нужные extension-ы.
Попробовал даже убрать Direct Dial By Number и пренеастроил Autoattendant на перемещение по приветствиям по каждому DTMF и BlindTransfer в последнем. RFC стал работать лучше, а SIP INFO все равно косячит: "Недопустимая опция".
Видно еще одну "забавную" вещь в sysmon-е при донаборе "303": еще до получения первого sip-пакета с DTMF уже видно событие:
LVM(audio): Audio22: AutoAttIntroNode::DTMFHit: digit: 3
LVMail: Client22: AutoAction: called: TransferToAttendant 3_Menu
То есть LVMail уже перешел в другой AutoAttendant.
Cоответственно, когда по SIP приходит "нажатая" "3", LVMail переходит в Autoattendant 3_3Menu.
А когда приходит "0" уже обращается к пункту "0" в АutoAttendant 3_3Menu, а он not Defined.
В случае получения DTMF не через SIP, а через RTP outband (RFC) ситуация точно такая же. Пакетов RTP в sysmone не разобрать, но поведение LVMail такое же, как в случае SIP INFO.
В случае получения DTMF через inband RTP двойных событий LVmail нет и проходит нормальное перемещение по АА и blind transfer.
И еще забавнее: убрал из AA "3_Menu" (должно вызываться после первого нажатия "3") вызов AA "3_3Menu" (должно вызываться после второго нажатся "3" для доступа к extension-ам 330-339) и звонок на "306" начал нормально проходить. Хотя событя LVM(audio): Audio4: DTMFHit: digit: 3 по прежнему 2.
Не могу понять логики индусов (
Проблема воспроизводится, если в AA "4_Menu" назначить действие для "4". Тогда IPO пытается обработать первую "4" два раза и звонок на "401" не проходит, т.к. к моменту прихода "0" LVMail уже отработал "44".
Такое ощущение, что в случае RFC и SIP используется другой обработчик DTMF (нежели в случае inband) и он, из-за фичи "Direct dial-by-number" два раза обрабатывает первый тон, если его двойному нажатию находится действие в AA. Отключение direct dial-by-number не помогает (
Подскажите, пожалуйста, где еще покопать можно?
Спасибо!
Asterisk<->IPO. проблемы с DTMF
Модератор: Administrator