Голосовая почта — одна из базовых функций любой АТС, но в 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:
После настройки нажмите 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
Если внешний 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.com4.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.
Эта возможность включается в 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
В UCP 17 можно: - Видеть список сообщений - Слушать их прямо в браузере - Удалять, скачивать WAV
6. Шаблоны Email-уведомлений (Email Config)
Настройка шаблонов писем выполняется в разделе Settings → Voicemail Admin → Settings → Email Config. Здесь можно задать тему, тело письма и использовать переменные для подстановки данных о звонке.
Переменные шаблонов (VM_*)
Примеры шаблонов
Тема письма (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) — используйте его как общий ящик для отдела:
Теперь этот номер можно выбрать в любом Destination.
- Applications → Extensions → Add → Virtual Extension
- User Extension: например 500
- Display Name: «Голосовая почта отдела продаж»
- Вкладка 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:
Теперь любой сотрудник может набрать *301, записать сообщение — и оно попадёт в ящики всей группы.
- Group Number: *301 или любой свободный
- Group Name: «Все сотрудники»
- Voicemail Box List: выберите extension'ы, которые получат сообщение
Теперь любой сотрудник может набрать *301, записать сообщение — и оно попадёт в ящики всей группы.
9. Типовые проблемы и их решение
«Unknown error. Please run: fwconsole reload --verbose»
Диагностика и решение этой ошибки — пошагово:
Подробнее: Разбор ошибки Unknown Error на telephonization.ru
- Диагностика: fwconsole reload --verbose — смотрите, какой модуль выдаёт ошибку.
- Переустановка: fwconsole ma downloadinstall <имя_модуля>.
- Обновление всех: fwconsole ma upgrade all.
- Применение: 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 дней на выполненные работы.
Фиксированная цена: 3 000 руб.
Срок: до 40 минут.
Гарантия: 7 дней на выполненные работы.
Telephonization.ru — внедрение и поддержка корпоративной телефонии на Asterisk/FreePBX.