Джим Меггелен - Asterisk™: будущее телефонии Второе издание
Более подробную информацию о поддержке спаренных линий можно найти в файле doc/sla.pdf в папке исходного кода Asterisk.
exten => 123,1,SLAStation(station1)
exten => 124,1,SLAStation(station1_line2)
Смотрите также
SLATrunk(), sla.conf
SLATrunk()
Магистральный канал с поддержкой спаренных линий
SLATrunk( магистральныйканал)
Это приложение должно выполняться магистральным каналом SLA для входящего вызова. Канал, вызывающий это приложение, должен соответствовать магистральному каналу SLA, заданному параметром
магистральныйканал.
Более подробную информацию о поддержке спаренных линий можно найти в файле doc/sla.pdf в папке исходного кода Asterisk.
exten => 123,1,SLATrunk(line2)
Смотрите также
SLAStation(), sla.conf
SoftHangup()
Осуществляет программный разрыв связи по запрашиваемому каналу
SoftHangup(технология/ресурс, опции)
Выполняет разъединение заданного канала. Если в качестве аргумента опции задана буква a, приложение пытается разъединить все каналы заданного устройства (в настоящее время аргумент опции может иметь только это значение).
; разъединяем все звонки по Zap/4, ; чтобы мы могли его использовать exten => 123,1,SoftHangup(Zap/4,a) exten => 123,2,Wait(2) exten => 123,3,Dial(Zap/4/5551212)
Смотрите также
Hangup()
StackPop()
Удаляет последний адрес из стека Gosub()
StackPop()
Удаляет последний адрес из стека Gosub(). Часто используется при обработке ошибок в рамках подпрограмм Gosub(), когда больше нет необходимости возвращать управление в точку диалплана, из которой была вызвана подпрограмма Gosub().
exten => s,1,Read(input,get-input) exten => s,n,Gosub(validate,1) exten => s,n,Dial(SIP/${input})
; Гарантируем ввод номеров в диапазоне от 400 до 499 exten => validate,1,GotoIf($[ ${input} > 499 ]?error,1)
exten => validate,n,GotoIf($[ ${input} < 400 ]?error,1) exten => validate,n,Return exten => error,1,StackPop() exten => error,2,Goto(s,1)
Смотрите также
Return(), Gosub()
StartMusicOnHold()
Начинает воспроизведение музыки во время ожидания
StartMusicOnHold([класс])
Воспроизводит музыку во время ожидания, заданную аргументом класс, соответственно настройкам в файле musiconhold.conf. Если аргумент опущен, используется класс музыки по умолчанию для канала. Задать класс музыки по умолчанию для канала можно с помощью функции CHANNEL(классмузыки). Возвращается немедленно.
; переадресовываем вызовы от систем продаж по телефону
; на этот добавочный номер, чтобы занять их
exten => 123,1,Answer()
exten => 123,2,Playback(tt-allbusy)
exten => 123,3,StartMusicOnHold(default)
exten => 123,4,Wait(600)
exten => 123,5,StopMusicOnHold()
Смотрите также
WaitMusicOnHold(), StopMusicOnHold()
StopMixMonitor()
Прекращает запись разговора по каналу
StopMixMonitor()
Прекращает отслеживание (запись) канала. Это приложение не оказывает никакого воздействия, если запись канала в настоящее время не ведется.
exten => 123,1,Answer() exten => 123,2,MixMonitor(monitor_test.wav) exten => 123,3,SayDigits(12345678901234567890) exten => 123,4,StopMixMonitor()
Смотрите также
MixMonitor()
StopMonitor()
Прекращает запись разговора по каналу
StopMonitor()
Прекращает отслеживание (запись) канала. Это приложение не оказывает никакого воздействия, если запись канала в настоящее время не ведется.
exten => 123,1,Answer() exten => 123,2,Monitor(wav,monitor_test,mb) exten => 123,3,SayDigits(12345678901234567890) exten => 123,4,StopMonitor()
Смотрите также
ChangeMonitor()
StopPlaytones()
Прекращает воспроизведение набора тонов
StopPlaytones()
Прекращает воспроизведение текущего набора тонов.
exten => 123,1,Playtones(busy)
exten => 123,2,Wait(2)
exten => 123,3,StopPlaytones()
exten => 123,4,Playtones(congestion)
exten => 123,5,Wait(2)
exten => 123,6,StopPlaytones()
exten => 123,7,Goto(1)
Смотрите также
Playtones(), indications.conf
StopMusicOnHold()
Прекращает воспроизведение музыки во время ожидания
StopMusicOnHold()
Прекращает воспроизведение музыки во время ожидания по каналу. Если музыка во время ожидания не проигрывалась, не оказывает никакого воздействия.
; переадресовываем вызовы от систем продаж по телефону
; на этот добавочный номер, чтобы занять их
exten => 123,1,Answer()
exten => 123,2,Playback(tt-allbusy)
exten => 123,3,StartMusicOnHold(default)
exten => 123,4,Wait(600)
exten => 123,5,StopMusicOnHold()
Смотрите также
WaitMusicOnHold(), StartMusicOnHold()
System()
Выполняет команду операционной системы
System(команда)
Выполняет команду в базовой операционной системе. Это приложение задает для переменной канала SYSTEMSTATUS значение FAILURE или SUCCESS в зависимости от того, успешно ли Asterisk выполнила команду. Это приложение очень похоже на TrySystem(), за исключением того что оно возвратит -1, если не сможет выполнить команду системы, тогда как приложение TrySystem() всегда возвращает 0. exten => 123,1,System(echo hello > /tmp/hello.txt)
Смотрите также
TrySystem()
Transfer()
Перенаправляет вызывающего абонента на удаленный добавочный номер
Traпsfer([Технология/]вызывaемыйномер[, опции)
Указывает, что удаленный вызывающий абонент должен быть переадресован на номер, заданный параметром вызываемыйномер (и опционально Технология). Если для параметра Технология задано значение IAX2, SIP, Zap и т. д., переадресация произойдет, только если входящий вызов поступил по каналу того же типа.
По завершении это приложение задает для переменной канала TRANSFERSTATUS одно из следующих значений:
SUCCESS
Переадресация была успешной.
FAILURE
Переадресация не была успешной.
UNSUPPORTED
Переадресация не поддерживается драйвером базового канала.
Если для параметра опции задано значение j, переадресация не поддерживается или не удалась и существует приоритет n + 101 (где n - текущий приоритет), выполнение перейдет в этот приоритет.
; переадресовываем звонки с добавочного номера 123 ; на добавочный номер SIP/ [email protected] exten => 123,1,Transfer(SIP/ [email protected])
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)