Yealink, PBX-in-a-Flash and automatic phone deployment

Yealink SIP-T22PIf you just have a few phones on a local site then it’s possible to set them up manually. Entering the IP address of the Asterisk server and configuring any buttons might not take too long.

However, if you have more than a few phones, or phones on a remote site, then you are going to want to manage them centrally.

It’s possible to do that with a FreePBX module called End Point Manager (EPM). You can use this with any recent version of FreePBX, for this guide I will be using PBX in a Flash. This guide is designed as a quick walkthrough of what’s possible, rather then a detailed guide looking at all of the options.

End Point Manager setup

End Point Manager is enabled in PBX-in-a-Flash by default. If it’s not on your FreePBX then it can be installed under Tools/Modules.

First you need to go to Endpoint Configuration and enable the templates for the handset types you are using. I’m going to be using a Yealink T22, so that’s what I’ve enabled –

enable yealink t22

After doing this click on the ‘Check for Updates’ button at the top of the screen. I had an issue with Yealink phones without doing this –

epm check for updates

Next go to End Point Advanced Settings and set the IP address and timezone of your Asterisk server. We’re going to be using TFTP to configure the phones –

EPM Advanced Settings

Now configure a SIP extension in the normal way in FreePBX. Don’t forget to use a long complex password –

FreePBX extension

Next we go to End Point Device List. This is where we tell End Point Manager the MAC address of the phone and the extension this should be configured as. The MAC address will be printed on a sticker on the phone somewhere. Enter the MAC address, choose the make/model of the handset and select what extension number this phone should be.  Then click add –

Add EPM device

It is possible to create a template for phones, to assign common settings to all handset types. I’m not going to cover that here though.

Finally in EPM I’m going to (re)build the config for the phones. This will generate the config files for the phones in /tftpboot on the server –

EPM rebuild config for phones

Enable TFTP in the firewall

On all SysAdminMan VPSs the Linux firewall does not allow TFTP connections to the server as we don’t want just anyone connecting and downloading the config for our phones! So we need to allow the external IP address of where to phones are to connect to the server. I’m going to allow the IP with the following SSH commands. I will be allowing my address 94.195.185.195 –

iptables -I INPUT -s 94.195.185.195 -j ACCEPT
service iptables save

Configuring the phone to use the TFTP server

We have a few different options for telling the handset where to get its configuration from.

  1. Manually configure the TFTP server in the handset. This is easy, but not that great considering we want to be able to deploy the phones without touching them
  2. Configure the local DHCP server to provide “DHCP Option 66” setting to the client. This is what we do at SysAdminMan with the phone systems that we manage. The onsite router that does DHCP for the clients is configured to hand out Option 66, which is the TFTP server the client should contact for it’s settings. PCs just ignore this setting so we can configure it globally to go to all clients. This method it great, but does mean we need access to the on-site router and be able to configure Option 66 (which is not easy on all routers)
  3. Use Yealink RPS – http://www.yealink.com/index.php/Products/detail/id/23. This is a great option as all Yealink phones, by default, will contact preconfigured Yealink servers to ask for the configuration server address. If you sign up for the service you just configure your FreePBX server as the provisioning server in RPS. This means we could get the handset shipped to site, where they plug it in and it works! No need to set anything on the phone, all we need is the MAC address of the handset.

To be continued !!

When I started this post I was going to describe how easy it was to use the Yealink Redirection and Provisioning Service (RPS) to deploy a phone ‘hands free’. However, it seems that signing up for this service is not straight forward. You have to send an e-mail to their sales department. I did this but got no reply. A poke to a couple of Yealink addresses on Twitter has produced no response yet either! I’ve also heard from a customer that they didn’t manage to sign up for RPS. So if you are listening Yealink please get in touch!

So currently I have entered the IP address of the Asterisk/TFTP server in the phone manually. This is provisioning the phone from Endpoint Manager. I must say I’m pretty impressed with the phone so far. It’s pretty sturdy for the cost and the sound is great. Doing an echo test using the speaker phone produced no echo at all.

If I hear back from Yealink about RPS I will update this post. I will also do another post with a review of the phone when I’ve used it some more.

One final thought – FreePBX End Point Manager (EPM) is a great way to deploy and manage phones centrally!!

4 thoughts on “Yealink, PBX-in-a-Flash and automatic phone deployment

  1. matt Post author

    Hi Jon,

    Yes, I like my Yealink and it works well over OpenVPN. I had problems with the timezones too!

    I keep meaning to write a review of it. Nice simple phone.

    Cheers, Matt

Comments are closed.