Asterisk. Конфигурационный файл voicemail.conf.

Файл voicemail.conf управляет системой голосовой почты Asterisk (Comedian Mail (Почта комедианта)).
Файл состоит из трех основных разделов.

  • [general] - определяет общие настройки системы голосовой почты.
  • [zonemessages] - позволяет конфигурировать разные зоны голосовой почты, которые являются совокупностью настроек времени и часовых поясов.
  • В третьем и последнем разделе создаются одна или более групп ящиков голосовой почты, каждая из которых содержит описание почтового ящика.

Общие настройки голосовой почты.
Раздел [general] файла voicemail.conf содержит множество разнообразных опций, которые оказывают влияние на всю систему голосовой почты:
format (формат). Дает список кодеков, используемых для хранения сообщений голосовой почты. Формат, заданный первым, является форматом, используемым при прикреплении сообщения голосовой почты к электронному письму. Значение по умолчанию – wav49|gsm|wav.

serveremail (почтовый сервер). Указывает адрес электронной почты, с которого должны отправляться уведомления о получении голосовой почты.
attach (прикрепить). Должен ли Asterisk прикреплять звуковой файл голосовой почты к электронному письму.
maxmsg. Устанавливает максимальное число сообщений, которые могут храниться в любой папке голосовой почты.
maxmessage Задает максимальную продолжительность сообщения голосовой почты, в секундах.
minmessage Задает минимальную продолжительность сообщения голосовой почты, в секундах.
maxgreet. Задает максимальную продолжительность приветствия голосовой почты, в секундах.
skipms (пропустить мс). Устанавливает, сколько миллисекунд вперед/назад пропустить при нажатии пользователем кнопки перемотки вперед или назад при воспроизведении сообщения.
maxsilence (максимальная пауза). Определяет допустимую продолжительность паузы, в секундах, после которой запись будет завершена.
silencethreshold. Устанавливает пороговую продолжительность паузы (что считать «паузой» – чем ниже порог, тем выше чувствительность).
maxlogins (максимальное число попыток регистрации) Задает максимальное разрешенное число неудачных попыток регистрации.
userscontext (пользовательский контекст). Определяет, частью какого контекста голосовой почты, определенного в файле users.conf, должны быть почтовые ящики. Значение по умолчанию – контекст голосовой почты default.
externnotify (внешнее уведомление). Предоставляет полный путь и имя файла внешней программы, которая должна выполняться при отправке или доставке голосовой почты либо при проверке почтового ящика. Может быть задано значение smdi, чтобы использовать для внешнего уведомления SMDI. Если задано значение smdi, для параметра smdiport должен быть задан действительный порт, определенный в файле smdi.conf.
smdiport (порт smdi). Определяет порты связи, используемые SMDI. Значение должно быть действительным портом, заданным в файле smdi.conf. Используется, когда для параметра externnotify задано значение smdi.
externpass. Предоставляет полный путь и имя файла внешней программы, выполняемой при изменении пароля доступа к голосовой почте.
directoryintro. Переопределяет стандартное приветствие при входе в телефонную книгу.
charset. Определяет набор символов сообщений голосовой почты.
adsifdn. Определяет номер дескриптора функции ADSI для загрузки.
adsisec. Устанавливает защитный код блокировки ADSI.
adsiver. Указывает номер версии приложения голосовой почты ADSI.
pbxskip. Указывает Asterisk не добавлять строку [PBX]: в начале строки темы электронного письма-уведомления о получении голосовой почты.
fromstring:... Меняет строку From: электронных сообщений-уведомлений о получении голосовой почты.
usedirectory (использовать телефонную книгу). Позволяет владельцу почтового ящика выбирать записи из телефонной книги для пересылки и/или создания новых сообщений голосовой почты.
odbcstorage (odbc-хранение). Если Asterisk скомпилирована с поддержкой хранения голосовой почты посредством ODBC, эта опция позволит задать, какое ODBC-соединение использовать. ODBC соединения описаны в файле res_odbc.conf.
odbctable (odbc-таблица). Эта опция используется в сочетании с odbcstorage. Она определяет, какая таблица базы данных будет использоваться для сообщений голосовой почты.
emailsubject (тема электронного письма). Определяет тему электронных сообщений-уведомлений о получении голосовой почты.
pagerfromstring (строка от: сообщения на пейджер). Меняет строку From: сообщений-уведомлений о получении голосо- вой почты, рассылаемых на пейджер.
emailbody (тело электронного письма). Обеспечивает тело электронного письма-уведомления о получении голосовой почты.
emaildateformat (формат даты электронной почты). Определяет формат даты и времени для исходящих уведомлений, рассылаемых по электронной почте.
mailcmd. Предоставляет полный путь и имя файла программы Asterisk, используемой для отправки уведомлений по электронной почте. Эта опция полезна, если требуется переопределить программу элект ронной почты по умолчанию.
nextaftercmd. Переходит к следующему сообщению, если пользователь нажал кнопку 7 или 9, чтобы удалить или сохранить текущее сообщение.


Зоны голосовой почты
Пользователи голосовой почты могут находиться географически в разных местах, Asterisk предоставляет возможность сконфигурировать часовой пояс и способ объявления времени для разных вызывающих абонентов. Каждая уникальная комбинация называется зоной голосовой почты. Конфигурация зон голосовой почты осуществляется в разделе [zonemessages] файла voicemail.conf. После этого можно задать, чтобы ящики голосовой почты использовали настройки одной из этих зон.
Каждое описание зоны голосовой почты состоит из строки со следующим синтаксисом: имязоны=часовойпояс | формат_времени
Пример:
[zonemessages]
central=America/Chicago|'vm-received' Q 'digits/at' IMp
mountain24=America/Denver|'vm-received' q 'digits/at' H 'digits/hundred' M
'hours'

Определение контекстов и ящиков голосовой почты.
Когда общесистемные настройки и зоны голосовой почты заданы, можно определить контексты голосовой почты и индивидуальные почтовые ящики.
Контексты голосовой почты используются для разделения разных групп пользователей голосовой почты. Например, если в Asterisk хранится голосовая почта нескольких компаний, необходимо поместить почтовые ящики каждой компании в разные контексты голосовой почты, чтобы не смешивать их почту. Также контексты голосовой почты можно использовать для создания телефонных книг отделов.
Чтобы определить новый контекст голосовой почты, нужно просто заключить имя контекста в квадратные скобки:
[default]
В контексте голосовой почты для описания каждого почтового ящика используется следующий синтаксис:
почтовыйящик=пароль,имя[,email[,email_пейджера[,опции]]]

Аргументы email и email_пейджера – это адреса электронной почты, на которые будут отправляться уведомления о получении голосовой почты. Они могут оставаться пустыми, если нет необходимости рассылать уведомления о поступлении голосовой почты по электронной почте.
Сообщение, отправляемое по адресу email_пейджера, обычно короче и подходит для отправки на мобильный телефон (по электронной почте на SMS-шлюз) или на буквенно-цифровой пейджер.
Аргумент опции – это разделенный символами вертикальной черты список опций голосовой почты, которые могут быть определены для почтового ящика. (Эти опции также могут быть заданы глобально в разделе [general].) К действительным опциям голосовой почты относятся:
tz (часовой пояс). Задает зону голосовой почты, определенную ранее в разделе
[zonemessages]. Эта опция не имеет значения, если для параметра envelope задано значение no.
attach. Прикрепляет сообщение голосовой почты к электронному письму-уведомлению (но не к сообщению на пейджер). Может принимать значение yes или no.
attachfmt. Определяет формат сообщения голосовой почты, которое должно быть прикреплено к сообщению, отправляемому как уведомление по электронной почте. Обычно Asterisk использует первый формат, заданный в параметре format раздела [general] (рассматривался ранее), но это можно переопределить для каждого почтового ящика отдельно. Эта опция может быть задана только для почтового ящика отдельно.
saycid. Информация Caller ID (ID звонящего) проговаривается перед сообщением.
cidinternalcontexts. Указывает, чтобы при воспроизведении информации Caller ID в качестве имени предоставлялся не добавочный номер, а внутренний контекст.
sayduration (проговаривать продолжительность). Включает/отключает воспроизведение перед сообщением информации о его длительности. Значение по умолчанию – on.
saydurationm. Определяет минимальную продолжительность, о которой сообщается, если для опции sayduration задано значение on. Значение по умолчанию – две минуты.
dialout (набор номера из). Определяет контекст, из которого набирается номер (путем выбора опции 4 расширенного меню). Если не задана, набор номера из системы голосовой почты запрещен.
sendvoicemail (отправка голосовой почты). Определяет контекст, из которого будет отправляться голосовая почта (путем выбора опции 5 расширенного меню). Если не задана, отправка сообщений из системы голосовой почты запрещена.
searchcontexts (контексты поиска). По умолчанию Asterisk выполняет поиск только в контексте default, если не задан другой контекст. Чтобы Asterisk выполняла поиск во всех контекстах, задайте для этой опции значение yes.
callback (обратный вызов). Определяет контекст, из которого будет осуществляться обратный вызов. Если не задан, обратный вызов отправителя из системы голосовой почты запрещен.
review (просмотр). Позволяет отправителю просматривать/перезаписывать свои сообщения перед сохранением. Значение по умолчанию – off.
operator (оператор). Позволяет отправителю нажимать кнопку 0 для доступа к оператору перед, после или во время передачи сообщения голосовой почты. Значение по умолчанию – off.
envelope (конверт). Включает/выключает воспроизведение конверта перед воспроизведением сообщения. Значение по умолчанию – on.
delete (удалить). Удаляет сообщения голосовой почты с сервера после отправки уведомления. Эта опция может быть задана только для отдельного почтового ящика; предназначена для пользователей, которые хотят получать сообщения голосовой почты только по электронной почте.
volgain (увеличить громкость). Если сообщения голосовой почты, прикрепленные к письмам электронной почты, слишком тихие, можно задать эту опцию, чтобы увеличить громкость сообщения перед его прикреплением к электронному письму-уведомлению. Эта опция работает, только если в системе Asterisk установлено приложение sox.
forcename (заставить указать имя). Вынуждает новых пользователей записывать их имена. Новый пользователь определяется по паролю, повторяющему номер его почтового ящика. Значение по умолчанию – no.
forcegreetings (заставить записать приветствия). Вынуждает новых пользователей записывать приветствия. Новый пользователь определяется по паролю, повторяющему номер его почтового ящика. Значение по умолчанию – no.
hidefromdir (скрыть от телефонной книги). Скрывать почтовый ящик от телефонной книги. Значение по умолчанию – no.
tempgreetwarn. Предупреждать пользователей о том, что их временные приветствия до сих пор выключены. Можно задавать несколько опций.

Вот примеры описаний почтовых ящиков:
[default]
; обычный почтовый ящик с уведомлением по электронной почте
101 => 4242,Example Mailbox,somebody@asteriskdocs.org
; улучшенный почтовый ящик с уведомлением по электронной почте и пейджеру и парой специальных опций
102 => 9855,Another User,another@asteriskdocs.org,pager@asteriskdocs. org,attach=no|tz=central
; почтовый ящик без уведомления по электронной почте и массой дополнительных опций
103 => 6522,John Q. Public,,,tz=central|attach=yes|saycid=yes|dialout=fromvm|callback=fromvm|review=yes

Пример файла.
[general]
format=wav49|gsm|wav
serveremail=asterisk
attach=yes
skipms=3000
maxsilence=10
silencethreshold=128
maxlogins=3

emaildateformat=%A, %B %d, %Y at %r
sendvoicemail=yes

[zonemessages]
eastern=America/New_York|'vm-received' Q 'digits/at' IMp
central=America/Chicago|'vm-received' Q 'digits/at' IMp
central24=America/Chicago|'vm-received' q 'digits/at' H N 'hours'
military=Zulu|'vm-received' q 'digits/at' H N 'hours' 'phonetic/z_p'
european=Europe/Copenhagen|'vm-received' a d b 'digits/at' HM

[default]
1234 => 4242,Example Mailbox,root@localhost

[other]
1234 => 5678,Company2 User,root@localhost