Monday, April 12, 2010

Every time...

Hey Guys,

So every time I think i have pretty much covered off a particular tech in Cisco completely, something comes and knocks me flat!

I had an issue where by my SIP handsets could not be called by my regular SCCP handsets on my CME. Removing all the configuration for my SIP provider resolved this issue. So I eventually chalked it up to being that you can't colocate SIP handsets and SIP provider trunks on the same CME.

But then I noticed that SIP presence messages where working just fine, and that the SIP phone could call the SCCP Phones, so why not the other way?

I looked in the config and noticed I had an outbound-proxy configured, when i removed this.. walla! I could make calls between my handsets SCCP to SIP and vice vera. But now my outbound SIP trunk did not work.

To resolve the SIP trunk issue I did some googling and found the outbound-proxy command in a command reference, I also found out that the global setting under voice register global can be changed on an individual dialpeer, I have shown this below:

dial-peer voice 192 voip
service session
destination-pattern 04........
voice-class sip outbound-proxy ipv4:
session protocol sipv2
session target sip-server
session transport udp
codec g711ulaw

Saturday, April 10, 2010

Locales in CME

Hey Guys

So I have been studying Locales in CME, thought as always I would share my findings with you all :)


Ok Guys, how many times have you seen a phone display the message "error updating locale" and thought to yourself.. what the heck is a locale? I know I sure have... So today I am hoping to clarify a little.

First off, there are two types of locales:

User Locales - which control the language of the actual display, help menus and other menu's

Network Locales - These control the tones you hear when making and receiving calls

From here you have two types of locales that can exist, system-defined locales which are produced by cisco, and user-defined which are custom, now for the purpose of the CCIE Voice I am only really concerned about system-defined locales (i.e. ones I can download and install :p) so I am afraid thats all i deal with here.

So really quickly, here is how to install a locale in CCME 7.0 (note these steps ONLY apply to CME 7.0.1 and above and will NOT work in older versions of CME, my understanding of the older CME and locales is its quite hard to do.)

Step 1.

Download the locales from the website:

Step 2.

Place them onto a TFTP server and then download them to your cisco router to your

flash:/its/ directory (note: this assumes you've not changed the cnf-location or anything funky like that. Also make sure your cnf-files are perphone created and NOT perphonetype)

Step 3.

enter the following commands under telephony-service:

user-locale load

for example

user-locale 1 DE load CME-locale-de_DE-German-

where 1 is an identifer used to identify the particular locale, you can have up to 5 locales on your system at a time, with 0 being the default (so if you set 0 for your locale it will become the default)
When you do this CME will helpfully copy the files into the appropriate directories.

After this is done, do a create cnf-files for good measure, then specify a network-locale with the following:

network-locale 1

Now if you specified 0 when we where doing this as the identifer, when you reset the phones all your phones will update with the new language and new network locale, but if like me and like what is likely on the CCIE you just wanted to change an individual phone, you should make sure you used a code other than 0 (so as in my example, 1)

to apply this to a phone, you must create a template and apply it to the phone

ephone-template 1
network-locale 1
user-locale 1

you can then apply this to your phone:

ephone 1
ephone-template 1

show telephony-service ephone and show telephony-service ephone-template provide useful output regarding this:

PeterCCIE18371#show telephony-service
CONFIG (Version=7.1)
Version 7.1
Cisco Unified Communications Manager Express
For on-line documentation please see:

cnf-file location: flash:
cnf-file option: PER-PHONE
network-locale[0] US (This is the default network locale for this box)
network-locale[1] DE
network-locale[2] US
network-locale[3] US
network-locale[4] US


PeterCCIE18371#show telephony-service ephone-template
ephone-template 1

User Locale: DE
Network Locale: DE

Thursday, April 8, 2010

Call Pickup Groups, Call Hunting

Hi Guys

As always just a quick update from things I am finding out as I do my CCIE Voice

Just before I start: If your going to go for a training vendor for your CCIE Voice, Don't make it internetworkexpert.

I used to have nothing but the utmost respect for InternetworkExpert, The CCIE Routing and switching coursework they produced was the best in the business. I passed my CCIE Routing and Switching lab thanks to them and my number is on there site, i won't ask them to take it down: They deserve some credit

However, the story sort of goes a bit dark when I ordered my CCIE Voice coursework from them, (or rather, preordered) to cut a VERY long story short, it took them over _3 YEARS_ to release it, and even as they did release it it was in dribs and drabs rather than the full thing, but to add insult to injury, the quality of their material is TERRIBLE. The CME Lab was LITTERED with bugs (if anyone wants to know exactly which bugs post a comment below and ill write another blog post about it, but for example, referring to a phone as BR1ph1 but then asking us to label the phone lines as BR2Ph2, asking in the requirements for conferencing to be limited to 4 parties but not mentioning it at all in the solution (so not showing how to do that, although i did know how))

Anyway, on to business.

So, after getting through their buggy lab. I came across a problem when configuring dynamic hunt groups for CME.

A dynamic hunt group is a hunt group that extensions can dynamically login to, it is setup like so:

ephone-hunt 1
pilot 3000
list 1000,*

You must also allow the ephone-dn to login and out

ephone-dn 10
number 2000
ephone-hunt login

In this example, the wildcard is a "slot" that can be joined by a huntgroup member, members can also logout using the "hlog" button (you can also change this to the DND button using a command under telephony-service)

now, pretty easy right? the thing is though, you would assume perhaps that to join the hunt group you can just press HLOG since thats what you also press to logout when your logged in right?

Wrong, if you do, the softkey will be greyed out and will say "that key is not active here"

So what you do need to do, is first of all enable Feature Access Codes (FAC) with:

fac standard

then on the phone, dial *3 so in our example you would dial

and you would join the hunt group

show ephone-hunt

will give you lots of useful information :)

Pickup Groups

Now onto pickup groups, very easy to configure, quite litreally:

ephone-dn 1

you can use any pickup group number you want, but be sure to keep them all the same length or you will have issues if the leading digits are not unique.

Once you have done this, here is how to use it:

when an incoming call comes into a group you are a member of, press the gpickup softkey, if there is no other pickup groups configured on the system, the call will appear on your phone.

If you have other groups on the system, press the * key to pick up your own local group.

you can also make it so that * picks up ANY ringing phone in a pickup group even if its not local

this can be done with:

ephone-dn 1
pickup-call any-group

you can also pickup a ringing extension by simply using the "pickup" key and entering the extension, this will work WITHOUT any pickup groups configured, it litreally just picks up a ringing extension.

Now some people do not like this behavior as it is not the same as CUCM. You can change teh behavior by disabling this service under telephony-service:

no service directed-pickup

When you turn this service off, the behavior of the pickup key is defaulted to picking up only your local pickup group, (i.e. calls ringing on an extension that is part of the same pickup group as you) if you use the gpickup, you must enter the group number.

I hope this stuff helps guys!


Tuesday, April 6, 2010

Probably the most useful thing I have found in ages

Hi Guys

I just had to point this out to everyone I can find,

Its a field notice from cisco on how to TRULY factory reset their phones, I am talking, the phone has 0 firmware when you run this, its literally a dumb device and the screen does not turn on
BUT it sends out a DHCP and goes off and tries to find its upgrade software. This is NOT the same as your standard reset sequence (hold # plug phone in press 1 2 3 4 5 6 7 8 9 * 0 #)

So if you ever run across a situation where you are just SURE a phone is bricked. give this a try

your best bet is to run a debug tftp or somehow or another debug your TFTP so you can see if the phone is trying to get the TFTP files it should be or not.

I hope this helps someone out there

Just in case anything every happens to that cisco site, i have reposted the sequence here:

(key sequence is: 3491672850*#)
  1. Make sure your phones are on a network with a valid DHCP server.

  2. Make sure the DHCP server on this network has a valid Option 150 setting pointing to a valid Cisco TFTP server.

  3. Make sure you have a valid term11.default.loads file from load 8.2(2)SR1 or higher on the TFTP server that is referenced in Option 150.

  4. Make sure you have all other needed image files present on this same TFTP server. * See note below.

  5. Change the timing on the network - the problem is related to timing. Toggle switch port settings between "Auto" and "100Mbps." On a Cisco switch the command to toggle the switch port switch:

    interface range fastethernet
    set speed 100
    set duplex full

    Wait 10 minutes, or until all the phones have been updated, then issue the following command if desired to return to original configuration:

    interface range fastethernet
    set speed auto

    set duplex auto

    Ensure that items 1 through 5 have been completed. If performing these five steps does not resolve the issue, continue with the remaining steps.

  7. Pull power on the phone (even if power is PoE).

  8. Hold down the # key on the phone.

  9. Continue holding down the # key and re-apply power.

  10. While still holding the # key wait for the Message Waiting Indicator (MWI) light on the handset to start flashing.

  11. Once the MWI light is flashing, release the # key and enter the following sequence exactly on the keypad:


    Once this sequence has been entered on the IP Phone, if all the network criteria above have been met, it should begin its recovery process. This process can take up to 15 minutes to finish. The phone may appear to be doing nothing during this time. However, if the phone does not recover after 20 minutes then it is possible that the recovery is stuck. In this case, re-examine your network and verify that steps 1-4 are in place, then re-issue the factory reset sequence.

* Note: The factory reset sequence is a way for a phone to clear flash and still upload to a valid firmware image. This is facilitated by the termxx.default.loads file, but requires that the image files listed in the termxx.default.loads file are available in TFTP for the phone to download. Open the termxx.default.loads file in any text editor. This loads file is essentially just a packing list showing all the OS and application files the phone needs to function. The files include a cnu, cvm, dsp, app and jar files. Please make sure that these files as listed in the termxx.default.loads file are in TFTP. ("xx" will be either "06" for the CP-7906G model, or "11" for the CP-7911G model.)

Saturday, April 3, 2010

A very useful CME Feature

Hi Guys

I am still studying away for my CCIE Voice as always (got a CME volume 1 lab tomorrow so i will see how that goes!)

Along my way of studying i found a VERY useful little feature thats easy to enable called

Direct Station Select

Basically what it means is if a user has someone on the phone and they want to transfer them to an extension, if they have that extension as a speed dial (which, if they have an expansion cart they probably will) all they have to do is click that speed dial! And CME knows to send them there.

Very useful feature! Enabled easily with:

conf t)# telephony-service
service dss

A few other cool things I have seen that I will put together for another blog post!

Until next time