Skip to content

XRD document discovery using DNS SD

nevali edited this page Aug 17, 2010 · 4 revisions

In the context of Project Baird, services provided by broadcasters are discovered using a variant of RadioDNS. In addition, can be provided on local networks and by service providers using DNS-SD -- either in conjunction with multicast DNS, or through specific browse domains. The browse domain list can be augmented by the user in order to allow for manual subscriptions to groups of services.

Parts of Project Baird rely on XRD as a service description mechanism. The expectation is that service providers will advertise XRD documents using DNS such that they can be automatically discovered.

An XRD advertisment uses the service type of xrd, and so DNS records take the form of _xrd._tcp.<domain>. The service type registration for this purpose will occur in due course.

The SRV record identifies servers which make the XRD document available, and specifies the port numbers, weights and priorities of each. The corresponding TXT record specifies the resource path and protocol (http or https), such that a complete request URL can be constructed.

The TXT record has the notional format of:

name=value[<space>name=value[<space>...]]

Each value is URI (percent)-encoded. The order of the name/value pairs is not important. Results

A parameter named txtvers must be present for the advertisement to be considered valid. It must contain the value 1.

A parameter named path must be present for the advertisement to be considered valid. Its value is the host-relative request URI as would be included in the HTTP request (that is, the portion of the absolute request URL from the first / of the path onwards). The path should begin with the / character, but clients should prepend it if it is omitted.

A parameter named proto may optionally be included which should consist of one of the values http or https. If the proto parameter is omitted, HTTP should be assumed. If the proto value contains some other value, and it is not a protocol understood by the client, the whole advertisement should be discarded. Clients may support protocols beyond http and https.