Вход/Регистрация
Asterisk™: будущее телефонии Второе издание
вернуться

Меггелен Джим Ван

Шрифт:

Смотрите также

GotoIf, GotoIfTime, Gosub, Macro

GotoIf

Выполняет переход по условию в заданный приоритет

GotoIf(условие? метка1:метка2)

Направляет вызов в метка1, если условие истинно, или в метка2, если условие ложно. Параметры метка1 и метка2 могут быть опущены (в этом случае просто не выполняется переход при том или ином условии), но не оба одновременно.

В качестве метки может использоваться одно из нижеперечисленного:

• Приоритет, например 10.

• Добавочный номер и приоритет, например 123,10.

• Контекст, добавочный номер и приоритет, например incoming,

123,10.

• Именованный приоритет в рамках того же добавочного номера, например passed.

Все типы меток описаны в данном примере:

[globals]

; присвоим TEST какое-то значение, кроме 101, чтобы ; увидеть, что делает GotoIf, когда условие ложно TEST=101

[incoming] ; задаем переменную

; переходим в приоритет 10, если ${TEST} равна 101, ; в противном случае переходим в приоритет 20 exten => 123,1,GotoIf($[ ${TEST} = 101 ]?10:20) exten => 123,10,Playback(the-monkeys-twice) exten => 123,20,Playback(tt-somethingwrong)

; то же самое, что было сделано выше, но на этот раз ; зададим добавочный номер и приоритет для каждой метки exten => 124,1,GotoIf($[ ${TEST} = 101 ]?123,10:123,20)

; то же самое, что было сделано выше, но эти метки имеют ; контекст, добавочный номер и приоритет

exten => 125,1,GotoIf($[ ${TEST} = 101 ]?incoming,123,10:incoming,123,20)

; то же самое, что было сделано выше, но на этот раз ; будем переходить в именованные приоритеты exten => 126,1,GotoIf($[ ${TEST} = 101 ]?passed:failed) exten => 126,15(passed),Playback(the-monkeys-twice) exten => 126,25(failed),Playback(the-monkeys-twice)

Смотрите также

Goto,GotoIfTime, GosubIf, MacroIf

GotoIfTime

Выполняет переход по условию на основании времени и дня

GotoIfTime(время,дни_недели,дни_месяца,месяцы?метка)

Выполняет переход в заданный добавочный номер, если текущее время соответствует заданному. Каждый элемент может быть определен или как * (для всех случаев), или как диапазон. Аргументы приложения: время

Диапазоны времени в 24-часовом формате.

дни_недели

Дни недели (mon, tue, wed, thu, fri, sat, sun).

дни_месяца

Дни месяца (1-31).

месяцы

Месяцы (jan, feb, mar, apr и т. д.).

; Если мы открыты, переходим в контекст open ; Мы открыты с 9 утра до 6 вечера ; с понедельника по пятницу

exten => s,1,GotoIfTime(09:00-17:59,mon-fri,*,*?open,s,1)

; Также мы задерживаемся по вторникам и четвергам

exten => s,n,GotoIfTime(09:00-19:59,tue&thru,*,*?open,s,1)

; Также мы открыты с 9 утра до полудня по субботам exten => s,n,GotoIfTime(09:00-11:59,sat,*,*?open,s,1)

; Во все остальное время мы закрыты exten => s,n,Goto(closed,s,1)

Смотрите также

GotoIf, IFTIME

Hangup

Безусловный разрыв связи по текущему каналу

Hangup( код-причина)

Безусловно разъединяет текущий канал. Для удаленного конца соединения будет задан параметр код-причина как причина завершения вызова, если он поддерживается каналом. По умолчанию параметр код-причина принимает значение 16 (нормальное завершение вызова). Допустимые значения параметра код-причина: 16

Нормальное завершение вызова.

17

Занято.

19

Нет ответа.

21

Вызов отклонен.

34

  • Читать дальше
  • 1
  • ...
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: