Please follow this guide to check your configurations first.
Since the IP phone default can only automatically synchronize the PBX contacts every 6 hours.
If you need to get the contacts right now, here are 4 solutions to make the IP phone to get the contacts from S-series PBX immediately.
1. FIRST CHOICE. On IP phone screen, go to Remote Phonebook page, click 'Update'
2. Go to IP phone web->Directory->Remote Phone Book, to click 'Confirm'
3. Reboot the IP phone
4. Go to IP phone web->Directory->Remote Phone Book, set the 'update time interval' to 3600 seconds (Yealink allows the minimum time is 3600). With this changes, the IP phone will synchronize the contacts from S-series PBX every 1 hour.
I had a couple of provisioning issues with this:
I provisioned a Yealink T46S phone and it only populated the number 5 slot, with the address of the Personal Contacts directory. I had to put the entry in for the number 4 slot (Company_Contacts.xml) manually. The configuration of the Contacts module gave the user full user and management access to the Company Contacts in this case.
The S50 the T46S was supported on, was running Hot-Standby. The IP address of the .XML directory was shown as the IP address of the Primary (active) S50, and did not show the virtual IP address of the hot-standby pairing. I had to make a manual change to correct that.