Using a Linksys SPA-941 handset with an Asterisk VPS

If you’re looking for a reasonably priced SIP handset to use with your Asterisk system then the Linksys SPA-941 could be a good choice. I ordered one from ebuyer and delivery was within a few days.

Here is a picture of mine –

Linksys SPA-941

Linksys SPA-941

The phone comes with 2 lines enabled but it is possible to upgrade the firmware to enable all 4 lines. This used to require a separate license but this is no longer necessary. Figuring out how where to get the firmware upgrade file can be a little difficult as Sipura who used to make the phone was brought out by Linksys, who where then brought by Cisco. The latest version of the firmware (5.1.8 at the time of writing) can be found on Cisco’s website.

To update the firmware you can use the Windows application provided. It’s just a case of giving it the IP address that the phone has picked up from DHCP.

Once you have updated the firmware setting up the phone to use in FreePBX is very straight forward.  Just select “Add Extension” and “Generic SIP device”.  Give your extension a name, a number and a secret at the very least (choosing a difficult to guess secret is important).

Adding extension SPA-941 in FreePBX

Next you want to point your web browser at the IP address that the phone has picked up via DHCP (you may need to check on your router for this). If you have upgraded the firmware you should be able to see this on the info page –

Linksys SPA-941 info page

Next you want to click on “Admin Login” and select “Ext 1”.  Next you want to enter the following information –

  • Proxy – the IP address or DNS name of your Asterisk server
  • Display Name – the name of your extension
  • User ID – the extension number of the phone that you assigned in FreePBX
  • Password – the secret for the extension that you assigned in FreePBX
  • If you phone is behind a NAT router (which it probably will be if it is at home) you will want to enable “NAT Mapping” and “NAT Keep Alive”

LInksys SPA-941 Ext 1 configuration

Next you want to go to the Regional tab and remove all of the Vertical Service Activation Codes as these will conflict with the Asterisk codes. You can also set the correct Time Zone on that page –

Regional settings on SPA-941

Finally we’ll set the voicemail access code. Click on the Phone tab and enter “*97” for the “Voice Mail Number”. This will ensure that the voicemail softkeys work correctly on the handset –

SPA-941 voicemail setting for Asterisk

And that’s it! You should now be able to make calls with your SPA-941. Obviously, if you want to make ‘external’ calls you are going to need a trunk and outbound route setup.

There’s a good video here on setting up a SPA-941 with FreePBX even though the firmware version mentioned in the video is a little old now. Please note though that if your Asterisk server is accessible from the internet do not have the secret/password set to the same as the extension number. This would be a serious security risk.