Команда 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, при этом получив шесть возможных комбинаций сообщений:
- s: Ничего не проигрывается.
- (нет флагов): Проигрывается инструкция.
- su: Проигрывается сообщение о недоступности абонента.
- u: Проигрывается сообщение о недоступности абонента, далее инструкция.
- sb: Проигрывается сообщение о занятости абонента.
- b: Проигрывается сообщение о занятости абонента, далее инструкция.
Данное приложение будет устанавливать значение данной переменной канала при своем завершении:
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})
Старая версия команды:
Ссылки по теме:
- файл конфигурации voicemail.conf
- Команда VoiceMailMain
- Голосовая почта в Asterisk
- Команда Hasnewvoicemail
- Команда MailboxExists
- Список команд
- Asterisk