можно. нов этом случае оно будет писаться на диск. анафига?
meral ( 2011-12-12 14:09:15 +0400 )редактироватьДоброго времени суток.
Подскажите пожалуйста, мне необходимо создать такой счетчик, который при каждом входе в контекст увеличивался на единицу, а после 20 сбрасывался в 0.
Работаю на Asterisk 1.4.
Заранее спасибо.
Скажите, а можно создать тоже самое через DB ?
можно. нов этом случае оно будет писаться на диск. анафига?
meral ( 2011-12-12 14:09:15 +0400 )редактироватьСпасибо. Буду пробовать.
все в extensions.conf
[globals]
COUNT_1=0
[count]
exten =>s,1,ExecIF($[ "${COUNT_1}" == "" ]?Set(COUNT_1=0))
exten =>s,n,Set(COUNT_1=$[ ${COUNT_1} + 1 ])
exten =>s,n,ExecIF($[ ${COUNT_1} == 21 ]?Set(COUNT_1=0))
exten =>s,n,Return
использовать както так.
exten => _X,5,Gosub(count,s,1)
если версия астериска не новая, то прийдется заменить execif на gotoif както так
exten =>s,1,ExecIF($[ "${COUNT_1}" != "" ]?ok)
exten =>s,n,Set(COUNT_1=0))
exten =>s,n(ok),Set(COUNT_1=$[ ${COUNT_1} + 1 ])
exten =>s,n,GotoIF($[ ${COUNT_1} != 21 ]?ok2)
exten =>s,n,Set(COUNT_1=0)
exten =>s,n(ok2),Return
насколько я помню, переменная должна быть GLOBAL, иначе ее значение к следующему звонку не будет храниться
borispr ( 2011-12-09 18:21:29 +0400 )редактироватьну да,ее надо в [globals] определить или в новых версиях использовать GLOBAL(COUNT_1)/ ${GLOBAL(COUNT_1)}
meral ( 2011-12-09 23:14:03 +0400 )редактироватьЗадан: 2011-12-09 16:00:28 +0400
Просмотрен: 721 раз
Обновлен: Dec 12 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.