Mar 10

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.

Mar 05

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

Feb 20

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.

Feb 15

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

Feb 09

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.

Feb 05

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.

Sep 30

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

Sep 24

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

Sep 17

Cannot dial out to ISDN – Destination Incompatible

I recently came across a problem where I could dial mobile numbers via an ISDN 30, I could also use csim start command to dial out to local, national and mobile numbers. However I could not dial local, national or International numbers from an 8945 IP Phone.

Debuggin ISDN Q931 I received the following output:

Bearer Capability i = 0x8890A3
Standard = CCITT
Transfer Capability = Unrestricted Digital
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xA9839F
Exclusive, Channel 31

Error – Destination incompatible.

The solution was to configure the bearer capability on the voice-port for the E1. The 8945 was sending video capabilities to the carrier and the carrier was rejecting the call.

I entered the below command on the voice-port sub interface
Bearer-cap speech.

Jul 19

iDivert in CUCM 9.1

CUCM 9.1 has included a new edition of the iDivert feature. The legacy iDivert does still exist and is the Default setting in CUCM.

Legacy iDivert allows you to essentially divert incomming calls to your extension to your voicemail. The new iDivert now prompts you with a menu to either divert the call o your voicemail or to the voicemail inbox of the extension that may have forwarded the call to your extension.

Scenario, Phone A with extension 1001 had CFA set to Phone B with extension 1002. A call comes into Phone A which then is forwarded to Phone B. User at Phone sees that this call is originally for Phone A. By pressing iDivert, Phone B has the option to divert the call to either Phone A’s voicemail or Phone B’s voicemail. Phone B user elects to divert the call to Phone A’s mailbox by toggling to Phone A on the iDivert Menu and pressing Select.

NOTE: This will only work if CUC is configured to look at the first redirecting number rather thatn the last redirecting number. (image below) Otherwise the iDivert menu will only be able to divert calls to the their own voicemail inbox.

idivert