Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

MOH_AUDIO_FORMAT_ERR IP-Телефония и СКУД

Asterisk: музыка вместо гудков (Music on Hold) и конвертация файлов

Обновлено: 26.08.2026 · Официальная документация ↗

Симптомы некорректной настройки музыки ожидания:

  • При переводе звонка на удержание (Hold) или в очереди в трубке наступает полная тишина.
  • Музыка воспроизводится с сильным скрежетом, шумом, ускоренно или замедленно («голоса роботов»).
  • В логах сервера Asterisk CLI сыпятся ошибки: Unable to open format file /var/lib/asterisk/moh/track1.mp3.
  • Сервер Asterisk грузит процессор на 100% при попытке декодировать MP3 в реальном времени.

Шаг 1. Главное правило: Требования к аудиоформату в телефонии

Ядро Asterisk НЕ ДОЛЖНО декодировать MP3 файлы на лету, так как это перегружает CPU. Все аудиофайлы для телефонии должны быть заранее сконвертированы в строгий стандарт:

  • Формат: WAV (PCM Linear)
  • Частота дискретизации: 8000 Гц (8 кГц)
  • Разрядность: 16 бит
  • Количество каналов: Моно (Mono, 1 канал)

Шаг 2. Быстрая конвертация через утилиту FFmpeg в Linux

Установите FFmpeg и выполните команду пакетной конвертации вашего MP3 трека:

apt-get install -y ffmpeg || dnf install -y ffmpeg

# Конвертация в правильный WAV:
ffmpeg -i input_music.mp3 -acodec pcm_s16le -ac 1 -ar 8000 /var/lib/asterisk/moh/my_moh.wav

Шаг 3. Настройка файла musiconhold.conf

Откройте конфигурационный файл музыки ожидания:

nano /etc/asterisk/musiconhold.conf

Опишите стандартный класс воспроизведения [default]:

[default]
mode=files
directory=/var/lib/asterisk/moh
sort=alpha

Шаг 4. Назначение прав и применение настроек

chown -R asterisk:asterisk /var/lib/asterisk/moh
chmod 644 /var/lib/asterisk/moh/*.wav

# Перезагрузка модуля в Asterisk:
asterisk -rx "moh reload"
💡 Практика специалистов: Не используйте модуль format_mp3 для постоянного воспроизведения музыки ожидания: при одновременном удержании 20-30 звонков сервер телефонии испытает резкий скачок Load Average.

Частые вопросы (FAQ)

Почему нельзя использовать стерео-файлы с частотой 44100 Гц?

Телефонные каналы связи (G.711 / VoIP) работают на частоте 8000 Гц в режиме Моно. При попытке воспроизвести файл 44.1 кГц стерео звук начнет заикаться или превратится в громкий белый шум.

Как включить случайный порядок воспроизведения треков (Shuffle)?

В файле musiconhold.conf в нужной секции замените директиву sort=alpha на sort=random.

Как проверить список зарегистрированных классов музыки в консоли?

Выполните команду в консоли: asterisk -rx 'moh show classes' — вы увидите список папок и количество обнаруженных файлов.

Как включить собственную мелодию только для определенной очереди операторов?

В файле queues.conf в настройках конкретной очереди укажите параметр musicclass=название_класса (например, musicclass=vip_support).

Полезные материалы
Рекомендуем