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

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

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

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

Asterisk: app_voicemail.c Mailbox directory could not be created

Обновлено: 24.08.2026 · Официальная документация ↗
  • Ошибка: ERROR: app_voicemail.c: Mailbox directory could not be created (Disk write error).
  • Абоненты не могут оставить голосовое сообщение — вызов сбрасывается после сигнала записи.
  • В логах фиксируются сбои создания директорий /var/spool/asterisk/voicemail/default/<mailbox>.
  • Голосовые сообщения не сохраняются и не отправляются на e-mail.

1. Проверка прав доступа к каталогу голосовой почты

Убедитесь, что каталог принадлежит пользователю, от имени которого запущен сервис asterisk:

ls -la /var/spool/asterisk/voicemail
chown -R asterisk:asterisk /var/spool/asterisk/voicemail
chmod -R 770 /var/spool/asterisk/voicemail

2. Проверка свободного места на накопителе и исчерпания Inodes

Проверьте свободные блоки и доступность индексных дескрипторов файловой системы:

# Проверка дискового пространства
df -h /var/spool/asterisk

# Проверка таблицы Inodes (переполнение миллионами мелких wav-файлов)
df -i /var/spool/asterisk

3. Настройка контекстов безопасности SELinux (для RHEL/CentOS/Rocky)

Если включен SELinux, восстановите корректный контекст для каталогов спула Asterisk:

restorecon -Rv /var/spool/asterisk
semanage fcontext -a -t asterisk_spool_t "/var/spool/asterisk(/.*)?"
restorecon -Rv /var/spool/asterisk

4. Проверка структуры почтовых ящиков в /etc/asterisk/voicemail.conf

[general]
format = wav49|wav
maxmsg = 100
maxmessage = 300
minmessage = 3
attach = yes

[default]
101 => 1234,User 101,user101@domain.local
102 => 5678,User 102,user102@domain.local

5. Перезагрузка приложения Voicemail

asterisk -rx "voicemail reload"
💡 Практика специалистов: Если голосовая почта смонтирована по NFS или SMB, убедитесь в наличии опции монтирования noac/lookupcache=none и отсутствии сбоев locks (lockd), иначе ядро Asterisk не сможет атомарно создавать подпапки ящиков.

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

Почему возникает ошибка Mailbox directory could not be created при 50 ГБ свободного диска?

Наиболее вероятная причина — исчерпание Inodes (индексных дескрипторов) файловой системы из-за огромного количества мелких файлов записей разговоров или логов. Проверьте вывод команды df -i.

Под каким пользователем должен работать каталог /var/spool/asterisk?

Каталог должен принадлежать системному пользователю asterisk:asterisk (или пользователю, указанному в параметре runuser в /etc/asterisk/asterisk.conf).

Как автоматически удалять старые голосовые сообщения при заполнении ящика?

Используйте параметр maxmsg в voicemail.conf для жесткого лимитирования максимального числа сообщений в ящике.

Как отправлять голосовые сообщения на Email и удалять их с сервера?

В секции [general] файла voicemail.conf настройте attach=yes и delete=yes. Сообщение уйдет вложением по e-mail и сразу сотрется с диска.

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