Музыка на удержании
Материал из Xgu.ru
- Короткий URL: moh
Музыка на удержании (Music on hold, MOH) — музыка, которая проигрывается у участника телефонного разговора в трубке, когда второй участник переводит его в режим удержания (on hold).
Музыка, предназначенная для проигрывания с помощью сервера Астериск или другого, как правило, хранится сразу в подходящем формате. Например, в формате GSM. Она может храниться и в MP3, с одной стороны это позволяет сэкономить место, но с другой требует обработки в момент проигрывания, что создаёт дополнительную нагрузку на сервер.
Подготовка музыкальных файлов, обычно, выполняется с помощью программы sox.
%$ mpg123 -w "$NAME.wav" "$NAME" %$ sox -t wav "$NAME.wav" -r 8000 -c1 -t gsm "$NAME.gsm" resample -ql
Для того чтобы добавить поддержку GSM в sox, необходимо установить в системе соответствующий модуль.
%$ apt-get install libsox-fmt-gsm
Если в sox есть поддержка MP3, то перекодировку можно выполнять одной командой, без применения mpg123 и создания промежуточного WAV-файла.
Конфигурация музыки на удержании выполняется через /etc/asterisk/musiconhold.conf.
[default] mode=files directory=/var/lib/asterisk/moh
По умолчанию достаточно только разместить файлы с музыкой в каталоге /var/lib/asterisk/moh, перезапустить астериск, и они будут проигрываться.
Для того чтобы проигрывалась музыка, пока абонент не возьмёт трубку, нужно использовать опцию m в Dial:
exten => _2XX,n,Dial(${EXTEN},10,m)
Необходимый класс MusicOnHold следует указывать так:
exten => _2XX,n,Dial(${EXTEN},10,m(класс-MOH))
Изменить класс музыки (то есть, то, какая музыка будет проигрываться)[1]:
Set(CHANNEL(musicclass)=...)
Принудельное включение MusicOnHold для канала:
exten => _2XX,1,Answer exten => _2XX,n,MusicOnHold(класс-MOH,длительность)
[править] Дополнительная информация
- Asterisk cmd MusicOnHold (англ.) — команда MusicOnHold() для диалплана Астериска
- Asterisk config musiconhold.conf (англ.) — настройка музыки в Астериске
- sox (англ.) — о программе sox на voip-info.org
- Convert WAV audio files for use in Asterisk (англ.) — преобразование WAW в GSM, ulaw и alaw
- SoX - Sound eXchange (англ.) — домашняя страница программы sox
- 15 Awesome Examples to Manipulate Audio Files Using Sound eXchange (SoX) (англ.) — всякие фокусы, которые можно выполнять при помощи sox
[править] Примечания
- ↑ Начиная с Asterisk 1.6