Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues with mDNS and Airplay devices #67

Open
yvernhurenat opened this issue May 6, 2022 · 5 comments
Open

Issues with mDNS and Airplay devices #67

yvernhurenat opened this issue May 6, 2022 · 5 comments

Comments

@yvernhurenat
Copy link

yvernhurenat commented May 6, 2022

Hi,

I'm currently trying to get some Airplay devices running over multiple subnets and Roon, but it doesn't work as expected.
I use on one side:
multicast-relay.py --interfaces eth0 --noSSDP --noSonosDiscovery --foreground --remote 192.168.1.1 --verbose

and on the other side:
multicast-relay.py --interfaces br0 --noSSDP --noSonosDiscovery --foreground --listen 192.168.2.1 --verbose

The devices are successfully discovered but they won't play any music. It doesn't start to play at all. Some Airplay devices want a code to authenticate it as playback device, but this code doesn't show up as normally on the same subnet.
Is there any additional relay I have to consider for Airplay/authentication/streaming?

@yvernhurenat
Copy link
Author

yvernhurenat commented May 6, 2022

Here a rough picture of the network setup:
Airplay-Devices (A) -> Router (A) [192.168.1.0/24,10.1.0.2/32] <-Point-to-Point (on 10.1.0.*)-> Router (B) [192.168.2.0/24,10.1.0.1/32] -> Roon (B)
The routes should be set correct, every device can ping and reach each other

@alsmith
Copy link
Owner

alsmith commented May 8, 2022

Hi !

It would appear that discovery is working just fine - can the devices on each subnet talk to each other as that is the next step after they know about each other: they will need to establish a connection to pass data, which would no longer involve the relay.

Hope this helps.

@yvernhurenat
Copy link
Author

Could you (or maybe someone else) help me to identify the communication problem? Which ports are needed for AirPlay to work properly? The streaming via Roon's native Protocol (Port 9003) does work without problems.

@alsmith
Copy link
Owner

alsmith commented May 9, 2022

My approach would be to use tcpdump to figure out just what's happening on the wire. One should be able to see the discovery request/response and then one side ought to attempt to establish a connection to the other. Hard to guess exactly where it's failing but tcpdump would help establish where the problem might lie.

@yvernhurenat
Copy link
Author

The problem seems to be in the pairing process of AirPlay. Although the mDNS packages are relayed the IP address used in the pairing is the one from the relay server:

  • Debug: start pin, url: http://{IP_OF_RELAY_SERVER}:7000/pair-pin-start
    should be
  • Debug: start pin, url: http://{IP_OF_mDNS_SERVICE}:7000/pair-pin-start

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants