I'm setting up a new office phone system, using a version of Asterisk and Cisco 7940 phones. The Cisco phones can display a company phone directory. The directory is itself is an XML file on a central web server. I'm wondering if anyone has a script that can parse Zimbra's LDAP directory and output an XML file in the proper format, so that the staff directory on the phones would be the staff directory in Zimbra.

Because the phones read the XML file each time a user presses the directory button, the directory on a phone would update live against the directory on Zimbra. The only needed fields would be those for name and phone number. Ideally, any record without a phone number would be omitted from the XML directory, as to keep service accounts from displaying on the phones.