Чтение онлайн

ЖАНРЫ

Asterisk™: будущее телефонии Второе издание
Шрифт:

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

TrySystem

Transfer

Перенаправляет вызывающего абонента на удаленный добавочный номер

Traпsfer([Технология/]вызывaемыйномер[, опции)

Указывает, что удаленный вызывающий абонент должен быть переадресован на номер, заданный параметром вызываемыйномер (и опционально Технология). Если для параметра Технология задано значение IAX2, SIP, Zap и т. д., переадресация

произойдет, только если входящий вызов поступил по каналу того же типа.

По завершении это приложение задает для переменной канала TRANSFERSTATUS одно из следующих значений:

SUCCESS

Переадресация была успешной.

FAILURE

Переадресация не была успешной.

UNSUPPORTED

Переадресация не поддерживается драйвером базового канала.

Если для параметра опции задано значение j, переадресация не поддерживается или не удалась и существует приоритет n + 101 (где n - текущий приоритет), выполнение перейдет в этот приоритет.

; переадресовываем звонки с добавочного номера 123 ; на добавочный номер SIP/123@otherserver exten => 123,1,Transfer(SIP/123@otherserver)

TryExec

Делает попытку выполнить приложение Asterisk

TryExec(приложение(аргументы))

Делает попытку выполнить заданное приложение Asterisk. Это приложение очень похоже на приложение Exec, за исключением того что оно всегда возвращается нормально, тогда как приложение Exec будет вести себя так, как если бы базовое приложение было вызвано обычным способом, включая статус выхода. Это приложение может использоваться для перехвата условия, которое при обычном выполнении привело бы к сбою базового приложения. exten => 123,1,TryExec(VMAuthenticate(@default))

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

Exec

TrySystem

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

TrySystem(команда)

Делает попытку выполнить команду в базовой операционной системе. Результат выполнения команды будет помещен в переменную канала SYSTEMSTATUS. Это может быть одно из следующих значений:

FAILURE

Не удалось выполнить указанную команду.

SUCCESS

Указанная команда была выполнена успешно.

APPERROR

Указанная команда была выполнена, но возвратила код ошибки.

Это приложение очень похоже на System, за исключением того что всегда завершается нормально, тогда как приложение System будет завершено аварийно, если не сможет выполнить команду системы.

exten => 123,1,TrySystem(echo hello > /tmp/hello.txt)

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

System

UnpauseMonitor

Возобновляет запись канала

UnpauseMonitor

Возобновляет запись канала, после того как она была приостановлена с помощью приложения PauseMonitor.

exten => 123,1,Answer

exten => 123,n,Monitor(wav,monitor_test)

exten => 123,n,Playback(demo-congrats)

; временно приостанавливаем запись на время сбора секретной информации exten => 123,n,PauseMonitor exten => 123,n,Read(NEWPASS,vm-newpassword) exten => 123,n,SayDigits(${NEWPASS})

;

возобновляем и продолжаем запись звонка exten => 123,n,UnpauseMonitor exten => 123,n,Dial(${JOHN})

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

Monitor,StopMonitor, Page

UnpauseQueueMember

Возобновление работы участника обработки очереди вызовов

UnpauseQueueMember([имяочереди,]интерфейс[,опции])

Возобновляет работу участника обработки очереди вызовов (звонки к нему). Является аналогом приложения PauseQueueMember и действует абсолютно так же, только не приостанавливает, а возобновляет работу данного интерфейса.

По завершении это приложение задает для переменной канала UPQMSTATUS значение UNPAUSED (возобновлен) или NOTFOUND (не найден). Если для параметра опции задано значение j , участник обработки очереди не найден и существует приоритет n + 101 (где n - текущий приоритет), управление вызовов передается в этот приоритет. exten => 123,1,PauseQueueMember(myqueue,SIP/300) exten => 124,1,UnpauseQueueMember(myqueue,SIP/300)

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

PauseQueueMember

UserEvent

Передает произвольное событие в интерфейс Manager

UserEvent(имясобытия[, тело])

Отправляет произвольное событие в интерфейс Manager. В качестве необязательного тела могут быть представлены дополнительные аргументы. Формат события такой:

Event: UserEvent UserEvent: имясобытия тело

Если параметр тело не задан, в событии Manager будут пристутствовать только поля Event и UserEvent.

exten => 123,1,UserEvent(BossCalled,${CALLERID(name)} has called the boss!) exten => 123,2,Dial(${BOSS})

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

manager.conf, интерфейс Asterisk Manager

Verbose

Передает произвольный текст в детальный вывод

Verbose([уровень,]сообщение)

Посылает заданное сообщение в детальный вывод. В качестве параметра уровень должно быть задано целое значение. Если уровень не задан, используется значение по умолчанию, 0.

exten => 123,1,Verbose(Somebody called extension 123) exten => 123,2,Playback(extension) exten => 123,3,SayDigits(${EXTEN})

Необязательный аргумент уровень вовсе не является необязательным, если в вызов Verbose включен разделитель Если присутствует разделитель, Ve rbose предполагает, что вы собирались задать уровень (и отбрасывает все до первого символа |). Поэтому, наверное, лучше выработать привычку всегда задавать параметр уровень.

Поделиться с друзьями: