Как Asterisk находит и использует звуковые файлы (приложения Playback, Background и т. д.)

OS: CentOS
Asterisk: Asterisk 11.10.2

После установки, Asterisk ищет файлы в следующем каталоге: "/var/lib/asterisk/sounds" .
Вроде как, этот каталог указан в глобальном конфигурационном файл Astyersk-а.
(/etc/asterisk/asterisk.conf) (Но, опять таки, я не смог найти в нем ссылку именно на эту папку... Там имеются ссылки на несколько папок, но именно на папку "/var/lib/asterisk/sounds"- Я не нашел.)
Внутри данного каталога имеется структура папок, разбитая по языкам. Если вы не устанавливали никаких дополнительных языковых файлов, внутри каталога будет только папка en, внутри которой будут находиться сами звуковые файлы. У многих файлов будут одинаковые названия, а вот расширения - разные. Дело в том, что один и тот же файл присутствует в различных форматах сжатия. Это позволяет системе выбирать для воспроизведения тот формат, который для нее наименее сложен для воспроизведения (то есть, меньше всего загружает систему). Именно поэтому, при указании файла для приложений (Playback, Background и т. д.) мы не указываем расширение... Система выбирает сама.
Как же понять, что она выберет? Для этого нужно использовать команду "show translation"в консоле Asterisk. (Правда, мне так и не удалось получить от нее результат... То ли данные устаревшие, то ли я что-то не то делал... Консоль Asterisk сообщила мне в ответ о том, что такой команды не существует).
Если же указывать файл с расширением, то система принудительно будет пытаться воспроизвести именно его. 

А теперь непосредственно о русификации звуковых фалов Asterisk-а.
Вначале их нужно скачать. Для этого переходим в папку, в которую мы выкачивали исходники Asterisk-а ("cd /usr/src/asterisk") и вводим команду:
"wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-ru-gsm-current.tar.gz"
Далее, создаем папку "ru" внутри каталога "/var/lib/asterisk/sounds":
"mkdir /var/lib/asterisk/sounds/ru".
Теперь производим раз-архивацию файла "asterisk-core-sounds-ru-gsm-current.tar.gz" в папку 
"/var/lib/asterisk/sounds/ru": 
"tar zxvf asterisk-core-sounds-ru-gsm-current.tar.gz -C /var/lib/asterisk/sounds/ru".

Теперь нужно заставить Asterisk использовать русскоязычные звуковые файлы. Есть два способа, известные на текущий момент Мне, как это сделать:
1) Внести изменения в глобальный конфигурационный файл "/etc/asterisk/asterisk.conf". Ищем в данном файле параметр "defaultlanguage" и прописываем ему значение "ru".
2) Или же, вносим данное значение "language=ru" в файл конкретного канала (SIP, IAX2 или ZAP(теперь он зовется DAHDI)).
Пример: Чтобы Asterisk стал использовать русские звуковые файлы для SIP-каналов (всех устройств и программ, подключенных к Asterisk-у по SIP-протоколу), нужно внести следующий параметр в файл "/etc/asterisk/sip.conf":
[general]
language=ru

После этого, для каналов SIP, Asterisk начнет искать файлы в каталоге "/var/lib/asterisk/sounds/ru".

Вроде как все.
Не забудьте перезапустить настройки Asterisk после внесенных изменений (из консоли Asterisk, "reload").
Также смотрите: http://www.voip-info.org/wiki/view/Asterisk+multi-language


Комментарии

Популярные сообщения из этого блога

Настройка TIME ZONE для Asterisk.

Макросы объединения ячеек в EXEL.