Asterisk™: будущее телефонии Второе издание - Меггелен Джим Ван
Смотрите также
Echo(), Playtones()
MixMonitor()
Записывает разговор по каналу в фоновом режиме, синхронно объединяя оба направления разговора
MixMonitor(имяфайла.ext, опции, команда)
Записывает аудиосигнал в текущем канале в заданный файл. Если в качестве аргумента имяфайла задан полный путь, MixMonitor() использует этот путь; в противном случае создает файл в заданной в asterisk.conf папке для записи разговоров.
Если задана, команда будет выполнена, когда запись будет завершена из-за разрыва соединения или в результате вызова StopMixMonitor(). Параметр опции может содержать нуль или более следующих опций:
a
Разговор дописывается в конец файла, перезаписи файла при этом не происходит.
b
Разговор сохраняется, только если канал соединен.
Сюда не относятся конференции или звуковые файлы, воспроизводимые для каждой соединенной стороны.
v(x)
Громкость прослушивания меняется в x раз (диапазон от -4 до 4).
V(x)
Громкость речи меняется в x раз (диапазон от -4 до 4).
W(x)
Громкость прослушивания и речи меняется в x раз (диапазон от -4 до 4).
; Записываем разговор по каналу
exten => 123,1,MixMonitor(/var/lib/asterisk/sounds/123.wav)
Смотрите также
Monitor(), StopMixMonitor(), PauseMonitor(), UnpauseMonitor()
Monitor()
Отслеживает (записывает) разговор по текущему каналу
Monitor([формат_файла[:базовыйиг1][, базовое_имяфайла][, опции]])
Начинает запись разговора по каналу. Входные и выходные речевые пакеты канала записываются в файлы до тех пор, пока не будет разорвана связь по каналу или запись не будет остановлена приложением
StopMonitor().
Monitor() принимает следующие аргументы:
формат_файла
Определяет формат файла. Если не задан, по умолчанию используется wav.
базовое_имяфайла
Если задан, меняет используемое имя файла на заданное.
опции
Может быть задана одна опция из двух:
m
Когда запись закончится, выполнить слияние двух файлов, содержащих список приоритетов, в один и удалить их. Если задана переменная ${MONITOR_EXEC}, вместо soxmix будет выполнено указанное в ней приложение, и исходные файлы не будут удалены автоматически. soxmix (или ${MONITOR_EXEC}) принимает три аргумента: два файла приоритетов и имя создаваемого объединенного файла, которое аналогично именам исходных файлов, но без указателей in/out. Если задана переменная ${MONITOR_EXEC_ARGS}, в качестве дополнительных аргументов в ${MONITOR_EXEC} будет передано содержимое. И ${MONITOR_EXEC}, и флаг m можно задать из интерфейса администратора.
b
Не начинать запись, пока канал не будет соединен с другим каналом.
exten => 123,1,Answer() ; записываем разговор по текущему каналу ; и объединяем звуковые каналы в конце записи exten => 123,2,Monitor(wav,monitor_test,mb) exten => 123,3,SayDigits(12345678901234567890) exten => 123,4,StopMonitor()
Смотрите также
ChangeMonitor(), StopMonitor(), MixMonitor(), PauseMonitor(), UnpauseMonitor()
MorseCode()
Воспроизводит код Морзе
MorseCode(строка)
Воспроизводит строку, записанную в виде международного кода Морзе. Перечисленные далее переменные канала будут оказывать влияние на воспроизведение:
MORSEDITLEN
Длина ТОЧКИ в миллисекундах. Значение по умолчанию - 80 мс.
Длительность всех остальных тональных сигналов и пауз определена в международном стандарте кода Морзе относительно длительности ТОЧКИ, и поэтому все остальные длительности будут настраиваться соответствующим образом.
MORSETONE
Частота, в герцах (Гц), которая будет использоваться. Значение по умолчанию - 800 Гц.
; тире-точка-тире точка-точка точка-точка-точка-точка-тире
; тире-точка-тире точка-точка-тире точка-тире
exten => 123,1,Answer()
exten => 123,2,MorseCode(KI4KUA)
Смотрите также
SayAlpha(), SayPhonetic()
MP3Player()
Воспроизводит MP3-фaйл или поток
MP3Player(местоположение)
Использует программу mpg123 для воспроизведения вызывающему абоненту файла из заданного местоположения. В качестве местоположения может быть задано или имя файла, или действительный URL. Вызывающий абонент может прекратить воспроизведение, нажав любую кнопку.
Чтобы это приложение работало правильно, должна быть установлена соответствующая версия mpg123. В настоящее время Asterisk лучше всего работает с mpg123-0.59r. Другие версии могут обеспечить результаты, не вполне соответствующие тому, что требуется.
exten => 123,1,Answer()
exten => 123,2,MP3Player(test.mp3)
exten => 123,1,Answer()
exten => 123,2,MP3Player(http://example.com/test.mp3)
MusicOnHold()
Неопределенно долго воспроизводит музыку во время ожидания
MusicOnHold(класс)
Воспроизводит музыку во время ожидания, заданную аргументом класс, соответственно настройкам файла musiconhold.conf. Если аргумент опущен, будет использоваться музыка во время ожидания по умолчанию. Задать класс музыки по умолчанию для канала можно с помощью функции диалплана MUSICCLASS.
; перенаправляем вызовы систем продаж по телефону на этот
; добавочный номер, чтобы занять их
exten => 123,1,Answer()
exten => 123,n,Playback(tt-allbusy)
exten => 123,n,MusicOnHold(default)
Смотрите также
SetMusicOnHold(), WaitMusicOnHold(), MUSICCLASS
NBScat()
Воспроизводит локальный NBS-поток
NBScat()
Использует программу nbscat8k для прослушивания локального потока NBS (Network Broadcast Sound - широковещательная сетевая передача звука). (Более подробную информацию можно найти в модуле nbs сервера Subversion компании Digium.) Вызывающий абонент может прекратить воспроизведение, нажав любую кнопку. При разрыве соединения возвращает -1. exten => 123,1,Answer() exten => 123,2,NBScat()
NoCDR()
Отключает запись параметров вызовов для текущего звонка
NoCDR()
Отключает запись CDR для текущего звонка.
; не протоколировать звонки на 555-1212
exten => 5551212,1,Answer()
exten => 5551212,2,NoCDR()
exten => 5551212,3,Dial(Zap/4/5551212)
Смотрите также
AppendCDRUserField(), ForkCDR(), SetCDRUserField()
NoOp()
Не производит никаких действий
NoOp(текст)
Ничего не делает, это просто заполнитель. Данное приложение часто используется как инструмент отладки. Если уровень детальности сообщений ядра Asterisk равен 3 или более, Asterisk обрабатывает и выводит каждую строку диалплана перед ее выполнением. Это означает, что любые аргументы, переданные в приложение NoOp() (в параметре текст), выводятся в консоли. Опытный администратор Asterisk может использовать вывод консоли для отладки диалплана. exten => 123,1,NoOp(CallerID is ${CALLERID})
Нет необходимости заключать текст в кавычки. Если кавычки помещены в круглые скобки, они будут выведены в консоли.
Когда использовать NoOp() и Verbose()
Разница между Verbose() и NoOp() невелика. Приведем здесь некоторые соображения по поводу того, как разобраться, в какой ситуации следует использовать эти приложения. Приложение Verbose() пригодится, если надо что-то вывести в консоль. Используя команду set verbose (с указанием требуемого уровня детальности, от 0 до 4), можно настроить вывод так, чтобы на экране отображались не все операции системы, а лишь те, которые имеют такой же или меньший уровень детальности. (На самом деле можно задать любую детальность. Команда set verbose 999 будет прекрасно работать, но мы не нашли вывода с уровнем детальности выше, чем 4, поэтому на данный момент задавать детальность больше 4 просто не имеет смысла.) Это означает, что можно выводить всевозможную информацию, имеющую отношение к тестируемому разделу кода, без необходимости просматривать другие сообщения системы. Если записать в диалплане следующее: