HOME

TheInfoList



OR:

The Digital Audio Access Protocol (DAAP) is the
proprietary protocol In telecommunications, a proprietary protocol is a communications protocol owned by a single organization or individual. Intellectual property rights and enforcement Ownership by a single organization gives the owner the ability to place restricti ...
introduced by
Apple An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple trees are cultivated worldwide and are the most widely grown species in the genus ''Malus''. The tree originated in Central Asia, where its wild ancestor, ' ...
in its iTunes software to share media across a local network. DAAP addresses the same problems for Apple as the UPnP AV standards address for members of the Digital Living Network Alliance (DLNA).


Description

The DAAP protocol was originally introduced in iTunes version 4.0."Unofficial DAAP protocol documentation"
by Daniel Garcia, retrieved December 2, 2006
Initially, Apple did not officially release a protocol description, but it has been reverse-engineered to a sufficient degree that reimplementations of the protocol for non-iTunes platforms have been possible. A DAAP server is a specialized
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide We ...
server, which performs two functions. It sends a list of songs and it streams requested songs to clients. There are also provisions to notify the client of changes to the server. Requests are sent to the server by the client in form of URLs and are responded to with data in mime-type, which can be converted to
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
by the client. iTunes uses the zeroconf (also known as Bonjour) service to announce and discover DAAP shares on a local
subnet A subnetwork or subnet is a logical subdivision of an IP network. Updated by RFC 6918. The practice of dividing a network into two or more networks is called subnetting. Computers that belong to the same subnet are addressed with an identical ...
. The DAAP service uses TCP port 3689 by default. DAAP is one of two media sharing schemes that Apple has currently released. The other, Digital Photo Access Protocol (DPAP), is used by
iPhoto iPhoto is a discontinued digital photograph manipulation software application developed by Apple Inc. It was included with every Macintosh personal computer from 2002 to 2015, when it was replaced with Apple's Photos application. Originally so ...
for sharing images. They both rely on an underlying protocol, Digital Media Access Protocol (DMAP). Early versions of iTunes allowed users to connect to shares across the Internet, however, in recent versions only computers on the same subnet can share music (workarounds such as port tunneling are possible). ''
The Register ''The Register'' is a British technology news website co-founded in 1994 by Mike Magee, John Lettice and Ross Alderson. The online newspaper's masthead sublogo is "''Biting the hand that feeds IT''." Their primary focus is information te ...
'' speculates that Apple made this move in response to pressure from the record labels."Apple halts iTunes' Internet sharing ability"
by Tony Smith, ''The Register'', May 28, 2003, retrieved August 31, 2006 More recent versions of iTunes also limit the number of clients to 5 unique
IP address An Internet Protocol address (IP address) is a numerical label such as that is connected to a computer network that uses the Internet Protocol for communication.. Updated by . An IP address serves two main functions: network interface ident ...
es within a 24-hour period. DAAP has also been implemented in other non-iTunes media applications such as
Banshee A banshee ( ; Modern Irish , from sga, ben síde , "woman of the fairy mound" or "fairy woman") is a female spirit in Irish folklore who heralds the death of a family member, usually by screaming, wailing, shrieking, or keening. Her name i ...
, Amarok,
Exaile Exaile is a cross-platform free and open-source audio player, tag editor and library organizer. It was originally conceived to be similar in style and functions to KDE's Amarok 1.4, but uses the GTK widget toolkit rather than Qt. It is writte ...
(with a plugin),
Songbird A songbird is a bird belonging to the suborder Passeri of the perching birds (Passeriformes). Another name that is sometimes seen as the scientific or vernacular name is Oscines, from Latin ''oscen'', "songbird". The Passeriformes contains 5000 ...
(with a plugin),
Rhythmbox Rhythmbox is a free and open-source audio player software, tag editor and music organizer for digital audio files on Linux and Unix-like systems. Rhythmbox is designed to work well under GNOME, but can function on other desktop environments. I ...
, and WiFiTunes.


DAAP authentication

Beginning with iTunes 4.2, Apple introduced authentication to DAAP sharing, meaning that the only clients that could connect to iTunes servers were other instances of iTunes. This was further modified in iTunes 4.5 to use a custom hashing algorithm, rather than the standard MD5 function used previously. Both authentication methods were successfully reverse engineered within months of release. With iTunes 7.0, a new 'Client-DAAP-Validation' header hash is needed when connecting to an iTunes 7.0 server. This does not affect third-party DAAP servers, but all current DAAP clients (including official iTunes before iTunes 7.0) will fail to connect to an iTunes 7.0 server, receiving a '403 Forbidden' HTTP error. The iTunes 7.0 authentication traffic analysis seem to indicate that a certificate exchange is performed to calculate the hash sent in the 'Client-DAAP-Validation' header. This authentication has not yet been reverse engineered.


DAAP clients


DAAP servers


See also

* List of software using Digital Audio Access Protocol *
Digital Audio Control Protocol Digital Audio Control Protocol (DACP) is a protocol used by the iTunes and other audio player and server applications on Mac, Windows and Linux computers, enabling remote control by mobile devices such as iPhone and Android phones and tablet comp ...
* Remote Audio Output Protocol


Notes and references

{{Music industry Apple Inc. services ITunes Data transmission Network protocols Computer-related introductions in 2003