View on GitHub

OpenCDF

Contact Discovery Framework using DNS

Download this project as a .zip file Download this project as a tar.gz file

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.