6.3 Message Waiting Indication (MWI) & Troubleshooting
Key Takeaways
Message Waiting Indication (MWI) updates the telephone visual indicator using either modern RFC 3842 unsolicited SIP NOTIFY messages or legacy outdial dialed extension patterns.
RFC 3842 SIP NOTIFY MWI sends a message-summary body (new, old, and urgent counts) over the SIP trunk; no call is placed, so a port enabled for MWI is busy only for an instant.
The most prevalent cause of SIP NOTIFY MWI failure is omitting the 'Accept Unsolicited Notification' checkbox on the CUCM SIP Trunk Security Profile or applying a Calling Search Space on the SIP trunk that cannot see the phone DN partition.
Legacy Outdial MWI consumes dedicated voice messaging ports to dial configured MWI On and MWI Off numbers in CUCM, which can cause severe port starvation and delayed notifications during peak hours.
Synchronize All MWIs on This Phone System (Telephony Integrations > Phone System) makes CUC resend the correct MWI state for every mailbox, fixing lamps that are out of step with the message store.
6.3 Message Waiting Indication (MWI) & Troubleshooting
Message Waiting Indication (MWI) is the critical signaling feedback loop that alerts telephone subscribers to the presence of unheard voice messages. When a caller deposits a message, Cisco Unity Connection (CUC) notifies Cisco Unified Communications Manager (CUCM), which instructs the target Cisco IP Phone to illuminate its handset LED lamp and display an envelope icon on the liquid crystal display (LCD).
Diagnosing MWI failures is a frequent requirement in enterprise collaboration environments. Understanding the exact signaling mechanisms and protocol flows is essential for effective troubleshooting.
1. MWI Signaling Mechanisms: SIP NOTIFY vs. Legacy Outdial
Enterprise collaboration deployments implement MWI using one of two primary architectures: SIP NOTIFY MWI (RFC 3842) or Legacy Outdial MWI.
+-----------------------------------------------------------------------------------+
| MWI SIGNALING METHOD COMPARISON |
| |
| METHOD 1: RFC 3842 SIP NOTIFY MWI (MODERN BEST PRACTICE) |
| +------------------------+ SIP NOTIFY (Unsolicited) +-----------------+ |
| | Unity Connection (CUC) | -------------------------------> | CUCM Cluster | |
| | | <------------------------------- | | |
| +------------------------+ SIP 200 OK +--------+--------+ |
| * No call placed; port busy for an instant | |
| * Fast, lightweight, scalable IP signaling v |
| [ IP Phone Lamp ] |
| |
| METHOD 2: LEGACY OUTDIAL MWI (DEPRECATED / TRADITIONAL) |
| +------------------------+ Dials MWI On (e.g. 2500) +-----------------+ |
| | Unity Connection (CUC) | ===============================> | CUCM Cluster | |
| | | (Seizes Outdial Port) | | |
| +------------------------+ +--------+--------+ |
| * Consumes physical/virtual Voice Messaging Ports | |
| * Prone to port starvation during peak traffic v |
| [ IP Phone Lamp ] |
+-----------------------------------------------------------------------------------+
Method 1: RFC 3842 Unsolicited SIP NOTIFY MWI
In a standard SIP integration, CUC utilizes the RFC 3842 standard (Session Initiation Protocol (SIP) Event Package for Message Waiting Indication and Summary).
When a message state changes (e.g., a new message arrives, or an unread message is marked read or deleted), CUC sends an unsolicited SIP NOTIFY request directly to CUCM across the existing SIP Trunk.
Anatomy of an RFC 3842 SIP NOTIFY Message:
NOTIFY sip:2002@10.1.1.10:5060 SIP/2.0
Via: SIP/2.0/TCP 10.1.10.51:5060;branch=z9hG4bK5f6a7b8c9d
From: <sip:5000@10.1.10.51>;tag=cucmwi102938
To: <sip:2002@10.1.1.10>
Call-ID: 1122334455@10.1.10.51
CSeq: 1001 NOTIFY
Max-Forwards: 70
Event: message-summary
Subscription-State: terminated
Content-Type: application/simple-message-summary
Content-Length: 94
Messages-Waiting: yes
Message-Account: sip:2002@10.1.10.51
Voice-Message: 2/4 (1/2)
Fax-Message: 0/0 (0/0)
Key header fields and syntax breakdown:
Event: message-summary: Identifies this transaction as an MWI state notification.Messages-Waiting: yes: Directs the switch to illuminate the visual lamp (noturns the lamp off).Voice-Message: 2/4 (1/2): Reports detailed message counts formatted as: In this example, the user has 2 new messages and 4 old messages (with 1 new urgent message and 2 old urgent messages).
Method 2: Legacy Outdial MWI
In legacy SCCP or older telephony configurations, CUC does not transmit SIP NOTIFY packets. Instead, CUC treats MWI lamp toggling as an outbound telephone call:
- In CUCM, administrators define two dialed numbers: Message Waiting On (e.g.,
2500) and Message Waiting Off (e.g.,2501). - When extension 2002 receives a voicemail, CUC seizes a configured Dial-Out Voice Messaging Port.
- The port places a brief call to the MWI On number, identifying extension 2002 as the target; CUCM turns the lamp on and the call ends.
- When the user has no more new messages, a port places a similar call to the MWI Off number.
Architectural Comparison
| Evaluation Metric | RFC 3842 SIP NOTIFY MWI | Legacy Outdial MWI |
|---|---|---|
| Port Consumption | No call placed; the MWI-enabled port is used only for an instant | Places a call on a dial-out port for every lamp change |
| Scalability | High; handles hundreds of updates per second | Constrained by available dial-out port licenses |
| Latency | Instantaneous (< 100 ms) | Queued; can take minutes or hours under load |
| Information Density | Detailed; delivers new/old/urgent message counts | Binary state only (Lamp ON or Lamp OFF) |
| Configuration Simplicity | Native to SIP Trunk; no dialed patterns required | Requires MWI On / MWI Off numbers and route partitions |
2. Common MWI Failure Modes and Troubleshooting Workflows
When a user reports that their voicemail lamp remains dark despite having unheard messages (or stays illuminated after all messages are deleted), administrators must isolate the failure point using a structured troubleshooting methodology.
+-----------------------------------------------------------------------------------+
| MWI ROOT CAUSE ISOLATION MATRIX |
| |
| SYMPTOM: SIP NOTIFY MWI FAILS (LAMP NEVER ILLUMINATES) |
| +-----------------------------------------------------------------------------+ |
| | | |
| | 1. CUCM returns 'SIP/2.0 404 Not Found' to CUC NOTIFY | |
| | Cause: SIP Trunk Calling Search Space (CSS) lacks the partition of DN. | |
| | Fix: Add Phone Directory Number Partition to the SIP Trunk's CSS. | |
| | | |
| | 2. CUCM returns 'SIP/2.0 403 Forbidden' or drops NOTIFY | |
| | Cause: 'Accept Unsolicited Notification' is UNCHECKED on SIP Profile. | |
| | Fix: Check 'Accept Unsolicited Notification' in Security Profile. | |
| | | |
| | 3. CUC sends NOTIFY to wrong IP address | |
| | Cause: Port Group points to non-call processing CUCM Publisher/TFTP. | |
| | Fix: Update CUC Port Group to point to active CUCM Subscribers. | |
| +-----------------------------------------------------------------------------+ |
+-----------------------------------------------------------------------------------+
Issue 1: Calling Search Space (CSS) Partition Misconfiguration
When CUC sends NOTIFY sip:2002@10.1.1.10:5060, CUCM acts as a SIP receiver and must route the notification to internal Directory Number 2002.
- CUCM uses the Calling Search Space configured on the incoming SIP Trunk to search for DN
2002. - If DN
2002resides in theInternal_Phones_PTpartition, but the SIP Trunk's CSS contains only theGateway_PTpartition, CUCM cannot find the destination directory number. - Diagnostic Indicator: CUCM responds to CUC's SIP NOTIFY with a
SIP/2.0 404 Not Foundmessage. The lamp never turns on. - Resolution: Ensure the Calling Search Space assigned to the CUC SIP Trunk in CUCM includes the partitions containing all subscriber directory numbers.
Issue 2: SIP Trunk Security Profile Misconfiguration
By default, standard SIP security profiles reject unsolicited notifications to prevent denial-of-service (DoS) lamp flooding.
- Under System > Security > SIP Trunk Security Profile, inspect the profile assigned to the CUC SIP trunk.
- If the Accept Unsolicited Notification checkbox is unchecked, CUCM rejects incoming RFC 3842 NOTIFY packets with
SIP/2.0 403 Forbiddenor ignores them. - Resolution: Check the box for Accept Unsolicited Notification and reset the SIP trunk.
Issue 3: Outdial Port Starvation (Legacy Outdial MWI)
In systems utilizing Legacy Outdial MWI, CUC must seize a Voice Messaging Port configured with the Send MWI Requests attribute.
- During the morning busy hour (8:00 AM – 9:30 AM), hundreds of users arrive, listen to messages, and delete them.
- If the CUC Port Group only has 2 or 3 ports dedicated to outdialing, all outdial ports become saturated.
- MWI turn-off requests enter a software buffer queue. Users see their lamp remain illuminated for 30 to 60 minutes after emptying their inbox.
- Resolution: Transition to RFC 3842 SIP NOTIFY MWI, or reallocate additional Voice Messaging Ports from "Answering" to "Send MWI Requests".
3. MWI Synchronization Utility & Diagnostics
When network disruptions, cluster failovers, or database maintenance cause phone lamp states to fall out of sync with actual mailbox contents (e.g., lamps remain lit with zero unheard messages), administrators can synchronize the system without restarting services.
Synchronizing MWIs
In Cisco Unity Connection Administration > Telephony Integrations > Phone System, open the phone system and run Synchronize All MWIs on This Phone System:
- CUC checks the unheard-message state of every mailbox on that phone system.
- It resends the correct on or off request for each user (a SIP NOTIFY, or an MWI call in an SCCP integration), overriding whatever state the phone currently shows.
- For a single user, resend or check MWI from that user's Message Waiting Indicators page.
Traces and Status Checks
- In Cisco Unity Connection Serviceability > Trace > Macro Traces, enable Traces for MWI problems, reproduce the issue, and collect the logs with RTMT.
- RTMT's Port Monitor for Unity Connection shows which ports are busy and what they are doing, which helps confirm port starvation.
show cuc cluster statuson the CLI confirms that both servers are running and shows which one has Primary status.
In CUCM, administrators inspect MWI signaling using the Cisco Unified Real-Time Monitoring Tool (RTMT):
- Collect Cisco CallManager traces.
- Filter by
Event: message-summaryor search for the subscriber directory number (e.g.,2002). - Verify that CUCM returns
SIP/2.0 200 OKto CUC's NOTIFY request, followed by CUCM sending a Skinny or SIPNOTIFYdownstream to the IP phone.
A network engineer observes that users across an enterprise are not seeing their IP phone voicemail lamps turn on when new messages are deposited. Packet captures reveal that CUC is sending unsolicited SIP NOTIFY messages to CUCM, but CUCM immediately responds with 'SIP/2.0 404 Not Found'. What is the root cause of this failure?
The CSS on the CUC SIP trunk in CUCM cannot reach the partition of the phones' directory numbers.
The phone handset LED hardware has failed simultaneously across all endpoints.
The maximum message length parameter in the Class of Service has been set to 300 seconds.
The Unity Connection subscriber has lost database replication with the publisher.
What is the primary operational symptom in an enterprise collaboration environment if an administrator implements Legacy Outdial MWI but provisions an insufficient number of Voice Messaging Ports with the 'Send MWI Requests' attribute?
All personal greetings across the cluster will be permanently erased from the message store.
CUCM will immediately drop all active two-way RTP voice calls across the entire cluster.
MWI on and off requests queue behind each other, delaying lamp updates, sometimes by hours, during busy periods.
External callers will be blocked from leaving voice messages because all of the answering ports are consumed by MWI dialing.
Why is RFC 3842 SIP NOTIFY MWI architecturally preferred over Legacy Outdial MWI for modern enterprise collaboration deployments?
It sends lightweight SIP signaling over the existing SIP trunk without placing a call, and it carries detailed message counts.
It bypasses the requirement for any IP network connectivity between CUCM and CUC.
It allows analog FXS phones to receive visual notifications without requiring any PBX call processing configuration.
It converts all incoming voice recordings into high-definition H.264 video streams before updating the phone lamp.
Sections you finish are checked off in the contents.