Airplay feature not functioning (ref#4XMSE1)

What best describes your playback issue?

· Music doesn't start when I press "Play"

What type of Zone is affected by this problem?

· *Directly-connected Zones* are affected.

Does the issue affect all file formats?

· The issue *only affects one file *format.

Which format is giving you trouble?

· FLAC

Is your device connected directly to the Roon Server via cable or over the network, or is it chained through another device (such as a streamer, Roon Bridge, or Roon Remote)?

· Connected directly to my RoonServer machine

Does the device show up at all in Roon Settings -> Audio?

· No, it does not show up there

Does the device play audio from another source when using the same connection?

· The device has no problems with another audio source

Have you checked that Roon is whitelisted in any firewalls?

· I've checked the firewall and the issue remains

If the device has multiple output options, do the other options work as expected?

· Only one output type is affected while the other output type works as expected

Is the device using the latest firmware as per the manufacturer?

· Firmware is up-to-date but the issue remains

Do you have an approximate timestamp of when the issue last occurred?

· 10:15AM ET

What are the make and model of the affected audio device(s) and the connection type?

· LG TV OLED55C4PUA

Describe the issue

Airplay doesn't work

Describe your network setup

Roon on Docker, connected to Sonos speakers and KEF speakers

I’m having issues setting up Airplay on my TV (model above).

On attempting to pair with my LG evo TV Roon triggers the pairing code to display on the TV.

My Home settings are Anyone on the same network. I’ve tried with and without a code and the TV never shows the code given in the app.

On entering the code into Roon (I’ve tried both the code in the app and on the screen).

Roon accepts the code and shows the TV as enabled in Roon Audio settings but in the logs I see:

01/30 15:08:53 [Local 01/30 10:08:53] Debug: start pin, url: http://10.1.0.140:7000/pair-pin-start
01/30 15:08:53 [Local 01/30 10:08:53] Debug: [easyhttp] [3203] POST to http://10.1.0.140:7000/pair-pin-start returned after 12 ms, status code: 200, request body size: 0 B
01/30 15:08:58 [Local 01/30 10:08:58] Trace: [airplay/clientV2] [10.1.0.140] Connecting to airplay server
01/30 15:08:58 [Local 01/30 10:08:58] Info: [transport] creating endpoint for airplay device 23:1:e2c4d211-483d-eafb-5cba-9b9a5f29b64b
01/30 15:08:58 [Local 01/30 10:08:58] Trace: [dspengine] created new dsp config {"version":4,"items":[{"type":"■■2b","enabled":false},{"type":"parametric_equalizer","enabled":false},{"type":"ohd_presets","enabled":false}]}
01/30 15:08:58 [Local 01/30 10:08:58] Debug: [open headphone database] HeadphoneEqItem constructor start
01/30 15:08:58 [Local 01/30 10:08:58] Trace: [zone Television] Loading from /data/RoonServer/Database/Core/5d8cd64b3f9d4d829356743e4e92178d/transport/zone_160111d2c4e23d48fbea5cba9b9a5f29b64b.db
01/30 15:08:58 [Local 01/30 10:08:58] Trace: [zone Television] Suspend
01/30 15:08:58 [Local 01/30 10:08:58] Info: [zone Television] Canceling Pending Sleep
01/30 15:08:58 [Local 01/30 10:08:58] Info: [transport] created zone Television
01/30 15:08:58 [Local 01/30 10:08:58] Info: [transport]     with endpoint Television (OLED55C4PUA.DUSQLJR) (23:1:e2c4d211-483d-eafb-5cba-9b9a5f29b64b) [IsAvailable=True]
01/30 15:08:58 [Local 01/30 10:08:58] Trace: [airplay/clientV2] [10.1.0.140] Sending pair-verify #1
01/30 15:08:58 [Local 01/30 10:08:58] Trace: [zone Television] Loaded Queue=227 Tracks Swim=Inactive AutoSwim=True Loop=Disabled Shuffle=False
01/30 15:08:58 [Local 01/30 10:08:58] Warn: [airplay/clientV2] [10.1.0.140] pair-verify #1 failed: 403 Forbidden, attempting pairing
01/30 15:08:58 [Local 01/30 10:08:58] Trace: [airplay/clientV2] [10.1.0.140] pair-setup-pin
01/30 15:08:58 [Local 01/30 10:08:58] Trace: [airplay/clientV2] [10.1.0.140] Sending pair-setup-pin #1
01/30 15:08:58 [Local 01/30 10:08:58] Warn: [airplay/clientV2] [10.1.0.140] pair-setup-pin #1 failed: 403 Forbidden, attempting pairing
01/30 15:08:58 [Local 01/30 10:08:58] Trace: [airplay/clientV2] [10.1.0.140] Sending pair-verify #1
01/30 15:08:58 [Local 01/30 10:08:58] Trace: [airplay/clientV2] [10.1.0.140] pair-setup fail
01/30 15:08:58 [Local 01/30 10:08:58] Debug: [easyhttp] [3204] GET to https://api.roonlabs.net/metadatatext/1/blobs?objectId=191:0:519849&type=biography&sourceLangs=Rovi-albums:en,Wikipedia:en,Rovi-artists:en,Rovi-compositions:en&contentPreferences=reallyAvoidMqa&tidal=max returned after 45 ms, status code: 200, request body size: 0 B
01/30 15:08:58 [Local 01/30 10:08:58] Trace: [airplay/clientV2] [10.1.0.140] pair-verify #1 Succeeded
01/30 15:08:58 [Local 01/30 10:08:58] Trace: [airplay/clientV2] [10.1.0.140] Sending pair-verify #2
01/30 15:08:58 [Local 01/30 10:08:58] Trace: [airplay/clientV2] [10.1.0.140] pair-verify #2 Succeeded
01/30 15:08:58 [Local 01/30 10:08:58] Trace: [airplay/clientV2] [10.1.0.140] Requesting OPTIONS
01/30 15:08:58 [Local 01/30 10:08:58] Info: [airplay/clientV2] [10.1.0.140] REQUESTING OPTIONS *
01/30 15:08:58 [Local 01/30 10:08:58] Debug: [easyhttp] [3205] GET to https://api.roonlabs.net/metadatatext/1/blobs?objectId=191:0:519850&type=biography&sourceLangs=Rovi-albums:en,Wikipedia:en,Rovi-artists:en,Rovi-compositions:en&contentPreferences=reallyAvoidMqa&tidal=max returned after 94 ms, status code: 200, request body size: 0 B
01/30 15:09:00 [Local 01/30 10:09:00] Info: [stats] 7460mb Virtual, 2031mb Physical, 962mb Managed, 1069mb estimated Unmanaged, 495 Handles, 84 Threads, 0% of runtime in GC pauses, 1ms last GC pause duration
01/30 15:09:08 [Local 01/30 10:09:08] Debug: [easyhttp] [3206] POST to https://api.roonlabs.net/device-map/1/register returned after 66 ms, status code: 200, request body size: 5 KB
01/30 15:09:08 [Local 01/30 10:09:08] Trace: [devicemap] device map updated
01/30 15:09:08 [Local 01/30 10:09:08] Warn: [airplay/rtsp] IOException in RTSP request: Unable to read data from the transport connection: Connection timed out.
01/30 15:09:08 [Local 01/30 10:09:08] Warn: [airplay/clientV2] [10.1.0.140] OPTIONS failed: Result[Status=NetworkError]
01/30 15:09:08 [Local 01/30 10:09:08] Warn: [airplay/clientV2] [10.1.0.140] Failed to get OPTIONS: Result[Status=NetworkError]
01/30 15:09:08 [Local 01/30 10:09:08] Info: [airplay] AirPlay device connection failed to: AirPlayDevice[DeviceId=4EB340F06C8A@Television._raop._tcp.local, Name=LGwebOSTV.local, Model=OLED55C4PUA.DUSQLJR, IPEndPoint=10.1.0.140:7000]
01/30 15:09:08 [Local 01/30 10:09:08] Trace: [airplay] disconnected
01/30 15:09:08 [Local 01/30 10:09:08] Trace: [zone] Television received transport control from endpoint integration: suspend
01/30 15:09:08 [Local 01/30 10:09:08] Trace: [zone Television] Television received transport control from Television (OLED55C4PUA.DUSQLJR): suspend
01/30 15:09:08 [Local 01/30 10:09:08] Trace: [zone Television] Suspend
01/30 15:09:08 [Local 01/30 10:09:08] Info: [zone Television] Canceling Pending Sleep
01/30 15:09:15 [Local 01/30 10:09:15] Info: [stats] 7403mb Virtual, 2031mb Physical, 950mb Managed, 1081mb estimated Unmanaged, 490 Handles, 75 Threads
, 0% of runtime in GC pauses, 2ms last GC pause duration

Hello @Leon_Roy,

Thanks for sharing your issue.

I would like to highlight that running Roon in virtualized environments (such as Docker or VMs) is generally not recommended, as we cannot guarantee stability or performance in those configurations.

One of the main challenges with Docker is the handling of multicast and mDNS traffic, which are critical for Roon’s device discovery but often blocked or restricted in containerized network layers.

For troubleshooting purposes, could you please try running your Roon Server in a native, non-virtualized environment(directly on the OS) to see if the issue persists? This will help us determine if the virtualization layer is the cause.

Please let us know if you are able to perform this test.

Thanks.

Hi Alex,

I built a Roon ROCK based system today - migrated my backup over and loaded. Tried adding the Airplay device, experiencing the same issue with a slight variation. After entering the Airplay pin Roon displays the Enabling popup indefinitely.

Thanks for letting us know @Leon_Roy!

Could you please run through the steps listed in the KB article below, and see if you still run into the same issue? You can ignore the specific device list in this case.

Thank you!