Tuesday, March 24, 2009

CUCME-CUE Lab 10 – CUCME-CUE Misc Items

In this final CUCME-CUE Lab, Fuzzy Dunlop has asked you to fine tune the Baltimore and New York Unified Communications Express Solution.

CUCME-CUE Lab 10.1 –CUCME-CUE Misc Items Tasks

1. Nick Markakis has a new 7962 IP Phone. With all these line appearances, Nick has requested the ability to monitor the presence of Arliss Michaels, Cal Ripken, and Joe Flacco. Configure Baltimore to support this Presence mandate.

2. All users in both Baltimore and New York should be able to monitor phone presence status via the local directory. Users should also be able to remotely monitor presence status.

3. Eli Manning would like the ability to intercom Ari. However, he does not want Ari to intercom him.

4. Configure ext. 1000 as the Auto Attendant, using the system default AA. When a user requests the Operator via the AA, both Ari and Arliss should receive the call.

5. When an internal user dials “0”, calls should ring simultaneous at Ari and Arliss.

6. Ensure that when external caller dial each branch office’s main number, 410-555-1000 for Baltimore, and 212-555-2000, that the numbers are routed to the AA.

7. Ensure that both Arlis and Ari have administrative privileges on CUE and can modify the system via the TUI using extension 1990.

8. Fuzzy Dunlop has asked that you block any 900, 976, or 1010 calls.

CUCME-CUE Lab 10.2 –CUCME-CUE Misc Items Verification

1. Configuring Presence for SCCP phones in Baltimore is very similar to the process discussed for the SIP phones discussed in Lab 6. First, enable the appropriate presence parameter globally. Next, configure Nick Markakis to monitor Arliss Michaels, Cal Ripken, and Joe Flacco.

!
sip-ua
presence enable
!
presence
max-subscription 144
!
ephone-dn 1 dual-line
number 1001
label Cal Ripken 1001
allow watch
!
!repeat for ephone-dn 2-5!
!
ephone 2
device-security-mode none
description Nick Markakis
blf-speed-dial 2 1001 label "Cal Ripken" device
blf-speed-dial 3 1003 label "Joe Flacco" device
blf-speed-dial 4 1005 label "Arliss Michaels" device
blf-speed-dial 5 2005 label "Ari Gold" device


2. In order to allow all users to view presence status via the local directory, additional modifications are required on both the New York and Baltimore routers. First, there are some additional configuration parameters required under the global “presence” command. Secondly, the “presence call-list” command needs to be added to both the SCCP and SIP phone configuration.

Baltimore#sh run
!
presence
sccp blf-speed-dial retry-interval 90 limit 15
presence call-list
server 10.1.22.1
max-subscription 144
watcher all
allow subscribe
!
ephone 1
description Cal Ripken
presence call-list
!
! repeat for all SCCP phones !


NewYork#sh run
!
presence
sccp blf-speed-dial retry-interval 90 limit 15
presence call-list
server 10.1.12.1
max-subscription 144
watcher all
allow subscribe
!
!
voice register pool 1
presence call-list
description 212-555-2001
!
! repeat for all SIP Phones !


A comment/observation… It appears that only one SIP Presence Server can be added to the CUCME configuration. This effectively limits SIP Presence monitoring between only two CUCME location, unless of course a centralized Presence Server, such as CUPS, is integrated as part of the solution.


3. In an attempt to revisit SIP intercom, I believe that I may have come up with “hybrid” solution. The first part of the solution is to create a voice register dn that auto-answers.

!
voice register dn 6
number 2905
auto-answer
label Intercom from Eli
!

Next, this dn is associated with the Ari Gold SIP Phone.

!
voice register pool 5
number 1 dn 5
number 2 dn 1
number 3 dn 6
!

Finally, a speed dial button for Eli’s phone is created, which in essence creates the “intercom”.

!
voice register pool 3
number 1 dn 3
description 212-555-2003
speed-dial 1 2905 label "Intercom to Ari"
!


4. Meeting the requirements for the Auto Attendant described in tasks 4 – 6 require a number of configuration changes on both the Baltimore and New York CUCME routers and the CUE.

Under CUE, a group delivery mailbox needs to be created, as well mapping which number will ring the operator when a user presses “0” in the auto attendant. For purposes of the configuration, “0” for the operator will be mapped to extension 1100, which will later be associated with a hunt group in CUCME. As for the AA itself and purposes of this exercise, I’ve opted for the default AA in CUE.

baltimore-cue# sh run

groupname Operator create

groupname Operator member amichaels
groupname Operator member agold
groupname Operator phonenumber "1100"

ccn application autoattendant aa
description "autoattendant"
enabled
maxsessions 4
script "aa.aef"
parameter "busClosedPrompt" "AABusinessClosed.wav"
parameter "holidayPrompt" "AAHolidayPrompt.wav"
parameter "welcomePrompt" "AAWelcome.wav"
parameter "disconnectAfterMenu" "false"
parameter "dialByFirstName" "false"
parameter "allowExternalTransfers" "false"
parameter "MaxRetry" "3"
parameter "dialByExtnAnytime" "false"
parameter "busOpenPrompt" "AABusinessOpen.wav"
parameter "businessSchedule" "systemschedule"
parameter "dialByExtnAnytimeInputLength" "4"
parameter "operExtn" "1100"
end application

voicemail mailbox owner "Operator" size 720
description "Operator Mailbox"
zerooutnumber "1000"
end mailbox


Next, in Baltimore, create a parallel hunt group to ring both Ari and Arliss at the same time. Voice hunt-groups allow you to include SIP trunks, something that ephone-hunt groups do not allow. Note, the timeout needs to be tweaked so that the call is sent to the group mail box 1100 prior to being sent to either the Ari or Arliss mailbox.

Baltimore#sh run
!
voice hunt-group 2 parallel
final 1999
list 1005,2005
timeout 20
pilot 1100
!


Next, two additional voip dial-peers are added to Baltimore to allow access to the AA. Note, for external users, a translation profile must be associated with the inbound E.164 number from the PSTN. A modification to the existing voice translation rule is sufficient.

Baltimore#sh run
!
voice translation-rule 2
rule 1 /4105551999/ /1999/
rule 2 /4105551000/ /1000/
!
!
voice translation-profile to-cue
translate called 2
!
!
dial-peer voice 1997 voip
destination-pattern 1000
session protocol sipv2
session target ipv4:10.1.12.3
dtmf-relay rtp-nte
codec g711ulaw
no vad
!
dial-peer voice 1996 voip
mailbox-selection orig-called-num
description VM-AA-PSTN
translation-profile outgoing to-cue
destination-pattern 4105551000
session protocol sipv2
session target ipv4:10.1.12.3
dtmf-relay rtp-nte
codec g711ulaw
no vad
!


For users in New York, the CUCME changes are similar. Two dial-peers are created, one with a destination-pattern of 1000 pointing to Baltimore and the other with a destination-pattern of 212-555-2000, with an associated translation-profile and also pointing to Baltimore.

NewYork#sh run
!
voice translation-rule 2
rule 1 /2125552000/ /1000/
!
!
voice translation-profile outgoing-to-cue
translate called 2
!
!
dial-peer voice 1997 voip
destination-pattern 1000
b2bua
session protocol sipv2
session target ipv4:10.1.12.3
dtmf-relay rtp-nte
codec g711ulaw
no vad
!
dial-peer voice 1996 voip
mailbox-selection orig-called-num
description AA
translation-profile outgoing outgoing-to-cue
destination-pattern 2125552000
b2bua
session protocol sipv2
session target ipv4:10.1.12.3
dtmf-relay rtp-nte
codec g711ulaw
no vad
!


5. The process to enable users to dial “0” and have both Ari and Arliss ring is different for each router.

In Baltimore, we’ll modify the existing translation rule from lab 4, which enabled user who dial HELP to ring the analog security phone. In this instance, add a second rule to translate 0 to the 1100 pilot.

Baltimore#sh run
!
translation-rule 1
Rule 0 ^4357 1611
Rule 1 ^0 1100


In New York, since the phones are SIP, new voice translation rule and translation-profile are created. This translation profile is then applied to a new voip dial-peer pointing to Baltimore and the Baltimore hunt-group, which in-turn, rings both Ari and Arliss.

NewYork#sh run
!
voice translation-rule 3
rule 1 /0/ /1100/
!
!
voice translation-profile operator
translate called 3
!
!
dial-peer voice 1004 voip
translation-profile outgoing operator
destination-pattern 0
session protocol sipv2
session target ipv4:172.16.1.1
dtmf-relay rtp-nte
codec g722-64
no vad
!



6. Granting Arliss and Ari administrative privileges on CUE is as simple as adding each user to the Administrators group and adding a SIP phone number for prompt management.

groupname Administrators member amichaels
groupname Administrators member agold

ccn trigger sip phonenumber 1990
application "promptmgmt"
enabled
maxsessions 1
end trigger



7. The simplest way to restrict callers from dialing 976, 900, and 1010 number is to add a 24 x 7 call-blocking restriction to the telephony service on each router.

telephony-service
after-hours block pattern 1 9900 7-24
after-hours block pattern 2 9976 7-24
after-hours block pattern 3 91010 7-24


When testing this on both routers, I observed a difference in behavior between SCCP and SIP phones. On SCCP phones, once a pattern matched, such as 9-976, the user receives a fast busy tone. On SIP phones, rather than a receiving a fast-busy, the attempted call is simply dropped.


CUCME-CUE Lab 10.3 –CUCME-CUE Misc Items Wrap-up

This lab will likely conclude the CUCME-CUE labs, even though many Advanced CUE features such as IMAP, IVR, Live Record, and custom AA scripting were not covered. I am a bit torn on which topic to tackle next. My original intention was to continue to “build-out” Ballplayers, LLC as a true company might expand. Namely, I was going to stick with CUCME as the call processing, add a third CUCME site, and replace CUE with Unity Connection as a centralized integrated messaging solution. However, I am now gravitating toward jumping right to centralized call processing, Unified Communications Manager 7.0.

Each of these labs usually requires me a few days or even weeks of after-work-hours research and configuration. I will post the final configs for the Baltimore CUCME, New York CUCME, and Baltimore CUE in the coming days. Regardless of the direction that I ultimately decide upon, there will likely be a gap in posting for a few weeks. I am going to build a Microsoft 2003 Domain Controller with a simple AD to support which ever direction I take. I also plan to begin focusing a bit more on properly installing both Unity Connection and UCM in VMWare ESX 3.5, that way I am ready to roll in whichever direction I ultimately take.


References:
Cisco Systems. Cisco Unified Communications Manager Express System Administrator Guide. Available online.

Cisco Systems. Cisco Unity Express Voice-Mail and Auto-Attendant CLI Administrator Guide for 3.0 and Later Versions. Available online.

Monday, March 9, 2009

CUCME-CUE Lab 9 – New York City Messaging

Users in New York also require voicemail features and functionality. The tasks in this lab pertain to extending access to the CUE in Baltimore to the users in New York.

CUCME-CUE Lab 9.1 – New York City Messaging Tasks

1. Configure users in New York with Cisco Unity Express voicemail.

2. Ensure that users in New York have their MWI lamp lit when a user leaves a voicemail.

3. Make sure that messages can be forwarded via either dial by name or by extension.

4. Ensure that in the event of a WAN failure, users can still access and retrieve voicemail.

5. Also ensure that external callers can leave messages for users in New York in the event of a WAN failure.

6. Users in off-net should be able to dial into the system to access their messages remotely.

7. Configure the mailboxes with the same size restrictions as described in Lab 8.1.

CUCME-CUE Lab 9.2 – New York City Messaging Task Verification
Please note, the tasks described in this lab “may or may not be” supported by Cisco. According to the Cisco datasheet for CUE:

“Cisco Unity Express (on NME-CUE only) can integrate with up to 10 Cisco Unified Communications Manager Express remote sites. This solution allows voicemail and Automated-Attendant features to be centralized for up to 10 sites when voicemail at each remote site is not essential and only a small number of users are at each site.”

Therefore, I do not officially endorse, nor would I advocate, this type of solution in a production environment on an AIM-CUE module, which I have used in my home lab. With that disclaimer, I based much of the configuration based on this document, along with some careful study of the Cisco Unity Express Voice-Mail and Auto-Attendant CLI Administrator Guide for 3.0 and Later Versions and some additional troubleshooting.

1. First, add the users to CUE in much the same way as was done in Lab 8. In the interest of space, I will omit a full description of the tasks; refer to Lab 8.2.


2. Next step is to add a dial-peer on the New York CUCME router pointing to the Baltimore-CUE module. Here is where I ran into my first series of problem. Originally, I used the Cisco Unified Communications Manager Express: SIP Implementation Guide as my reference, building out the CUE integration based on the “Configure connection to Cisco Unity Express” of this document. However, I encountered a few issues, namely DTMF relay and MWI issues, which I while address separately below.


3. DTMF Relay issue & resolution:

First problem was that while SIP phones could dial into the CUE at ext. 1999 when pressing the voicemail button, the system was not responding to any inputs on the keypad. My initial configuration under both the phones and the corresponding dial-peer used the suggested “dtmf-relay sip-notify” commands.

After a fair amount of troubleshooting, including changing and eliminating transcoding as a possible cause, I decided to opt with the “dtmf-relay rtp-nte” as referenced here. Note, I modified this configuration for all SIP phones, the voip dial-peers on the NYC CUCME, and voip dial-peers on the Baltimore CUCME. For example:

NewYork#sh run
!
voice register global
voicemail 1999
!
voice register pool 1
number 2001
call-forward b2bua busy 1999
call-forward b2bua mailbox 1999
call-forward b2bua noan 1999 timeout 20
dtmf-relay rtp-nte
!
!
dial-peer voice 1000 voip
description VOIP Peer to Baltimore
preference 1
destination-pattern 1...
session protocol sipv2
session target ipv4:172.16.1.1
dtmf-relay rtp-nte
codec g722-64
no vad
!
!
dial-peer voice 1999 voip
destination-pattern 1999
b2bua
session protocol sipv2
session target ipv4:10.1.12.3
dtmf-relay rtp-nte
codec g711ulaw
no vad
!

Finally, the change to “dtmf-relay rtp-nte” necessitated the following changes to the Baltimore CUE.

baltimore-cue# sh run
!
ccn subsystem sip
dtmf-relay sip-notify rtp-nte


With the changes and configurations described above, users in New York are now able to access their voicemail on the Baltimore CUE.


4. The next challenge was sending MWI to and from CUE in Baltimore to the phones in New York. Once again, the Cisco Unified Communications Manager Express: SIP Implementation Guide was used as reference, but the MWI lamps failed to light on the phones. The resolution was to configure MWI based on the Sub-Notify Notification described in the Cisco Unity Express Voice-Mail and Auto-Attendant CLI Administrator Guide for 3.0 and Later Versions combined with SIP: Configuring a Directory Number for MWI NOTIFY from the CUCME Admin Guide.

On the New York CUCME Router:

NewYork#sh run
!
voice register global
mwi stutter
mwi reg-e164
!
!
voice register dn 1
mwi
!
!
sip-ua
mwi-server ipv4:10.1.12.3 expires 3600 port 5060 transport udp


And on CUE in Baltimore:

baltimore-cue# sh run
!
ccn subsystem sip
mwi sip outcall sub-notify
!


5. Enabling callers to leave messages during a WAN failure requires some changes and modifications to various dial-peers. First, rather than create a new series of dial-peers out to the PSTN pointing to 410-555-1999 on the New York router, I chose to leverage the existing dial-peers and PSTN fallback capabilities described in Lab 4.0. However, those existing dial-peers used a destination-pattern of “10..”, which excludes “1999”. Therefore, changing the pattern to “1…”, as shown above in the DTMF discussion, takes care of this. The previously translation pattern will manipulate 1999 to 410-555-1999, resulting in the call routing out the PSTN to Baltimore.


6. However, inbound calls from the PSTN to 1999 will not reach CUE unless a new VOIP dial-peer is added, with in outgoing translation pattern (to CUE) for digit manipulation. Below provides the configuration changes required to allow inbound callers to reach the voicemail pilot point.

Baltimore#sh run
!
voice translation-rule 2
rule 1 /4105551999/ /1999/
!
!
voice translation-profile to-cue
translate called 2
!
!
dial-peer voice 1998 voip
mailbox-selection orig-called-num
description VM-AA-PSTN
translation-profile outgoing to-cue
destination-pattern 4105551999
session protocol sipv2
session target ipv4:10.1.12.3
dtmf-relay rtp-nte
codec g711ulaw
no vad
!


7. The easiest way to test the voicemail failover to the PSTN is to shut down the VOIP dial peers between the two CUCME locations and place a test call. In the example below, Nick Markakis at ext. 1002 is attempting to call Ari Gold at ext. 2005. First, you’ll notice the call being routed to Ari, who is not available to answer.

NewYork#
Mar 10 02:54:13.812: //-1/xxxxxxxxxxxx/DPM/dpMatchPeersCore:
Calling Number=2005, Called Number=2005, Peer Info Type=DIALPEER_INFO_SPEECH
Mar 10 02:54:13.812: //-1/xxxxxxxxxxxx/DPM/dpMatchPeersCore:
Match Rule=DP_MATCH_DEST; Called Number=2005
Mar 10 02:54:13.812: //-1/xxxxxxxxxxxx/DPM/dpMatchPeersCore:
Result=Success(0) after DP_MATCH_DEST
Mar 10 02:54:13.812: //-1/xxxxxxxxxxxx/DPM/dpMatchPeersMoreArg:
Result=SUCCESS(0)
List of Matched Outgoing Dial-peer(s):
1: Dial-peer Tag=40005
Mar 10 02:54:13.816: //-1/xxxxxxxxxxxx/DPM/dpAssociateIncomingPeerCore:
Calling Number=4105551002, Called Number=, Voice-Interface=0x0,
Timeout=TRUE, Peer Encap Type=ENCAP_VOIP, Peer Search Type=PEER_TYPE_VOICE,
Peer Info Type=DIALPEER_INFO_SPEECH


Once the call-forward no answer timing is reached, CUCME attempts to forward the call to ext. 1999.

NewYork#
Mar 10 02:54:33.968: //-1/xxxxxxxxxxxx/DPM/dpAssociateIncomingPeerCore:
Calling Number=2005, Called Number=, Voice-Interface=0x0,
Timeout=TRUE, Peer Encap Type=ENCAP_VOIP, Peer Search Type=PEER_TYPE_VOICE,
Peer Info Type=DIALPEER_INFO_SPEECH
Mar 10 02:54:33.968: //-1/xxxxxxxxxxxx/DPM/dpAssociateIncomingPeerCore:
Result=Success(0) after DP_MATCH_ORIGINATE; Incoming Dial-peer=40005
Mar 10 02:54:33.968: //-1/xxxxxxxxxxxx/DPM/dpMatchPeersCore:
Calling Number=, Called Number=1999, Peer Info Type=DIALPEER_INFO_SPEECH
Mar 10 02:54:33.968: //-1/xxxxxxxxxxxx/DPM/dpMatchPeersCore:
Match Rule=DP_MATCH_DEST; Called Number=1999
Mar 10 02:54:33.968: //-1/xxxxxxxxxxxx/DPM/dpMatchPeersCore:
Result=Success(0) after DP_MATCH_DEST
Mar 10 02:54:33.968: //-1/xxxxxxxxxxxx/DPM/dpMatchPeersMoreArg:
Result=SUCCESS(0)
List of Matched Outgoing Dial-peer(s):
1: Dial-peer Tag=1001
2: Dial-peer Tag=1003
3: Dial-peer Tag=1002

Finally, you’ll notice the call now being forward out the PRI circuit in New York to the PSTN, back to CUE in Baltimore at 410-555-1999, where Nick can leave a message for his agent, Ari.

NewYork#

Mar 10 02:54:34.244: %ISDN-6-CONNECT: Interface Serial0/0/0:3 is now connected to 4105551999 N/A
Mar 10 02:54:34.244: %ISDN-6-CONNECT: Interface Serial0/0/0:3 is now connected to 4105551999 N/A

Mar 10 02:54:34.252: //-1/xxxxxxxxxxxx/DPM/dpMatchPeersCore:
Calling Number=, Called Number=4105551999, Peer Info Type=DIALPEER_INFO_SPEECH
Mar 10 02:54:34.252: //-1/xxxxxxxxxxxx/DPM/dpMatchPeersCore:
Match Rule=DP_MATCH_DEST; Called Number=4105551999


CUCME-CUE Lab 9.3 Wrap-up

Labs 8 and 9 represent just the tip of the iceberg when it comes to Unity Express. For a relatively inexpensive voicemail solution, it is very powerful with many robust features, including an IVR, Auto Attendant, Time Card application, and integrated messaging via IMAP. While I may explore a few more CUCME and CUE topics, I also want to begin moving on to the other core CCIE Voice topics.

References:
Cisco Systems. Cisco Unified Communications Manager Express: SIP Implementation Guide. Available online.

Cisco Systems. Cisco Unified Communications Manager Express System Administrator Guide. Available online.

Cisco Systems. Cisco Unity Express Voice-Mail and Auto-Attendant CLI Administrator Guide for 3.0 and Later Versions. Available online.

Cisco Systems. Failure to Set MWI on Phones Connected to the Remote CallManager Express. Available online.