Awesome short video by Cisco to illustrate the capabilities of their Video Collaboration portfolio.
Author Archives: ben
Setting a New Extension Mobility User in CUCM 9.1.2
An Extension Mobility User is defined via a Device Profile. The Device Profile configuration page is found under the Device->Device Settings Menu in CUCM.
Before we start to configure the Device Profile, its best to gather a few key details. Details such as DN, username, Device Profile naming standard, Button Template, Softkey Template, Full Name of user, will they have Voicemail, what type of calling access will they have, eg. International, National etc.
Once we have these details we can go ahead and start to configure the Device Profile.
1. Navigate to the Device Profiles Search Page (Device->Device Settings->Device Profiles)
2. Click the Add New Button
3. Select the Phone Type the User will use. In this case I have selected 8945 Phone Type.
4. Select the Device Protocol. I use SIP Protocol these days, but check what is the standard signalling protocol used in your organisation.
5. After Click Next, we are presented with the Full Device Profile Configuration page. Here is where we complete all required details as per the information we gathered in our preparation stage. I’ll quickly run through some of the main fields populated.
Device Profile Name: Enter the standardised Device Profile name used in the Telephony System. I always use the dp_username format. (dp=device profile)
Description: Again check the naming standard of the Telephony System. I find a good practice is to enter the Full Name – DN (eg. Ben Morgan – 4404). This way when searching Device Profiles we can quickly identify the Full Name and what their extension number is without clicking into the Device Profile page.
User Hold MOH Audio Source: Mainly keep this to NONE. As the device profile will inherit its setting from upper layers. User Hold MOH is activated when a user presses the ‘Hold’ Button on the phone.
User Locale: I consider this to be Important. Default is set to NONE. So this inherits from upper levels such as the System Parameters. However if the User Locale is changed and is different to that of the Phone Locale (Device Page) the Logging on and Logging off process is prolonged. This is because the Telephony System has to download a new locale to the phone/device profile each time it is logged on/off. This can be very frustrating for users.
Phone Button Template: Depending on the user requirements, you would have already setup an array of different Button Templates, find the correct layout for this user. If you cannot find a layout, you will need to go back and create a new Button Template. For the 8945 phone, some common Button Templates I configure include 1L:2SD:1DND, 1L:3SD, 1L:3BLF , 1L:2BLF:1DND, 2L:1PRIVACY:1BLF.
L = Line (DN)
SD = Speed Dial (User can change Speed Dial Numbers through the ucmuser webpage
BLF = Busy Lamp Field
DND = Do Not Disturb
PRIVACY = Turn on/off Privacy when using Shared Lines.
Softkey Template: Select the required Softkey Template. Again you would already created custom Softkey Templates, now it’s just a matter of selecting one.
Privacy: Set to Default by Default. If you select ‘On’ the User’s shared line will be private, as in no other device configured with the same shared DN will be able to see who the user is talking to nor barge into the conversation. Set to ‘Off’ allows other devices using the same DN to see who is on the phone and also barge into the call.
There are a few DND options, most devices keep these to defaults, but you have the option to just have the phone flash, just beep once, or go directly to VM without notifying the user. These are more specific to the user requirements.
Click ‘SAVE’
6. After the Device Profile page refreshes, navigate to the top right corner of the windows and drop the Related Links Menu down and select ‘Subscribe/Unsubscribe Services’. Click Go
7. The Subscribe Services Window Appears. (Make sure Popups are allowed). Select the Extension Mobility Service. Commonly when configuring this server, you would have called it ‘Extension Mobility’ or perhaps ‘EM’.
8. Click Next, then click Subscribe.
9. Save then close the popup window. This returns you to the Device Profile page. Now click SAVE again.
This brings us to the Directory Number (DN) Configuration.
Once the Device Profile page refreshes, you will a new section to the left containing the Button Layout you selected. The first link is always your Line. You will see “Line [1] – Add a new DN”. Click on this link.
1. Enter the Directory Number then press the TAB key or click into a white/null space on the screen. The DN page will refresh.
2. Select the appropriate Partition for the DN. Again press the TAB key or click into the white/null space. At this point the system will attempt to identify if there is an existing DN in the configured Partition. If there is, the system will return partially completed fields. If the DN does not exist the screen refreshes and you can continue to complete required fields.
3. Now we can go ahead and complete the required fields for the DN page. I’ll run through a few key fields.
Description: Just like the Device Profile Description fields, I like to enter the user’s Full Name – DN (eg. Ben Morgan – 4404)
Alerting Name: This field displays on the Calling Phone when this DN is called. Eg. Phone A calls Phone B. User A will then see the Alerting Field of Phone B being displayed on Phone A.
I normally enter in the Full Name only. No DN necessary as the system will automatically displays the DN
Voice Mail Profile: Select the appropriate Voice Mail Profile (this would have already been configured on the System). This field effectively enables the Messages Button on the phone and allows call diversion direct to Voicemail.
Calling Search Space: Enter the requirement CSS. Generally the Line CSS will be the BLOCK CSS and the Device CSS will be the ALLOW/PERMIT CSS.
Call Forward and Pickup Settings Section: I normally check all the Voice Mail boxes (except of course the Forward All check box). Along with this I also select the required Calling Search Space on the right.
Users can at any time log into the ucmuser webpage and make changes to these call forward settings.
No Answer Ring Duration (Seconds): The system default is 12 seconds, so that’s approximately 3 full ring sequences. I find most users like this to be around the 20second mark, allowing 5 full rings.
Call Pickup Group: Select the appropriate Call Pickup Group (if any). Audio and/or visual alerts for Call Pickup Groups are configured on the Call Pickup Configuration Page.
Display (Caller ID): Enter the Full Name of the user only, no DN. This field allows for Caller ID, so the Called Device knows who is attempting to contact it.
Line Text Label: Enter the Full Name – DN. (eg Ben Morgan – 4404). This field displays on the users phone next to the first button. This essentially identifies the Line.
External Phone Mask: Try to enter a global phone mask (eg 024755XXXX) The XXXX is be replaced by the extension dynamically when calls are placed.
There more fields such as call recording, call forward display information, multiple call waiting/busy these are specific to the user requirements, so I won’t go into these.
4. Click SAVE
5. The DN page will refresh. Now scroll back down to the bottom of the page and you will find a new section called ‘Users Associated with Line’. Click the Associate End User, a search box appears, find the required user for this DN and check the box, then click ‘Add Selected’.
Essentially this filed allows Cisco Presence client (Jabber) to update presence information when this user is on a call.
At this point we have complete the requirements on the Device Profile page and the DN page. Lets move to the End User Configuration page.
End User Configuration Page
1. Navigate to the End User Configuration Page (User Management ->End User)
2. Find and select the required user. Remember this user has been sync’d via LDAP.
3. If this user is to use Jabber, select the required UC Profile and click ‘Enable User for Unified CM IM and Presence’
4. CTI Controlled Device Profile: Add the Device Profile we just created. This allows the user to control their own Device Profile. This is required if the user is to log into EM and also use Jabber with Deskphone Control.
5. Controlled Profiles: Add the Device Profile we just created. This allows this user to again log into EM. If the user has multiple profiles, we can order the preference in which the EM profiles are displayed to the user at EM Login time.
6. Default Profile: Select the users Default Device Profile. Typically there is only one available.
7. Subscribe Calling Search Space: Select the required CSS. This allows the user to view the presence status for BLF fields and BLF Directory on the phone.
8. Click SAVE
9. The End User page will refresh. Now scroll down to the Directory Number Associations. Select the User’s primary Extension. This is a mandatory requirement for Voice Mail functionality. If you do not complete this field, Voice Mail will not work.
10. Groups: Enter the User into the required groups. Typically I add the user to the following.
a. Standard CCM End Users – This allows access to the ucmuser webpage.
b. Standard CTI Enabled – This allows the user to control their Device Profile.
c. Standard CTI Allow Control of Phones supporting ConnectedXfer and conf – this allows CTI control of 9900 series phones
d. Standard CTI Allow Control of Phones supporting rollover mode – This combined with [c] allows CTI Control of 9900 Series phones.
11. Click SAVE.
At this point the user is now ready to log into their Phone and start working. Of course you will need to configure Voicemail in Unity Connection. I haven’t included this as part of this blog, purely because of its length.
Wireless 7921 and 7925 Cisco Phones Delay Ringing
Recently I had an experience with a group of Cisco wireless phones including both the 7921 and 7925 model in which the behaviour was quite odd. The scenario I setup was with the following infrastructure.
- CUCM 8.6 SU3
- Cisco Prime Infrastructure 2.0
- Cisco AP 3502i with LWAPP Version 7.4.110.0
- Cisco 7921 Wireless Phone
- Cisco 7925 Wireless Phone
- Cisco 7945 IP Phone
All IP Phones have been configured with a single shared line. I have both the 7921 and 7925 wireless phone connected to a single AP.
All phones are located at the same site and within the same subnet.
The behaviour monitored was that when an call came to the shared line DN, whether it be sourced from Internal or external to the CUCM Cluster all 3 phones would ring at separate times. The 7945 would always ring, so I more or less had this phone in the scenario to benchmark the two wireless phones. After a couple of seconds of the 7945 ringing, one of the wireless phones would start to ring, then soon after the second wireless phone would start to ring. This was not discriminate of the type of wireless phone, as I tested over several inbound calls, and sometimes the 7921 would ring before the 7925 and then vice versa, other times one the wireless phone would ring at the same time as the 7945 ip phone and so on. However I could not seem to get a consistent ringing behaviour for the two wireless phones.
This didn’t seem to matter if the wireless phone’s was asleep or not.
I did some digging around and found the two wireless phones had negotiated a Call Power Save Mode with the WMM policy of the AP. I logged into each of the wireless phones web page and verified that indeed the Unscheduled Automatic Power Saved Delivery (U-APSD) / PS POLL had been negotiated.
U-APSD mode is part of IEEE 80.11e standard and does provide strong benefits with lowering power consumption etc. However in this case it seemed that the AP was buffering packets until an active connection was established with the wireless phone.
In Prime Infrastructure under the WLAN configuration page, then in the QoS settings window, scroll down to you see the WMM Policy. This can be either “Required”, “Allowed” or “Disabled”. In this scenario the WMM Policy was configured to Allowed. With the wireless phones also have this setting configured to U-APSD / PS Poll allowed the wireless phone to negotiate with the AP.
On the 7921 wireless phone I configured the Power Save Mode to “None”. This basically puts the phone into an Active state and does not negotiate a call power save mode with the AP. Therefore no packets are buffered on the AP.
After I rebooted the phone (don’t have too, but I always like to flush the cache out etc when I make changes like this) the resulting behaviour is now the 7945 and the 7921 phones start the ringing at the same time, so no more delay however the 7925 phone still had a few second delay. Now once I changed the 7925 wireless phone Power Save Mode to “None”, I could ring the shared line and see all three phones ring simultaneously. Also the two wireless phones when in sleep mode still rang together with the 7945 phone. So the power save mode, although has its benefits seems to play some tricks with these phones.
SIP SRST – The Basics
Lets enable the ISR to accept SIP registration requests and act a SIP Proxy
voice service voip
sip
registrar server
Also we will need to allow the ISR to connect SIP to SIP endpoints or call legs.
voice service voip
allow-connections sip to sip
Lets look at enabling SRST for SIP Endpoints. Enter into the SIP Telephony Mode
voice register global
Default SIP Telephony mode is SRST mode, so we need do not need to change anything here, however the command is below.
no mode cme
We now configure the license restrictions for DNs and Devices (Pools) . Below I have a license limit of 25 pools and 100 DNs.
max-pool 25 (You will need to accept the UAL)
max-dn 100
Optional we can also configured a System Message, this message displays above the Softkeys when in SRST Mode.
system message Phone is Fallback Mode
Optional I also like to keep interdigit timeout to a minimum, I like to configured this to 7 seconds.
voice register global
timeouts interdigit 7
Configure a Voice Register Pool for Endpoint Configuration to merge into.
First configure a codec voice class if not already configured.
voice class codec 1
codec preference 1 g729r8
codec preference 2 g711alaw
codec preference 3 g711ulaw
Now configure the Voice Register Pool
voice register pool 1
id nework 172.20.100.0 mask 255.255.255.0
voice-class codec 1
dtmf-relay rtp-nte sip-kpml
Save the ISR configuration and should be ready to fallback SIP endpoints into SRST mode.
Summary Configuration
voice register global
timeouts interdigit 7
system message Fallback Mode is Active
max-dn 100
max-pool 25
voice register pool 1
id network 172.20.100.0 mask 255.255.255.0
dtmf-relay rtp-nte sip-kpml
voice-class codec 1
*Note: To register 8900 series endpoints, you must be running CME/SRST version 9.1
Cisco CUCM CFA Override Option
The CFA override option located in the System Parameters page on the CUCM Server allows a caller to transfer a call to a phone in which the destination of the configured CFA is the same as the caller’s DN. Bit of tongue twister, below steps it out.
Configuration: Phone A has CFA configured with destination of Phone B.
Scenario 1: If Phone C calls Phone A, the call is forwarded to Phone B.
Scenario 2: If phone B calls Phone A, the call will be successfully delivered to Phone A. Why? This is because Phone A has the CFA destination of Phone B.
Combine ISDN-2 Services for Simplified Outbound Calling
Combining ISDN services/cards on a Cisco IOS router is simple to do and saves a lot time trying to configure dial-peer preferences for outbound calling.
BRI Interfaces can be added to a ‘Tunnel-Group’, the tunnel-group can now be the base for translations rules, dial-peer legs and other voice configuration on a Cisco ISR.
By directing the dial-peer to the Tunnel-Group instead of individual voice ports, we can have a faster failover then using by using preferences and relying of configured timers.
Below is a snippet of some Cisco IOS configuration to combine 4x BRI Interfaces (8 voice channels) and tie them to a dial-peer for outbound call legs.
trunk group BRI-GROUP
hunt-scheme sequential both down
interface BRI0/0/0
no ip address
isdn switch-type basic-net3
isdn overlap-receiving
isdn point-to-point-setup
isdn incoming-voice voice
isdn sending-complete
isdn outgoing display-ie
isdn outgoing ie redirecting-number
isdn static-tei 0
trunk-group BRI-GROUP
interface BRI0/0/1
no ip address
isdn switch-type basic-net3
isdn overlap-receiving
isdn point-to-point-setup
isdn incoming-voice voice
isdn sending-complete
isdn outgoing display-ie
isdn outgoing ie redirecting-number
isdn static-tei 0
trunk-group BRI-GROUP
interface BRI0/1/0
no ip address
isdn switch-type basic-net3
isdn overlap-receiving
isdn point-to-point-setup
isdn incoming-voice voice
isdn sending-complete
isdn outgoing display-ie
isdn outgoing ie redirecting-number
isdn static-tei 0
trunk-group BRI-GROUP
interface BRI0/1/1
no ip address
isdn switch-type basic-net3
isdn overlap-receiving
isdn point-to-point-setup
isdn incoming-voice voice
isdn sending-complete
isdn outgoing display-ie
isdn outgoing ie redirecting-number
isdn static-tei 0
trunk-group BRI-GROUP
Dial-peer voice 1 pots
trunkgroup BRI-GROUP
description ## Emergency Calls ##
destination-pattern 000
forward-digits all
Configuring Basic DNS for Cisco UC
One the topics that is generally overlooked is the creation of a solid DNS architecture. These days DNS is relied upon to maintain the upkeep of any domain, in my opinion Cisco UC products are much more aligned to using DNS than the old ways of just plugging in an IP Address for each service. The project I undertake now, I’ll always ensure the DNS architecture is looked at and configured first. It’s amazing how smooth a Cisco UC implementation is with the DNS infrastructure configured according to best practices.
In this article, I will touch on DNS and records that are created to ensure a smooth initial implementation.
The Cisco Install will throw an error during install if you enable DNS Client and have not yet created the DNS A Records! I like to plan and document all the DNS Records I’ll need for the Cisco UC install in its entirety. But obviously this is not a necessity.
For all you Cisco geeks out there, we are going to spend most of time with modifying the Forward Lookup zone. This is the zone by which DNS Names are resolved to IP Addresses and just for completeness the Reverse Zone is for resolving IP Addresses to DNS Names.
Right-Click on the Forward-Lookup zone and select New Host (A or AAAA) Record.
Enter the Name of your CUCM Publisher, as you enter the name, the ‘Fully qualified domain name (fqdn) is auto populated.
Now enter the IP Address of the CUCM Publisher. Be sure to check the box “Create associated pointer (PTR) record”. This is the record that will sit in the Reverse Lookup zone.
Repeat this process for every Cisco UC server. CUCM publisher, subscribers, CUC Publisher and subscribers, IMP/CUPs publisher and subscribers, Cisco VCSc and VCSe servers etc, you get my drift.
At this point you can go ahead and install your servers without errors.
IMP Users are showing Status as Offline, when Logged into Jabber
This is widely discussed issue in the Jabber community, so I thought I would write a quick ‘how-to’ on the subject.
Ok, so I’ve logged into Jabber (I’m using v9.6 and IM&P 9.1.2 Build), however this issue is not constrained to one particular version of IM&P and/or CUP Server. So when logged into Jabber and online, I should be able to view the presence status of colleagues that are also logged into jabber and vice-versa. However all I see is an ‘offline’ status for each and every colleague.
To view the presence status of a user, that user must have an IM Address. Either you populate this manually by editing the contact or in most case the IM Address is pulled across using the user’s email address. So if you don’t see an IM Address for the user, populate it.
Now if the user does have an IM Address, make sure the IM&P Domain Name is either the same name, or a parent of the IM Address suffix. What I mean is if a user has an IM Address of joe.citizen@sydney.cisco.com make sure the IM&P Domain name is either sydney.cisco.com or just cisco.com. This is a common misconfiguration in the workplace, implementation engineers often don’t think to enter the parent domain name, and the sub-domain is entered. The problem is yes the user is logging onto the sub-domain, however the company email address is @cisco.com and not @sydney.cisco.com. As I said before the IM Address is more than likely pulled across from the ‘mail’ field (Email), hence creating a variance in domain names.
To change the IM & Presence Domain, the Proxy, Presence Engine and the XCP Router Service needs to be stopped on all Publishers and Subscribers
The SIP Proxy and Presence Engine services are located on the Feature Services page in the IM&P Serviceability Admin page.
The XCP Router service is located on the Network Services page in the IM&P Serviceability Admin page.
After the IM & Presence Domain has been updated, start all three services on all servers and log back in. Now you should be viewing the correct presence status of colleague’s.
Below is a quick blurb from the Help Page on the Cisco CUCM Server.
IM and Presence Domain
Provide a valid domain that specifies the IM and Presence domain name of the IM and Presence server. Typically this parameter should be an enterprise top-level domain name (for example, example.com). The parameter that you enter allows the IM and Presence server to identify which URIs are to be treated as local and managed by this installation. Instant Messaging (IM) or availability status requests addressed to other domains must be forwarded via federation. Other SIP requests may be proxied.
No Ring Back When calling The PSTN
When making calls out the PSTN, the expected behaviour to hear ringback. Ringback is sent to the calling party when the ALERTING Message is received.
You may find in some cases the Telco doesn’t send the ALERTING with Progress Indicator of 8. Therefore when a caller makes a call to the PSTN, the caller does not hear ringback before the call is answered.
The solution is to add the command progress_ind commands and set to digit 8
Dial-peer voice X pots
progress_ind alert enable 8
progress_ind progress enable 8
progress_ind connect enable 8
Quality of Service Not Available – ISDN Error 80B1
When calling inbound from the PSTN into any CUCM registered IP Phone, the ISDN cause code of 80B1 – quality of service unavailable was displaying in the debug isdn q931 output.
The CUCM shows not activity coming through from the H323 Gateway at the Branch.
I found the Router had been Call Fallback Active configured with some prob config on the dial-peers going to CUCM Servers.
Once I removed the Call Fallback active cmd, the voice calls were successful.
HOSTNAME(Config)# no call fallback active