ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Обработка неверных добавочных номеров

Проблемы и их решения Asterisk как такового

Модераторы: april22, Zavr2008

Обработка неверных добавочных номеров

Сообщение AlexeyFatnev » 10 окт 2022, 16:10

Здравствуйте, коллеги.

Не могу разобраться с обработкой неверных добавочных номеров, как при донаборе через IVR и просто исходящих вызовах.

Везде написано, что для IVR должен работать контекст "i", но у меня не работает и он, вернее работает только при донаборе менее и более четырех цифр, а при наборе 4-х цифр любые (правильные и неверные) номера попадают в контекст _XXXX.

Способ отсюда также не помог, да я и не понял механизма его работы. http://www.planetwayne.com/forums/viewtopic.php?t=217

Смог временно решить проблему запрашивая статус PIR и перенаправляя звонок в зависимости от статуса, но хотелось бы настроить это правильным способом.

Подскажите, как правильно обрабатывать неверный набор через IVR и при исходящих внутренних вызовах.

Код: выделить все
exten =>6,1,NoOp("6" is Pressed)
same => n,Dial(SIP/1071,260)
same => n,Hangup

exten =>t,1,NoOp(nothing is Pressed)
same => n,Dial(SIP/1051,260)
same => n,Hangup

exten =>i,1,NoOp(Invalid Ext is Pressed)
same => n,Dial(SIP/1051,260)
same => n,Hangup

exten =>_XXXX,1,NoOp( VALID number is Pressed)
same => n,Dial(SIP/${EXTEN},120)
same => n,Hangup
AlexeyFatnev
 
Сообщений: 18
Зарегистрирован: 26 май 2022, 19:04

Re: Обработка неверных добавочных номеров

Сообщение ded » 10 окт 2022, 17:18

Судя по куску диал-плана - у вас возможность выбора в ИВР от 1 до 6, а также донабора 4-х знгачных номеров
Код: выделить все
exten =>_XXXX,1,NoOp( VALID number is Pressed)

Неверно нажатые 7, 8, 9, 0 можно закодировать вот так:

Код: выделить все
exten =>_[7890],1,NoOp( INVALID number is Pressed)
exten =>_[7890],n.Goto(i,1)
ded
 
Сообщений: 15793
Зарегистрирован: 26 авг 2010, 19:00

Re: Обработка неверных добавочных номеров

Сообщение AlexeyFatnev » 10 окт 2022, 17:35

Ded,

Спасибо, это учту. Но больше интересует обработка введенных 4-х значных номеров, которых нет в плане нумерации.
AlexeyFatnev
 
Сообщений: 18
Зарегистрирован: 26 май 2022, 19:04

Re: Обработка неверных добавочных номеров

Сообщение Wapo » 10 окт 2022, 20:39

Код: выделить все
ExecIf($["${DEVICE_STATE(SIP/${EXTEN})}" = "NOT_INUSE"]?Dial(SIP/${EXTEN})
Аватар пользователя
Wapo
 
Сообщений: 795
Зарегистрирован: 02 мар 2011, 18:53

Re: Обработка неверных добавочных номеров

Сообщение ded » 10 окт 2022, 21:07

Набор существующих номеров можно также сделать через проверку наличия их в astdb
Код: выделить все
ExecIf($["{DB($(DEVICE/${EXTEN}/user/${EXTEN}))}"!= ""]?Dial(SIP/${EXTEN})) 


или перенаправлять Goto(i,1) по отлупу на несуществующий набранный номер
Код: выделить все
same => n,Dial(SIP/${EXTEN},120,t)  ; t нужна, вы же трансферить хотите?
same => n,Goto(s-${DIALSTATUS},1)
exten => s-BUSY,1,Playback(абонент занят)
exten => s-CHANUNAVAIL,1,Goto(i,1)       ; вот тут пойдёт на invalid
exten => _s-.,1,NoOp(${DIALSTATUS} ???)
ded
 
Сообщений: 15793
Зарегистрирован: 26 авг 2010, 19:00

Re: Обработка неверных добавочных номеров

Сообщение AlexeyFatnev » 14 окт 2022, 18:59

Ded, Wapo,

Спасибо за ответы, попробую отпишусь.

Непонятно только, почему не работают стандартные средства (контекст i). Или он так и должен работать, по задумке разработчика?
AlexeyFatnev
 
Сообщений: 18
Зарегистрирован: 26 май 2022, 19:04

Re: Обработка неверных добавочных номеров

Сообщение Wapo » 14 окт 2022, 21:17

Спросите себя ЧТО есть НЕВЕРНЫЙ номер???? Для _ХХХХ - все четырехзначные номера РАЗРЕШЕНЫ и потому:
exten => 7,.....
exten => _XXXX,....
Одинаковы!!!!

Вы или используете в ИВР одну цифру или ....
Попобуйте вариант:
1. или набираем только цифру 2
2. или набираем номер 2314

Поясните системе разницу!!!!
Аватар пользователя
Wapo
 
Сообщений: 795
Зарегистрирован: 02 мар 2011, 18:53

Re: Обработка неверных добавочных номеров

Сообщение AlexeyFatnev » 16 ноя 2022, 19:54

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

Для меня неверный это несуществующий.

Предполагалось, что для контекста '"i" "неверный" это несуществующий, теперь понимаю, что "неверный", это не подпадающий под шаблон.

Благодарю за объяснение.
AlexeyFatnev
 
Сообщений: 18
Зарегистрирован: 26 май 2022, 19:04


Вернуться в Конфигурация и настройка Asterisk

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH