Recommendations for SIP hard phones?

Can I have some recommendations as to SIP hard phones that are known to work with Asterisk/FreePBX, please? Including the model numbers. I’m only implementing a phone system as a test bed for some SIP decoder software, so low cost is desirable.

Remember: must be SIP, must be hard phones.

Thanks in advance!

I don’t know how much they are, but cost was a factor for us. And they seem to work fine. I have read a bit of disparaging news regarding Grandstream on the Forum, but they have been good to me.

If you go that route, I can give you my Grandstream Parameters that must match the PBX… notes.

And there is this:

Grandstream phone support:

We particularly like the large number of BLFs. Each person in our office has a BLF for all employees and can quickly see the status of anyone. There are also BLFs for Day/Night mode, conference calls, parked calls, etc.

Thanks for your recommendations, Cliffster and BrettB.

I’ve taken delivery of 3 off GXP2000 today. I’m trying to get one going before I connect up the other two. But the nightmare continues.

I’ve put configuration info into the phone so that it sends out SIP REGISTER messages, and I’ve added the extension through FreePBX’s GUI, but Asterisk’s response is always “Unauthorized”. I’m approaching despair, because /nothing/ seems to satisfy Asterisk.

I’m very confused by the third link you posted. That indicates I have to add both users and extensions by editing configuration files. The most confusing aspects are:

  1. From the GUI, Asterisk seems to have no concept of Users, so why should I be adding users into a configuration file?

  2. If I’m adding extensions in the correct place, the existing three should be visible. They are not. In that case I can’t be editing the correct file.

Then there are a couple of other points:

  1. Even when rebooted, the phone’s first REGISTER attempts to authorise itself with the realm “asterisk”. This isn’t something I configure the phone with; the only place it can get it from AFAIK is Asterisk, but that means the phone must have remembered it over a reboot… doesn’t that mean it’s something that ought to be configured in the phone?

  2. The registration message has the line:
    Contact: *
    What on earth does that mean? Contact everybody everywhere?

Can’t go wrong with the AASTRA products.


Cliffster, I would appreciate your giving me your “Grandstream Parameters that must match the PBX… notes.”

So far, I’ve tried two Pingtel Expressa phones, Ekiga 3 on my Linux box, and a Grandstream GXP2000. I have not succeeded to get any of them registered with Asterisk server, ever. I can just about understand the Pingtels not registering, as they are old and maybe somewhat quirky; I can just about understand Ekiga 3 not registering, because it seems dead set on registering with; but I can’t understand why the GXP2000 won’t register. I’ve tried everything I know, but nothing seems to work. There must still be something that I haven’t set right.

Unless I have to restart Asterisk server yet again? Is this necessary when any new device is added?

Which models of Aastra phone are you using successfully?

Normally we use the 9133, but have some 480’s, 55’s and 57’s.

They all have the same basic functionality, but as the price increases, the bells and whistles do too.


OK, thanks, I’ll see if I can get a 9133 too.

I just want something… anything… to actually register and work with Asterisk.

My son is recommending that I ditch FreePBX and go for Trixbox, which does have the advantage of using a more up to date version of Asterisk. When I can’t get anything to work with FreePBX, and his Trixbox installation simply worked, it’s difficult to argue against it. And I have nothing to lose.

Your son is wrong in a couple of things:

  1. FreePBX is a GUI used to configure Asterisk.
  2. FreePBX does NOT include Asterisk when installing. It must exist prior.
  3. trixbox is a distribution ISO that contain FreePBX (old version) and Asterisk (old version).

If you want a distro that actually work I can recommend PBX in a Flash.

Latest version of FreePBX is 2.6
Latest versions of Asterisk are 1.4.28, 1.60.20, and 1.6.2

Oops, sorry, I used the wrong name. The distribution is the most recent AsteriskNow, and “core show version” reports Asterisk version 1.4.24. The current Trixbox distribution claims Asterisk version 1.6 (but not more specific than that), so it’s clearly not /that/ old.

There are three 1.6 versions of Asterisk, and trixbox pack their versions and supply whatever version they decide is current.
PBXin a Flash always compile from current source.

And as trixbox have decided to “fork” FreePBX and call it PBXconfig means that if you use trixbox we can’t give you support here as we do not track what they have changed in “their” version.

Oh, and the latest version of PBXconfig is 5.5.something that is actually FreePBX 2.5. So by using trixbox you wont get the latest FreePBX.

OK, PBX in a Flash it is, then.



We are using Grandstream BT 201 phones with fair success. I’ve had some difficulty in getting one particular phone to register with the Asterisk box (version when using DHCP, but when assigned a hard IP the phone comes up fine. I changed no settings from the default.

One hassle with the phones, the voice mail processor does not recognize the DTMF tones, although I can dial a number with no problems. Hence the Asterisk box does recognize the DTMF tones from the phones.

We will be purchasing more low-cost IP phones in the near future, and I will probably buy the same model phone unless some compelling reason is made to switch.

By the way, we are using PBX in a Flash (two boxes) and I am very happy with the performance and ease of use.

I just wanted to offer my own thoughts here…

"just want something… anything… to actually register and work with Asterisk.

My son is recommending that I ditch FreePBX and go for Trixbox, which does have the advantage of using a more up to date version of Asterisk. When I can’t get anything to work with FreePBX, and his Trixbox installation simply worked, it’s difficult to argue against it. And I have nothing to lose."

First… “Newer” is not always "Better"
Second… FreePBX is used by tens of thousands (if not hundreds of thousands) of people worldwide. If all of them are able to get FreePBX to work properly with minimal fuss then I am inclined to believe this is a PEBKAC issue and not a FreePBX/Asterisk/Trixbox/PBXinaFlash issue. You should try to figure out what everyone else is doing right and what you may be doing wrong.
Third… I never learned anything by “giving up”. There is alot of documentation and troubleshooting information available for FreePBX. If you’ve screwed up your current installation then reinstall FreePBX from scratch and try again. Practice makes perfect.

I am perfectly prepared to believe that I am that Problem. I’m going my best to follow the instructions. I wish the system behaved like the instructions say.

I took the latest PBXinaFlash ISO and installed that. I tried following Ward’s “knol” for 1.3. I’ve set up fixed IP addressing (the LAN it’s on permits only fixed IP addressing) and disabled the firewall (the computer is not visible to the outside world). I’ve rebooted and selected option A. I’ve done genzaptelconf, update-scripts (that had me very worried, as there was a period of ~24 hours during which it failed because the file wasn’t available, but eventually it was OK), update-fixes and install-netconfig. I’ve edited /etc/asterisk.sip_custom.conf to show localnet= I’ve done service network restart and amportal restart. So far so good; everything appears to be working as I would expect. core show version reports (not as high as I expected, but that’s what it says). In particular, networking works - it gor update-scripts etc. so external Internet is working, and I can putty and WinSCP to it.

When I come to do the update, it doesn’t work quite like Ward’s knol says: I had to update the core before updating the rest because of some dependencies. OK, update the core, then update the rest. So I get:

Update core: “PHP Fatal error: Class ‘ext_stopmixmonitor’ not found in /var/www/html/admin/modules/core/functions.php on line 1320”

Line 1320 is conditionally executed if the version is >=1.4. The only thing that I can understand to do is change the test to “>=1.5” and, having done that, the upgrade appears to have succeeded. It needs a better man than me to know whether it really has. OK, then the rest of the upgrades appear to go without problems. Again, who knows.

core show version still shows

OK, I’ve installed this stuff - do I have to go through some build stage? Why is the version still showing From what Mikael Carlsson said, I expected it would show 1.6.something from the start. But no.

And all this Problem can do is try to search the net for instructions, and try to follow them, and ask questions when they don’t work as this Problem expects.

This is the third installation I’ve done of PiaF, because I screwed something up on each of the first two.

Can you see anything wrong with this section from /etc/asterisk/sip_additional.conf, which refers to a Grandstream GXP2000 phone:

[email protected]
callerid=device <231>

Its IP address is There are no trunks - yes, really, no trunks at all - so NAT is inapplicable.

In the phone’s Account 1 I have the following settings:

Account active: Yes (and the other three accounts are No)
Account name: HwLan
SIP server: (the IP address of the Asterisk server PC)
Outbound proxy: (empty)
SIP user ID: 231
Authenticate ID: 231
Authenticate password: 231
Name: 231
User ID is phone number: Yes
SIP registration: Yes
Unregister on reboot: Yes
Register expiration: 60 (minutes)
Local SIP port: 5060
SIP registration failure retry wait time: 20 (seconds)
SIP T1 interval: 1 sec
SIP T2 interval: 4 sec
SIP transport: UDP
Use RFC3581 symmetric routing: No
NAT traversal (STUN): No
PUBLISH for presence: No
Proxy-require: (empty)
Voice mail user ID: (empty)
Send DTMF: “in-audio” and “via RTP (RFC2833)” both ticked
Early dial: No
Dial plan prefix: (empty)

… there’s more, but it looks less and less relevant to the problem.

Using Wireshark, I can see, every 20 seconds, the phone attempts to register with Asterisk. Every attempt is refused as “Unauthorized”.

I can post some SIP messages if anyone wishes.

Set host to dynamic and set User ID is phone number: No.
Do a reload on the Asterisk CLI and reboot you phone.

Magic! Extension 231 is registered!

Thanks very much, Mikael.

Where in the docs should I have gone to find the correct values for those settings?

Both host=dynamic and User ID is phone number: No are defaults so you must have changed them.

What to set on a Grandstream are:
Account name:
SIP server:
SIP user ID:
Authenticate ID:
Authenticate password:

The rest you should leave as default. After successful registration it is time to test other setting. Download the GXP-2000 user manual from Grandstream, it is a handy thing to have.

Oh, btw, Send DTMF: “in-audio” and “via RTP (RFC2833)” both ticked is not correct, it means that you will send both in-audio and RTP, so you will actually send two digits per key press, eg. 1234 is sent as 11223344, I suppose you don’t want that.

One other thing that I set up on the Grandstream are (from memory):
Enable/Disable Call Features, set to disable, it conflicts with FreePBX feature codes.