Yealink Phone Book Manager released!

Yealink Phone Book Manager

Yealink is a leading provider of VoIP phone and IP communication solutions. Thanks to rich capabilities, Yealink phones are widely used by the enterprise-level companies. Their phones are even featured in a TV series like House, M.D. by the House himself.

The only problem with a such features-rich phone was, that there wasn’t any easy to use software to manage the phone book itself! As we’re also using Yealink phones at Octivi we’ve also found that it was hard to manage the phone book by our non-technical staff.

Lack of the easy to use phone book manager, available at the same time for many people as a web application drove us to creating one by our self.

So now, we’re releasing the first, web-based Yealink PhoneBook Manager, available as Open Source and released on our Github.

Features of the Yealink Phone Book Manager

Edit contact

The web panel gives an easy possibility to do an administrative tasks such as:

  • Managing contacts
    • Adding, removing, editing contact informations
    • Managing multiple phone numbers of a single contact
  • Making backups of the phone book file
  • Managing multiple phone books – from the web panel you’re able to choose the phone book you want to edit, create a new one or upload existing

Furthermore, the application itself facilitate the finding and viewing the contact informations. Thanks to the instant search feature you have a possibility of searching for the right persons as you type.


Restricting an access to the application is done by using the native HTTP server’s security.

For example, you can use Apache’s .htpasswd to secure the web panel based on the:

  • IP numbers – great for granting the access to the IP of your Yealink phone or giving an access for a company’s IP
  • Basic access authentication – granting the access to a specified users, authenticated by username & password

Remember that Yealink can not use the Basic Realm (username & password), so granting the access by the IP of the phone is a must.

Technical aspects

The application’s instantly saving changes to an XML file hosted on your server. It’s fully compatible with the Yealink’s popular models of phones.

Thanks to the Yealink’s phones ability to load phone book from the hosted XML file it’s possible to automatically synchronize the book from the phones with the one generated in a web panel. You likely won’t have to manually import the XML file to a single phone.

Another feature is the possibility of making a backup of the phone book by clicking the big red button. The current XML file will be saved as a new one with the name format:



The idea was to release the whole application as a single-file, with a seamlessly installation process.

The installation process ends on the uploading a single PHAR file to the server and optionally configuring the previously described security and minor configuration.

  1. Download the archive with the latest release, e.g. yealink-phonebook-v1.0.tar.gz
  2. Extract & upload to your server
  3. Configure security rules
  4. Well done!

Using in your Yealink phone

To use phone book, just copy an URL of the XML file (provided in the upper right corner) and paste it in your Yealink Remote Phone Book management panel.

Yealink Web Panel - using Remote Phone Book

Yealink Web Panel – using Remote Phone Book


All contributions are welcome, the process is simple:

  1. Fork the project
  2. Make your changes
  3. Submit new pull request

The pull request will be than reviewed and tested by us and if everything will be OK – merged to the repository.

Found any issues? Use the Github Issues tracker to inform us!

We at Octivi provide Bespoke Software Development to optimize your business

Looking to scale-out your
web application?

Hire Octivi!

Antoni is a Software Architect and Scrum Master at Octivi. He is responsible for software architecture of our key projects, he also holds Professional Scrum Master certificate.

  • jeff

    can’t seem to get this to work it keeps looking for a folder ./source

  • Intouch Communicatio

    Hi, I have just installed 7 voip Yealink handsets for a voip customer, they weren’t happy with the 1000 limit on the personal contact list so they need this remote phone book set up. Can someone set this up for the customer and if so how much?

  • Hi,

    thank you for interest in our Yealink Phone Book manager project!

    We’re always happy to help with deploying / tailoring to your needs our software. Just drop us a line using contact form

    Best regards,
    Marcin Engelmann, Octivi

  • Lucas

    In the W52 Dect IP Yealink , not is compatible the XML, please is posible modified

  • Hi Lucas, we’re actually using Yealink Phone Book Manager with W52 Dect IP and it works just fine. Please please contact us using contact form to let us know about the issue.

  • Mikel Reber

    I have this setup, but all I get is a blank white page. Thoughts? I’ve tried in IIS and Apache in linux.

    • Please check your log files, there should be some info about error. We’re using YPBM on Linux and it works just fine.

  • Andreas Urbanczyk

    Is there a way to import google contacts?

    • Unfortunately there is no import option. It’s possible to do it manually by creating valid XML file.

  • Eric Whitehead

    Works well in IIS and Apache, though there is a bit of fiddling needed with access rights. If only Yealink would let you label numbers as ‘mobile’, ‘desk’, etc.

  • dongydongy

    Not sure how to use this. I have so far extracted the files to /var/www/html/yealink on my CentOS box. Now what do I have to do to run phone book manager in my browser? Point it to the contacts.xml file? http://serveraddress/yealink/contacts.xml?

  • renato

    I installed the source app by following the instructions but I get nothing on the screen, what do I do?

  • Frank

    I do have the same problem. I want to edit the Phone Book, but when typing SERVER-IP/index.php I get a blank screen.

    When typing the link SERVER-IP/dist/pb/contacts.xml to my IP-Phone, I am able to access to the Phone Book. What have I got to do, to get the GUI for the Phone Book?

  • thanos

    Hello, i have tried doing what the readme file says, but i have no .htpasswd file , when i go with my broswer to the i see the raw xml file but when i go to i see nothing but a blank page. I caanot load it correclty to the phone either, and i still haven’t found any other guides is there a better guide on how to configure it???

  • Fabio Fab

    Hello, i have upload the project on my web server lamp but do not works. in attachment the error.
    who can help me?


  • Siarhei Chystsiakou

    Maybe there is a ready config for nginx?

  • Randall

    I have an Ubuntu 16.04 Server. When I extract the contents of the archive and try to browse to the index.php file, I get this error in the apache error log, and the page doesn’t load:
    require_once(/var/www/html/app/../vendor/autoload.php): failed to open stream: No such file or directory in www/html/app/bootstrap.php on line 9
    PHP Fatal error: require_once(): Failed opening required ‘/var/www/html/app/../vendor/autoload.php’ (include_path=’.:/usre/php’) in /var/www/html/app/bootstrap.php on line 9

    Any help on this would be great. Thanks

  • Mark Hessels

    I just downloaded the Phonebook file and extracted the contents. After reading the README file I am still a little confused as to where I should be putting the files. I am using a Sangoma UC 60 PBX box as my phone server. Will this work with my Sangoma UC 60?

  • Nardha Vargas

    Hello, I want to know ho do I change the voicemail of my yealink?

  • Stabilus

    Why does this have to be so complicated! I don’t want to deal with all that tech stuff (and I am an IT guy!) What I want is to tell the phone to connect with my Active Sync contacts (that are residing on a Microsoft hosted 365 exchange server) and give me access to all my contacts. And for people without active sync, let them connect to their Outlook on their local computer. The phone can then download the contacts (and update them on a regular basis) and I have nothing else to do with it!