Introduction
Cisco Unity Express (CUE) is a voicemail and auto-attendant solution designed for branch offices and small-to-medium businesses running Cisco Unified Communications Manager Express (CME) or Cisco Unified Communications Manager (CUCM). Unlike its enterprise-grade sibling Unity Connection, CUE runs directly on Cisco ISR routers as a service module, making it a cost-effective choice for sites with up to 250 mailboxes.
This guide walks you through a complete CUE voicemail deployment from scratch, covering hardware prerequisites, initial setup, mailbox provisioning, CME and CUCM integration, auto-attendant configuration, and testing. Whether you are deploying your first CUE module or refreshing an existing installation, this guide provides every command and concept you need.
Prerequisites
Hardware Requirements
- Router: Cisco ISR G2 (2900/3900 series) or ISR 4000 series with a Service Module slot
- Service Module: SM-SRE-710-K9, SM-SRE-910-K9, or ISM-SRE-300-K9 (for ISR G2). For ISR 4300, use UCS-E series blades
- Memory: Minimum 4 GB RAM on the service module (8 GB recommended for 100+ mailboxes)
- Storage: Minimum 500 MB available for voicemail storage (plan approximately 2 MB per minute of recorded audio)
Software Requirements
- CUE Software: Version 10.x or later recommended (this guide uses 12.5 commands)
- Router IOS: IOS 15.x or IOS-XE 16.x/17.x compatible with your service module
- CME or CUCM: CME 12.x+ or CUCM 12.x-14.x for SIP/JTAPI integration
- Licenses: CUE mailbox licenses matching your user count (sold in packs of 5, 25, 50, or 100)
Network Requirements
- IP connectivity between the CUE module and your call control platform (CME or CUCM)
- NTP configured on the router for accurate timestamps on voicemail messages
- DNS resolution (optional but recommended for SMTP-based message notifications)
Step 1: Initialize the CUE Service Module
Before configuring voicemail, you need to bring up the CUE service module on your router and establish IP connectivity to it.
Configure the Service Engine Interface
On the host router, assign an IP address to the internal service engine interface. This is the management interface CUE uses to communicate with the router and the network.
! Host router configuration
interface Service-Engine0/0
ip unnumbered GigabitEthernet0/0
service-module ip address 10.1.1.100 255.255.255.0
service-module ip default-gateway 10.1.1.1
no shutdown
! Add a static route so the network can reach the CUE module
ip route 10.1.1.100 255.255.255.255 Service-Engine0/0
Replace 10.1.1.100 with the IP address you want to assign to CUE, and 10.1.1.1 with the router’s gateway IP. The ip unnumbered command borrows the IP from GigabitEthernet0/0 for the internal link.
Access the CUE CLI
Once the service module is up, session into it from the router:
Router# service-module Service-Engine0/0 session
! You should see the CUE login prompt:
cue login: admin
Password: ********
The default credentials are typically admin/admin on a fresh installation. You will be prompted to change the password on first login.
Step 2: Initial CUE Configuration
After logging into CUE for the first time, run through the initial setup to configure the hostname, domain, DNS, and NTP settings.
! Set the hostname and domain
cue# config terminal
cue(config)# hostname CUE-BRANCH01
cue(config)# ip domain-name yourcompany.local
! Configure DNS
cue(config)# ip name-server 10.1.1.10
! Configure NTP (critical for accurate voicemail timestamps)
cue(config)# ntp server 10.1.1.1
! Set the timezone
cue(config)# clock timezone America/New_York
! Configure the network interface
cue(config)# interface ethernet 0/0
cue(config-if)# ip address 10.1.1.100 255.255.255.0
cue(config-if)# exit
cue(config)# ip default-gateway 10.1.1.1
cue(config)# end
cue# write memory
Step 3: Configure the SIP Integration with CME
CUE communicates with the call control platform via SIP (or JTAPI for CUCM). This section covers the more common CME integration using SIP.
On CUE: Configure the SIP Subsystem
cue# config terminal
! Define the CCME as the SIP call control
cue(config)# ccn subsystem sip
cue(config-sip)# gateway address 10.1.1.1
cue(config-sip)# end
! Verify connectivity
cue# show ccn subsystem sip
SIP subsystem:
Gateway: 10.1.1.1
Port: 5060
Registration: Registered
MWI notification: enabled
On CME: Configure Dial Peers and Voicemail Pilot
On the CME router, you need to set up dial peers that route voicemail calls to CUE, and configure the voicemail pilot number that phones will call when users press the Messages button.
! CME Router Configuration
! Create a SIP dial peer pointing to the CUE module
dial-peer voice 9000 voip
description ** Voicemail to CUE **
destination-pattern 9000
session protocol sipv2
session target ipv4:10.1.1.100
dtmf-relay sip-notify
codec g711ulaw
no vad
! Create a dial peer for MWI (Message Waiting Indicator)
dial-peer voice 9001 voip
description ** MWI from CUE **
destination-pattern 8000....
session protocol sipv2
session target ipv4:10.1.1.100
dtmf-relay sip-notify
codec g711ulaw
no vad
! Configure CME to use CUE for voicemail
telephony-service
voicemail 9000
mwi relay
! Configure the ephone-dns to forward to voicemail on no-answer
ephone-dn 1
number 8001
call-forward noan 9000 timeout 20
call-forward busy 9000
The key elements here are:
- Destination pattern 9000: This is your voicemail pilot number. When users press the Messages button, the phone dials 9000
- Call-forward noan 9000: If a call is not answered within 20 seconds, it forwards to CUE voicemail
- Call-forward busy 9000: If the line is busy, the call goes directly to voicemail
- MWI relay: Enables the Message Waiting Indicator (the red light on IP phones) via SIP NOTIFY
Step 4: Configure Mailboxes
Now create the user accounts and voicemail mailboxes on CUE. Each user who needs voicemail gets a mailbox linked to their extension number.
Create Users
cue# config terminal
! Create individual users
cue(config)# username jsmith create
cue(config)# username jsmith phonenumber 8001
cue(config)# username jsmith pin 135790
cue(config)# username jdoe create
cue(config)# username jdoe phonenumber 8002
cue(config)# username jdoe pin 135790
Create a Mailbox Group and Individual Mailboxes
! Create a group for default mailbox settings
cue(config)# groupname Staff create
! Configure voicemail defaults
cue(config)# voicemail default mailboxsize 3000
cue(config)# voicemail default messagesize 120
cue(config)# voicemail default expiration 30
! Create individual mailboxes
cue(config)# voicemail mailbox owner jsmith size 3000
cue(config-mailbox)# description "John Smith - Ext 8001"
cue(config-mailbox)# greeting standard
cue(config-mailbox)# exit
cue(config)# voicemail mailbox owner jdoe size 3000
cue(config-mailbox)# description "Jane Doe - Ext 8002"
cue(config-mailbox)# greeting standard
cue(config-mailbox)# exit
cue(config)# end
cue# write memory
Key mailbox parameters explained:
- mailboxsize 3000: Maximum mailbox size in seconds (3000 seconds = 50 minutes of voicemail storage)
- messagesize 120: Maximum single message length in seconds (2 minutes per message)
- expiration 30: Messages are automatically deleted after 30 days
- pin 135790: The initial PIN the user enters to access their mailbox (they should change this on first login)
Step 5: Configure the Auto-Attendant
The auto-attendant (AA) is a key feature of CUE that answers incoming calls with a greeting and provides callers with a menu of options. Setting up a basic AA involves creating a script and associating it with a trigger (phone number).
cue# config terminal
! Configure the auto-attendant application
cue(config)# ccn application autoattendant
cue(config-application)# description "Main Auto Attendant"
cue(config-application)# maxsessions 8
cue(config-application)# script aa.aef
cue(config-application)# parameter "MaxRetry" "3"
cue(config-application)# parameter "operExtn" "0"
cue(config-application)# parameter "welcomePrompt" "AAWelcome.wav"
cue(config-application)# end
! Create a trigger to associate a phone number with the AA
cue(config)# ccn trigger sip phonenumber 9500
cue(config-trigger)# application autoattendant
cue(config-trigger)# maxsessions 8
cue(config-trigger)# enabled
cue(config-trigger)# end
cue# write memory
With this configuration, when someone dials 9500, they reach the auto-attendant. You will also need a corresponding dial peer on CME that routes calls to 9500 to the CUE module (similar to the voicemail dial peer from Step 3).
Add the AA Dial Peer on CME
! On the CME router
dial-peer voice 9500 voip
description ** Auto-Attendant to CUE **
destination-pattern 9500
session protocol sipv2
session target ipv4:10.1.1.100
dtmf-relay sip-notify
codec g711ulaw
no vad
Step 6: CUCM Integration (Alternative to CME)
If you are running CUCM instead of CME, the integration approach is slightly different. CUCM uses SIP trunks to communicate with CUE rather than local dial peers.
On CUCM
- Create a SIP Trunk: Navigate to Device > Trunk, add a new SIP trunk pointing to the CUE IP address (10.1.1.100). Set the Destination Port to 5060
- Create a Route Pattern: Add a route pattern for your voicemail pilot (9000) and point it to the CUE SIP trunk
- Create a Voicemail Pilot: Go to Advanced Features > Voice Mail > Voicemail Pilot. Enter 9000 as the pilot number
- Create a Voicemail Profile: Go to Advanced Features > Voice Mail > Voicemail Profile. Associate the voicemail pilot you just created
- Assign the Profile to DNs: Edit each Directory Number and set the Voicemail Profile to the one you created
- Configure MWI: Create a SIP trunk subscription for MWI. Under the SIP Trunk settings, enable “MWI Solicited” and set the appropriate calling/called numbers
On CUE
cue# config terminal
! Point CUE to the CUCM publisher
cue(config)# ccn subsystem sip
cue(config-sip)# gateway address 10.1.1.50
cue(config-sip)# end
! MWI configuration for CUCM
cue(config)# ccn subsystem sip
cue(config-sip)# mwi sip
cue(config-sip)# end
cue# write memory
Step 7: Testing and Verification
After completing the configuration, run through these verification steps to confirm everything is working.
Verify CUE Status
! Check overall CUE status
cue# show software versions
cue# show ccn subsystem sip
! Verify SIP registration
cue# show ccn subsystem sip gateway
! Check mailbox status
cue# show voicemail mailboxes
! Check license usage
cue# show software licenses
Test Voicemail Flow
- Direct voicemail access: From an IP phone, dial 9000. You should hear the CUE voicemail greeting and be prompted to enter your mailbox number and PIN
- Leave a voicemail: Call extension 8001 and let it ring until it forwards to voicemail (after 20 seconds). Leave a message and hang up
- Check MWI: The red message light on extension 8001’s phone should illuminate within 30 seconds
- Retrieve voicemail: From extension 8001, press the Messages button (or dial 9000). Enter PIN 135790 and verify the message plays back correctly
- Auto-attendant test: Dial 9500 and verify the welcome prompt plays and menu options work as expected
Verify from the Router
! Check the service module status from the host router
Router# show service-module Service-Engine0/0 status
! Verify SIP connections
Router# show sip-ua status
Router# show sip-ua calls
! Check dial peer usage
Router# show dial-peer voice summary
Step 8: Common Customizations
Upload Custom Greetings
You can upload custom audio prompts for the auto-attendant via SFTP or the CUE web GUI:
! Upload a greeting via CLI (from SFTP server)
cue# copy sftp://admin@10.1.1.200/greetings/welcome.wav flash:prompts/
! Or access the CUE GUI at:
! https://10.1.1.100/voicemail
! Navigate to Voice Mail > Greetings to upload WAV files
Audio files must be in G.711 u-law, 8kHz, 8-bit, mono WAV format. You can convert files using free tools like Audacity.
Enable Voicemail-to-Email
cue# config terminal
! Configure SMTP relay
cue(config)# smtp server address 10.1.1.25
cue(config)# smtp server port 25
! Enable voicemail-to-email for a user
cue(config)# voicemail mailbox owner jsmith
cue(config-mailbox)# enable-vm-to-email jsmith@yourcompany.com
cue(config-mailbox)# exit
cue(config)# end
cue# write memory
Configure Business Hours
cue# config terminal
! Define business hours schedule
cue(config)# calendar biz-hours
cue(config-calendar)# day mon 08:00 17:00
cue(config-calendar)# day tue 08:00 17:00
cue(config-calendar)# day wed 08:00 17:00
cue(config-calendar)# day thu 08:00 17:00
cue(config-calendar)# day fri 08:00 17:00
cue(config-calendar)# exit
! Holidays
cue(config)# calendar holiday
cue(config-holiday)# date Jan 01 2026 "New Years Day"
cue(config-holiday)# date Dec 25 2026 "Christmas"
cue(config-holiday)# exit
cue(config)# end
cue# write memory
Troubleshooting
Here are the most common issues you may encounter and how to resolve them.
MWI Light Not Working
- Verify MWI is enabled:
show ccn subsystem sip— look for “MWI notification: enabled” - Check that the MWI dial peer exists on CME with the correct destination pattern matching your extension range
- On CUCM, confirm the SIP trunk has MWI Solicited enabled
- Debug with:
debug ccsip messageson the router to see SIP NOTIFY packets
Calls Not Forwarding to Voicemail
- Verify call-forward settings on the ephone-dn:
show running-config | section ephone-dn - Check that the voicemail pilot number matches the dial peer destination pattern
- Verify CUE is reachable:
ping 10.1.1.100from the router - Check SIP registration:
show ccn subsystem sipon CUE should show “Registered”
Mailbox Full or Storage Issues
- Check storage:
show voicemail usage - Check individual mailbox:
show voicemail mailbox owner jsmith - Increase mailbox size:
voicemail mailbox owner jsmith size 6000 - Reduce message expiration:
voicemail default expiration 15(15 days instead of 30)
Cannot Access CUE CLI
- Check the service module status:
show service-module Service-Engine0/0 status - If the module shows “Shutdown”, bring it up:
service-module Service-Engine0/0 reset - Verify IP connectivity:
ping 10.1.1.100 source GigabitEthernet0/0 - Try SSH instead of session:
ssh -l admin 10.1.1.100
Quick Reference: Essential CUE Show Commands
| Command | Purpose |
|---|---|
show software versions | Display CUE software version and build info |
show software licenses | Check license count and usage |
show ccn subsystem sip | Verify SIP gateway registration and MWI status |
show voicemail mailboxes | List all configured mailboxes with usage stats |
show voicemail usage | Display overall voicemail storage usage |
show ccn trigger all | Show all configured triggers (AA, voicemail) |
show ccn application all | List all CUE applications |
show users | Display all configured users |
show backup history | Show backup and restore history |
Related Resources on UnifiedGuru
- CUE Licenses Reference
- Troubleshooting Unity Express with Call Manager
- CUE Voicemail + VPIM Networking
- CUE Integration with CME and CUCM
Conclusion
Cisco Unity Express remains a reliable and practical voicemail solution for branch offices and smaller Cisco UC deployments. While the industry is moving toward cloud-based solutions, many organizations still rely on CUE for its simplicity, low cost, and tight integration with Cisco routers. By following this guide, you should have a fully functional CUE voicemail system with user mailboxes, auto-attendant, and MWI all working correctly.
If you run into issues not covered here, check the CUE forum where our community can help troubleshoot your specific deployment. Have a tip or configuration trick you would like to share? Post it in the forums!