Asterisk. Команда HasVoicemail.

HasVoicemail() - Показывает, имеются ли сообщения голосовой почты в указанном ящике голосовой почты.

HasVoicemail(vmящик[@контекст][:папка][|имяпеременной[,опции]])

Задает значение переменной канала HASVMSTATUS, чтобы информировать о наличии сообщений в ящике голосовой почты vmящик. Аргумент контекст соответствует контексту голосовой почты, а папка – папке голосовой почты. Если папка не задана, используется папка INBOX. Если передается аргумент имяпеременной, приложение сохраняет в этой переменной количество сообщений в указанной папке.
Если для аргумента опции задано значение j, Asterisk в случае наличия голосовой почты в заданной папке будет направлять вызов в приоритет n + 101.

Пример:

Проверяем, есть ли хотя бы одно сообщение голосовой почты в INBOX почтового ящика 123 в контексте голосовой почты по умолчанию
exten => 123,1,Answer()
exten => 123,2,HasVoicemail(123@default,COUNT)
exten => 123,3,GotoIf(${VMSTATUS}?1000)
exten => 123,4,Playback(vm-youhave)
exten => 123,5,Playback(vm-no)
exten => 123,6,Playback(vm-messages)
exten => 123,1000,Playback(vm-youhave)
exten => 123,1001,SayNumber($COUNT)
exten => 123,1002,Playback(vm-messages)

 

См. также: HasNewVoicemail(), MailboxExists()