Can music on my Plex server be played through the Alexa Echo speaker?

Strange issue my plex says its Fully accessible outside my network and my friends can access it remotely. But when I try to access my server from inside my home network using my public Ip its doesn’t work. If I use my internal IP it works. I see in the log Alexa it is trying to hit my external IP instead of my internal ip

I did some further research and see this is called NAT hairpinning" and “NAT reflection” and most routers dont support it. Since Alexa is being given my external ip and my router doesnt do the hairpin the stream dies at the router and Alexa get nothing but silence

Any chance you guys could DNS to my internal Ip. You must be doing the DNS at 66-176-14-121.2d338be7167f4e4291e3bd2f9bfc51e9.plex.direct:32400. 66-176-14-121 is my external ip and that entry is at plex.direct which I assume you guys hande.

I think this is proably anissue for a lot of people that have routers like mine

Here is a snapshot of my plex


remote settings

I suspect it is upnp on your router. Add a static route for the port and try again. That was all I had to do

All my routes are static and work outside my home network. I am pretty sure the issue is NAT hairpinning and that Alexa is looking for the steam at my public IP which my router doesn’t handle. It’s a Comcast router and there is no way for me to swap it.

Following the thread as I have this issue.

If UPNP is on then I show as being accessible from outside the network but Plex doesn’t play on the Echo, but everything else I need to access remotely works perfectly. If I turn off UPNP then Plex says it is not accessible from outside the network, but plays on the echo. I can also access plex from

https://app.plex.tv/desktop - both inside and outside my home

https://FQDN:32400 - both inside and outside my network

Oddly all my other remote access stuff also still works.

I say odd as I am on a Sky Q hub and there is no NAT/PAT section that I can find - which obviously I found a few moments after posting to find it has entries in it for my remote stuff lol

Edit - and now Plex shows me as available inside and outside the network.

@pepp77 said:
Following the thread as I have this issue.

If UPNP is on then I show as being accessible from outside the network but Plex doesn’t play on the Echo, but everything else I need to access remotely works perfectly. If I turn off UPNP then Plex says it is not accessible from outside the network, but plays on the echo. I can also access plex from

https://app.plex.tv/desktop - both inside and outside my home

https://FQDN:32400 - both inside and outside my network

Oddly all my other remote access stuff also still works.

I say odd as I am on a Sky Q hub and there is no NAT/PAT section that I can find - which obviously I found a few moments after posting to find it has entries in it for my remote stuff lol

Edit - and now Plex shows me as available inside and outside the network.

I’ve been trying to set this up on my Sky Q hub; any chance you can talk me through your settings (and where to find them)?

Thanks!

so… it is still working for me today with the following setup:

Goto Plex Server settings, Remote Access. Check manually specify public port and set it to an unused port.

Goto my router settings and map that public port to my Plex Server (which has a static ip and port 32400).

What I did notice is that if I didn’t manually specify the public port in Plex… it has a tendency to change.

It’s working fine… and this was the only change I made to my setup to keep it working consistently. I’d hope that this info will help Plex nail down the overall issue… as I would think that it should not be required to work by having these physical settings required.

With my router

I have set up port forwarding and have manually assigned a port

https://app.plex.tv/desktop - works both inside and outside my home

https://FQDN:32400 - only works outside my home network

http://192.168.1.191:32400 works inside my home network just fine

No matter what I do Alexa Announces the song and then I get silence

only difference you are exposing 32400 externally… I used a different external port number 13868 (plex default for internal stayed at 32400). Not sure how all this Alexa stuff works… but you might want to try the port number change and associated routing and see if that gives you anything.

Comcast router doesn’t let map the ports. Whatever port you open is the port that it forwards

Found my issue. My Asus RT router had NAT loopback set to “Merlin” which is the custom firmware setting…it’s listed as “Experimental.” I changed it to “Asus” which is the default setting and it works!

Thanks for the help, group.

I am really excited to try this feature. Plex is an order of magnitude ahead of either Google Play Music or Amazon Music in terms of library manageability.

Is there a consensus yet on the proper router/forwarding configuration to make this work?

Will it work with Plex Cloud?

(Update at end, I now have it partially working.)

I’m having a similar issue - I just got an echo yesterday and Alexa can talk to my server and says it’s playing music, but then I don’t hear anything. The music shows up on a card in the “Home” section of the Alexa app on my phone, but not in the “Now Playing” section.

I have a double-router setup, where the first router is from my ISP and handles the bonded DSL connection but nothing else. It sets my second router to the DMZ host, and the second router does all of the regular router stuff. (Before I had a bonded connection, I was able to put the ISP router into Bridge Mode, but I can’t get that to work with the bonded connection.)

The first router is a F@ST 4320 and it uses 192.168.254.x internally.

My second router is a Netgear R7800 and it uses 192.168.1.x internally.

My Plex server is Version 1.10.0.4516, it’s accessible on my LAN at 192.168.1.6:32400. It’s running on a RockStor (Fedora Linux) server using the Docker image from Linuxserver.io.

In the Remote Access settings, when I let Plex pick it’s own port via UPnP, it picks a port like 23039 and reports that it is “Fully accessible outside your network”. However, when I manually assign a port and set up the appropriate Port Forwarding entry in my Netgear router, it reports “Not available outside your network” and warns me about a Double-NAT scenario. This happens whether I set the external port to 32400 or something else like 9134.

Manual port-forwards for other things seem to work fine, so I’m not sure why I can’t get them to work for Plex.

Under the Network settings, Secure connections is set to Preferred. On the Web settings, I always set Allow Fallback to Insecure Connections to “On same network as server”, although it seems to reset itself sometimes.

A couple of other curious notes:

  • When I first set a custom port, it spins and then I see a brief flash of the green success message before it switches to the error message
  • When I switch back to upnp mode, I sometimes get the red error message, but clicking the Retry button always fixes it. (And, the button changes from Retry to Apply.)

These are the only interesting-looking lines in the logs:

Dec 01, 2017 15:16:10.805 [0x7f0c6c7fd700] WARN - PublicAddressManager: WAN IP is a private IP address
Dec 01, 2017 15:16:12.089 [0x7f0ca37fe700] ERROR - MyPlex: mapping failed due to potential double NAT configuration
Dec 01, 2017 15:16:12.200 [0x7f0ca37fe700] WARN - PubSub: Received notifyConnectivity event with incorrect async identifier (f0e6970f-ca39-4648-927b-4e7079f3f264, expected c17aafc2-39f2-444e-8b0f-1663a2cc3618)

Although I can post the entire file if you’re interested.

The plex server settings always shows the correct external IP.

Update:

I decided to try bridge mode again today and it worked!

It had been a year or two since the last time I tried to get bridge mode working, and I know that at least my netgear router had received a couple of firmware updates (and the ISP one may have also, I think they just push changes to it whenever they want to).

I did have to manually specify a port, the UPnP one didn’t work, but once I set it to 32400, the echo was able to play my music.

So, hopefully this is helpful to someone, I’m glad to finally have it working! (And a slightly more sane home network too!)

Update 2

I have experienced a couple of cases where the sound just stops near the end of the song. The second time it happened, I said “alexa resume” and it started playing the next song. Not sure what’s up there.

Also, it seems completely unable of playing a second song without prompting. Whenever I ask for an artist/album/playlist/etc, it usually plays the first one, but it never plays any further without an “alexa resume” or “alexa next track”. Not sure what the deal is there.

Not working for me either. Currently using a double NAT with a manual assigned Plex port and port forwarding on my routers.

When I ask Alexa to “Open plex and play songs by Taylor swift” and tail the live plex logs, I can see that the hub is been queried by alexa for “taylor swift” and returning 34 songs (the number of taylor swift songs in my library). Alexa then announces she is “Playing songs by taylor swift” however nothing plays. It is the same if I request individual tracks.

Dec 02, 2017 20:09:58.626 [0x80a00e800] DEBUG - Auth: authenticated user 1 as jason.ralston1
Dec 02, 2017 20:09:58.626 [0x80a015000] DEBUG - Request: [54.89.119.236:52666 (WAN)] GET /hubs/search?query=Taylor%20swift (5 live) TLS Signed-in Token (jason.ralston1)
Dec 02, 2017 20:09:58.712 [0x80a00e800] DEBUG - Completed: [54.89.119.236:52666] 200 GET /hubs/search?query=Taylor%20swift (5 live) TLS 85ms 6992 bytes
Dec 02, 2017 20:09:59.076 [0x80a00e800] DEBUG - handleStreamRead code 335544539: short read
Dec 02, 2017 20:09:59.083 [0x80a00ec00] DEBUG - Auth: authenticated user 1 as jason.ralston1
Dec 02, 2017 20:09:59.083 [0x80a015000] DEBUG - Request: [192.168.2.6:53282 (Subnet)] GET /player/proxy/poll?deviceClass=pc&protocolVersion=1&protocolCapabilities=timeline%2Cplayback%2Cnavigation%2Cmirror%2Cplayqueues&timeout=1 (5 live) TLS GZIP Signed-in Token (jason.ralston1)
Dec 02, 2017 20:09:59.084 [0x80a015000] DEBUG - Beginning read from two-way stream.
Dec 02, 2017 20:09:59.670 [0x80a00ec00] DEBUG - Auth: authenticated user 1 as jason.ralston1
Dec 02, 2017 20:09:59.670 [0x80b1ac800] DEBUG - Request: [54.89.119.236:53108 (WAN)] POST /playQueues?type=audio&uri=library%3A%2F%2Fc07ed87e-2348-4305-9f2b-702f5ad088ea%2Fdirectory%2F%252Flibrary%252Fmetadata%252F36333&shuffle=1&repeat=0&smart=1 (5 live) TLS Signed-in Token (jason.ralston1)
Dec 02, 2017 20:09:59.672 [0x80b1ac800] DEBUG - PlayQueue: 0 generated IDs compressed down to a 2 byte blob.
Dec 02, 2017 20:09:59.699 [0x80b1ac800] DEBUG - PlayQueue: Start index: 0 End index: 33 Count: 34
Dec 02, 2017 20:09:59.699 [0x80b1ac800] DEBUG - PlayQueue: 34 generated IDs compressed down to a 82 byte blob.
Dec 02, 2017 20:09:59.723 [0x80b1ac800] DEBUG - PlayQueue: Added 34 items in 0.0 sec.
Dec 02, 2017 20:09:59.773 [0x80a00ec00] DEBUG - Completed: [54.89.119.236:53108] 200 POST /playQueues?type=audio&uri=library%3A%2F%2Fc07ed87e-2348-4305-9f2b-702f5ad088ea%2Fdirectory%2F%252Flibrary%252Fmetadata%252F36333&shuffle=1&repeat=0&smart=1 (5 live) TLS 102ms 29516 bytes
Dec 02, 2017 20:10:13.635 [0x80a00e800] DEBUG - Auth: authenticated user 1 as jason.ralston1
Dec 02, 2017 20:10:13.635 [0x80a015000] DEBUG - Request: [54.89.119.236:58634 (WAN)] GET /playQueues/287?repeat=0 (5 live) TLS Signed-in Token (jason.ralston1)
Dec 02, 2017 20:10:13.637 [0x80a015000] DEBUG - PlayQueue: total generated: 34, before cursor: 0, after cursor: 33
Dec 02, 2017 20:10:13.637 [0x80a015000] DEBUG - PlayQueue: No need to refresh, active window is operational.
Dec 02, 2017 20:10:13.673 [0x80a00e800] DEBUG - Completed: [54.89.119.236:58634] 200 GET /playQueues/287?repeat=0 (5 live) TLS 38ms 29516 bytes
Dec 02, 2017 20:10:19.096 [0x80a00e800] DEBUG - handleStreamRead code 335544539: short read
Dec 02, 2017 20:10:19.104 [0x80a00e800] DEBUG - Auth: authenticated user 1 as jason.ralston1
Dec 02, 2017 20:10:19.104 [0x80a015000] DEBUG - Request: [192.168.2.6:53283 (Subnet)] GET /player/proxy/poll?deviceClass=pc&protocolVersion=1&protocolCapabilities=timeline%2Cplayback%2Cnavigation%2Cmirror%2Cplayqueues&timeout=1 (4 live) TLS GZIP Signed-in Token (jason.ralston1)
Dec 02, 2017 20:10:19.105 [0x80a015000] DEBUG - Beginning read from two-way stream.
Dec 02, 2017 20:10:21.280 [0x80c2ed800] DEBUG - BPQ: deferring onLibraryChanged callback, only 22 seconds since last library change

been trying to get music from NAS playing on Amazon Echo speaker via Plex skill. Remote access working. Echo appears to accept commands … ‘Alexa, ask Plex to play music by Elton John’ … but no music results. Logs attached. Ideas welcomed.

Add me to those that cant get this to work. I swear it used to work on my Echo, but now it fails on both echo and echo dot(s). Just like others it says its playing but I get no audio and can see my PMS isnt trying to get to my NAS where the audio is stored.

its fine from roku and phone (on home network and off)

Any one got this working?

Are we sure the problem is NAT Hairpinning?

Verified the Echo Dot is trying to connect to my global ip address, so Nat Hairpinning is needed. Is this due to the plex skill or echo?

Just here to register a +1 on the “plex says it’s playing music but no sounds comes out” problem.

Also Just here to register a +1 on the “Alexa says it’s playing the music but no sound on Plex Player or Echo Device and nothing showing in Status or Now playing”.

So spent some time experimenting this morning. It seems related to NAT hairpinning, which my router doesnt support.

If I connect Alexa to my internal home wifi network, and request her to play a plex song, she says she is playing but nothing happens.

If I connect Alexa to my mobile tether device (which connects to my telcos IP), and request her to play a plex song, she says she is playing a song and about 5 seconds later the song starts playing.

@Jmiranda7777 said:
No matter what I do Alexa Announces the song and then I get silence

@“jason.ralston1” said:
So spent some time experimenting this morning. It seems related to NAT hairpinning, which my router doesnt support.

I did some checking around and Amazon definitely does allow for developers to make Alexa skills that stream audio from a local network source.

In fact, there’s a pretty slick Alexa skill called My Media which does just that. It uses a Windows Service / Mac background daemon (sorry, NAS users) to index all music in selected folders, and then lets you select what to play as the Plex skills does. It even accepts commands to play by genre, which the Plex skill doesn’t currently support, although Plex of course has an advantage with it’s suggestions ability. Oh, and the My Media mini-server software costs $5… a year.

Personally, I’d still much rather be able to use a properly working Plex for Alexa skill. However, although I’m not having the trouble with music streaming to my Alexa-based devices, I have had issues with the stream stopping before all tracks are played, and the issues I’ve already mentioned with the music selection of the suggestion feature not being routable to a Plex Player, and no music genre request ability.