AES67

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, Wheatnet, 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.

Audio encoding
Sample formats include 16-bit and 24-bit Linear PCM with 48 kHz sampling frequency, and optional 24-bit 96 kHz and 16-bit 44.1 kHz. Other RTP audio video formats may be supported. Multiple sample frequencies are optional. Devices may enforce a global sample frequency setting.

Media packets are scheduled according to 'packet time' - transmission duration of a standard Ethernet packet. Packet time is negotiated by the stream source for each streaming session. Short packet times provide low latency and high transmission rate, but introduce high overhead and require high-performance equipment and links. Long packet times increase latencies and require more buffering. A range from 125 μs to 4 ms is defined, though it is recommended that devices shall adapt to packet time changes and/or determine packet time by analyzing RTP timestamps.

Packet time determines RTP payload size according to a supported sample rate. 1 ms is required for all devices. Devices should support a minimum of 1 to 8 channels per stream.


 * MTU size restrictions limit a 96 kHz audio stream using 4-ms packet time to a single channel.

Latency
Network latency (link offset) is the time difference between the moment an audio stream enters the source (ingress time), marked by RTP timestamp in the media packet, and the moment it leaves the destination (egress time). Latency depends on packet time, propagation and queuing delays, packet processing overhead, and buffering in the destination device; thus minimum latency is the shortest packet time and network forwarding time, which can be less than 1 μs on a point-to-point Gigabit Ethernet link with minimum packet size, but in real-world networks could be twice the packet time.

Small buffers decrease latency but may result in drops of audio when media data does not arrive on time. Unexpected changes to network conditions and jitter from packet encoding and processing may require longer buffering and therefore higher latency. Destinations are required to use a buffer of 3 times the packet time, though at least 20 times the packet time (or 20 ms if smaller) is recommended. Sources are required to maintain transmission with jitter of less than 17 packet times (or 17 ms if shorter), though 1 packet time (or 1 ms if shorter) is recommended.

Interoperability with AVB
AES67 may transport media streams as IEEE 802.1BA AVB time-sensitive traffic Classes A and B on supported networks, with guaranteed latency of 2 ms and 50 ms respectively. Reservation of bandwidth with the Stream Reservation Protocol (SRP) specifies the amount of traffic generated through a measurement interval of 125 μs and 250 μs respectively. Multicast IP addresses have to be used, though only with a single source, as AVB networks only support Ethernet multicast destination addressing in the range from 01:00:5e:00:00:00 to 01:00:5e:7f:ff:ff.

An SRP talker advertise message shall be mapped as follows:

Under both IEEE 1588-2008 and IEEE 802.1AS, a PTP clock can be designated as an ordinary clock (OC), boundary clock (BC) or transparent clock (TC), though 802.1AS transparent clocks also have some boundary clock capabilities. A device may implement one or more of these capabilities. OC may have as few as one port (network connection), while TC and BC must have two or more ports. BC and OC ports can work as a master (grandmaster) or a slave. An IEEE 1588 profile is associated with each port. TC can belong to multiple clock domains and profiles. These provisions make it possible to synchronize IEEE 802.1AS clocks to IEEE 1588-2008 clocks used by AES67.

Development history
The standard was developed by the Audio Engineering Society beginning at the end of 2010. The standard was initially published September 2013. A second printing which added a patent statement from Audinate was published in March 2014.

The Media Networking Alliance was formed in October 2014 to promote adoption of AES67.

In October 2014 a plugfest was held to test interoperability achieved with AES67. A second plugfest was conducted in November 2015 and third in February 2017.

An update to the standard including clarifications and error corrections was issued in September 2015.

In May 2016, the AES published a report describing synchronization interoperability between AES67 and SMPTE 2059-2.

In June 2016, AES67 audio transport enhanced by AVB/TSN clock synchronisation and bandwidth reservation was demonstrated at InfoComm 2016.

In September 2017, SMPTE published ST 2110, a standard for professional video over IP. ST 2110-30 uses AES67 as the transport for audio accompanying the video.

In December 2017 the Media Networking Alliance merged with the Alliance for IP Media Solutions (AIMS) combining efforts to promote standards-based network transport for audio and video.

In April 2018 AES67-2018 was published. The principal change in this revision is addition of a protocol implementation conformance statement (PICS).

The AES Standards Committee and AES67 editor, Kevin Gross, were recipients of a Technology & Engineering Emmy Award in 2019 for the development of synchronized multi-channel uncompressed audio transport over IP networks.

Adoption
The standard has been implemented by Lawo, Digisynthetic, Axia, AMX (in SVSI devices), Wheatstone, Extron Electronics, Riedel, Ross Video, ALC NetworX, Audinate, Archwave, Digigram, Sonifex, Aqua Broadcast, Yamaha, QSC, Neutrik, Attero Tech, Merging Technologies,  Gallery SIENNA, Behringer, Tieline  and is supported by RAVENNA-enabled devices under its AES67 Operational Profile.

Shipping products
Over time this table will grow to become a resource for integration and compatibility between devices. The discovery methods supported by each device are critical for integration since the AES67 specification does not stipulate how this should be done, but instead provides a variety of options or suggestions. Also, AES67 specifies multicast and unicast but many AES67 devices only support multicast.