Asterisk. Команда HasNewVoicemail.

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

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

Приложение было признано устаревшим и заменено функцией VMCOUNT().

Аналогично приложению HasVoicemail(). Это приложение задает для VMSTATUS значение 1 или 0, для обозначения наличия нового (т.е. непрослушанного) сообщения в ящике голосовой почты, заданным аргументом vmящик.

Аргумент контекст соответствует контексту голосовой почты, а аргумент папка соответствует папке голосовой почты. Если папка голосовой почты не задана, используется папка по умолчанию, INBOX. Если присутствует аргумент имяпеременной, команда HasNewVoicemail() сохраняет в заданную переменную кол-во сообщений в заданной папке.

Если для аргумента опции задано значение j, Asterisk в случае наличия нового сообщения голосовой почты будет направлять вызов в приоритет n + 101.

Пример:

Проверяем наличие непрослушанного сообщения голосовой почты в INBOX почтового ящика 123 в контексте голосовой почты по умолчанию
exten => 123,1,Answer()
exten => 123,n,HasNewVoicemail(123@default)
exten => 123,n,GotoIf($[${HASVMSTATUS} > 0]?newvm)
exten => 123,n,Playback(vm-youhave)
exten => 123,n,Playback(vm-no)
exten => 123,n,Playback(vm-messages)
exten => 123,n,Goto(done)
exten => 123,n(newvm),Playback(vm-youhave)
exten => 123,n,SayNumber(${HASVMSTATUS})
exten => 123,n,Playback(vm-INBOX)
exten => 123,n,Playback(vm-messages)
exten => 123,n(done),NoOp()

 

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