Yealink Centralized PhoneBook/SpeedDial

The Yealink series of phones support having a network-located repository of phone numbers used by a company or group of phones. There are two different types of directories that can be set up this way: a Remote Phonebook, or a network-stored Local Contacts. The term “Local” in this context can be a bit misleading since we are talking about a local copy on a server.

When To Use Each

There is one major difference between the two types; the network copy of the Local Contacts will overwrite the local copy of the Local Contacts, whereas the Remote Phonebook cannot be edited from the user’s phone. This immutability of the Remote Directory makes it easier to maintain and deploy at existing sites, while the Local Contacts may be a good fit for new installs that want to have a base directory of numbers on everyone’s phones.

General Configurations

At this time there is not an expedient way to just upload the XML file to the server, so you’ll need to use your ssh access to navigate there. Due to some security concerns, we’ve created a new file directory on the provisioning server for these centralized Phone directory files. Each container will have a folder in the /var/www/html/yealink/remdir/ location, e.g. /var/www/html/yealink/remdir/1900027/. Within this folder, you will create the XML files for the network-stored files.

Remote Phonebooks

The XML for the Remote Phonebooks is rudimentary and easy to recreate. Here is a sample of a Remote Phonebook XML file:

Yealink Remote PhoneBook XML Example

Once this file is created on the server, you will need to alter the configuration for the site’s phones. This can be done in each MAC address specific .cfg file or the common .cfg files that exist for each model of Yealink phone. Regardless of which file you decide to edit, the custom configurations will be the same. You will need to add the following to the configuration file:

features.remote_phonebook.enable = 1
remote_phonebook.data.1.url = https://remDir:aV29TxT@y.ringfree.biz/remdir/{containerID}/{PhonebookFileName}.xml
remote_phonebook.data.1.name = {PhonebookName}

You’ll need to replace the {containerID}, {PhonebookFileName}, and {PhonebookName} with the corresponding values.

Here is an image with the added custom configurations to illustrate:

Custom Configuration for Remote Phonebook

Network-Stored Local Contacts

The steps here are pretty much the same as for the Remote Phonebooks. You’ll create the XML file in the container inside /var/www/html/remdir/, e.g. /var/www/html/remdir/1900027/.
The XML content is different but still rather simplistic and looks something like this:

Yealink PhoneBook XML Example
You will then add the custom configurations to point to that newly created file by adding this line to the configuration file(s):

local_contact.data.url = https://remDir:aV29TxT@y.ringfree.biz/remdir/{containerID}/{PhonebookFileName}.xml

As before the {containerID} will need to be replaced with the container ID of the customer you are working with, and similarly, the {PhonebookFileName} will also need to be replaced. Once done, it should look something like this:

Custom Configuration Option for Yealink Phonebook

Once all of this has been completed, the phones will need a simple reboot/update. One thing to note is that the Remote Phonebook is a little bit buried in the menu. I will include an update soon to illustrate how to resolve that as well.