Yealink Remote Phone book not working

I used a couple helpful scripts from sorvani to create internal and external directory from the FreePBX contact manager. cm_to_yl_ab.php for external contacts
And the other script ylab.php script for internal directory

Scripts seems like they are working fine. I can go to pbx-ip/ylab.php and view it in browser.
However when I put the same address in the yealink phone, either using endpoint manager and putting it directly in the config or by putting it in the phone through the phone GUI, the phone thinks about it for awhile and then says unable to load directory.

What could be causing the phone to fail to download the remote directory? Using t54w on newest firmware.

Is the computer you are using and the phone on the same VLAN? They might be on different ones, and FreePBX’s (or your own in-house) firewall might be blocking the traffic for the phone. Remember the phone connects to FreePBX using a port like 5060, where as that script might be on 443 or 4443.

For reference I had to make some small changes to our FreePBX firewall in order to give the phone’s VLAN access to the “side” of FreePBX where the ab.php script was located. What you describe sounds like the phone is trying to get to the script and the connection just hangs waiting for a response, before eventually timing out.

FreePBX and phone are on the same voice vlan. The phone accesses the auto provisioning from the FreePBX just fine so I wouldn’t think there is a firewall issue. I have the phone setup to join voice vlan by lldp and get config file from PBX with option 66 DHCP, those are working fine. Gateway is a fortigate. PBX is on hyper-v VM and tagged for the voice vlan by the hypervisor.
If I change the IP address for the phonebook to something else that is wrong, the phone fails pretty quickly. With it at the correct address it takes a long time and fails.
Reading yealink’s guides they state you need a favorite_setting.xml file as well for remote phonebook to work, but I did not see any mention of that in the various posts using these scripts.

I think I have an idea of the problem. My http provisioning is password protected. Unless I change permissions to 777 on the php files I cannot view them from the browser.
Maybe the yealink is not compatible with authentication for the remote phonebook? I’ve tried this syntax but get nothing on phone or in browser http://username:[email protected] or http://username:[email protected]:84

Finally got this working, reporting my issues here in case someone with similar issues stumbles upon this thread.

The T54W phones would not download the xml files by https (may be because I do not have a valid certificate setup). I could via the xml files in browser on https but phones would wait awhile and fail.
I am doing auto provisioning via http, but my default admin port was set to 8080. I could not download php/xml files via http with admin port on 8080.
Once I changed the admin port back to default 80, I was able to download php/xml files via http.
Phones can now download the php/xml files via http.

Auto Provisioning was another headache. Eventually I found out that I had the config settings wrong, was using features.remote_phonebook.data.1.url instead of the correct remote_phonebook.data.1.url

My working basefile edits (using EPM):

directory_setting.remote_phone_book.enable = 1
remote_phonebook.data.1.name = Internal
remote_phonebook.data.1.url = http://<pbx-ip>/ylab.php
features.remote_phonebook.enable = 1
remote_phonebook.data.2.name = External
remote_phonebook.data.2.url = http://<pbx-ip>/cm_to_yl_ab.php

With directory_setting.remote_phone_book.enable = 1
You do not need the favorite_settings.xml to enable the remote directory. But it will put local directory as the first option and remote phonebook as the second option after hitting the directory key.

I have added this code to change the order:

directory_setting.local_directory.priority = 2
directory_setting.remote_phone_book.priority = 1

Or to get rid of the local directory

directory_setting.local_directory.enable = 0

Yealink has a Config Parameter Excel file that has all the config parameters and reading it is what lead me to find my mistake.

Big thanks to JaredBusch for maintaining the php scripts. Was going to buy PhoneApps just for phonebook feature, which may not even be supported on all yealink phones.

Why don’t you have a valid certificate if you want to use a ‘secure service’ ?

I was only trying to use https because http was not working for access to the apache server files while https was allowing access from the web browser. I later figured out it was because of Admin control panel being on port 8080 that http did not work.
Resources are only accessible on the local network so I think http is fine.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.