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 предполагает, что вы собирались задать уровень (и отбрасывает все до первого символа |). Поэтому, наверное, лучше выработать привычку всегда задавать параметр уровень.