• 1
  • 0
  • 0
Joining in
Message 1 of 1
Flag for a moderator

Sonos / PLEX Connectivity

Hi, I am new to this community although I have been a Virgin Media customer for about 4 years. I Have the Super Hub3  (ARRIS TG2492LG -VM) New Nov 2107 I recently bought a Sonos Play5 speaker that works fine using the wifi and the smartphone app I also have a NAT with  a PLEX server with my music library on, but I having a real problem getting the Sonos to play the PLEX music. I have been on to the Sonos community and posted the question on there and have had some answer please read below. Thy talk about router hairpining as a solution. So my question is does anybody know how to enable hairpining/ loop-back on the Arris/VM router or is there a simpler solution?

First Question;

I'm setting up Plex on my Sonos system but have noticed that there is some problem with this. By what I have read it looks like the Sonos system needs the source to come from the Internet. I will be posting on the Plex community and my Routers community form to resolve this issue.

Basically what happens is that you are able to look at your media files up to the point of playing them than you get an error that the file plays the file as it is unavailable. I removed and added the service back and now it can’t even find any files.

What I’m after is finding out how Sonos communicates with Plex and if I need any special ports are required.


First answer;

The issue is how Plex has implemented things. It's something some routers just aren't capable of supporting, unfortunately.

You can browse your Plex library because that's actually your Sonos device talking to Plex's cloud servers, which are retrieving info about your music library from your Plex server and formatting it for Sonos to understand. But when you go to play music, Plex's cloud server is telling your Sonos player to connect directly to your local Plex server... but not how you'd expect. It's telling Sonos to use your router's WAN address - not your Plex server's LAN address - to make that connection. And this is where the problem lies.

Sonos wants to make a connection to your Plex server on your LAN, but using your router's WAN address from inside your LAN. Some routers can figure this out. Some routers need a little help (and may have a setting that can be enabled). And some routers just don't get it (Why in the world would a device on the LAN be making a connection to another device on the LAN using the WAN IP address???).

But the likely reason Plex does what they do is because it also allows someone who is part of a Plex Home setup to access music on another family member's Plex server, which would use THEIR router's WAN address. And that's likely why they use WAN addresses instead of LAN addresses.

Whether Plex will do anything to fix this in the future remains to be seen. They seem to have abandoned the project immediately after it became available.


Second and Third Answer;

@joego - The simple answer is that Sonos looks to the [external] internet to play music. Since the Plex Server resides on the same internal network as the Sonos, it apparently can't handle this. The only way for Sonos to see/play Plex is to go out your internet connection, then essentially back in again to "see it" from the outside. This is typically called "hair-pinning" which describes the path. I assume when you connect your VPN, the router is somehow allowing this hair-pinning to occur since it sees it as a different path to the Plex Server - i.e. not on the same internal network. In some routers, you can adjust settings to allow hair-pinning, some not. It really depends and there are literally 1,000's of routers and configs out there.

There are a couple of solutions here - the easiest being to put a setting in the router that fools Sonos into thinking the music source is external. So for instance, if your Plex Server is and your Sonos is, you would put an entry in your router (prob telling it that whenever Plex is found on your external WAN address (open Google and type "IP address") return the Sort of like "bouncing back" from the router instead of hair-pinning. Hope that makes sense if you're non-tech.

Of course, this doesn't solve the problem of how the Sonos would handle the different Plex Users as do they 100's of other devices. For example, I have my "adult" music collection under a separate folder, and thus library requiring a PIN. My Disney-friendly, kid lyric equivalent songs are in a different folder/library for general no-PIN access.
The issue depends on your router's ability to "hairpin" the connection request. Plex tells Sonos to access your Sonos server through your router's WAN address. Some routers/firewalls are smart enough to know that "Hey, there's a port forward that this connection wants to use, I'll send it back into the LAN"... some aren't. Joego, the Arris router will need to support this "hairpinning", but your UTM needs to also allow the port in from the Arris router to your Plex server. I run pfSense as my main router/firewall... I don't have an ISP-provided gateway, just a cable modem (Comcast is my provider), so I don't have to deal with double NAT or a provider router. I've had no problem getting it to work, though I did have to enable a NAT proxy option in my port forward settings to get it to work right.
If a more Tech knowledgable member who understands this tech language as is able to offer an answer to hairpining support on the router or another fix I would be very grateful. Many thanks for ploughing through this mindboggling stuff!
0 Kudos