Overall, I found today challenging. I was very pleased at my speed and accuracy up through the gateways/gatekeeper section. After 2.5 hours, I had 28 solid points and was moving on to the call routing section. My weaknesses in this lab was IOS COR, QoS, and Messaging. I found VPIM very easy to configure (my first time); however, I was never able to get CME-CUE-SIP MWI notifications to work. I only made it as far as the end of section 9 and then called it quits. I will lab this again on Thursday night.
![]()
For Thursday:
- Copy output of “show ip int bri | e una” from every router and paste into Notepad for continued reference.
- Create a matrix with digits PSTN wants to receive and ANI presentation. See if there is some way to capture a high-level snapshot of the dial plan so I’m not burned at the end if I am asked to do SRST.
1.0 Infrastructure
- ALWAYS add the "ip helper-address" command to your routers. Even if it is redundant, it is a safe best-practice for the lab to avoid issues.
- Remember the strings used for LDAP integration. An example is listed below:
- LDAP Manager Distinguished Name: cn=Administrator,cn=Users,dc=cisco,dc=com
- LDAP User Search Base: cn=Users,dc=cisco,dc=com
2.0 UCM Basic Setup
- With locations-based CAC, you only ever configure new locations for the “spoke” sites. Since a maximum of four G.729 calls are allowed between sites in this lab, configure a single location called LOC-BR1 and set to 96 kbps for audio. It is not necessary to configure a LOC-HQ and set a threshold on that location as well.
- If the bandwidth values are set to a finite number of kilobits per second (kbps), CUCM will allow calls in and out of that location as long as the aggregate bandwidth used by all active calls is less than or equal to the configured values. (CUCM SRND)
- The gateways did not have locations-based CAC applied. Even the BR1 MGCP gateway was left in Hub_none.
3.0 UCME Basic Setup
- Remember to configure the "timezone" command for SCCP and SIP phones in the IOS. Otherwise, hours may be off.
- SIP phones receive their banner information from “voice register pool 1” | “description 3006”.
- SIP phones should be configured with “voice register pool 1” | “codec g711ulaw”.
- SCCP should be configure with caller-id using “ephone-dn 1” | “name BR2 PH1”.
- Time zone was not specified for BR2, though I’m assuming it would be the time zone for Spain. No specific requirements were set around IP phone display presentation so I left it at default.
- Setting a time zone is probably something I want to do anyway. If I leave the CUCME at a default time zone, my CUE module will not have the same time.
- Default dtmf-relay for CUCME SIP phones is rtp-nte.
4.0 Gateways and Gatekeeper
- Prefix outbound H.225 gatekeeper-bound calls using “dial-peer voice 10 voip” | “tech-prefix 1#”
- Got burned by omitting the command "no supplementary-service h225-notify cid-update" under "voice service voip."
- Gatekeeper commands: “show gatek end” | “show gatek gw-tech” | “show gatek zone status”
- ISDN b-channel order for MGCP gateways is set through the CUCM GUI under the T1 port.
- When receiving a gatekeeper question based off show commands, make a list of the requirements in Notepad. I wasted precious minutes going back and rereading the outputs to determine what the question was asking.
- By default, any lab requiring gatekeeper should also demand a separate device pool and region to force intersite/gatekeeper calls to G.729.
- If CUCM handles all digit manipulation for an H.323 gateway, you can eliminate unnecessary keystrokes by using a single outbound POTS dial-peer with “destination-pattern .T”. This would not work for sites with SRST requirements.
- If I am not allowed to use " gw-type-prefix 1#* default-technology" on HQ GK and I don’t know the Remote PSTN zone tech-prefix, how can I make my calls to India (91 country code calls) pass on to Remote zone PSTN GK?
- Tech Prefix is not required for routing to remote zones.
- The configuration on the remote zone is invisible to you and hence you will have to be told EXACTLY what digits to send to the PSTN zone. If the owner of the PSTN zone requires you to send “12345” then you send “12345” and leave the method of how the call is routed to the remote gateway down to the remote gatekeeper configuration.
- Maybe the remote gateways are registered with the tech prefix “1” or “12” or “123” or maybe he is using 1# as a default technology- we don’t really care.
5.0 Call Routing
- Every CSS has access to the <None> partition.
- If asked to create a call park range of 1100-1102 with redundancy between CUCMS, configure a range of [1100-1102] in PT-INTERNAL (CUCM_Sub) and another range of [1100-1102] in the <None> partition (CUCM_Pub).
- Stop Routing on Unallocated Number Flag set to False. This is very important and very easy to forget.
- After hours block patterns under “telephony-service” apply to SCCP and SIP phones. Therefore, this is the easiest way to block International outbound dialing at BR2.
- Global configuration: “telephony-service” | “after-hours block pattern 1 900 7-24”
- Device exemptions: “ephone 2” | “after-hours exempt”
- SIP Route Patterns Checklist
- Enterprise Parameter: Organization Top Level Domain set to “proctorlabs.com.”
- Enterprise Parameter: Cluster Fully Qualified Domain Name set to “proctorlabs.com.”
- End User: Configure telephone number as 3006@cme.com.
- Setup a SIP trunk from CUCM to BR2.
- Create SIP Route Pattern with IPv4 pattern of “cme.com.”
- Block Inbound International Calls Checklist
- Create translation rule using “rule 1 reject” command.
- Create translation profile based on calling number.
- Assign profile to dial-peer using “call-block translation-profile incoming” command.
6.0 QoS
- The following CUCM and CUC service parameters adjust DSCP markings for control traffic:
- CUCM > Svc Param > IP Media Streaming App > IP DSCP to Cisco Unified Communications
- CUCM > Svc Param > CUCM > DSCP for ICCP Protocol Links
- CUCM > Enterprise Parameters > DSCP for Phone Configuration
- CUCM > Enterprise Parameters > DSCP for Cisco CallManager to Device Interface
- CUC > Advanced > Telephony > DSCP value for call signaling connections
- Verify CoS-DSCP mapping on IOS: “show mls qos map cos-dscp” | dscp: 0 8 16 26 32 46 48 56
- Trust packets from phones and servers: "interface FastEthernet 1/0" | "switchport priority extend cos 0" | "mls qos trust cos"
- You can mark SCCP packets under "sccp ccm group" using the command: "signaling dscp af31"
- When calculating WAN bandwidth, always shape to 95% of the PVC speed using: "frame-relay cir 729600" | "frame-relay bc "7296" | "frame-relay min-cir 729600" | "frame-relay be 0"
- Voice Bandwidth (without Layer 2 Overhead)
- G.711 @ 10 ms = 80 bytes voice payload
- G.711 @ 20 ms = 160 byte voice payload
- G.711 @ 30 ms = 240 byte voice payload
- G.729A @ 10 ms = 10 byte voice payload
- G.729A @ 20 ms =20 byte voice payload
- G.729A @ 30 ms = 30 byte voice payload
- Reasonable values for media and control traffic are 33% and 5% accordingly.
- You HAVE TO ENABLE FRTS for the policy-map (LLQ) to take effect. Running FRTS on the physical interface is mandatory unless you are using class-based shaping (nested policy-map).
7.0 Media
- In IOS, use “show voice dsp group all” to determine PVDM2 capacity on each router.
- One PVDM2-16 = 240 MIPS
- When calculating maximum number of transcoding sessions, deduct 15 MIPS per PRI b-channel (assuming G.711 codec out to the PSTN). This is important to take into account. Otherwise, your PRI calls will not have sufficient resources for transcoding.
- G.711ulaw/alaw (low complexity) uses 15 MIPS per call = 16 calls per PVDM2-16.
- G.729ar8/abr8 (medium complexity) uses 30 MIPS per call = 8 calls per PVDM2-16.
- G.729r8 (high complexity) uses 40 MIPS per call = 6 calls per PVDM2-16.
- If two MoH servers are placed in the same MRG, they will load-balance between each other. To verify, invoke MoH on two IP phones, SSH into the Subscriber, and type: show perf query class “Cisco MOH Device”. Make sure the MOHTotalUnicastResources value = 249 on both servers.
- Sourcing MMOH from Branch Router Flash Checklist
- “ccm-manager music-on-hold”
- “call-manager-fallback” | “moh music-on-hold.au” | “multicast moh 239.1.1.1 port 16384 route 10.10.201.1 10.10.110.2” [Required: Interface for voice subnet and loopback for PSTN connections]
- “debug ephone moh”
- Media Resource Group List
- New device pool and region to hardcode G.711 codec.
8.0 Messaging
- Load license file and restore factory default settings on CUE early on in the lab. This will take a while.
- Make sure to enable CUC services before configuring any other settings.
- Apply AAR Group Settings to the hunt pilot in CUCM. Voicemail ports have no need of an external number mask. The external number mask on the hunt pilot will be used when there is not enough bandwidth to call the internal number.
- CUC > Users > Users > Edit > Send Message Settings > User Can Send/Update Broadcast Messages to Users on This Server.
- CUC > Tools > Custom Keypad Mapping > Change keypad mapping. This is applied under Users > Users > Phone Menu.
- CUC > Advanced > Conversations > System Broadcast Message: Default Active Days.
- CUE > To make sure that MWI for a group mailbox is sent to a specific user, use "num-exp 39993210 39993102" | "num-exp 39983210 39983102"
- CUE-CUC VPIM Checklist
- Check DNS server to make sure there is an appropriate MX record for the domains being used.
- CUC > SMTP Configuration > Server > Set "SMTP Domain" and check "Allow Connections from Untrusted IP Addresses."
- CUC > Networking > VPIM Locations > Create VPIM locations for CUCM/CUCME sites. Make sure to check "Allow Blind Addressing" for remote CUCME VPIM Location. You will also likely be asked to enter a DTMF Access ID.
- CUC > CLI > "set network dns primary 10.10.210.14"
- Reload the CUC server for the SMTP and DNS settings to go into effect.
- CUE > GUI > Configure > Network Locations > Location ID corresponds to DTMF Access ID in CUC
- CUE > GUI >System > Domain Name Settings > Add DNS server and domain name
- Verify operation from CUE: "no trace all" | "trace network vpim all" | "show trace buffer tail"
- Verify operation from phone: Call in, Press 2, Record message, ## Switches between dial by name/number, Enter remote location, Enter ### to send the message.
- CME-CUE Pre-Installation Checklist
- Configure Service-Engine 0/0
- Configure voip dial-peer for voicemail pilot: “destination-pattern 3[16]00” | “dtmf-relay sip-notify sip kpml” | “codec g711ulaw” | “incoming called-number 399[89]….” | …
- Configure telephony-service options: “voicemail 3600” | “call-forward pattern .T” | “web admin system name admin password cisco” | “dn-webedit” | “transfer-system full-consult” | “transfer-pattern .T”
- Configure web server: “ip http server” | “ip http authentication local” | “ip http path flash:/GUI”
- Configure ephone-dns for MWI on/off with number format set to “3999….” and “3998….”
- Configure sip-ua: “sip-ua” | “mwi-server ipv4:10.10.202.2”
- Configure voice register dn’s with call-forwarding: “voice register dn 2” | “call-forward b2bua busy 3600” | “call-forward b2bua mailbox 3006” | “call-forward b2bua noan 3600 timeout 12”
- Configure voice register pool rtp-nte dtmf-relay
- Configure voice register global options: “voicemail 3600”
Hi, thanks for sharing your notes. They remind me about all those litlle things, which are easy to forget
Good luck!
For the mwi did you have a dial peer that forced to g.711. This caught me out before.
What I did was use the same dial-peer that sends the call to cue and set incoming called-number 800[11]….
8001 and 8002 were my mwi numbers.
Cheers
glen
Why did you require the command "no supplementary-service h225-notify cid-update"?
Regards,
Fabz