Телефонизация. Технический блог.

Настройка голосовой почты (Voicemail) в FreePBX 17 — полное руководство

Голосовая почта — одна из базовых функций любой АТС, но в FreePBX она реализована глубже, чем кажется на первый взгляд. В этом руководстве разбираем всё: от базовой настройки ящика до email-уведомлений, Voicemail Blast и диагностики типовых проблем

1. Что нового в FreePBX 17 для Voicemail

Модуль voicemail(версия 17.0) входит в базовую поставку FreePBX 17 и работает поверх Asterisk 22. Принципиальных изменений интерфейса относительно версий 15-16 нет — все настройки остались на привычных местах. Но под капотом:
  • Asterisk 22— улучшена работа с ODBC-хранилищем голосовых сообщений
  • UCP (User Control Panel)версии 17 — обновлённый веб-интерфейс для пользователей с встроенным прослушиванием голосовой почты
  • Встроенный SMTP— теперь стабильнее работает с современными почтовыми серверами (TLS 1.2+)
  • Поддержка PJSIP как основного драйвера каналов (CHAN_SIP удалён)

2. Установка и проверка модуля

Модуль Voicemail Admin предустановлен. Проверяем:
fwconsole ma list | grep voicemail
# Должен показать: voicemail | 17.0.x | Enabled

#Если не установлен, запускаем установку
fwconsole ma downlaodinstall voicemail
fwconsole ma enable voicemail
fwconsole reload

# Если отключен — включаем:
fwconsole ma install voicemail
fwconsole ma enable voicemail
fwconsole reload
В веб-интерфейсе: Settings → Voicemail Admin.

3. Настройка голосовой почты для внутреннего номера

Зайдите: Applications → Extensions → выберите нужный extension → вкладка Voicemail.

Основные параметры voicemail:

Параметр
Значение
Описание
Voicemail Enabled
Yes
Включает ящик
Voicemail Password
4+ цифр
PIN-код для доступа
Email Address
user@domain.ru
Куда слать уведомления
Email Attachment
Yes
Прикреплять WAV-файл
Play CID
Yes
Произносить номер звонившего
Play Envelope
Yes
Произносить дату/время
Delete Voicemail
Yes
Удалять после отправки на email
После настройки нажмите Submit, затем красную кнопку Apply Config.

4. Настройка Email-уведомлений

Это критически важный шаг — без работающей почты пользователи не узнают о новых сообщениях.

4.1. SMTP-настройки в веб-интерфейсе

Admin → System Admin → Email Settings:
Важно: настройки SMTP в веб-интерфейсе (Admin → System Admin → Email Settings) доступны ТОЛЬКО в приобретённой (paid) версии модуля sysadmin. Если модуль не куплен — никаких настроек SMTP в GUI не будет. В 90% случаев придётся настраивать почту через CLI (см. 4.3).
✅ Use built in SMTP server (или внешний SMTP)

Если внешний SMTP:
Hostname: smtp.gmail.com
Port: 587
Username: your@email.com
Password: app-password
Encryption: TLS

4.2. Частая проблема: Office 365 / Gmail

Современные почтовые сервисы блокируют простую SMTP-аутентификацию:
  • Office 365: требуется настроить коннектор в Exchange Admin для релея с IP вашего сервера. Инструкция Microsoft
  • Gmail: нужен App Password (не основной пароль). Включить 2FA → создать пароль приложения.

4.3. Postfix в обход GUI (надёжный способ)

Графический интерфейс настройки почты не всегда работает корректно. Вот прямой способ через Postfix:
Примечание: Мы используем собственный скрипт настройки Postfix ещё со времён FreePBX 13 — postfixsetup.sh. Скрипт до сих пор работает, хотя давно не обновлялся. На свежих FreePBX 16/17 Postfix часто вообще не требует явной настройки — письма уходят нормально «из коробки». Но метод, описанный ниже, делает примерно то же самое, что и скрипт.
# Установить Postfix если не установлен
yum install postfix mailx -y   # или apt install postfix mailutils -y

# Настроить relay через Gmail
cat >> /etc/postfix/main.cf << 'EOF'
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
EOF

# Создать файл с паролем
echo "[smtp.gmail.com]:587 your@gmail.com:app-password" > /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd*

# Перезапустить Postfix
systemctl restart postfix

# Проверить отправку
echo "Test from FreePBX" | mail -s "Test" your@email.com

4.4. Проверка логов при проблемах

tail -f /var/log/maillog          # Логи отправки
tail -f /var/log/asterisk/full    # Логи Asterisk (команды voicemail)
Типичная ошибка, которую вы увидите:
Host or domain name not found. Name service error for name=freepbx.sangoma.local
→ Это означает, что поле My Origin в Email Settings содержит несуществующий хостнейм. Замените на реальный FQDN сервера.

5. Способы доступа к голосовой почте

5.1. Со своего телефона — *97

Нажмите кнопку Messages (конверт) или наберите *97. Введите PIN. Голосовое меню: - 1 — прослушать новые сообщения - 3 — дополнительные опции (время, номер звонившего) - 4 — предыдущее сообщение - 5 — повторить - 6 — следующее - 7 — удалить - 8 — переслать другому абоненту - 9 — сохранить - 0 — настройки ящика (запись приветствия, смена PIN)

5.2. С чужого телефона — *98

Наберите *98 → введите номер вашего extension → PIN.

Эта возможность включается в Applications → Extensions → выберите нужный extension → вкладка Voicemail.
✅ Require From Same Extension - no

5.3. Через User Control Panel (UCP)

UCP доступен по адресу https://ваш_IP:1443/ucp. Пользователь входит со своим extension + паролем User Portal.
В UCP 17 можно: - Видеть список сообщений - Слушать их прямо в браузере - Удалять, скачивать WAV

6. Шаблоны Email-уведомлений (Email Config)

Настройка шаблонов писем выполняется в разделе Settings → Voicemail Admin → Settings → Email Config. Здесь можно задать тему, тело письма и использовать переменные для подстановки данных о звонке.

Переменные шаблонов (VM_*)

Переменная
Описание
${VM_NAME}
Имя владельца ящика (Display Name)
${VM_CALLERID}
Caller ID звонившего (имя)
${VM_CIDNUM}
Номер звонившего
${VM_DATE}
Дата и время сообщения
${VM_DURATION}
Длительность сообщения в секундах
${VM_MAILBOX}
Номер ящика (extension)
${VM_MSGNUM}
Порядковый номер сообщения в ящике

Примеры шаблонов

Тема письма (Email Subject):
Новое голосовое сообщение от ${VM_CALLERID} (${VM_CIDNUM}) — ящик ${VM_MAILBOX}
Тело письма (Email Body):
Уважаемый(ая) ${VM_NAME},

Для вас новое голосовое сообщение.

От: ${VM_CALLERID} (${VM_CIDNUM})
Дата: ${VM_DATE}
Длительность: ${VM_DURATION} сек.
Сообщение №${VM_MSGNUM} в ящике ${VM_MAILBOX}
Примечание: для переноса строк в теле письма используйте \n. Например: Строка 1.\n\nСтрока 2. — двойной \n создаст пустую строку между абзацами.
Эти шаблоны применяются глобально ко всем ящикам. Индивидуальную настройку для конкретного extension можно задать только через voicemail.conf (но GUI-метод через Email Config покрывает потребности большинства инсталляций).

7. Голосовая почта в плане звонка

7.1. Как Destination (место назначения)

В любом модуле, где есть выбор Destination: - Time Conditions → если нерабочее время → Voicemail - Ring Groups → если никто не ответил → Voicemail - Queues → после таймаута → Voicemail - Inbound Routes → прямо на Voicemail

7.2. Виртуальный Extension для голосовой почты

Создайте extension без телефона (Virtual Extension) — используйте его как общий ящик для отдела:

  1. Applications → Extensions → Add → Virtual Extension
  2. User Extension: например 500
  3. Display Name: «Голосовая почта отдела продаж»
  4. Вкладка Voicemail → Enabled: Yes, Email: sales@company.ru

Теперь этот номер можно выбрать в любом Destination.

8. Voicemail Blast — рассылка голосовых сообщений

Модуль VM Blast позволяет оставить одно сообщение сразу группе абонентов (например, оповещение от руководителя).
fwconsole ma downloadinstall vmblast
fwconsole reload

Настройка Voicemail Blast:

Applications → Voicemail Blast → Add Group:

  • Group Number: *301 или любой свободный
  • Group Name: «Все сотрудники»
  • Voicemail Box List: выберите extension'ы, которые получат сообщение

Теперь любой сотрудник может набрать *301, записать сообщение — и оно попадёт в ящики всей группы.

9. Типовые проблемы и их решение

«Unknown error. Please run: fwconsole reload --verbose»

Диагностика и решение этой ошибки — пошагово:

  1. Диагностика: fwconsole reload --verbose — смотрите, какой модуль выдаёт ошибку.
  2. Переустановка: fwconsole ma downloadinstall <имя_модуля>.
  3. Обновление всех: fwconsole ma upgrade all.
  4. Применение: fwconsole reload.

Подробнее: Разбор ошибки Unknown Error на telephonization.ru

Письма не доходят

# 1. Проверить настройки SMTP
tail -50 /var/log/maillog

# 2. Проверить, пытается ли Asterisk отправить
grep -i "voicemail\\|sendmail" /var/log/asterisk/full | tail -20

# 3. Проверить email адрес в extension
fwconsole mysql -e "SELECT extension, displayname, email FROM asterisk.users WHERE email != '';"

# 4. Проверить права на sendmail
which sendmail
ls -la $(which sendmail)

Приветствие не записывается

# Проверить права на директорию
ls -la /var/spool/asterisk/voicemail/default/<ext>/

# Должна быть доступна для записи пользователю asterisk
chown -R asterisk:asterisk /var/spool/asterisk/voicemail/

Сообщения пропадают / не сохраняются

grep -E "maxmsg|maxsecs" /etc/asterisk/voicemail.conf
По умолчанию maxmsg=100 — при превышении старые удаляются (FIFO).

Нужна помощь? Оставьте заявку на telephonization.ru/1help

Мы оказываем разовую техническую поддержку, оставьте заявку. Мы сделаем всё за вас.

Фиксированная цена: 3 000 руб.
Срок: до 40 минут.
Гарантия: 7 дней на выполненные работы.

Telephonization.ru — внедрение и поддержка корпоративной телефонии на Asterisk/FreePBX.
2026-06-24 12:24 Инструкция FreePBX