در تلفنهای Cisco MPP، رفتن به صندوق صوتی و نمایش «پیام جدید دارید» دو قابلیت جدا هستند. دکمه Voicemail معمولاً با یک شماره یا آدرس مشخص به سامانه صندوق صوتی وصل میشود؛ اما روشنشدن چراغ پیام به وضعیت Mailbox، اشتراک SIP و پیامهای SUBSCRIBE/NOTIFY مربوط است.
در این راهنما ابتدا شماره Voicemail و Mailbox را بررسی میکنیم، سپس سراغ Message Waiting Indicator یا همان MWI میرویم و در نهایت با SIP Trace مشخص میکنیم آیا تلفن پیام message-summary را درست Subscribe میکند و PBX وضعیت صندوق صوتی را با NOTIFY برمیگرداند یا نه.
تشخیص سریع: اگر با زدن دکمه Voicemail وارد صندوق میشوید ولی چراغ قرمز روشن نمیشود، شماره Voicemail احتمالاً درست است و مشکل را باید در MWI و PBX دنبال کنید. اگر چراغ پیام روشن است ولی خود دکمه شما را به صندوق نمیبرد، ابتدا Voice Mail Number و شماره دسترسی به صندوق صوتی را بررسی کنید.
Voicemail در Cisco MPP دقیقاً از چه بخشهایی تشکیل شده است؟
برای عیبیابی بهتر، Voicemail را به سه بخش جدا تقسیم کنید.
بخش اول: دسترسی به صندوق صوتی. تلفن باید بداند با زدن دکمه Messages یا Voicemail چه شماره یا URLی را فراخوانی کند.
بخش دوم: خود Mailbox روی PBX. داخلی باید یک صندوق صوتی واقعی داشته باشد و پیامها در همان Mailbox ذخیره شوند.
بخش سوم: Message Waiting Indicator. PBX باید به تلفن اطلاع دهد چند پیام جدید یا قدیمی در Mailbox وجود دارد تا چراغ قرمز، آیکن پیام یا Stutter Tone فعال شود.
| بخش | وظیفه | علامت خرابی |
|---|---|---|
| Voice Mail Number | شمارهگیری سامانه صندوق صوتی | دکمه Voicemail شماره اشتباه میگیرد یا کاری نمیکند |
| Mailbox | نگهداری پیامهای داخلی | تماس به صندوق میرود اما پیام برای داخلی درست ثبت نمیشود |
| MWI | اعلام وجود پیام جدید | پیام وجود دارد ولی چراغ یا آیکن پیام تغییر نمیکند |
اول Voice Mail Number را بررسی کنید
در راهنمای فعلی Cisco MPP، شماره دسترسی به صندوق صوتی از مسیر زیر تنظیم میشود:
Admin Login → Advanced → Voice → Phone
در بخش General، گزینه Voice Mail Number را بررسی کنید.
این مقدار میتواند یک شماره داخلی یا URL مربوط به سامانه Voicemail باشد.
مثلاً اگر در Asterisk دسترسی به Voicemail با *97 انجام میشود، بسته به طراحی PBX ممکن است مقدار این فیلد چیزی شبیه این باشد:
*97
اما شماره دقیق به PBX شما بستگی دارد. در بعضی سیستمها *98، یک Extension اختصاصی یا یک SIP URI استفاده میشود.
اگر Provisioning XML دارید، Cisco این پارامتر را به شکل زیر نیز پشتیبانی میکند:
<Voice_Mail_Number ua="na">*97</Voice_Mail_Number>
اگر دکمه Voicemail شماره اشتباه میگیرد
قبل از هر تغییر دیگری، همان شماره را دستی از تلفن بگیرید.
اگر دستی هم کار نمیکند، مشکل از دکمه Cisco نیست. Dialplan، PBX یا شماره دسترسی به Voicemail را بررسی کنید.
اگر شماره بهصورت دستی کار میکند ولی دکمه Voicemail شماره دیگری میگیرد، Voice Mail Number یا Provisioning Profile تلفن اشتباه است.
در شبکههایی که تلفنها خودکار Provision میشوند، ممکن است تنظیم دستی را اصلاح کنید اما بعد از Reboot دوباره مقدار قبلی برگردد. در این شرایط Template یا cfg.xml باید اصلاح شود.
Voice Mail Server با Voice Mail Number یکی نیست
این دو گزینه شباهت اسمی دارند اما نقششان فرق دارد.
Voice Mail Number مشخص میکند تلفن برای شنیدن پیامها چه شمارهای بگیرد.
Voice Mail Server در سطح Extension برای ارتباط مربوط به Voicemail و Message Waiting استفاده میشود.
مسیر آن در MPP:
Voice → Ext(n) → Call Feature Settings
در همین بخش گزینههای زیر اهمیت دارند:
🔹 Voice Mail Server
🔹 Voice Mail Subscribe Interval
🔹 Voice Mail Enable
🔹 Message Waiting
Message Waiting Indicator یا MWI چیست؟
MWI همان مکانیزمی است که باعث میشود بعد از دریافت پیام صوتی جدید، چراغ قرمز روی گوشی روشن شود، آیکن پیام روی صفحه ظاهر شود یا در بعضی تنظیمات صدای Dial Tone متفاوتی شنیده شود.
این وضعیت از خود فایل صوتی تشخیص داده نمیشود. PBX یا Voicemail Server باید وضعیت Mailbox را با SIP به تلفن اعلام کند.
استاندارد SIP برای این کار از Event Package با نام:
message-summary
استفاده میکند.
SUBSCRIBE و NOTIFY در MWI چه کاری انجام میدهند؟
در حالت Subscription-based، تلفن به PBX اعلام میکند که میخواهد وضعیت یک Mailbox را دنبال کند.
تلفن یک پیام SUBSCRIBE با Event مربوط به message-summary ارسال میکند.
PBX Subscription را میپذیرد و سپس با NOTIFY وضعیت صندوق را اعلام میکند.
اگر پیام جدید وجود داشته باشد، بدنه NOTIFY میتواند مفهومی شبیه این داشته باشد:
Messages-Waiting: yes
Message-Account: sip:200@pbx.example.net
Voice-Message: 2/5
در این مثال دو پیام جدید و پنج پیام قدیمی گزارش شدهاند.
وقتی پیام جدید باقی نمانده باشد، انتظار داریم وضعیت به چیزی شبیه زیر تغییر کند:
Messages-Waiting: no
Voice-Message: 0/7
تنظیم MWI روی Extension در Cisco MPP
از مسیر:
Voice → Ext(n) → Call Feature Settings
مقادیر مربوط به Voicemail را بررسی کنید.
Voice Mail Enable باید در سناریویی که تلفن باید Subscribe کند روی Yes باشد.
نمونه XML:
<Voice_Mail_Enable_1_ ua="na">Yes</Voice_Mail_Enable_1_>
Message Waiting نیز باید برای همان Line فعال باشد:
<Message_Waiting_1_ ua="na">Yes</Message_Waiting_1_>
Voice Mail Subscribe Interval چه کاری میکند؟
Subscription دائمی نیست و یک زمان انقضا دارد.
پارامتر Voice Mail Subscribe Interval تعیین میکند Subscription مربوط به Voicemail چند ثانیه اعتبار داشته باشد.
مقدار پیشفرض فعلی Cisco برای MPP برابر ۸۶۴۰۰ ثانیه است؛ یعنی ۲۴ ساعت.
نمونه:
<Voice_Mail_Subscribe_Interval_1_ ua="na">86400</Voice_Mail_Subscribe_Interval_1_>
اگر MWI بعد از Reboot مدتی درست کار میکند اما ساعتها بعد از کار میافتد، Refresh Subscription و این Interval را نیز بررسی کنید.
اگر Voicemail کار میکند ولی چراغ MWI روشن نمیشود
این حالت یکی از رایجترین سناریوهاست و اتفاقاً عیبیابی آن سادهتر است.
چون کاربر میتواند وارد Mailbox شود، Voice Mail Number و دسترسی پایه به Voicemail Server احتمالاً سالم هستند.
اکنون Capture بگیرید و بررسی کنید:
آیا تلفن SUBSCRIBE با Event برابر message-summary ارسال میکند؟
آیا PBX آن را قبول میکند؟
آیا بعد از گذاشتن پیام جدید NOTIFY ارسال میشود؟
آیا داخل NOTIFY عبارت Messages-Waiting: yes وجود دارد؟
فیلتر Wireshark برای MWI
برای شروع میتوانید از کل SIP استفاده کنید:
sip
برای تمرکز روی SUBSCRIBE و NOTIFY:
sip.Method == "SUBSCRIBE" || sip.Method == "NOTIFY"
بعد داخل Header پیام دنبال این مقدار باشید:
Event: message-summary
اگر هیچ SUBSCRIBE از تلفن ارسال نمیشود
در این حالت هنوز PBX را مقصر ندانید.
روی Cisco MPP این موارد را بررسی کنید:
🔹 Voice Mail Enable روی Yes باشد.
🔹 Voice Mail Server مقدار مناسب داشته باشد.
🔹 Line/Extension صحیح انتخاب شده باشد.
🔹 Provisioning تنظیمات Voicemail را بازنویسی نکرده باشد.
🔹 تلفن روی همان Proxy و Account مورد انتظار Register شده باشد.
اگر SUBSCRIBE ارسال میشود ولی PBX آن را رد میکند
پاسخ PBX مسیر بعدی را مشخص میکند.
| نشانه | برداشت اولیه | بررسی بعدی |
|---|---|---|
| SUBSCRIBE وجود ندارد | تنظیم Endpoint | Voice Mail Enable / Server |
| 404 | Mailbox یا Resource شناخته نشده | Mailbox ID و Context |
| 403 | Subscription مجاز نیست | Policy و Permission |
| 489 Bad Event | message-summary پشتیبانی نمیشود | PBX Event Package Support |
| NOTIFY میآید ولی چراغ خاموش است | Body یا Mailbox Mapping | Messages-Waiting و Message-Account |
اگر NOTIFY میآید، داخل آن چه چیزی را بررسی کنیم؟
مهمترین Header این است:
Event: message-summary
و Content-Type معمولاً باید مربوط به خلاصه پیام باشد:
Content-Type: application/simple-message-summary
داخل Body نیز وضعیت پیام باید منطقی باشد.
اگر PBX میگوید:
Messages-Waiting: no
اما Mailbox واقعاً پیام جدید دارد، مشکل از Cisco Phone نیست؛ State صندوق صوتی در PBX اشتباه است.
Mailbox ID اشتباه؛ یکی از رایجترین علتهای MWI خراب
فرض کنید داخلی تلفن ۲۰۰ است، اما صندوق صوتی روی PBX با نام دیگری ساخته شده یا در Context دیگری قرار دارد.
تماس به Voicemail ممکن است همچنان کار کند، چون سیستم از Caller ID یا DTMF برای انتخاب صندوق استفاده میکند؛ اما MWI به Mailbox دیگری Subscribe شده است.
به همین دلیل Extension Number و Mailbox ID را همیشه یکی فرض نکنید.
تنظیم MWI روی Asterisk/PJSIP
در Asterisk با PJSIP، گزینه mailboxes برای مرتبطکردن Endpoint یا AoR با Mailbox استفاده میشود.
اگر از app_voicemail استفاده میکنید، نام Mailbox معمولاً باید Context را نیز داشته باشد.
نمونه:
mailboxes=200@default
اگر فقط 200 وارد شود ولی Voicemail سیستم شما انتظار 200@default داشته باشد، تغییر وضعیت پیام ممکن است به MWI مربوط به Endpoint منتقل نشود.
یک دام مهم در Asterisk: mailboxes روی Endpoint و AoR
در PJSIP چند روش برای رساندن MWI به Endpoint وجود دارد. اگر Mailbox هم روی Endpoint و هم روی AoR بهشکلی تنظیم شود که یک طرف MWI را بهصورت خودکار ارسال کند و تلفن همزمان برای همان Mailbox SUBSCRIBE بفرستد، Asterisk میتواند Subscription را رد کند.
در Log ممکن است پیامی ببینید که میگوید Endpoint قبلاً برای Unsolicited MWI همان Mailbox تنظیم شده است.
بنابراین از روی اینترنت چند نمونه Config را با هم ترکیب نکنید. ابتدا تصمیم بگیرید معماری شما قرار است MWI را با Subscription تلفن دریافت کند یا PBX آن را بدون Subscription به Endpoint بفرستد.
ماژولهای MWI در Asterisk را بررسی کنید
در Asterisk/PJSIP برای مسیر MWI، ماژولهای مربوطه باید فعال باشند.
این دستورات برای بررسی اولیه مفید هستند:
module show like res_pjsip_mwi
module show like res_pjsip_mwi_body_generator
اگر ماژول اصلی یا Body Generator بارگذاری نشده باشد، مسیر Subscription و تولید پیام message-summary را بررسی کنید.
برای دیدن MWI در Asterisk از SIP Logger استفاده کنید
برای عیبیابی موقت:
pjsip set logger on
حالا تلفن را Reboot یا Resync کنید و بعد یک پیام جدید در Mailbox بگذارید.
به ترتیب دنبال SUBSCRIBE، پاسخ PBX و NOTIFY بگردید.
بعد Logger را خاموش کنید:
pjsip set logger off
چطور خود Mailbox را در Asterisk آزمایش کنیم؟
قبل از متهمکردن MWI، مطمئن شوید Mailbox واقعاً وجود دارد و پیام جدید در آن ثبت میشود.
بسته به نسخه و تنظیمات Asterisk، فرمانهای Voicemail CLI میتوانند برای بررسی Mailboxها استفاده شوند.
همچنین یک تماس آزمایشی به داخلی برقرار کنید، اجازه دهید به Voicemail منتقل شود، یک پیام بگذارید و سپس بررسی کنید آیا State مربوط به Mailbox تغییر کرده است یا نه.
اگر خود Mailbox State تغییر نمیکند، SUBSCRIBE تلفن هم چیزی برای نمایش نخواهد داشت.
چراغ MWI همیشه روشن مانده؛ حتی بعد از شنیدن همه پیامها
این وضعیت نیز دقیقاً برعکس مشکل قبلی است.
یک Capture بگیرید و بررسی کنید آیا بعد از خواندهشدن پیامها PBX یک NOTIFY جدید با:
Messages-Waiting: no
ارسال میکند یا نه.
اگر NOTIFY جدید نمیآید، PBX یا Voicemail Backend وضعیت Mailbox را به MWI منتشر نکرده است.
اگر NOTIFY صحیح میآید ولی Cisco همچنان چراغ را روشن نگه میدارد، حالا Endpoint و Firmware ارزش بررسی بیشتری پیدا میکنند.
چراغ MWI فقط بعد از Reboot درست میشود
این علامت معمولاً ما را به Subscription Renewal میرساند.
تلفن در زمان Boot Subscribe میکند و وضعیت اولیه را میگیرد؛ اما وقتی Subscription منقضی میشود، Refresh موفق نیست.
در Capture چند ساعت بعد بررسی کنید آیا SUBSCRIBE جدید ارسال شده و PBX چه پاسخی داده است.
NAT، Firewall، Session Timer و تغییر Registration نیز میتوانند روی مسیر پیامهای بعدی اثر بگذارند.
MWI Line Key برای Mailbox یک کاربر یا گروه
در Cisco MPP جدیدتر میتوانید حتی یک Programmable Line Key جدا برای MWI بسازید.
برای فقط مانیتورکردن یک Mailbox:
fnc=mwi;sub=group_vm@$PROXY;vid=1;nme=Voicemail;
اگر میخواهید همان کلید هم وضعیت پیام را نشان دهد و هم Voicemail را شمارهگیری کند:
fnc=mwi+sd;ext=8000@$PROXY;sub=group_vm@$PROXY;vid=1;nme=Voicemail;
مقادیر بالا نمونه هستند و باید با ساختار واقعی PBX جایگزین شوند.
PIN صندوق صوتی را داخل Provisioning قرار ندهید
Cisco امکان اضافهکردن DTMF برای ورود خودکار به Mailbox را در رشته Speed Dial مستند کرده است، اما خودش نیز توصیه نمیکند PIN را داخل رشته تنظیمات قرار دهید.
دلیل آن روشن است: فایل Provisioning، Backup تلفن یا Web Interface ممکن است در دسترس مدیران و سامانههای دیگری باشد و نگهداری PIN بهصورت واضح ریسک امنیتی ایجاد میکند.
پس اگر فقط برای راحتی کاربر میخواهید Login خودکار بسازید، امنیت فایل Provisioning و دسترسی مدیران را قبل از ذخیره PIN در نظر بگیرید.
MWI یک داخلی کار میکند ولی داخلی دیگر نه
این حالت نشان میدهد مشکل کلی SIP یا Firewall کمتر محتمل است.
این موارد را میان دو Extension مقایسه کنید:
🔹 Voice Mail Server
🔹 Voice Mail Enable
🔹 Mailbox ID
🔹 Context Mailbox در PBX
🔹 SUBSCRIBE URI
🔹 Message-Account داخل NOTIFY
🔹 تنظیم mailboxes در PJSIP
یک مقایسه تلفن سالم و خراب معمولاً سریعتر از دستکاری کل Voicemail Server به نتیجه میرسد.
اگر همه تلفنها همزمان MWI را از دست دادهاند
در این حالت به تنظیم تکتک Cisco Phoneها دست نزنید.
اول PBX، Voicemail Backend، PJSIP MWI Modules و تغییرات اخیر Server را بررسی کنید.
اگر بعد از Upgrade Asterisk، Reload Configuration یا تغییر Mailbox Context مشکل برای همه Endpointها شروع شده، احتمال مشکل مرکزی بسیار بیشتر از خرابشدن همزمان تلفنهاست.
جدول تشخیص سریع Voicemail و MWI در Cisco
| نشانه | احتمال بیشتر | اولین بررسی |
|---|---|---|
| دکمه Voicemail کاری نمیکند | Voice Mail Number | Voice → Phone |
| شماره صندوق بهصورت دستی کار میکند ولی دکمه نه | Provisioning/Phone Setting | Voice Mail Number در cfg.xml |
| پیام هست ولی چراغ روشن نمیشود | MWI/SUBSCRIBE/NOTIFY | SIP Trace |
| هیچ SUBSCRIBE نیست | Voice Mail Enable/Server | Voice → Ext(n) |
| SUBSCRIBE رد میشود | Mailbox/PBX Policy | Response Code و message-summary |
| NOTIFY درست است ولی MWI تغییر نمیکند | Endpoint/Firmware/Mapping | Message-Account و Line Association |
| چراغ همیشه روشن است | Mailbox State یا NOTIFY قدیمی | Messages-Waiting: no |
| بعد از چند ساعت MWI از کار میافتد | Subscription Renewal | Subscribe Interval و Refresh SUBSCRIBE |
مسیر پیشنهادی عیبیابی بدون اتلاف وقت
مرحله ۱: شماره Voicemail را دستی شمارهگیری کنید.
مرحله ۲: Voice Mail Number روی Cisco را با شماره درست مقایسه کنید.
مرحله ۳: Mailbox واقعی همان داخلی را روی PBX بررسی کنید.
مرحله ۴: Voice Mail Enable و Message Waiting را روی Line کنترل کنید.
مرحله ۵: SIP Capture بگیرید و SUBSCRIBE با Event برابر message-summary را پیدا کنید.
مرحله ۶: پاسخ PBX و NOTIFY را بررسی کنید.
مرحله ۷: داخل NOTIFY، Messages-Waiting، Message-Account و Voice-Message را با Mailbox واقعی تطبیق دهید.
مرحله ۸: در Asterisk، mailboxes، Context و MWI Modules را بررسی کنید.
مرحله ۹: بعد از گوشدادن به پیامها مطمئن شوید NOTIFY جدید با وضعیت بدون پیام ارسال میشود.
پرسشهای رایج
چرا دکمه Voicemail تلفن Cisco کار نمیکند؟
اول Voice Mail Number را بررسی کنید. اگر همان شماره بهصورت دستی هم به صندوق صوتی نمیرسد، مشکل بیشتر در PBX یا Dialplan است تا خود دکمه تلفن.
چرا Voicemail کار میکند ولی چراغ قرمز روشن نمیشود؟
دسترسی به صندوق و MWI دو قابلیت جدا هستند. برای چراغ پیام باید وضعیت Mailbox با SIP message-summary و NOTIFY به تلفن اعلام شود.
message-summary چیست؟
یک Event Package استاندارد SIP برای گزارش وضعیت صندوق پیام است. PBX میتواند از طریق آن تعداد پیامهای جدید و قدیمی را به Endpoint اعلام کند.
Messages-Waiting: yes چه معنی دارد؟
یعنی Voicemail Server اعلام کرده برای Mailbox مربوطه حداقل یک پیام در انتظار وجود دارد و تلفن میتواند MWI را روشن کند.
چرا چراغ MWI بعد از شنیدن پیامها خاموش نمیشود؟
بررسی کنید PBX پس از تغییر وضعیت Mailbox یک NOTIFY جدید با Messages-Waiting: no ارسال کند. اگر این پیام ارسال نمیشود، مشکل سمت Mailbox یا PBX است.
در Asterisk برای MWI چه چیزی مهم است؟
Mailbox باید درست به Endpoint یا AoR مرتبط شود، نام Mailbox در app_voicemail معمولاً باید شامل Context باشد و ماژولهای res_pjsip_mwi و Body Generator مربوطه فعال باشند.
آیا میتوان MWI را روی یک Line Key جدا گذاشت؟
بله. Cisco MPP امکان ساخت PLK برای MWI و حتی ترکیب MWI با Speed Dial را دارد؛ البته SIP Proxy باید مانیتورکردن Mailbox موردنظر را پشتیبانی کند.
آیا PIN Voicemail را داخل Speed Dial قرار دهیم؟
از نظر فنی امکانپذیر است، اما Cisco نیز توصیه نمیکند PIN را در رشته Speed Dial ذخیره کنید. نگهداری PIN در Provisioning Profile ریسک افشای اطلاعات ورود را افزایش میدهد.
جمعبندی
برای رفع مشکل Voicemail در Cisco MPP ابتدا مشخص کنید خرابی مربوط به «ورود به صندوق صوتی» است یا «اعلام وجود پیام». دکمه Voicemail به Voice Mail Number وابسته است، اما چراغ MWI به Mailbox، Subscription و پیامهای message-summary وابسته است.
اگر تلفن SUBSCRIBE نمیفرستد، تنظیم Extension را بررسی کنید. اگر SUBSCRIBE ارسال میشود ولی PBX آن را رد میکند، Mailbox و Policy سمت Server را بررسی کنید. اگر NOTIFY میآید اما MWI تغییر نمیکند، Body پیام و ارتباط آن با Line روی Endpoint مهم میشود.
با همین تفکیک ساده، تقریباً تمام مشکلات «Voicemail کار نمیکند» را میتوان بدون Reset و تغییر تصادفی Firmware به یک نقطه مشخص محدود کرد.
Voicemail کار میکند اما MWI، Mailbox یا SIP NOTIFY هنوز درست نیست؟
اگر تماسهای عادی تلفن سالماند اما چراغ پیام، صندوق صوتی یا Subscriptionهای Voicemail درست کار نمیکنند، معمولاً باید تنظیمات Cisco و PBX با هم بررسی شوند. فقط تغییر دکمه Voicemail یا Reset تلفن ممکن است علت اصلی را پنهان کند.
برای Asterisk، FreePBX، 3CX و سامانههای SIP میتوان Mailbox Mapping، SIP Trace، message-summary، Firewall و تنظیم Endpoint را در یک مسیر بررسی کرد تا مشخص شود مشکل از تلفن است یا Server.
تماس با پشتیبانی ایرانیکاسرور: 021-91302467






دیدگاهها (۰)