Назад | Перейти на главную страницу

Как я могу настроить Asterisk в качестве сервера голосовой почты для CallManager?

У меня есть существующая среда Cisco CallManager 8.5, которая обслуживает пользователей, которым требуется голосовая почта, но у меня нет лицензий на Unity. Как я могу использовать Asterisk для обслуживания голосовой почты?

Настройте звездочку для подключения SIP-однорангового узла к серверу CCM или ISR. Обязательно укажите пилотную голосовую почту как vmexten, иначе вы получите ошибку SIP 404 позже.

sip.conf

[general]
context=from-external-untrusted
limitonpeers=yes
promiscredir=yes
videosupport=yes
directrtpsetup=no
directmedia=no
; be sure to specify your Asterisk VM pilot as configured in
; extensions.conf, or MWI will fail with SIP 404 errors.
vmexten=7225

; codecs
dtmfmode=rfc2833
disallow=all
allow=ulaw

; comm
bindport=5060
bindaddr=10.2.3.4
srvlookup=yes
tcpenable=yes
tcpbindaddr=0.0.0.0
transport=tcp,udp

;-----------------------------------------------------------------------
; TRUNKS
;-----------------------------------------------------------------------
[ccm1]
type=peer
host=10.200.34.10
port=5060
context=from-net

Настройте свой диалплан, включив в него пилотный номер, который работает с диалпланом CCM. В этом примере я использовал 7225:

extension.conf

[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=yes
userscontext=from-internal

[from-net]
include => to-internal

[to-internal]
include => to-vmpilot

[to-vmpilot]
; If we get called directly, rdnis will not be specified.  Default it
; to the dialed extension
exten => 7225,1,Set(CALLERID(rdnis)=$[0${CALLERID(rdnis)}|${EXTEN}])
exten => 7225,n,Goto(to-vm,${CALLERID(rdnis)},1)

[to-vm]
exten => _X.,1,GotoIf($["${CALLERID(num)}" = "${CALLERID(rdnis)}"]?pilot,1)
exten => _X.,n,GotoIf($["7225" = "${CALLERID(rdnis)}"]?pilot,1)
exten => _X.,n,Voicemail(${EXTEN}@default)
exten => pilot,1,VoiceMailMain(${CALLERID(num)}@default)

На стороне Cisco убедитесь, что у вас есть профиль безопасности SIP, в котором указано «Принять незапрошенное уведомление», и добавьте профиль SIP, настроенный для его использования. Создайте новую магистраль, указывающую на сервер Asterisk. Обязательно укажите «Входящие вызовы - Пространство поиска вызовов», которое может достичь всех DN, которым требуется MWI. Убедитесь, что «Исходящие вызовы - Перенаправление доставки заголовка переадресации - Исходящее» указано, чтобы вы получали информацию RDNIS в Asterisk.

Добавьте шаблон маршрута, который включает номер пилота:

Настройте новый профиль голосовой почты и пилот:

Установите DN для использования только что созданного профиля голосовой почты и создайте почтовый ящик в voicemail.conf.

voicemail.conf

[general]
format=ulaw
serveremail=vm@pbx.company.local
attach=no
skipms=3000
maxsilence=10
silencethreshold=128
maxlogins=3
emaildateformat=%A, %B %d, %Y at %r
pagerdateformat=%A, %B %d, %Y at %r

[zonemessages]
central24=America/Chicago|'vm-received' q 'digits/at' H N 'hours'

[default]
; 5418 = Extension
; 1234 = Pin
5418 => 1234,Example Mailbox 2,user@company.com

Когда голосовая почта оставлена, должен загореться индикатор ожидающего сообщения. Пользователь должен иметь возможность нажать кнопку «Сообщения» на своем телефоне, чтобы получить голосовую почту, при этом индикатор MWI погаснет.