Using a Cisco/Linksys SPA-504G with Asterisk and FreePBX

Below is a quick start guide for getting a Cisco/Linksys SIP handset up and running with Asterisk/FreePBX.

Both Linksys & Cisco phones have almost identical web admin setup pages but the layout and design differ slightly, setup procedures are identical for both.


Firstly plug the phone into the network via cat5 network cable (If you have 2 switch ports beneath the phone you want to use the port marked “SW”, don’t bother routing through the PC…it wont work well) and connect the power supply and plug in.
The phones get configured via a web interface, to do this you must first know the IP address of the phone. Shown below.

cisco spa504g config button

  •  Then Press “9” for network options
  • See where it says “Current IP” and type it into your web browser
Summary page

Assuming that you have got the IP address correct you will see the summary page of your phone.


First Step

Look at the top right hand corner of the screen


  • Click “Admin Login”
  • Click “Advanced”

This will give you access to all the configuration options available.
Only change what this document says, you don’t need to change anything else.


System Settings


This is where you set your network settings, ALLWAYS SET THE PHONE WITH A STATIC IP.


System Tab

Change the following.



  • From DHCP to Static
  • Set static IP address,  whatever the address is in browser.
  • Set gateway (IP address of your router)
  • Netmask (
  • Set Primary & Secondary DNS, use whatever you prefer, I use “Open DNS” – & but it doesn’t really matter which you use.

SIP Settings


There is only one setting to change here, “RTP packet size”, the default setting for this is “0.030” it needs to be changed to “0.020”.

Regional Settings

This page allows you to set the phone to your regional preference for dial tones, engaged tones, time and date etc., you only need to change 2 settings on this page

Reorder tone change from



Interdigit Long Timer Change from “10” to “5”


Extension setup

This is where you need to setup the extension that you wish the phone to use, to do this you must first have:

  • Extension number
  • Extension Password
  • Name or IP of the server you are passing through.

First click on “EXT 1” Tab, please note you can have more than one if need be.

  • NAT mapping enable & NAT keep alive set to “YES”

  • Proxy & Outbound Proxy – Your server address followed by “:5060” (Ask Lee for this)
  • Use outbound proxy “Yes”
  • Registry expires – set to 300 instead of 3600
  • Display name can be whatever you like, its what shows on other phones in your network when you dial them.
  • Password & User ID (Extension number)

Finally, really important for multiple phones on the same local network, they must transmit out through different ports, start with 5060 and work your way up. i.e. 5060, 5061 etc for each phone you setup.


13 thoughts on “Using a Cisco/Linksys SPA-504G with Asterisk and FreePBX

  1. queti

    thanks!, something I have very clear, is that you do not imagine how much you help me!, thank you

  2. Maitre

    Appreciate the write-up, everything worked exactly as described. I actually wasn’t aware the 504G had a standalone configuration interface — let alone a built-in webUI! Saved me a lot of time poking around.

    Now I’m off to check out what services you might have to offer. 😉 Thanks.

  3. hasen

    thank you! one question though. why do we assign unique sip ports to each phone (5060 – 506, etc…)

  4. matt

    You may only need to do this depending how your router and phones handle NAT. These says you can normally have multiple phones behind a NAT router without doing things like that with ports.

  5. Daniel Baker

    Thanks for this.

    But how should we configure Asterisk and FreePBX for the phones to work . Thanks for the help.

  6. Luca


    I have a problem with Asterisk (13.0.15) and my two IP PHONE CISCO 303..

    When I receive an external call on phone1, and I want to transfer it on phone2, the line falls …

    How can I solve it?



  7. Matt

    This sounds like a NAT or SIP ALG issue. Do all calls work apart from the internal transfer, and are the 2 phones at the same site?

    If so I would check if your router has a SIP ALG you can turn off. Try Googling “Asterisk SIP ALG” if you’ve not heard of it.

  8. eder

    Tengo un telefono Cisco CP-9971, quiero conectarlo a la red para que se registre a un server asterisk con freepbx ademas quiero activar el video para llamadas, alguna idea de como hacerlo.

Comments are closed.