CardDAV library for OUTBOUND/INBOUND CNAM and XML Phonebook

Tags: #<Tag:0x00007f702189ebd8>


Hi guys! I want to share with you a project i am working on!

Let’s say in your home or firm you only have a CardDAV server for managing your contacts but you also want to get them on your phone… Well basically you can’t.

So i have created this library that allows you to:

  1. Read a CardDAV server and get back a XML phonebook to use with your phones
  2. Set the inbound CNAM with the help of Superfecta CID
  3. Set the outbound CNAM with the help of the homonym module

More info on my GitHub Page. I’m planning to make it even more integrated with FreePBX (making it a module) and so on.

The library is totally free for personal use (if you want to use it commercially please contact me) so if you like it, you can donate. I greatly appreciate any help.


CID Superfecta authorization for Google Contacts not working

New update with some fixes! Download it now or replace the file in helpers/phoneMiddleware.php to get the latest improvements.


New release with a small fix for the xml phonebook generator. Download it here

(Reinhard Stindl) #4

What type of xml phonebooks does it support? Different phones use different xml values. The Ciscos use xml-phonebooks, the Digium/Sangoma d-series phones too, but the files look quite different…


Hi and thanks for your interest!
The script currently supports two types of XML phonebooks, i only have some Fanvil Phones to try it out but I think it should work on other phones too. Anyway these are the two modes to choose from:

  1. Mode “0”: Limit each contact to three phone numbers and force them to be of type “Telephone”, “Mobile” and “Other”; and exactly one for each of them
  2. Mode “1”: The phone numbers will be printed exactly as they are

I think that Cisco’s phones support mode “1” too, anyway you can simply try. If it doesn’t work maybe you can send me an XML specification (I find mine on the internet after some research).


Hi for everyone using the script I highly suggest to update to the latest version that fixes many bugs in the XML phonebook preventing the call from being made. It does also improve support for various numbers types.

For updating you can simply replace the file you can find in ‘helpers->phoneMiddleware.php’


Hi, we must have a cardDAV server running externaly ? Is there a solution tu install the CardDaV server on the distro ?


HI @aratel, sorry but this is not the purpose of the project. There may be some sort of cardav server for FreePBX (or for the Linux distribution below, almost surely baikal will work), so the answer may be yes if you find a suitable way to install it on the distro.



Another update to allow * sign in phone numbers

You can simply replace the file in ‘helpers->phoneMiddleware.php’ to update