AES67 is a technical standard for audio over IP and audio over Ethernet (AoE) interoperability. The standard was developed by the Audio Engineering Society and first published in September 2013. It is a layer 3 protocol suite based on existing standards and is designed to allow interoperability between various IP-based audio networking systems such as RAVENNA, Livewire, Q-LAN and Dante.
AES67 promises interoperability between previously competing networked audio systems and long-term network interoperation between systems. It also provides interoperability with layer 2 technologies, like Audio Video Bridging (AVB). Since its publication, AES67 has been implemented independently by several manufacturers and adopted by many others.
Overview
AES67 defines requirements for synchronizing clocks, setting QoS priorities for media traffic, and initiating media streams with standard protocols from the Internet protocol suite. AES67 also defines audio sample format and sample rate, supported number of channels, as well as IP data packet size and latency/buffering requirements.
The standard calls out several protocol options for device discovery but does not require any to be implemented. Session Initiation Protocol is used for unicast connection management. No connection management protocol is defined for multicast connections.
Synchronization
AES67 uses IEEE 1588-2008 Precision Time Protocol (PTPv2) for clock synchronisation. For standard networking equipment, AES67 defines configuration parameters for a "PTP profile for media applications", based on IEEE 1588 delay request-response sync and (optionally) peer-to-peer sync (IEEE 1588 Annexes J.3 and J4); event messages are encapsulated in IPv4 packets over UDP transport (IEEE 1588 Annex D). Some of the default parameters are adjusted, specifically, logSyncInterval and logMinDelayReqInterval are reduced to improve accuracy and startup time. Clock Grade 2 as defined in AES11 Digital Audio Reference Signal (DARS) is signaled with clockClass.
Network equipment conforming to IEEE 1588-2008 uses default PTP profiles; for video streams, SMPTE 2059-2 PTP profile can be used.
In AVB/TSN networks, synchronization is achieved with IEEE 802.1AS profile for Time-Sensitive Applications.
The media clock is based on synchronized network time with an IEEE 1588 epoch (1 January 1970 00:00:00 TAI). Clock rates are fixed at audio sampling frequencies of 44.1 kHz, 48 kHz and 96 kHz (i.e. thousand samples per second). RTP transport works with a fixed time offset to network clock.
Transport
Media data is transported in IPv4 packets and attempts to avoid IP fragmentation.
Real-time Transport Protocol with RTP Profile for Audio and Video (L24 and L16 formats) is used over UDP transport. RTP payload is limited to 1460 bytes, to prevent fragmentation with default Ethernet MTU of 1500 bytes (after subtracting IP/UDP/RTP overhead of 20+8+12=40 Bytes). Contributing source (CSRC) identifiers and TLS encryption are not supported.
Time synchronization, media stream delivery, and discovery protocols may use IP multicasting with IGMPv2 (optionally IGMPv3) negotiation. Each media stream is assigned a unique multicast address (in the range from 239.0.0.0 to 239.255.255.255); only one device can send to this address (many-to-many connections are not supported).
To monitor keepalive status and allocate bandwidth, devices may use RTCP report interval, SIP session timers and OPTIONS ping, or ICMP Echo request (ping).
AES67 uses DiffServ to set QoS traffic priorities in the Differentiated Services Code Point (DSCP) field of the IP packet. Three classes should be supported at a minimum:
Announce, Sync, Follow_Up, Delay_Req, Delay_Resp, Pdelay_Req, Pdelay_Resp, Pdelay_Resp_Follow_Up
250 μs maximum delay may be required for time-critical applications to prevent drops of audio. To prioritize critical media streams in a large network, applications may use additional values in the Assured Forwarding class 4 with low-drop probability (AF41), typically implemented as a weighted round-robin queue. Clock traffic is assigned to the Expedited Forwarding (EF) class, which typically implements strict priority per-hop behavior (PHB). All other traffic is handled on a best effort basis with Default Forwarding.
RTP Clock Source Signalling procedure is used to specify PTP domain and grandmaster ID for each media stream.