در تلفنهای Cisco با Firmware نوع MPP، دکمه Messages معمولاً با مقدار Voice Mail Number کار میکند؛ یعنی تلفن با فشردن دکمه، شماره یا URI صندوق صوتی را Dial میکند. اما چراغ قرمز روی گوشی، شمارنده پیام و وضعیت «پیام جدید دارید» از مسیر دیگری میآیند: تلفن یا PBX باید وضعیت Mailbox را با SIP و Event استاندارد message-summary هماهنگ کند.
به همین دلیل ممکن است دکمه Voicemail کاملاً کار کند ولی چراغ MWI روشن نشود؛ یا برعکس، چراغ پیام روشن باشد اما دکمه Messages شماره اشتباهی را بگیرد.
در این راهنما هر دو مسیر را جداگانه عیبیابی میکنیم: Voice Mail Number، Voice Mail Server، SUBSCRIBE، SIP NOTIFY، MWI و تنظیم Mailbox در Asterisk/PJSIP.
محدوده این آموزش: تمرکز اصلی روی Cisco IP Phoneهای 6800، 7800 و 8800 با Multiplatform Firmware یا MPP و یک SIP PBX مانند Asterisk است. اگر تلفن شما Enterprise Firmware و متصل به CUCM/Cisco Unity Connection است، منطق کلی MWI مشابه است اما مسیر تنظیمات مدیریتی متفاوت است و نباید فیلدهای MPP این مقاله را عیناً روی CUCM اعمال کنید.
اول مشخص کنید دقیقاً کدام بخش Voicemail خراب است
عبارت «Voicemail کار نمیکند» میتواند چند مشکل کاملاً متفاوت باشد.
🔹 دکمه Messages را میزنید اما هیچ شمارهای Dial نمیشود.
🔹 دکمه Messages شماره اشتباه را Dial میکند.
🔹 وارد صندوق صوتی میشوید اما Mailbox اشتباه باز میشود.
🔹 پیام جدید دارید ولی چراغ قرمز MWI روشن نمیشود.
🔹 چراغ قرمز همیشه روشن مانده است.
🔹 شمارنده پیام روی نمایشگر با Mailbox واقعی یکی نیست.
🔹 تلفن SUBSCRIBE میفرستد ولی PBX آن را Reject میکند.
🔹 PBX NOTIFY میفرستد ولی Cisco وضعیت پیام را تغییر نمیدهد.
دکمه Voicemail و چراغ MWI یک قابلیت نیستند
این مهمترین نکته مقاله است.
مسیر دکمه Messages:
Messages Button
|
v
Voice Mail Number
|
v
*97 / *98 / 8000 / SIP URI
|
v
Voicemail Application
اما مسیر چراغ MWI معمولاً چنین است:
Cisco Phone
|
SUBSCRIBE
Event: message-summary
|
v
PBX / Voicemail Server
|
NOTIFY
Messages-Waiting: yes
Voice-Message: 1/0
|
v
MWI LED ON
نشانههای MWI روی تلفن Cisco چیست؟
در Cisco MPP، وجود Voicemail جدید میتواند با چند علامت دیده شود:
🔹 چراغ Message Waiting Indicator روی گوشی به رنگ قرمز روشن میشود.
🔹 تعداد Voicemailهای جدید روی صفحه تلفن نمایش داده میشود.
🔹 در برخی تنظیمات هنگام برداشتن Handset، Stutter Dial Tone شنیده میشود.
اگر یکی از این موارد درست است ولی دیگری نیست، احتمالاً کل سیستم Voicemail خراب نیست و باید همان جزء خاص را بررسی کنید.
مرحله ۱: Voice Mail Number را بررسی کنید
در Cisco MPP وارد رابط مدیریتی تلفن شوید و مسیر:
Voice → Phone → General
را باز کنید.
فیلد:
Voice Mail Number
را پیدا کنید.
این همان شماره یا URI است که دکمه Voicemail باید Dial کند.
مثلاً اگر Asterisk برای ورود مستقیم کاربر به Mailbox از:
*97
استفاده میکند، مقدار Voice Mail Number نیز میتواند همین شماره باشد؛ البته فقط اگر Dialplan واقعی شما *97 را برای این کار تعریف کرده باشد.
نمونه Provisioning برای Voice Mail Number
Cisco امکان تنظیم آن از طریق فایل Provisioning را نیز میدهد:
<Voice_Mail_Number ua="na">*97</Voice_Mail_Number>
دکمه Messages کار نمیکند؛ تست ساده چیست؟
شمارهای که داخل Voice Mail Number نوشتهاید را دستی Dial کنید.
اگر:
شماره دستی کار میکند ولی دکمه Messages نه
مشکل بیشتر سمت تنظیم Voice Mail Number یا Provisioning تلفن است.
اگر:
شماره دستی هم کار نمیکند
اول Dialplan و Voicemail Application روی PBX را بررسی کنید.
مرحله ۲: Mailbox واقعی را روی PBX بررسی کنید
قبل از عیبیابی MWI مطمئن شوید Mailbox اصلاً وجود دارد.
در Asterisk:
asterisk -rvvv
voicemail show users
باید Mailbox موردنظر را ببینید.
مثلاً Mailbox داخلی 1001 در Context پیشفرض معمولاً به شکل:
1001@default
شناخته میشود.
نمونه ساده voicemail.conf
[default]
1001 => CHANGE_TO_A_STRONG_PIN,User 1001,user1001@example.com
PIN نمونه را با مقدار امن جایگزین کنید.
Context را فراموش نکنید
Asterisk برای `app_voicemail` معمولاً Mailbox را بهشکل:
mailbox@context
میشناسد.
پس:
mailboxes=1001
همیشه معادل:
mailboxes=1001@default
نیست.
برای MWI درست، Context را دقیق تنظیم کنید.
مرحله ۳: تنظیمات Voicemail همان Extension را روی Cisco بررسی کنید
در Web Interface تلفن:
Voice → Ext(n) → Call Feature Settings
را باز کنید.
چهار فیلد مهم داریم.
| پارامتر | کاربرد |
|---|---|
| Voice Mail Server | آدرس یا هویت Voicemail Server برای این Extension |
| Voice Mail Subscribe Interval | مدت اعتبار Subscription مربوط به Voicemail |
| Voice Mail Enable | فعالکردن Subscription به Voicemail Server |
| Message Waiting | فعالکردن نمایش وضعیت MWI روی تلفن |
Voice Mail Server با Voice Mail Number فرق دارد
Voice Mail Number میگوید وقتی کاربر دکمه Messages را فشار داد چه شمارهای Dial شود.
Voice Mail Server بیشتر به مسیری مربوط است که Extension برای وضعیت Voicemail و Subscription استفاده میکند.
این دو را یکی در نظر نگیرید.
Voice Mail Subscribe Interval چیست؟
Cisco در راهنمای فعلی MPP برای این پارامتر محدوده:
0 تا 86400 ثانیه
را ذکر کرده و مقدار پیشفرض را:
86400
قرار داده است.
یعنی تلفن Subscription خود را قبل از پایان اعتبار تمدید میکند.
Interval را برای رفع مشکل روی عدد تصادفی نگذارید
اگر SUBSCRIBE اصلاً Reject میشود، کمکردن Interval مشکل Authentication یا Mailbox Mapping را حل نمیکند.
اول SIP Trace را ببینید.
مرحله ۴: SUBSCRIBE تلفن را ببینید
اگر MWI مبتنی بر Subscription است، Cisco باید Requestی شبیه این بفرستد:
SUBSCRIBE sip:1001@pbx.example.com SIP/2.0
Event: message-summary
Accept: application/simple-message-summary
Expires: 86400
مهمترین خط:
Event: message-summary
است.
message-summary استاندارد MWI در SIP است
RFC 3842 این Event Package را برای Message Waiting و خلاصه وضعیت پیامها تعریف کرده است.
پس اگر تلفن BLF یا Presence SUBSCRIBE میفرستد ولی هیچ `message-summary` ندارید، هنوز MWI Subscription درست شروع نشده است.
SUBSCRIBE سالم چه پاسخی میگیرد؟
معمولاً:
SUBSCRIBE
|
v
200 OK
|
v
NOTIFY
بعد از پذیرش Subscription، Server باید وضعیت فعلی Mailbox را با NOTIFY اعلام کند.
مرحله ۵: SIP NOTIFY را بررسی کنید
اگر Mailbox یک پیام جدید دارد، Body استاندارد میتواند چیزی شبیه این باشد:
NOTIFY sip:1001@phone-ip SIP/2.0
Event: message-summary
Content-Type: application/simple-message-summary
Messages-Waiting: yes
Message-Account: sip:1001@pbx.example.com
Voice-Message: 1/0
Voice-Message: 1/0 یعنی چه؟
در سادهترین حالت:
1 = پیام جدید
0 = پیام قدیمی
است.
پس اگر Mailbox یک پیام خواندهنشده دارد، MWI باید روشن شود.
وقتی پیامها خوانده یا حذف شدند
Server باید وضعیت جدید را ارسال کند.
مثلاً:
Messages-Waiting: no
Voice-Message: 0/1
یا بسته به وضعیت Mailbox:
Messages-Waiting: no
Voice-Message: 0/0
چراغ MWI همیشه روشن مانده است؛ چرا؟
اگر Phone آخرین وضعیت:
Messages-Waiting: yes
را دریافت کرده ولی بعد از خواندن پیام هیچ NOTIFY جدیدی با `Messages-Waiting: no` نرسیده باشد، چراغ میتواند روشن بماند.
در این حالت Reset کارخانهای راهحل اول نیست.
اول ببینید PBX وضعیت Mailbox را درست تشخیص داده و NOTIFY جدید را واقعاً فرستاده است یا نه.
مرحله ۶: PJSIP Logger را روی Asterisk فعال کنید
asterisk -rvvv
pjsip set logger on
حالا:
۱. تلفن را Register کنید.
۲. منتظر SUBSCRIBE بمانید.
۳. یک Voicemail جدید برای داخلی بگذارید.
۴. NOTIFY را پیدا کنید.
۵. پیام را بخوانید یا حذف کنید.
۶. NOTIFY دوم را ببینید.
بعد از تست:
pjsip set logger off
ماژولهای MWI روی Asterisk را بررسی کنید
Asterisk برای MWI روی PJSIP از Moduleهای مربوط استفاده میکند.
module show like res_pjsip_mwi
بهخصوص وجود Moduleهای:
res_pjsip_mwi.so
res_pjsip_mwi_body_generator.so
را بررسی کنید.
مرحله ۷: MWI مبتنی بر SUBSCRIBE را در Asterisk درست تنظیم کنید
اگر Cisco خودش برای `message-summary` SUBSCRIBE میفرستد، Asterisk باید بداند این AoR به کدام Mailbox متصل است.
نمونه:
[1001]
type=aor
max_contacts=1
mailboxes=1001@default
این قسمت برای Deviceهایی است که خودشان MWI Subscription میسازند.
Endpoint نمونه
[1001]
type=endpoint
aors=1001
auth=1001-auth
context=internal
disallow=all
allow=ulaw,alaw
اشتباه مهم: mailboxes را همزمان روی Endpoint و AoR نگذارید مگر دقیقاً میدانید چرا
Asterisk دو مدل MWI دارد.
مدل اول: Solicited MWI
Phone میگوید:
SUBSCRIBE
Event: message-summary
برای این مدل، `mailboxes` روی AoR اهمیت دارد.
مدل دوم: Unsolicited MWI
Asterisk بدون اینکه Phone Subscription خاصی بسازد، هنگام تغییر Mailbox برای Endpoint NOTIFY میفرستد.
در این مدل `mailboxes` میتواند روی Endpoint تعریف شود.
چرا تنظیم هر دو میتواند دردسرساز شود؟
مستند Asterisk یک حالت مشخص را توضیح میدهد که اگر Endpoint از قبل برای Unsolicited MWI روی یک Mailbox تنظیم شده باشد و AoR همان Mailbox را برای Subscription داشته باشد، Asterisk میتواند MWI SUBSCRIBE تلفن را رد کند.
بنابراین اول معماری خود را انتخاب کنید.
برای Cisco MPP کدام مدل را انتخاب کنیم؟
وقتی روی خود تلفن:
Voice Mail Enable = Yes
و Voicemail Server تنظیم شده است، بررسی MWI مبتنی بر SUBSCRIBE نقطه شروع طبیعیتری است.
پس ابتدا Cisco را وادار کنید یک SUBSCRIBE سالم بفرستد و Asterisk با 200 OK + NOTIFY پاسخ دهد.
اگر SUBSCRIBE با 404 پاسخ میگیرد
به احتمال زیاد Resource یا Mailbox موردنظر در Server پیدا نشده است.
بررسی کنید:
🔹 User داخل Request-URI درست است.
🔹 Mailbox روی AoR درست Map شده است.
🔹 Context صحیح است.
🔹 Extension و AoR اشتباه با هم جابهجا نشدهاند.
اگر SUBSCRIBE با 403 پاسخ میگیرد
403 معمولاً نشان میدهد Request شناخته شده ولی اجازه Subscription داده نشده است.
در Asterisk بررسی کنید آیا همان Mailbox بهصورت Unsolicited روی Endpoint تنظیم شده و Subscription دوباره در حال ایجاد است.
همچنین Authentication و Endpoint Matching را بررسی کنید.
اگر SUBSCRIBE با 489 Bad Event رد میشود
این پاسخ معمولاً به Event Package پشتیبانینشده اشاره دارد.
اطمینان پیدا کنید:
Event: message-summary
است و Module MWI در PBX لود شده است.
اگر 200 OK میگیرید ولی NOTIFY نمیآید
این مرحله مشکل را بسیار محدود میکند.
SUBSCRIBE پذیرفته شده، اما PBX وضعیت Mailbox را ارسال نمیکند.
بررسی کنید:
🔹 Mailbox Mapping صحیح است.
🔹 `app_voicemail` Mailbox را میشناسد.
🔹 Module MWI لود است.
🔹 Mailbox واقعاً پیام جدید دارد.
مرحله ۸: یک تست واقعی End-to-End انجام دهید
بهترین تست این نیست که فقط چراغ را نگاه کنید.
یک Sequence کامل ثبت کنید.
مرحله ۱: Mailbox را خالی کنید.
مرحله ۲: Cisco را Register کنید.
مرحله ۳: SUBSCRIBE را ثبت کنید.
مرحله ۴: باید NOTIFY با:
Messages-Waiting: no
ببینید.
مرحله ۵: از یک داخلی دیگر تماس بگیرید و یک Voicemail جدید بگذارید.
مرحله ۶: PBX باید NOTIFY جدید با:
Messages-Waiting: yes
Voice-Message: 1/0
ارسال کند.
مرحله ۷: چراغ Cisco باید روشن شود.
مرحله ۸: پیام را گوش دهید یا حذف کنید.
مرحله ۹: باید NOTIFY دیگری با `Messages-Waiting: no` دریافت شود.
اگر PBX NOTIFY درست میفرستد ولی چراغ روشن نمیشود
حالا مشکل از Mailbox Server فاصله گرفته و به Phone نزدیک شده است.
بررسی کنید:
🔹 Event برابر `message-summary` است.
🔹 Content-Type صحیح است.
🔹 NOTIFY برای همان Extension ارسال میشود.
🔹 Message Waiting روی Cisco روی Yes است.
🔹 NOTIFY به IP و Contact فعلی تلفن میرسد.
Content-Type استاندارد چیست؟
برای RFC 3842:
Content-Type: application/simple-message-summary
اگر PBX پشت NAT است چه؟
ممکن است SUBSCRIBE از تلفن به PBX برسد ولی NOTIFY برگشتی به Contact اشتباه ارسال شود.
بهخصوص اگر تلفن Remote باشد.
بررسی کنید:
🔹 Contact ثبتشده تلفن
🔹 Source IP و Port واقعی
🔹 NAT Rewrite در PJSIP
🔹 Firewall Session State
وضعیت Contact را روی Asterisk ببینید
pjsip show contacts
و:
pjsip show endpoint 1001
MWI روی چند Line چه میشود؟
اگر Cisco چند Line دارد، باید مطمئن شوید Mailbox مربوط به همان Extension درست Map شده است.
برای مثال:
Line 1 = 1001
Line 2 = 2001
اگر Line 2 به Mailbox 1001 Subscribe شود، شمارنده و چراغ میتوانند با انتظار کاربر متفاوت باشند.
Voice Mail Server را برای همان Ext(n) بررسی کنید
تنظیم Global Voice Mail Number بهتنهایی Mapping چند Extension را حل نمیکند.
برای هر Extension، Call Feature Settings را جدا بررسی کنید.
Voicemail PLK چیست؟
در Cisco MPP میتوانید یک Line Key را نیز برای مانیتورینگ Voicemail یک User یا Group تنظیم کنید.
نمونه Syntax رسمی:
fnc=mwi;sub=group_vm@domain;vid=1;nme=Voicemail
این قابلیت برای Mailbox گروهی یا Shared Voicemail مفید است.
MWI + Speed Dial
Cisco همچنین امکان ترکیب MWI و Speed Dial را دارد.
یعنی یک Line Key:
🔹 وضعیت Mailbox را مانیتور کند.
🔹 با فشردن، شماره Voicemail را Dial کند.
اما ذخیرهکردن PIN صندوق صوتی داخل رشته Speed Dial از نظر امنیتی انتخاب مناسبی نیست و Cisco نیز واردکردن PIN در چنین رشتهای را توصیه نمیکند.
اگر گزینه MWI روی PLK نمایش داده نمیشود
در راهنمای فعلی Cisco MPP یک Troubleshooting مشخص برای این حالت وجود دارد.
اگر هنگام تنظیم Line Key گزینه:
MWI
یا:
MWI + Speed Dial
را نمیبینید، بخش:
Voice → Att Console → Customizable PLK Options
را بررسی کنید و مطمئن شوید قابلیتهای مربوط به MWI در فهرست گزینههای قابل انتخاب وجود دارند.
Firmware را چه زمانی بررسی کنیم؟
Firmware میتواند روی Voicemail اثر بگذارد، اما نباید اولین مظنون باشد.
در زمان نگارش، Cisco برای مدلهای اصلی 7800/8800 MPP Firmware:
12.0(7)SR5
را بهعنوان Maintenance Release منتشر کرده است.
یک Bug قدیمی Voicemail که ارزش دانستن دارد
Cisco در Releaseهای قبلی 12.0(7) یک Caveat با شناسه:
CSCwn74481
داشت که در آن ابتدای Audio از Voicemail Server روی MPP از دست میرفت.
این مشکل در SR2 در فهرست Resolved Caveats قرار گرفت.
بنابراین اگر مشکل شما فقط:
دکمه Messages، SUBSCRIBE یا MWI
است، این Bug را دلیل اصلی فرض نکنید؛ موضوع آن Audio Voicemail بوده است.
اگر بعد از Firmware Update مشکل شروع شد
قبل از Downgrade:
🔹 PRT تلفن را جمعآوری کنید.
🔹 SIP SUBSCRIBE/NOTIFY را Capture کنید.
🔹 Provisioning Config قبل و بعد را مقایسه کنید.
🔹 Release Notes و Caveatهای همان Build را بررسی کنید.
Downgrade بدون جمعآوری شواهد میتواند علت اصلی را پنهان کند.
تست با sngrep
اگر SIP روی UDP/TCP بدون TLS است، `sngrep` برای دیدن Flow MWI بسیار مفید است.
sudo sngrep -d any port 5060
در Flow دنبال:
SUBSCRIBE
NOTIFY
message-summary
بگردید.
Packet Capture برای MWI
sudo tcpdump -ni any \
host PHONE_IP \
and port 5060 \
-w /tmp/cisco-mwi.pcap
`PHONE_IP` را با IP واقعی تلفن جایگزین کنید.
اگر SIP TLS دارید
در PCAP محتوای SIP قابل خواندن نیست.
در این حالت:
🔹 PJSIP Logger روی PBX
🔹 PRT تلفن
🔹 Logهای SIP Proxy/SBC
مفیدتر هستند.
PRT تلفن Cisco در مشکل Voicemail چه کمکی میکند؟
اگر SIP Trace نشان میدهد PBX NOTIFY را فرستاده ولی Phone رفتار مورد انتظار ندارد، PRT میتواند برای بررسی Logهای داخلی تلفن مفید باشد.
هنگام ثبت PRT:
🔹 ساعت دقیق وقوع مشکل را بنویسید.
🔹 مشخص کنید Message LED روشن نشده یا دکمه Messages کار نکرده است.
🔹 Call-ID یا زمان SUBSCRIBE/NOTIFY را کنار PRT نگه دارید.
فرق Voice Mail Number با *97 و *98 چیست؟
*97 و *98 خودشان استاندارد جهانی Cisco نیستند.
اینها معمولاً Dial Codeهایی هستند که PBX تعریف میکند.
برای مثال در یک Dialplan ممکن است:
*97 = ورود مستقیم کاربر فعلی به Mailbox خودش
*98 = ورود عمومی و درخواست Mailbox Number
باشد.
اما باید Dialplan واقعی سیستم خودتان را بررسی کنید.
نمونه Dialplan برای دسترسی به Voicemail
exten => *97,1,NoOp(Direct Voicemail Access)
same => n,VoiceMailMain(${CALLERID(num)}@default)
same => n,Hangup()
exten => *98,1,NoOp(General Voicemail Access)
same => n,VoiceMailMain()
same => n,Hangup()
این مثال را با Context و Policy امنیتی PBX خودتان تطبیق دهید.
PIN صندوق صوتی را حذف نکنید
ممکن است برای راحتی بخواهید VoiceMailMain را طوری تنظیم کنید که PIN درخواست نکند.
در Asterisk گزینههایی برای Skip کردن برخی Promptها وجود دارد، اما حذف Authentication Mailbox میتواند باعث دسترسی غیرمجاز به پیامهای صوتی شود.
روی سیستمی که کاربران یا Endpointهای غیرقابل اعتماد به Dialplan دسترسی دارند، PIN را دور نزنید.
سناریوی ۱: دکمه Voicemail هیچ کاری نمیکند
نشانه: با فشردن Messages تماس ایجاد نمیشود.
بررسی: Voice Mail Number.
تست: همان شماره را دستی Dial کنید.
اگر دستی کار کرد: تنظیم Phone/Provisioning را اصلاح کنید.
اگر دستی کار نکرد: Dialplan و Voicemail Application را بررسی کنید.
سناریوی ۲: دکمه کار میکند ولی Mailbox اشتباه باز میشود
بررسی کنید:
🔹 Caller ID داخلی صحیح است.
🔹 *97 یا Short Code بر اساس داخلی فعلی کار میکند.
🔹 Multi-line Phone از Line درست تماس را ایجاد میکند.
🔹 Mailbox و Extension Number اشتباه Map نشدهاند.
سناریوی ۳: پیام جدید داریم ولی چراغ قرمز روشن نمیشود
ترتیب تشخیص:
۱. آیا Phone SUBSCRIBE فرستاده؟
۲. آیا Event برابر message-summary است؟
۳. آیا PBX 200 OK داده؟
۴. آیا NOTIFY آمده؟
۵. آیا NOTIFY شامل `Messages-Waiting: yes` است؟
۶. آیا Message Waiting روی Phone فعال است؟
سناریوی ۴: چراغ همیشه روشن است
اول Mailbox واقعی را بررسی کنید.
اگر پیام جدید ندارید، Trace را ببینید.
آیا آخرین NOTIFY هنوز:
Messages-Waiting: yes
است؟
اگر بله، مشکل Server State است.
اگر PBX `no` فرستاده ولی Phone روشن مانده، سمت Device/Subscription را بررسی کنید.
سناریوی ۵: بعد از Reboot درست میشود و دوباره خراب میشود
این الگو میتواند نشان دهد:
🔹 Subscription در ابتدا ساخته میشود اما Renew شکست میخورد.
🔹 NAT Mapping بعد از مدتی از بین میرود.
🔹 Voice Mail Subscribe Interval با PBX سازگار نیست.
🔹 Provisioning بعداً تنظیمات را Override میکند.
Provisioning Override را جدی بگیرید
ممکن است تنظیم را در Web UI تغییر دهید و همهچیز درست شود، اما در Resync بعدی Provisioning Server مقدار قبلی را دوباره روی Phone بنویسد.
اگر تغییرات «خودبهخود برمیگردند»، فایل cfg.xml یا Template Provisioning را بررسی کنید.
سناریوی ۶: فقط یکی از چند Cisco مشکل دارد
یک Phone سالم و Phone خراب را مقایسه کنید.
این فیلدها را کنار هم بگذارید:
🔹 Firmware
🔹 Voice Mail Number
🔹 Voice Mail Server
🔹 Voice Mail Subscribe Interval
🔹 Voice Mail Enable
🔹 Message Waiting
🔹 SIP Account/User
بعد SUBSCRIBE دو Phone را Diff کنید.
سناریوی ۷: همه تلفنها همزمان MWI را از دست دادهاند
در این حالت احتمال Device-specific کمتر است.
اول بررسی کنید:
🔹 Voicemail Server
🔹 Asterisk MWI Modules
🔹 SIP Proxy
🔹 Firewall
🔹 تغییر Config سراسری PBX
سناریوی ۸: MWI فقط روی Remote Phone خراب است
اگر تلفن داخل LAN درست کار میکند ولی Remote Phone نه، به NAT و Contact توجه کنید.
ممکن است REGISTER زنده باشد اما NOTIFY به Contact قابل دسترس ارسال نشود.
در این حالت Source IP، rport، Contact Rewrite و Firewall Timeout را بررسی کنید.
جدول عیبیابی سریع
| نشانه | اول کجا را بررسی کنیم؟ |
|---|---|
| Messages چیزی Dial نمیکند | Voice Mail Number |
| شماره اشتباه Dial میشود | Voice Mail Number / Provisioning |
| Mailbox اشتباه باز میشود | Caller ID / Dialplan / Mailbox Mapping |
| MWI خاموش است | SUBSCRIBE → NOTIFY |
| MWI همیشه روشن است | آخرین NOTIFY و Mailbox State |
| SUBSCRIBE با 404 | Mailbox/AoR Mapping |
| SUBSCRIBE با 403 | Subscription Policy / Endpoint-AoR MWI Config |
| SUBSCRIBE با 489 | message-summary / MWI Module |
| 200 OK بدون NOTIFY | PBX Mailbox State / res_pjsip_mwi |
| بعد Reboot موقتاً درست است | Subscription Renewal / NAT / Provisioning |
روش استاندارد تشخیص در ۱۰ مرحله
مرحله ۱: Voice Mail Number را دستی Dial کنید.
مرحله ۲: وجود Mailbox را روی PBX تأیید کنید.
مرحله ۳: Voice Mail Server و Voice Mail Enable را بررسی کنید.
مرحله ۴: `pjsip set logger on` را فعال کنید.
مرحله ۵: SUBSCRIBE با Event `message-summary` را پیدا کنید.
مرحله ۶: Response به SUBSCRIBE را بررسی کنید.
مرحله ۷: NOTIFY اولیه را ببینید.
مرحله ۸: یک Voicemail واقعی ایجاد کنید.
مرحله ۹: تغییر `Messages-Waiting` و `Voice-Message` را بررسی کنید.
مرحله ۱۰: اگر SIP صحیح است ولی Phone رفتار غلط دارد، PRT و Firmware را بررسی کنید.
پرسشهای رایج
چرا دکمه Voicemail تلفن Cisco کار نمیکند؟
در Cisco MPP ابتدا Voice Mail Number را بررسی کنید. این فیلد تعیین میکند دکمه Messages چه شماره یا URI را Dial کند. اگر همان شماره بهصورت دستی هم کار نمیکند، مشکل در Dialplan یا Voicemail Server است.
Voice Mail Number و Voice Mail Server چه تفاوتی دارند؟
Voice Mail Number برای دسترسی کاربر به صندوق صوتی و Dial شدن با دکمه Messages است؛ Voice Mail Server به تنظیمات Extension برای سرویس و Subscription Voicemail مربوط میشود.
MWI در Cisco چیست؟
MWI یا Message Waiting Indicator وضعیت وجود پیام جدید را نشان میدهد و میتواند چراغ قرمز گوشی، شمارنده پیام و برخی اعلانهای دیگر را فعال کند.
message-summary چیست؟
Event استاندارد SIP برای Message Waiting است که در RFC 3842 تعریف شده و تلفن معمولاً با SUBSCRIBE آن را درخواست میکند.
چرا چراغ Voicemail روشن نمیشود؟
بررسی کنید تلفن SUBSCRIBE با Event برابر message-summary ارسال میکند، PBX آن را میپذیرد و NOTIFY با `Messages-Waiting: yes` به تلفن میرسد.
چرا چراغ MWI بعد از حذف پیام خاموش نمیشود؟
باید پس از تغییر Mailbox یک NOTIFY جدید با `Messages-Waiting: no` دریافت شود. اگر این NOTIFY ارسال یا دریافت نشود، چراغ میتواند روی وضعیت قبلی بماند.
Voice Mail Subscribe Interval در Cisco چیست؟
مدت اعتبار Subscription Voicemail است. در راهنمای Cisco MPP مقدار پیشفرض 86400 ثانیه ذکر شده است.
در Asterisk mailboxes را روی Endpoint بگذاریم یا AoR؟
برای Deviceهایی که خودشان MWI SUBSCRIBE میفرستند، mailboxes روی AoR استفاده میشود. mailboxes روی Endpoint برای Unsolicited MWI است. تنظیم همزمان نامناسب هر دو میتواند Subscription را دچار مشکل کند.
آیا Firmware میتواند باعث مشکل Voicemail شود؟
بله، ولی قبل از تغییر Firmware باید SIP Flow را بررسی کرد. Cisco در Releaseهای قبلی یک مشکل صوتی Voicemail با شناسه CSCwn74481 داشت که در SR2 رفع شد؛ این Bug مستقیماً معادل مشکل دکمه یا MWI نیست.
چرا MWI فقط روی تلفن Remote کار نمیکند؟
اگر تلفن داخل LAN سالم است، Contact ثبتشده، NAT، Firewall و مسیر برگشت NOTIFY را بررسی کنید.
برای عیبیابی MWI به Packet Capture نیاز داریم؟
اگر PJSIP Logger جواب را مشخص نکند، PCAP یا sngrep میتواند SUBSCRIBE، 200 OK و NOTIFY را نشان دهد. در SIP/TLS محتوای Packet رمزنگاری شده و Logهای PBX/Phone اهمیت بیشتری دارند.
جمعبندی
وقتی Voicemail روی تلفن Cisco کار نمیکند، ابتدا دکمه Messages را از MWI جدا کنید.
اگر دکمه Messages مشکل دارد، از Voice Mail Number و Dialplan شروع کنید.
اگر دکمه کار میکند ولی چراغ پیام مشکل دارد، از SUBSCRIBE → message-summary → NOTIFY شروع کنید.
روی Cisco MPP، Voice Mail Server، Voice Mail Subscribe Interval، Voice Mail Enable و Message Waiting باید برای همان Extension درست باشند. روی Asterisk نیز Mailbox باید با Context صحیح به MWI متصل شده باشد.
اگر Phone خودش MWI را Subscribe میکند، `mailboxes` روی AoR را بررسی کنید. اگر از Unsolicited MWI استفاده میکنید، Endpoint Configuration را جدا بررسی کنید و دو مدل را بیدلیل با هم مخلوط نکنید.
در یک سیستم سالم، روند قابل مشاهده است: تلفن SUBSCRIBE میفرستد، PBX آن را قبول میکند، NOTIFY وضعیت Mailbox را اعلام میکند و با اضافه یا حذف پیام، مقدار `Messages-Waiting` تغییر میکند.
این روش بسیار مطمئنتر از Factory Reset، تغییر تصادفی Firmware یا دستکاری چند تنظیم همزمان است.
MWI روی تلفنهای Remote قطع میشود؟ PBX را روی IP ثابت و مسیر SIP قابلکنترل نگه دارید
وقتی Cisco MPP، Asterisk و کاربران Remote دارید، چراغ MWI فقط به Mailbox وابسته نیست؛ SUBSCRIBE و NOTIFY باید بتوانند در تمام مدت Registration از NAT و Firewall عبور کنند. تغییر Public IP، Contact اشتباه یا Timeoutهای شبکه میتوانند باعث شوند تماس عادی کار کند اما اعلان Voicemail به تلفن نرسد.
برای راهاندازی مرکز تلفن سازمانی میتوانید Asterisk، FreePBX یا SIP Proxy خود را روی سرور مجازی ایرانیکاسرور با IP ثابت اجرا کنید و قبل از ورود کاربران واقعی، REGISTER، SUBSCRIBE، NOTIFY، MWI و تماسهای ورودی/خروجی را با Trace واقعی تست کنید.
مشاوره Cisco MPP، Asterisk و SIP: 021-91302467






دیدگاهها (۰)