AES67

From SOUND4wiki

Generalities

These docs are useful :

AES67 Practical Guide (from RAVENNA)
File:AES67 Practical Guide.pdf

Transport

IPv4 Multicast addresses

AES67 does not automatically attribute multicast address, it's under user's responsibility.

Multicast address range is : 224.0.0.0/4. The group includes the addresses from 224.0.0.0 to 239.255.255.255 (cf https://en.wikipedia.org/wiki/Multicast_address)

For Audio over IP usage it's recommended to use 239.x.y.z range ("Administratively scoped, private use within an organization").

Actually some usual sub-ranges are :

  • 239.192.y.z => Livewire (Livestream and Standard Stereo Streams)
    • 239.192.255.1 to 4 are Livewire clock/advertising/GPIO
  • 239.193.y.z => Livewire (Back Standard Streams)
  • 239.195.y.z => Livewire (Back Live Streams)
  • 239.255.255.255 => SAP (advertisement) Dante

Never use 224.x.y.z range which is reserved for Network administration and control.


Windows

Under Windows, there may be difficulties with multicast routing when more than one Network Interfaces is used.

UDP Port

Usually port 5004 is used for RTP (audio) and 5005 for RTCP (control) (cf http://www.networksorcery.com/enp/protocol/ip/ports05000.htm) but you may choose another number:

  • RTP port must be even
  • RTCP port = RTP port + 1
  • don't use port under 1024 which are Unix "system ports"


QOS


Clocking

AES67 uses PTP (Precise Time Protocol, IEEE1588v2-2008) as clock reference for sub-sample synchronization.

You have to configure some parameters, which are normally chosen according to a "PTP Profile" (1588, AES67, ST2110) and must be the same for all the audio devices of your network.

These parameters are critical for good and fast synchronization, especially when a Master Clock is disappearing and another one takes precedence.

Parameters :

  • domain [0..255] : choose a common number, 0 is AES67 default, 127 is SMPTE ST2110 default
  • priority1 and priority2 [0..255] : (for Master only) used to elect the clock Master. Lower values take precedence. priority1 is used first, then Clock Quality, then priority2. Default is 128,128.
  • sync delay (in seconds) : (for Master only) mean delay between SYNC messages. Default is 0.125s
  • announce interval (in seconds) : (for Master only) mean delay between ANNOUNCE messages. Default is 2s
  • announce timeout (in packets) : number of announce interval that has to pass before timeout (which launch a Best Master election). Default is 3 packets.
  • request interval (in seconds) : (for Slave only) mean delay between DELAY_REQ messages. Default is 1s


Troubleshooting

See LANAUDIO