Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Мгновенная обработка WaitExten()

0

Добрый день,

Подскажите как можно сделать так что бы при вводе цифры во время WaitExten система не дожидалась истечения таймаута, а сразу переходила к введенному экстеншину (как собственно работают ИВР у мобильных операторов)?

удалить закрыть спам изменить тег редактировать

спросил 2012-01-18 18:40:43 +0400

godlike Gravatar godlike flag of Ukraine
814 91 20 54

Comments

А с чего Вы взяли , что команда не сразу отрабатывает нажатие?

zzuz ( 2012-01-18 19:15:05 +0400 )редактировать

ну наверно потому что я поставил WaitExten(10) и нажимаю 1 в самом начале но попадаю на 1 экстеншн только когда пройдет 10 сек

godlike ( 2012-01-18 19:25:49 +0400 )редактировать

хотя вру, через 7 секунд хотя стоит 10

godlike ( 2012-01-18 19:27:35 +0400 )редактировать

2 Ответа

2

чтобы по 1 отрабатывалось сразу надо писать так

exten => _1!,1,Noop(dialplan idet tuta)

тоесть ! срабатывает именно как "больше символов с таким префиксом быть не может".

соответвенно если вы его не поставили, оно логично ожидает продолжения ввода, чтоб отрабатывало 10,11,119911 и так далее.

ну еще можно таймаут поставить

http://voip.rus.net/tiki-index.php?page=Asterisk+func+timeout

у вас срабатывает digit наверное

ссылка удалить спам редактировать

ответил 2012-01-18 21:03:13 +0400

meral Gravatar meral flag of Ukraine
21228 23 18 169
http://pro-sip.net/

Comments

Масло маслянное получилось. _1! - читается , как вхождение множества номеров , начинающихся с единицы и заканчивающихся этой единицей.

zzuz ( 2012-01-18 21:14:36 +0400 )редактировать

зато работает :) Спасибо meral

godlike ( 2012-01-18 21:35:46 +0400 )редактировать

м? это единственный способ так сказать.или вы знаете другой? _1 нефига на прекращает ожидания набора дальнейших цифр. ну развечто можн попробывать 1!, но так вродетоже не работает.

meral ( 2012-01-19 17:14:15 +0400 )редактировать

Это кому комментарий адресован?

zzuz ( 2012-01-19 17:23:32 +0400 )редактировать

это по поводу масла масляного. знаешь немасляный метод?) ну кроме диалпана в которм у всех екстеншенов длина одинаковая.

meral ( 2012-01-19 17:27:57 +0400 )редактировать

в одном контексте , где присутствует WaitExten достаточно нарисовать exten = 1,1,Noop() , что будет делать тоже самое. Единственно , что если в этом контексте есть шаблоны "_1X." , то тогда будет таймаут. Но если есть такой шаблон , то видимо он для чего то нужен?

zzuz ( 2012-01-19 18:14:36 +0400 )редактировать

неа. если есть 1 и 20 или 3X. например в одном контексте, то будет ждать ввода после 1. а после _1! ждать не будет.

meral ( 2012-01-19 20:51:51 +0400 )редактировать
2

Это зависит не от WaitExten, а:

1 - от диалплана. Если там только 1-но символьные экстеншены, то будит отрабатываться сразу, если 2-х и более, то соотведственно будет ждать не будет ли ввод второй цифры и т.д...

2- И от заданного параметра DigitTimeout, в случае если в диалплане есть 2-х или более значные экстаншены.

ссылка удалить спам редактировать

ответил 2012-01-18 20:19:49 +0400

amonra Gravatar amonra flag of Ukraine
2261 24 13 63
http://lantec.ua/

обновил 2012-01-18 20:20:48 +0400

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2012-01-18 18:40:43 +0400

Просмотрен: 1,803 раз

Обновлен: Jan 18 '12

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.