The Microsoft SIP Gateway is extended by more vendors and models. After only supporting one DECT Phone in the beginning now severals brands are supported. Yealinks DECT Phones are a cost effective and reliable solution if you need to get rid of your existing PBX and keep DECT coverage.
But the core of this post is not the SIP Gateway and it's capabilities but the Remote Phonebook that is included in Yealinks Phones.
Remote Phonebook?
Yealink's remote phonebook feature allows your users to access contacts stored externally, typically on a server or cloud service, directly from their Yealink IP / DECT phones. This enables easy synchronization and centralized control of contact information for efficient communication within the Yealink phone system.
The directory is supplied as XML File wit the following structure:
<YeastarIPPhoneDirectory>
<DirectoryEntry>
<Name>Simeon</Name>
<Telephone>6213</Telephone>
<Telephone>1234567890</Telephone>
</DirectoryEntry>
<DirectoryEntry>
<Name>Pixy</Name>
<Telephone>6222</Telephone>
<Telephone>[email protected]</Telephone>
</DirectoryEntry>
</YeastarIPPhoneDirectory>
What offers the solution?
I wanted to have all our Azure AD Users with their phone numbers available on the DECT devices, so that the users can easily see who is calling and also call users from the phonebook. Of couse this can be created manually - but I wanted to automate this feature.
Power Automate
The whole solution is only a small Power Automate flow that grabs all users and creates the XML like listed above:
The flow is triggered by HTTP GET Request and starts with the XML header, grabs all users and than runs them through a loop. To get all users, simply not provide a searchstring and set the pagination to a high number like 2000
The core of the flow is a loop that adds each user with a phone number to the variable.
At the end XML is closed and returned as XML Body.
Download
You can download the flow here:
GenerateYealinkPhonebookXML_20240107101559.zip
Setup on the Yealink Device Manager
Open your Yealink DeviceManager GUI / the Basestation and select Directory -> Remote Phone Book. Insert the HTTP Request URL and provide a Name.