Monday, 28 November 2011

Configuring Cisco SPA504G IP-Phone From Scratch


The Cisco SPA504G SIP based IP-Phone has a vast array of configuration settings that are user (admin) configurable.  Fortunately for most of us, most of the Default settings will work right out of the box, as is.  The point of this tutorial is to guide you through the most basic and essential setting changes required to get started making calls.  And, hopefully with the least amount of confusion.


This tutorial is geared to the new and unfamiliar user who has just acquired their first Cisco SPA504G IP-Phone.  While this tutorial is not comprehensive, it does get you connected to CallCentric and ready to make calls.

For the purposes of this tutorial, I will be configuring the SPA504G from scratch, on Line-1 (EXT1), and with one of my primary SIP VoIP providers, CallCentric.

Connect and Login to the SPA504G Web Based Configuration Interface
  1. Connect your PC to the SPA504G using its LAN side Ethernet port marked PC.
  2. Login to the SPA504G web interface by entering its LAN gateway IP address into your Web Browser using its DHCP assigned address (In my case, it's 192.168.0.3).
  3. By default, you will be landing on and viewing the SPA504G "Info" page, in "Basic" view.  By default, there are no User or Admin passwords required to connect and login to the SPA504G.

The screen captures I'm currently posting here are based on firmware version 7.4.9c.

First Things First
Before configuring the SPA504G with a BYOD VoIP service provider, such as CallCentric, there are a few points that should be addressed first.  While these settings, or procedures, are "not essential", they will certainly be helpful.
  1. Confirm Firmware version
  2. Perform Factory Reset, (if viable)
  3. Turn Off Provisioning.
  4. Disable Ext2, 3, and 4
  5. Disable Line Keys 2, 3, and 4
  1. If your current firmware version is older than the latest release, then I recommend updating the firmware to the latest version available from Cisco's web site.  In a previous article, I posted the procedure for upgrading firmware on the SPA504G.
  2. If viable, I highly recommend performing a Factory Reset.  I have done this myself while in the process of writing this article.  This way we are assured that if the configuration settings I make here work for me, I expect they will also work for you, too.
  3. To turn off Provisioning, click on the Provisioning Tab.  By default, Provision is Enabled
    Disable by changing Provision Enable to NO.
    Save your changes by clicking on "Submit All Changes" button at bottom of page.
  4. Disable Extensions 2, 3, and 4.
    Set Line Extension 2, 3, and 4 Line Enable to No.


  5. Disable Line Keys 2, 3, and 4.
    In the Phone tab window, set Line keys 2, 3, and 4 to Disabled.
    While you are here, you can set the Line Key 1 Short Name = "$CallCentric-1".  This is the name you will see on the LCD display next to Line-1 (Ext1) key.  If not set as above, the default $User will cause the line key label on the LCD display to show as your User account login name for that line (in this case it would be the CallCentric user account name = 1777xxxxxx)

Essential Settings before configuring your SIP VoIP provider.
We still have a couple system settings to check, and change, if necessary.

Click on the System tab.
Scroll down to the bottom of the window to the section called:  Optional Network Configuration

Configure Primary/Secondary DNS Servers and NTP Time Servers
DNS servers lookup the IP address of an Internet resource based on domain name to IP address cross referencing. Typically, we configure a VoIP proxy based on its domain name (i.e. callcentric.com ).  DNS servers will redirect your Internet traffic to the appropriate IP address of the VoIP proxy.  The same goes for the NTP (Network Time Protocol) time servers.  Your ATA or IP-Phone uses NTP time servers for tagging and maintaining the correct device time.  NTP time servers are generally listed by domain names.  The DNS servers will direct the NTP requests to the appropriate NTP time server IP addresses. 

By default, the SPA504G should retrieve the DNS server info from your Internet Modem DHCP server. However, I prefer to ensure that the DNS servers are manually set, as well as automatically retrieved via DHCP, to ensure reliability, redundancy, and backup.

In my examples, I have configured my SPA504G Primary and Secondary DNS servers to point to the new Google DNS servers at 8.8.8.8 and 8.8.4.4

I also use NTP time servers at time-a.nist.gov and time.nist.gov.  If you have different server preferences, feel free to use them instead of the ones I use. 

As well, you can set the DNS Server Order = "Manual, DHCP" to use DHCP DNS servers as backup to your manually set primary/secondary servers.

The NTP Time Servers, if correctly set, will update the SPA504G internal clock once every hour.


Click the Submit All Changes button to SAVE your custom settings.
The SPA504G will reset and reinitialize itself.  This takes at least 35 seconds to complete.

If you now observe the time display on the SPA504G LCD display, you will see that the Date and Time are now set to the correct values (or should be).

However, it is worth noting that your Time Zone may likely be different from the default value set in the phone.  To correct for your Time Zone, proceed as follows:

Click on the Regional tab.  Scroll down to the bottom of Regional page.
Note that the Default Time Zone Offset is:  GMT -8:00.

Because I live in Alberta, Canada, I'm in Mountain Time, which is GMT -7:00, Standard Time.
Obviously, what you set here depends on your area time zone.  (Save any changes made.)

Now, if your phone's clock is off by one or two hours, it's probably because you need to compensate for daylight savings time.  In which case, you need to implement the Daylight Savings Time Rule.

For North America, our daylight savings time begins 2nd Sunday in March, at 2 AM, and ends the 1st Sunday in November, at 2 AM.  (As of 2007)

The new Daylight Savings Time Rule for North America, recommended by the Cisco SPA500 Admin guide (bottom of page 198), is as follows:
"start=3/8/7/02:0:0;end=11/1/7/02:0:0;save=1"


Click the Submit All Changes button to SAVE your custom settings.
The SPA504G will reset and reinitialize itself. 

If your Daylight Savings Time Rule has been set correctly, your phone's clock should now be bang on.  (Although, you may not know for sure until daylight savings time kicks in again next spring.)

Now, we are ready to get on to the business of actually configuring a VoIP provider on EXT1, so you can hopefully start making and testing VoIP calls.

Configuring Line-1 (EXT1) with a VoIP Provider
For the purposes of this tutorial, I will be using CallCentric as the VoIP service to be configured into EXT1 of the SPA504G.  I have been using CallCentric myself for years now and know that they are an excellent and reliable BYOD VoIP service.

Click on the Ext1 tab .

The Ext1 page is where we will be configuring VoIP service with CallCentric.

While you can configure any SIP based VoIP carrier here, that allows BYOD (bring your own device), I will be using  CallCentric to illustrate the CallCentric "required settings".  If you are configuring with another VoIP carrier, it is essential that you consult their support pages for their specific settings required by that specific service.  There are some subtle configuration differences between VSP's that can make the difference between success and failure.



  • NAT Mapping Enable:    No             (default is No)
  • Nat Keep Alive Enable:  No             (default is No)

    Update:
    If you experience problems with receiving incoming calls, try setting NAT Mapping and Keep Alive to YES.

The following settings must be set as specified by  CallCentric:
  • Proxy:                  callcentric.com
  • Outbound Proxy:  callcentric.com
  • Use Outbound Proxy:     Yes           (default is No - change to Yes)
  • Use OB Proxy in Dialog:  Yes          (default is Yes)
  • Register:    Yes                                  (default is Yes)
  • Make Call Without Reg:   No            (default is No)
  • Register Expires:    3600                   (default is 3600)
  • Ans Call Without Reg:     No            (default is No)
  • Use DNS SRV:   Yes                        (default is No  - change to Yes)
  • DNS SRV Auto Prefix:  Yes             (default is No  - change to Yes)
  • User ID:  1777XXXXXXX            (use your CallCentric UserID)
  • Auth ID:  1777XXXXXXX            (use same as UserID)
  • Use Auth ID:  Yes                            (default is No  - change to Yes)
  • Password:  **********  (use as set in your CallCentric user account - Preferences - Phone Password; SIP Password)  (By default, it's the same as your web login password)
    (Be sure to always use Strong Passwords)

Click the Submit All Changes button to SAVE your custom settings.
At this point, you have set all the basic requirements to connect to CallCentric and make SIP calls.

Following, are some additional suggestions and reminders:

Codecs
While the SPA504G defaults to use G.711u Codec, CallCentric recommends using G.729a to save bandwidth.  If you want the best voice fidelity, I would stick with G.711u.  But, if you do have QOS or data bottlenecking problems, it may be prudent to switch to G.729a to reduce bandwidth requirements of your VoIP calls.

Dial Plans
While the SPA504G default dial plan will generally work, you may want to replace the default with the dial plan recommended by CallCentric:
(*xx.|*xxx|*75xx|[3469]11|0|00|1xxx[2-9]xxxxxxS0|xxxxxxxxxxxx.|**275*x.)

First, completely clear the default plan, then copy and paste this plan in its place.
Save your changes.

There are three reasons to use the CallCentric enhanced dial plan:
  • It accepts *xxx numbers, such as accessing your CallCentric Voice Mail using *123 command.
  • It accepts CallCentric Speed Dial numbers such as *75xx (*7500 - *7599).  Your CallCentric user control panel allows you to pre-program 100 predefined speed-dial numbers accessible from your VoIP phone (i.e. SPA504G).
  • It accepts **275*x. number dialing to allow network peering calls through the Sip Broker network.
 

Before exiting the web administration pages, I recommend that you go back and review all settings and changes just to confirm that all values were entered correctly and saved.

There is no doubt that the SPA504G IP-Phone has a vast array of customizable settings.  This tutorial was by no means comprehensive.  But, hopefully it was enough to get you started and familiar with the basics of configuring VoIP BYOD services, like CallCentric.

For more detailed information on the Cisco SPA504G, you can refer to the Cisco SPA500 Admin Guide on the Cisco website.

Good luck with configuring and using your Cisco SPA504G VoIP phone.

-------------------------------------------------------


Update (June 12, 2013)
I have just discovered a problem with CallCentric's previously recommended "dial plan" string that matches:
1xxx[2-9]xxxxxxS0

You may want to remove the S0 at the end of the 11-digit North American dialing string, to read as:
1xxx[2-9]xxxxxx

The dial string works just fine when dialing 11-digit North American phone numbers.  But, the problem NOW arises when dialing CallCentric in-network 14-digit Extension numbers.  Because CallCentric extension numbers (sub-accounts - recently implemented) begin with the digit 1 and append the 11-digit CallCentric number with an additional 3-digit "extension" number (for a total of 14-digits to dial), the S0 will cause the ATA or IP-Phone to "dial immediate" after it matches 11-digits (as designed).  But, this now creates a problem when dialing the CallCentric 14-digit sub-account numbers.  The solution is to just remove the S0 "send immediate" syntax from the 11-digit dial plan segment.