I've been playing around with the idea of encapsulating SDP information over XML. The primary aim was to enable things like sdptool or hcid to be able to exchange SDP records in an open format. It would also enable for applications to register arbitrary SDP records without relying on the sdp library (it is GPLed and thus not useable to some people) I wrote some code for producing and parsing XML SDP records. The aim would be to replace the current hcid GetRemoteServiceRecord method with something that produces XML, and also to have something like a RegisterServiceRecord that would take either a string description (e.g. OPUSH) and RegisterServiceRecordXML that would take an XML string. Additionally, a lot of the code that is currently in sdptool.c could be refactored into XML files, and it would be much more trivial to add new profiles (e.g. as an XML template instead of a function inside sdptool) Before I continue, I'd like to get some feedback on the direction I should take. What would be most useful to BlueZ? Would there be any interest in a patch against hcid that does this? Attached is an experimental patch against sdptool that show cases the current functionality. It adds support for outputting records in XML format (e.g. sdptool get --xml 0x10000), as well as a XML format registration functionality (sdptool addxml ) -Denis