musiconhold

Для того чтобы во время ожидания, народ не слушал гудки, а приятную и мелодичную музыку….
где скачать бесплатную музыку, как ее конвертировать и как настроить будет далее

1. Сам файл настройки изобилует примерами, как можно проиграть ваши композиции, стянуть поток, итд
Самый простой вариант:

; musiconhold.conf
[default]
mode=files  ; можно указать разные типы воспроизведения напр. custom
directory=moh
sort=random  ;порядок сортировки записей
;digit=# ; переключит "слушателя" в этот класс:) 
;application= ; если mode=custom,то можно задать приложение которое будет воспроизводить музыку

в папке moh находим папку default, собственно из нее и будет играть
Что скрывается за полями:
name — имя MOH класса (‘default’ по умолчанию).
mode — одно из значений “’custom’, ‘files’, ‘mp3nb’, ‘quietmp3nb’ или ‘quietmp3’ (‘files’ по умолчанию)
directory — Указывается директория с файлами которые требуется проигрывать, возможно также указать поток или URL. Если значение mode установлено в ‘custom’ директория игнорируется. путь к папке отсчитывается от /usr/local/share/asterisk
application — Запускается приложение которое предоставляет MOH в случае если значение mode установлено в ‘custom’. В противном случае игнорируется. (‘null’ по умолчанию)
digit — Цифра соответствующая классу MOH, в том случае если MOH возможно выбрать звонящему абоненту. (‘null’ по умолчанию)
sort — Порядок проигрывания файлов, ‘random’ или ‘alpha’. В случае если значение отсутствует устанавливается порядок в котором отображаются файлы в директории. (‘null’ по умолчанию)
format — Указывается формат воспроизводимого аудио файла в случае если значение mode установлено в ‘custom’. Форматом аудио файла по умолчанию является SLIN, “16 bit Signed Linear PCM” (‘null’ по умолчанию)
stamp — Временная метка модификации записи.

2. По умолчанию у нас есть парочка мелодий, но их явно недостаточно:)
Где взять бесплатные мелодийки:
http://opsound.org/
http://en.wikipedia.org/wiki/Wikipedia:Sound/list
http://www.classiccat.net
3. Для конвертации из .. в .. используем /usr/ports/audio/sox как написано в описании швейцарский армейский нож конвертации… проверил только пару моментов — работает:)
вот пример MP3->SLN:

sox SilentCity.mp3 -t raw -r 8000 -s -2 -c 1 SilentCity.sln 

или если вдург косяк, то 100500% вариант:

mpg123 -w of.wav if.mp3
sox of.wav -t raw -r 8000 -s -2 -c 1 of.sln

Sox полезен если мы строим свое голосовое меню

4. Для того чтобы играл определенный стиль музыки, да и вообще играл нужно кое что добавлять в dialplan!
Код не для продакшена!

exten => 103,1,Answer(500) ;<strong> answer(500)</strong> обязательно, иначе играть не будет
same => n, Set(CHANNEL(musicclass)=bos) ;устанавливаем класс музыки по умолчанию:)  
same => n,Dial(SIP/ololo,,m) ;без m ничего играть не будет
same => n,MusicOnHold()  ;проиграет нам нашу музычку 

5. Realtime MusicOnHold
Таблица:

CREATE TABLE `musiconhold` (
 `name` char(80) NOT NULL,
 `mode` char(80) DEFAULT NULL,
 `directory` char(255) DEFAULT NULL,
 `application` char(255) DEFAULT NULL,
 `digit` char(1) DEFAULT NULL,
 `sort` char(10) DEFAULT NULL,
 `format` char(10) DEFAULT NULL,
 `stamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
 PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

После этого в конфигурационном файле musicinhold.conf комментируем все записи
Добавляем в extconfig.conf

musiconhold => mysql,general,musiconhold  

ВАЖНО general это секция в res_config_mysql.conf

Зайдя на консоль asterisk выполняем команду “module reload res_musiconhold.so”. Перезагрузка модулей требуется для перемещения конфигурации из файла musiconhold.conf в базу данных MySQL.

Можно почитать, но аккуратно, немного несвежая заметка:
http://www.voip-info.org/wiki/view/Asterisk+config+musiconhold.conf


Комментарии: