Команда VoiceMail()


Назначение:


Используется для отправки голосового сообщения в один или несколько голосовых почтовых ящиков.

Описание


VoiceMail( [ flags ] boxnumber [@context][&boxnumber2[@context]][&boxnumber3] )
или
VoiceMail(boxnumber [@context][&boxnumber2[@context]][&boxnumber3] , [ flags ] )

Замечание для версии 1.4
Начиная с версии 1.4, флаги команды должны указываться после символа | (вертикальной черты). Возможность указывать флаги после символа запятой или перед номером ящика была удалена.
VoiceMail(boxnumber [@context][&boxnumber2[@context]][&boxnumber3] | [ flags ] )

Команда записывает аудиопоток канала и записывает его в звуковой файл для заданного почтового ящика, указанного в параметре boxnumber, который должен быть определен в файле конфигурации voicemail.conf или с помощью механизма Realtime. После параметра, который определяет почтовый ящик - boxnumber, может быть указан один или несколько флагов команды - flags:

  • s: символ s, если указан этот флаг, то инструкция ("Пожалуйста, оставьте свое сообщение после звукового сигнала. После окончания повесьте трубку или нажмите символ решетки.") проигрываться не будет.

  • u: символ u, если указан этот флаг, то будет проигрываться сообщение о недоступности абонента. По умолчанию, это сообщение выглядит примерно так: "Абонент с номером ... 1234 ... недоступен", но владелец голосового ящика может сам записать свое сообщение о недоступности с помощью команды VoicemailMain.

  • b: символ b, если указан этот флаг, это приведет к тому, что будет проиграно сообщение о занятости абонента. По умолчанию, это сообщение выглядит примерно так: "Абонент с номером ... 1234 ... сейчас занят."

  • g(#): (Только если этот флаг указывается в качестве второго аргумента) Настройка уровня для записи сообщения. # - это число определяющее уровень записи в децибелах.

Вы не можете указать одновременно флаг u и b. Однако, Вы можете комбинировать их с флагом s, при этом получив шесть возможных комбинаций сообщений:
  1. s: Ничего не проигрывается.
  2. (нет флагов): Проигрывается инструкция.
  3. su: Проигрывается сообщение о недоступности абонента.
  4. u: Проигрывается сообщение о недоступности абонента, далее инструкция.
  5. sb: Проигрывается сообщение о занятости абонента.
  6. b: Проигрывается сообщение о занятости абонента, далее инструкция.
Во всех случаях, будет проигран файл beep.gsm, до начала записи сообщения.

Данное приложение будет устанавливать значение данной переменной канала при своем завершении:
VMSTATUS - содержит статус выполнения приложения VoiceMail.
Возможные значения: SUCCESS | USEREXIT | FAILED

Сообщения голосовой почты будут сохраняться в директории inbox для указанного голосового почтового ящика, по умолчанию, схема такая:
  • /var/spool/asterisk/voicemail/context/boxnumber/INBOX/

Если вызывающий абонент нажмет 0 (ноль) в процессе проигрыша анонса, и в файле vicemail.conf установлен параметр: 'operator=yes', либо в глобальной секции, либо конкретно для данного голосового ящика, то выполнения плана набора продолжиться с екстеншена 'o' (сокр. от "Out"), в текущем контексте для голосовой почты. Эта функция может использоваться для перехода к вызову секретаря. Если Вам это не нужно, просто сконфигурируйте для екстеншена "o" переход обратно в систему голосовой почты или укажите параметр: operator=no, иначе соединение будет прервано, в связи с фактическим отсутствием екстеншена 'o'.

Также. В процессе приветствия абонент может нажать следующие кнопки:
'*' - вызов будет переброшен на екстеншен 'a' текущего контекста голосовой почты.
'#' - Проигрыш приветствия и/или инструкций будет остановлен и запись сообщения будет начата немедленно.


Если запрашиваемого голосового ящика не существует и существует команда с приоритетом n+101, то выполнение продолжиться с данной команды.

Если в процессе записи сообщения абонент нажмет:
'#' - или истечет заданный период тишины, запись будет остановлена, и выполнение продолжиться со следующей по приоритету команды.

Если мы не хотим более ничего предложить абоненту, после того, как он оставил сообщение с помощь. приложения Voicemail(), мы просто можем закончить вызов:
...
exten => somewhere,5,Playback(Goodbye)
exten => somewhere,6,Hangup

Примеры:


Voicemail(1)
Voicemail(b1234@default)
Voicemail(b1234&1704@home)
Voicemail(su${EXTEN})

Старая версия команды:
  • Asterisk cmd VoiceMail2

Ссылки по теме: