Configuring the Cisco SPA504G/SPA508G series phones to work on Asterisk platforms can be simple. That’s the goal here at least! I’m going to break it down for you step by step using pictures and easy to follow instructions, including how to setup BLF’s, call pickup, speed dials and the paging feature. Shoot, if you pay attention and do good I might even let you know when your girlfriend calls.

This will work with the firmware that the Cisco SPA504G/SPA508G phones come shipped with. Upgrading the firmware isn’t a problem, I just won’t be covering it in this lesson. We can’t have CD’s in prison cuz these fools up the block were breaking them into pieces and stabbing each other with them. One dude was even making ninja stars out of them and you could get one for just a couple loosies. So, I had no choice but to get my firmware offline and I’m sorry, but there’s no way I’m giving up my Cisco username/password and you can believe that!

First, lets get the IP address out of your phone by pressing the Settings button. The settings button looks like a piece of paper with a bent ear in the top right corner, underneath the Voice mail button which is labeled with a envelope and to the right of the 3 digit on the keypad. Press 9 and you will see the IP address displayed below the WAN connection type on the screen. Using a computer connected to the same network as the phone, open up an Internet browser and type that IP address into the address bar (where you would type www…) and press Enter. If you did it correctly, you will see a blue configuration screen.

Cisco SPA504G/SPA508G Configuration

In the top right hand corner of the screen, click on ‘Admin Login’ and after that click on ‘advanced.’ Click on the System tab. There are 2 things you need to enter here and they are also shown in the picture below:

In the ‘System Configuration’ section, make sure the Signaling Protocol is set to SIP

In the ‘Optional Network Configuration’ section, Primary NTP Server = ntp.yourprovider.com

Click on the Regional Tab and Delete every Vertical Service Activation Code you see. Then at the bottom under the Miscellaneous section you can set the propper Time Zone (Mountain Standard = GMT-07:00). We don’t observe daylight savings, so you’re on your own with that one! 🙂

Click on the Phone Tab. This is where you are going to enter what you want displayed in the top right corner of the phone’s screen, setup the voice mail key, and define the line buttons. In the General section:

‘Station Name’ = theExtensionNumberOnAsteriskPBX

‘Voice Mail Number’ = *theExtensionNumberOnAsteriskPBX

‘Station Display Name’ = Whatever you want to appear in the top right corner of the phone screen

Before we move on, there are some things we need to understand first. We haven’t gotten to the Ext tabs yet, but they are where you setup your phone’s extensions by entering the configuration information associated with your Asterisk extension. Cisco did a really great job on the design of this website configuration. Anyways, please note that your phone’s extensions and your Asterisk extensions are different. In this example, my Asterisk extension is 101 and registered under extension 1 of the phone. The Cisco SPA504G/SPA508G, which is what we are using, has 8 Ext tabs. That means this phone is capable of using 8 different SIP accounts, potentially from all different service providers. Personally, I use Coredial and have been delighted with their service. You don’t need to worry about remembering what each phone extension is after you leave the phone’s Configuration Utility because you just label the line buttons, shown below. This comes into play twice in the next section. Don’t worry. It’s all good baby, baby!

In the Line Key section:

‘Extension’ = The number of the corresponding Ext tab that this Line Key (button on your phone) is using to access dial tone. Your Asterisk account can be setup under the Ext 1 tab and your home SIP account could be setup under the Ext 2 tab, for example. Again, so I know you got this, in the picture below, I am telling Line Key 1 (a button on my phone) to associate itself to Extension 1 of the Cisco SPA504g/508g phone, which is my Asterisk account.

‘Short Name’ = what is displayed on the phone’s screen next to the button.

‘Extended Function’ = where you define BLF’s and/or speed dials (you can also define different speed dials with the ‘Personal Directory’ link at the very top of the Configuration Utility Screen, but they are separate from these speed dials).

In the following picture:

Line Key 1 accept calls from the SIP account I have configured as Extension 1 (Ext 1 tab) in my phone and displays “Asterisk 101” next to the line key on my phone screen. This is my Asterisk account. Whatever account is configured under the Ext 1 tab is going to be the default account your phone will use when you initiate a call. If you wanted to make a call using another SIP account, then you would need to press the line key associated with that SIP account before dialing to draw dial tone from that provider.

Line Key 2 is a Busy Lamp Field (BLF), Speed Dial and Call Pickup button for the Mr. Fowler’s extension. He’s our warden. On the phone’s screen the letters ‘H.N.I.C.’ are displayed. If we had another SIP account on this phone configured on Extension 2 (Ext 2 tab) then we would need to have vid=2 added like this: fnc=blf+sd+cp;sub=102@$PROXY;ext=102@$PROXYvid=2;nme=Warden. This must be done for any BLF which monitors a phone on a shared SIP account and is set up under any Ext# tab besides Ext 1. Line Key 2 will show solid red if the warden is on the phone. It will also flash red if his phone is ringing and if I pressed this button while that was happening then I would answer the call ringing his phone. In a separate incident, if I am on the phone with someone and I wanted to transfer the caller to the warden I would just push his button and hangup because the phone would automatically initiate a blind transfer to his phone.

In case you were wondering, the DOC has their own phone system and I can’t pick up bossman’s real calls cuz they won’t give me one of those extensions. It’s OK, their PBX is a PIECE OF CRAP and I don’t want one anyway. They don’t even know what disaster recovery is. It’s sad. Whatever, I got the warden tripped out on what’s actually transpiring when we intercom each other and speak and he can’t believe the quality. I gave him the SPA525G2 and he’s in love! I think he just like my voice haha, you know, because sometimes we be talking for like an hour. Man, for real for real… he’s an alright dude. And Mrs. Fowler is real sweet too. Good peoples.

Line Key 3 is a speed dial to an external number (555)333-4444. nme=Lawyer means my phone will display ‘To: Lawyer’ whenever I press the button. ‘Gold Steinberg’ is displayed on the phone screen next to Line Key 3. Another good dude, btw. I think he has one of these phone systems in his office… not sure though.

Line Key 4 Pages all the Cisco SPA504g/5068g phones that are on the same physical network as this phone.

Click on the User tab. All the way at the bottom in the LCD section and to the right is a drop down option where you can keep the phone’s backlight from going out. This is optional. Click on the Attendant Console tab. At the top in the General section you must enable Unit 1 and/or Unit 2 if you are using expansion modules 1 and/or 2, respectively. Either way, no matter what, change ‘Server Type’ to Asterisk and the ‘Attendant Console Call Pickup Code’ to *8#. This is important if you want to use the call pickup feature on your BLF’s. Click on the Ext 1 tab. This is where you need to enter the registration settings that your service provider or another SIP provider has given you. With this provider, inside the SIP Config tab in all standard extensions, find the user name and password. Inside the next tab over (Device), uncheck Generate Device Configuration Files and set the Device Type to ‘Bring Your Own Device.’ Don’t forget to click Save in the portal!

In the ‘Proxy and Registration’ section enter the Registration Server, listed inside the portal under the PBX info tab.

Register Expires I have set to 300 in order to force a re-registration every 5 minutes. If you are using an Edgemarc (which is what I believe Coredial still recommending) then you can leave this at 3600 because the router automatically sends keep alive packets. Unfortunately, I can’t have any routers in my room except for when I’m studying for an exam. But then they shut down my OC48 so I don’t have access to the WAN. It’s alright though, I got a pretty sweet setup here and I’m back on line now!! Word up.

User ID and Password. Again, found in your portal.

All the way at the bottom of the Ext tabs is where the dial plan is defined for that particular extension. This is important because the phone will act certain ways depending on what you dial. For example, this is the dial plan I use: (*xxxxx|[3469]11|0|00|[2-9]xxxxxx|1xxx[2-9]xxxxxxS0|xxxxxxxxxxxx.) I had to add extra x’s into the beginning to account for logging in as an agent. If it read *xx and I picked up the phone to dial *01101, then the phone would actually not wait and just start trying to dial when i got the *01 out. Now the phone knows to wait for 5 digits after the *.

If anyone needs anything or has any questions, holla at me. I love this stuff!

That’s it, I’m done. You got this!

Word up.