Asterisk™: будущее телефонии Второе издание
Шрифт:
Проводит проверку на определение доступности какого-либо из запрашиваемых каналов. Это приложение также задает следующие переменные каналов:
AVAILCHAN
Имя доступного канала, включая номер сеанса вызова, используемого для проведения проверки.
AVAILORIGCHAN
Каноническое имя канала, используемое для его создания, то есть имя канала без номера сеанса.
AVAIiSTATUS
Код статуса канала.
Если задана опция s (означающая state - состояние), Asterisk будет считать используемый канал
Если задана опция j и не доступен ни один из запрашиваемых каналов, выполнение переходит в приоритет n + 101 (где n - текущий приоритет), если этот приоритет существует.
; проверяет, доступны ли каналы Zap/1 и Zap/2 exten => 123,1,ChanIsAvail(Zap/1&Zap/2) ; выводит имя доступного канала в CLI Asterisk exten => 123,2,Verbose(0,${AVAILORIGCHAN})
Г~ 1 Это приложение работает некорректно для каналов MGCP.
ChannelRedirect
Перенаправляет канал в новую точку диалплана
ChannelRedirect(кaнaл,[[контекст,]добaвочныйномер,]приоритет)
Это приложение перенаправляет заданный канал в новый приоритет диалплана. Если добавочныйномер не задан, принимается текущий добавочный номер. Если контекст не задан, будет принят текущий контекст:
; Перенаправляет SIP/Bob к музыке во время ожидания
; при наборе добавочного номера 123
exten => 123,1,ChannelRedirect(SIP/Bob,124,1)
exten => 124,1,Answer
exten => 124,2,MusicOnHold
Смотрите также
Transfer
ChanSpy
Слушает разговор в канале и может посылать сигналы в вызывающий канал
ChanSpy([префикскaнaлa[,опции]])
Это приложение используется для прослушивания аудиосигнала, проходящего по каналу Asterisk в обоих направлениях. Если задан параметр префиксканала, прослушиваться будут только каналы, начинающиеся с этого префикса.
При прослушивании канала могут осуществляться следующие действия:
• Набор # циклически меняет уровень громкости.
• Набор * заставит приложение перейти к прослушиванию следующего доступного канала.
• Набор последовательности символов, завершенный нажатием кнопки #, создает имя канала (которое будет добавлено после префикска- нала). Например, если запустить ChanSpy(Zap), а затем в процессе прослушивания набрать символы 42#, начнется прослушивание канала Zap/42.
Параметр опции может содержать нуль или более следующих опций:
b
Прослушивать только соединенные каналы.
g(группа)
Прослушивать только каналы с переменной канала SPYGROUP, в которой в необязательном списке с разделяющими двоеточиями должна быть указана группа.
q
Скрытый
r[(базовоеимя)]
Записывает разговор, ведущийся по каналу, в папку очереди для записей разговоров (обычно это /var/spool/asterisk/monitor). Необязательное базовоеимя задает базовое имя файла для записей, значение по умолчанию - chanspy.
v([значение])
Настраивает громкость прослушиваемого аудиосигнала. Значение должно быть в диапазоне от 4 до -4. Отрицательное значение сделает звук тише, тогда как положительное - громче.
w
Режим шепота. Позволяет прослушивающему каналу «говорить» с прослушиваемым каналом. При этом ни один другой соединенный канал не сможет слышать этот разговор.
W
Закрытый режим шепота. Позволяет прослушивающему каналу «говорить» с прослушиваемым каналом без возможности слышать аудиосигнал из прослушиваемого канала.
; Прослушиваем каналы Zap в режиме шепота exten => 123,1,ChannelSpy(Zap,w)
Смотрите также
ExtenSpy
Congestion
Устанавливает состояние перегрузки канала
Congestion([времяожидания])
Указывает каналу индицировать перегрузку, а затем ожидает, когда пользователь повесит трубку или разрыва соединения по истечении времени ожидания (заданного необязательным параметром времяожида- ния в секундах).
Это приложение сигнализирует о перегрузке только на дальний конец соединения; оно фактически не воспроизводит тональный сигнал перегрузки линии абоненту. Для воспроизведения сигнала перегрузки используйте приложение Playtones(congestion).
При использовании данной команды без времени ожидания возникает риск того, что канал задержится в этом состоянии. В этом нет необходимости, когда вы просто хотите проинформировать пользователя о перегруженности канала. Используйте приложение Playtones(congestion), чтобы абонент услышал сигнал «занято» повышенной частоты, а затем выполните Hangup.
Всегда завершается аварийно:
; для Caller ID 555-1234 всегда воспроизводить ; сигнал перегруженности линии
exten => 123,1,GotoIf($[${CALLERID(num)} = 5551234]?5:2)
exten => 123,2,Playtones(congestion)
exten => 123,3,Congestion(3)
exten => 123,4,Hangup
exten => 123,5,Dial(Zap/1)
Смотрите также
Busy, Progress, Playtones, Hangup
ContinueWhile
Выполняет перезапуск цикла While