Contact Discovery Framework
Purpose
The Contact Discovery Framework, CDF in short, is a solution to get contact information from entities or services by using Domain Name System (DNS). CDF uses DNS TXT records to store contact information.
Example
The following example is a CDF record defining the email address that needs to be used to contact opencdf.org entity:
opencdf.org. 600 IN TXT "v=cdf1 c:email contact@opencdf.org"
Why using DNS to store information?
DNS is a distributed, delegated, cached, fault tolerant service used by all ISP and hosting services.
Using DNS TXT records is a simple and effective way to store and retrieve contact information.
DNS protocol is a low-level, well-known protocol implemented in all programming languages.
How to setup CDF records?
CDF records are new TXT DNS records added to your domain zone file.
The first part of a CDF records is the CDF version used.
v=cdf1 means version 1 of CDF.
CDF attributes followed the version. Each piece of contact information can be defined by its own attribute.
For instance, c:email defines the email that should be used to contact the entity.
Then, following the attribute name is the actual value of the attribute.
List of the current supported attributes
| Attribute | Description | Example |
|---|---|---|
| c:email | Email address | opencdf.org. 600 IN TXT "v=cdf1 c:email contact@opencdf.org" |
| c:phone | Phone | opencdf.org. 600 IN TXT "v=cdf1 c:phone +33387000000" |
| c:geo | Geolocation (latitude,longitude) | opencdf.org. 600 IN TXT "v=cdf1 c:geo 49.1003985,6.1835716" |
| c:name | Contact name | opencdf.org. 600 IN TXT "v=cdf1 c:name Antony Zanetti" |
| c:addr | Full Postal Address | opencdf.org. 600 IN TXT "v=cdf1 c:addr 57 rue Lothaire, 57000 Metz, France" |
| c:addr.street | Street part of the postal address | opencdf.org. 600 IN TXT "v=cdf1 c:street 57 rue Lothaire" |
| c:addr.city | City part of the postal address | opencdf.org. 600 IN TXT "v=cdf1 c:city Metz" |
| c:addr.zip | Zipcode part of the postal address | opencdf.org. 600 IN TXT "v=cdf1 c:addr.zip 57000" |
| c:addr.state | State part of the postal address | opencdf.org. 600 IN TXT "v=cdf1 c:addr.state Lorraine" |
| c:addr.country | Country part of the postal address | opencdf.org. 600 IN TXT "v=cdf1 c:addr.country France" |
There is no mandatory attributes and an attribute can be used more than once if needed.
Copyright
Copyright (c) 2014 Antony Zanetti. Released under the MIT License.