Конфигурация голосовой почты описывается в конфигурационном файле voicemail.conf. Этот файл содержит набор настроек, которые могут использоваться для приведения системы голосовой почты в соответствие конкретным требованиям. Рассмотреть все доступные опции voicemail.conf в одной главе было бы просто невозможно, но образец конфигурационного файла хорошо задокументирован и прост для понимания. Пока что давайте посмотрим в конец файла, где описываются контексты и ящики голосовой почты.
Контексты диалплана просто разделяют разные части диалплана, контексты голосовой почты позволяют определять разные, изолированные друг от друга, наборы почтовых ящиков. Это обеспечивает возможность хранить голосовую почту нескольких разных компаний или офисов на одном сервере. Контексты голосовой почты определяются так же, как и контексты диалплана: с помощью имени контекста, заключенного в квадратные скобки. В примерах данной книги будет использоваться контекст голосовой почты [default].
Создание почтовых ящиков
Внутри каждого контекста голосовой почты определяются разные почтовые ящики. Для описания почтового ящика используется следующий синтаксис:
Поясним назначение каждой части описания почтового ящика:
Это номер почтового ящика. Обычно он соответствует добавочному номеру ассоциированного с ним телефонного аппарата.
Числовой пароль, который будет использоваться владельцем почтового ящика для доступа к своей голосовой почте. Если пользователь изменит свой пароль, система обновит это поле в файле voicemail.conf.
Это имя владельца почтового ящика. Текст данного поля используется в телефонном справочнике компании для обеспечения возможности абонентам при вызове применять имена пользователей.
Это адрес электронной почты владельца ящика голосовой почты. Asterisk может посылать уведомления о получении голосовой почты (включая само сообщение голосовой почты) на заданный ящик электронной почты.
Это электронный адрес пейджера или мобильного телефона владельца ящика голосовой почты. Asterisk может посылать короткое сообщение, уведомляющее о получении голосовой почты, на заданный адрес электронной почты.
Это список опций, определяющих часовой пояс, в котором находится владелец почтового ящика, и переопределяющих глобальные настройки голосовой почты. Существует девять допустимых опций: attach, serveremail, tz, saycid, review, operator, callback, dialout и exitcontext. Эти опции определяются парами
Вот типовое описание почтового ящика:
101 => 1234,Joe Public,jpublic@somedomain.com,jpublic@pagergateway.net, tz=central|attach=yes
Продолжая создание нашего диалплана из последней главы, зададим ящики голосовой почты для Джона и Джейн. Для Джона определим пароль 1234, а для Джейн - 4444 (помните, это делается в файле voicemail. conf, а не в extensions.conf):
[default]
• => 1234,John Doe,john@asteriskdocs.org,jdoe@pagergateway.tld
• => 4444,Jane Doe,jane@asteriskdocs.org,jane@pagergateway.tld
Добавление голосовой почты в диалплан
Теперь, когда созданы почтовые ящики для Джейн и Джона, давайте обеспечим возможность абонентам оставлять сообщения для них в случае, если они не отвечают на звонок. Для этого воспользуемся приложением VoiceMail.
Приложение VoiceMail направляет вызывающего абонента на заданный почтовый ящик, чтобы он мог оставить сообщение. Почтовый ящик должен быть описан так:
exten => 101,1,Dial(${JOHN})
Теперь давайте добавим сообщение о недоступности, которое услышит вызывающий абонент, если Джон не ответит на звонок в течение 10 с. Помните, второй аргумент в приложении Dial - время ожидания. Если до истечения времени ожидания ответа на вызов не последовало, звонок перенаправляется в следующий приоритет. Зададим время ожидания 10 с и добавим приоритет для перевода абонента на голосовую почту, в случае если Джон не отвечает на звонок вовремя: