Страница 1 из 1
Как исключить из шаблона спецсимволы
Добавлено: 20 дек 2011, 13:49
kudesnik
Здравствуйте Гуру. Есть шаблон типа
Вопрос состоит в следующем. При данном шаблоне юзер может набрать в конце (или середине) экстеншена например решетку(#) или звездочку. Как исключить такой вариант, при том что должны разрешены быть только цифры, но длинна цифр не должна ограничиваться.
З.Ы.Гугл не помог, на форуме подобной темы не нашел. За ранее спасибо.
Re: Как исключить из шаблона спецсимволы
Добавлено: 20 дек 2011, 13:53
ded
Код: Выделить всё
pbx*CLI> core show application Read
pbx*CLI>
-= Info about application 'Read' =-
[Synopsis]
Read a variable
[Description]
Read(variable[,filename[&filename2...]][,maxdigits][,option][,attempts][,timeout])
Reads a #-terminated string of digits a certain number of times from the
user in to the given variable.
filename -- file(s) to play before reading digits or tone with option i
maxdigits -- maximum acceptable number of digits. Stops reading after
maxdigits have been entered (without requiring the user to
press the '#' key).
Defaults to 0 - no limit - wait for the user press the '#' key.
Any value below 0 means the same. Max accepted value is 255.
option -- options are 's' , 'i', 'n'
's' to return immediately if the line is not up,
'i' to play filename as an indication tone from your indications.conf
'n' to read digits even if the line is not up.
attempts -- if greater than 1, that many attempts will be made in the
event no data is entered.
timeout -- The number of seconds to wait for a digit response. If greater
than 0, that value will override the default timeout. Can be floating point.
This application sets the following channel variable upon completion:
READSTATUS - This is the status of the read operation.
Possible values are:
OK | ERROR | HANGUP | INTERRUPTED | SKIPPED | TIMEOUT
в сочетании с регулярными выражениями Regexp и/или sed
Re: Как исключить из шаблона спецсимволы
Добавлено: 20 дек 2011, 14:03
Vlad1983
CLI> core show function REPLACE
Re: Как исключить из шаблона спецсимволы
Добавлено: 20 дек 2011, 14:06
kudesnik
2 DED ///Изначально был опробован данный метод, но он не подходит так как не нужно чтобы юзер нажимал #. (read имеет такую возможность но при этом тогда необходимо указать длинну, что не представляется возможным)
Re: Как исключить из шаблона спецсимволы
Добавлено: 20 дек 2011, 14:11
kudesnik
Vlad1983 писал(а):CLI> core show function REPLACE
На сколько я знаю это функция замены одного на другое. Мне же нужно чтобы при наборе спецсимвола в экстеншене прозвучало "неправильный набор повторите попытку используя только цифры"
Re: Как исключить из шаблона спецсимволы
Добавлено: 20 дек 2011, 14:19
Vlad1983
ХЗ зачем пользаку это слышать, но этим можно
CLI> core show function REGEX
Read умеет по таймауту отправлять и без #
Re: Как исключить из шаблона спецсимволы
Добавлено: 20 дек 2011, 14:24
jugatsu
core show function FILTER
exten => _X.,n,Dial(SIP/${FILTER(0-9,${EXTEN})})
Re: Как исключить из шаблона спецсимволы
Добавлено: 20 дек 2011, 14:55
kudesnik
Всем спасибо это подходит. Буду пробовать.