VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Как исключить из шаблона спецсимволы

Проблемы Asterisk без вэб-оболочек и их решения

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

Ответить
kudesnik
Сообщения: 9
Зарегистрирован: 20 дек 2011, 13:37

Как исключить из шаблона спецсимволы

Сообщение kudesnik »

Здравствуйте Гуру. Есть шаблон типа

Код: Выделить всё

 exten => _X.,1,(Чтоугодно) 
Вопрос состоит в следующем. При данном шаблоне юзер может набрать в конце (или середине) экстеншена например решетку(#) или звездочку. Как исключить такой вариант, при том что должны разрешены быть только цифры, но длинна цифр не должна ограничиваться.
З.Ы.Гугл не помог, на форуме подобной темы не нашел. За ранее спасибо.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Как исключить из шаблона спецсимволы

Сообщение 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
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Как исключить из шаблона спецсимволы

Сообщение Vlad1983 »

CLI> core show function REPLACE
ЛС: @rostel
kudesnik
Сообщения: 9
Зарегистрирован: 20 дек 2011, 13:37

Re: Как исключить из шаблона спецсимволы

Сообщение kudesnik »

2 DED ///Изначально был опробован данный метод, но он не подходит так как не нужно чтобы юзер нажимал #. (read имеет такую возможность но при этом тогда необходимо указать длинну, что не представляется возможным)
kudesnik
Сообщения: 9
Зарегистрирован: 20 дек 2011, 13:37

Re: Как исключить из шаблона спецсимволы

Сообщение kudesnik »

Vlad1983 писал(а):CLI> core show function REPLACE
На сколько я знаю это функция замены одного на другое. Мне же нужно чтобы при наборе спецсимвола в экстеншене прозвучало "неправильный набор повторите попытку используя только цифры"
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Как исключить из шаблона спецсимволы

Сообщение Vlad1983 »

ХЗ зачем пользаку это слышать, но этим можно
CLI> core show function REGEX

Read умеет по таймауту отправлять и без #
ЛС: @rostel
jugatsu
Сообщения: 298
Зарегистрирован: 31 май 2011, 15:56

Re: Как исключить из шаблона спецсимволы

Сообщение jugatsu »

core show function FILTER

exten => _X.,n,Dial(SIP/${FILTER(0-9,${EXTEN})})
kudesnik
Сообщения: 9
Зарегистрирован: 20 дек 2011, 13:37

Re: Как исключить из шаблона спецсимволы

Сообщение kudesnik »

Всем спасибо это подходит. Буду пробовать.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH