10.7.0 RC2 DLNA server not showing up in apps & devices #2472

Closed
opened 2026-02-06 22:06:19 +03:00 by OVERLORD · 33 comments
Owner

Originally created by @SteveDinn on GitHub (Jan 4, 2021).

Originally assigned to: @BaronGreenback on GitHub.

Describe the bug

When using a device or app that can browse DLNA server content, the Jellyfin server does not show up as a source.

System (please complete the following information):

  • OS: Ubuntu 20.04 RPi 4
  • Virtualization: Docker
  • Clients: BubbleUPnP android app
  • Browser: n/a
  • Jellyfin Version: 10.7.0 RC2
  • Playback: n/a
  • Installed Plugins: n/a
  • Reverse Proxy: Caddy
  • Base URL: none
  • Networking: host
  • Storage: local

To Reproduce

  • Enable DLNA server in config menu / Devices / DLNA
  • Launch BubbleUPnP app on Android device
  • Attempt to browse to Jellyfin DLNA server
  • It's not there.

Expected behavior

Jellyfin should show up as a selectable DLNA server in apps and devices that support DLNA browsing

Additional context

Reverted to 10.6.4 just to be sure it wasn't something else, and it worked as expected.

Originally created by @SteveDinn on GitHub (Jan 4, 2021). Originally assigned to: @BaronGreenback on GitHub. **Describe the bug** <!-- A clear and concise description of what the bug is. --> When using a device or app that can browse DLNA server content, the Jellyfin server does not show up as a source. **System (please complete the following information):** - OS: Ubuntu 20.04 RPi 4 - Virtualization: Docker - Clients: BubbleUPnP android app - Browser: n/a - Jellyfin Version: 10.7.0 RC2 - Playback: n/a - Installed Plugins: n/a - Reverse Proxy: Caddy - Base URL: none - Networking: host - Storage: local **To Reproduce** <!-- Steps to reproduce the behavior: --> - Enable DLNA server in config menu / Devices / DLNA - Launch BubbleUPnP app on Android device - Attempt to browse to Jellyfin DLNA server - It's not there. **Expected behavior** <!-- A clear and concise description of what you expected to happen. --> Jellyfin should show up as a selectable DLNA server in apps and devices that support DLNA browsing **Additional context** <!-- Add any other context about the problem here. --> Reverted to 10.6.4 just to be sure it wasn't something else, and it worked as expected.
OVERLORD added the bug label 2026-02-06 22:06:19 +03:00
Author
Owner

@da-anda commented on GitHub (Jan 5, 2021):

I can confirm this issue

@da-anda commented on GitHub (Jan 5, 2021): I can confirm this issue
Author
Owner

@SteveDinn commented on GitHub (Jan 5, 2021):

I realized that my bug only mentioned BubbleUPnP, but I also tested via a WDTV Live device and VLC for Android as well with the same results.

@SteveDinn commented on GitHub (Jan 5, 2021): I realized that my bug only mentioned BubbleUPnP, but I also tested via a WDTV Live device and VLC for Android as well with the same results.
Author
Owner

@BaronGreenback commented on GitHub (Jan 5, 2021):

Running on windows. Can see the server in both VLC running locally and with BubbleUPnP - so could do with some help tracking this down.

Could you post or PM me your network.xml settings file please - so i can replicate here?

@BaronGreenback commented on GitHub (Jan 5, 2021): Running on windows. Can see the server in both VLC running locally and with BubbleUPnP - so could do with some help tracking this down. Could you post or PM me your network.xml settings file please - so i can replicate here?
Author
Owner

@SteveDinn commented on GitHub (Jan 5, 2021):

Here you go. The first thing I noticed is that "EnableUPnP" was set to false. However, I tried setting this to true, but I still can't see the server in BubbleUPnP. Are there any other settings I should try here?

<?xml version="1.0" encoding="utf-8"?>
<NetworkConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <EnableUPnP>false</EnableUPnP>
  <PublicPort>80</PublicPort>
  <UPnPCreateHttpPortMap>false</UPnPCreateHttpPortMap>
  <UDPPortRange />
  <EnableIPV6>false</EnableIPV6>
  <EnableIPV4>true</EnableIPV4>
  <EnableSSDPTracing>false</EnableSSDPTracing>
  <SSDPTracingFilter />
  <UDPSendCount>2</UDPSendCount>
  <UDPSendDelay>100</UDPSendDelay>
  <IgnoreVirtualInterfaces>false</IgnoreVirtualInterfaces>
  <VirtualInterfaceNames>vEthernet*</VirtualInterfaceNames>
  <GatewayMonitorPeriod>60</GatewayMonitorPeriod>
  <TrustAllIP6Interfaces>false</TrustAllIP6Interfaces>
  <HDHomerunPortRange />
  <PublishedServerUriBySubnet />
  <AutoDiscoveryTracing>false</AutoDiscoveryTracing>
  <AutoDiscovery>true</AutoDiscovery>
  <PublicHttpsPort>443</PublicHttpsPort>
  <HttpServerPortNumber>8096</HttpServerPortNumber>
  <HttpsPortNumber>8920</HttpsPortNumber>
  <EnableHttps>false</EnableHttps>
  <CertificatePath />
  <CertificatePassword />
  <EnableRemoteAccess>true</EnableRemoteAccess>
  <BaseUrl />
  <LocalNetworkSubnets>
    <string>10.1.1.0/24</string>
  </LocalNetworkSubnets>
  <LocalNetworkAddresses />
  <RequireHttps>false</RequireHttps>
  <RemoteIPFilter />
  <IsRemoteIPFilterBlacklist>false</IsRemoteIPFilterBlacklist>
  <KnownProxies />
</NetworkConfiguration>
@SteveDinn commented on GitHub (Jan 5, 2021): Here you go. The first thing I noticed is that "EnableUPnP" was set to false. However, I tried setting this to true, but I still can't see the server in BubbleUPnP. Are there any other settings I should try here? ``` <?xml version="1.0" encoding="utf-8"?> <NetworkConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <EnableUPnP>false</EnableUPnP> <PublicPort>80</PublicPort> <UPnPCreateHttpPortMap>false</UPnPCreateHttpPortMap> <UDPPortRange /> <EnableIPV6>false</EnableIPV6> <EnableIPV4>true</EnableIPV4> <EnableSSDPTracing>false</EnableSSDPTracing> <SSDPTracingFilter /> <UDPSendCount>2</UDPSendCount> <UDPSendDelay>100</UDPSendDelay> <IgnoreVirtualInterfaces>false</IgnoreVirtualInterfaces> <VirtualInterfaceNames>vEthernet*</VirtualInterfaceNames> <GatewayMonitorPeriod>60</GatewayMonitorPeriod> <TrustAllIP6Interfaces>false</TrustAllIP6Interfaces> <HDHomerunPortRange /> <PublishedServerUriBySubnet /> <AutoDiscoveryTracing>false</AutoDiscoveryTracing> <AutoDiscovery>true</AutoDiscovery> <PublicHttpsPort>443</PublicHttpsPort> <HttpServerPortNumber>8096</HttpServerPortNumber> <HttpsPortNumber>8920</HttpsPortNumber> <EnableHttps>false</EnableHttps> <CertificatePath /> <CertificatePassword /> <EnableRemoteAccess>true</EnableRemoteAccess> <BaseUrl /> <LocalNetworkSubnets> <string>10.1.1.0/24</string> </LocalNetworkSubnets> <LocalNetworkAddresses /> <RequireHttps>false</RequireHttps> <RemoteIPFilter /> <IsRemoteIPFilterBlacklist>false</IsRemoteIPFilterBlacklist> <KnownProxies /> </NetworkConfiguration> ```
Author
Owner

@BaronGreenback commented on GitHub (Jan 5, 2021):

Thanks - UPnP is something different. It opens inbound ports on the router. I would recommend disabling it.

@BaronGreenback commented on GitHub (Jan 5, 2021): Thanks - UPnP is something different. It opens inbound ports on the router. I would recommend disabling it.
Author
Owner

@BaronGreenback commented on GitHub (Jan 5, 2021):

Is the ip address of the device trying to connect via dlna in the 10.1.1.0/24 subnet?

@BaronGreenback commented on GitHub (Jan 5, 2021): Is the ip address of the device trying to connect via dlna in the 10.1.1.0/24 subnet?
Author
Owner

@SteveDinn commented on GitHub (Jan 5, 2021):

Yes. That's my main home network. Everything is on that subnet. It's not an issue with network topology though. Jellyfin 10.6.4 doesn't have this issue in the same environment.

@SteveDinn commented on GitHub (Jan 5, 2021): Yes. That's my main home network. Everything is on that subnet. It's not an issue with network topology though. Jellyfin 10.6.4 doesn't have this issue in the same environment.
Author
Owner

@BaronGreenback commented on GitHub (Jan 5, 2021):

just out of curiosity - could you launch the dlna client before starting jellyfin - i've encountered some severe delays in detection before now?

@BaronGreenback commented on GitHub (Jan 5, 2021): just out of curiosity - could you launch the dlna client before starting jellyfin - i've encountered some severe delays in detection before now?
Author
Owner

@BaronGreenback commented on GitHub (Jan 5, 2021):

Also, could you enable debug logging for in logging.default.json please, and send me the logs?

"Serilog": {
"MinimumLevel": {
"Default": "Debug",

@BaronGreenback commented on GitHub (Jan 5, 2021): Also, could you enable debug logging for in logging.default.json please, and send me the logs? "Serilog": { "MinimumLevel": { "Default": "Debug",
Author
Owner

@SteveDinn commented on GitHub (Jan 6, 2021):

I had my DLNA client open and searching for servers while I started up Jellyfin.
https://gist.github.com/SteveDinn/b3f8d70764749cf4a409d81879431ccd

Curiously enough, it finds one of my network-enabled receivers, but DLNA clients cannot find it.

@SteveDinn commented on GitHub (Jan 6, 2021): I had my DLNA client open and searching for servers while I started up Jellyfin. https://gist.github.com/SteveDinn/b3f8d70764749cf4a409d81879431ccd Curiously enough, it finds one of my network-enabled receivers, but DLNA clients cannot find it.
Author
Owner

@BaronGreenback commented on GitHub (Jan 6, 2021):

Is 172.18.0.1 your docker interface?

@BaronGreenback commented on GitHub (Jan 6, 2021): Is 172.18.0.1 your docker interface?
Author
Owner

@SteveDinn commented on GitHub (Jan 6, 2021):

Yes, the container is running in host network mode, but that 172 IP is the container's docker network interface.

@SteveDinn commented on GitHub (Jan 6, 2021): Yes, the container is running in host network mode, but that 172 IP is the container's docker network interface.
Author
Owner

@BaronGreenback commented on GitHub (Jan 6, 2021):

At first guess, i think it's trying to use the external interface (172 is not in the internal lan, hence is external) to transmit on. I'll double check. Could you change the ignorevirtualinterfaces property to true and retry please?

@BaronGreenback commented on GitHub (Jan 6, 2021): At first guess, i think it's trying to use the external interface (172 is not in the internal lan, hence is external) to transmit on. I'll double check. Could you change the ignorevirtualinterfaces property to true and retry please?
Author
Owner

@BaronGreenback commented on GitHub (Jan 6, 2021):

This request might sound a bit weird, and you might want to PM the response - but can you send me a list of all the interfaces on the docker instance. I could do with knowing the interface name, ip address, subnet and next hop addresses for each interface.

The network manager instance has, for testing, a parameter that enables test networks to be be defined (it was a lot easier that creating an entire mock network subsystem). By providing that info, I can recreate your network environment on my system in order that I can try to replicate what is happening.

@BaronGreenback commented on GitHub (Jan 6, 2021): This request might sound a bit weird, and you might want to PM the response - but can you send me a list of all the interfaces on the docker instance. I could do with knowing the interface name, ip address, subnet and next hop addresses for each interface. The network manager instance has, for testing, a parameter that enables test networks to be be defined (it was a lot easier that creating an entire mock network subsystem). By providing that info, I can recreate your network environment on my system in order that I can try to replicate what is happening.
Author
Owner

@SteveDinn commented on GitHub (Jan 6, 2021):

running 'docker container jellyfin inspect' yields this "NetworkSettings" section:

        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "c59ff1c144cc73a3484c9055098f47951ff89aa535566810a9342b8dbcac4b54",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/default",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "host": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "6bdd1dee8af2b2613dc38974bbbcd0f078d361edcde402e992f3483fdb5da8fa",
                    "EndpointID": "a7c633b042f7327a7d017faf00d2c6498470153cf097e463253ed23c8ad65a23",
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "",
                    "DriverOpts": null
                }
            }
        }

Installing net-tools inside the jellyfin container and running ifconfig yields many more interfaces than I thought for running in 'host' mode. I only expected it to have the 10.1.1.6 address.

br-e59c26d59e21: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.18.0.1  netmask 255.255.0.0  broadcast 172.18.255.255
        inet6 fe80::42:31ff:feba:106c  prefixlen 64  scopeid 0x20<link>
        RX packets 331197  bytes 605558516 (577.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1545934  bytes 2564356024 (2.3 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:5fff:fe60:6df3  prefixlen 64  scopeid 0x20<link>
        RX packets 7791  bytes 965201 (942.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8653  bytes 10567324 (10.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.1.6  netmask 255.255.255.0  broadcast 10.1.1.255
        inet6 fe80::dea6:32ff:fecc:77b4  prefixlen 64  scopeid 0x20<link>
        RX packets 7327560  bytes 5390817946 (5.0 GiB)
        RX errors 0  dropped 11385  overruns 0  frame 0
        TX packets 13397940  bytes 18004497546 (16.7 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1530259  bytes 724305453 (690.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1530259  bytes 724305453 (690.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth38ba463: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::5433:6fff:fef3:9f9f  prefixlen 64  scopeid 0x20<link>
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 21098  bytes 5999192 (5.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vethbd3541a: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::5c70:96ff:feae:d517  prefixlen 64  scopeid 0x20<link>
        ether 5e:70:96:ae:d5:17  txqueuelen 0  (Ethernet)
        RX packets 173117  bytes 11630758 (11.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 997872  bytes 1732985958 (1.6 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vethde7eff0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::68f0:beff:fe4e:e643  prefixlen 64  scopeid 0x20<link>
        ether 6a:f0:be:4e:e6:43  txqueuelen 0  (Ethernet)
        RX packets 68730  bytes 592502511 (565.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 84408  bytes 11986752 (11.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
@SteveDinn commented on GitHub (Jan 6, 2021): running 'docker container jellyfin inspect' yields this "NetworkSettings" section: ``` "NetworkSettings": { "Bridge": "", "SandboxID": "c59ff1c144cc73a3484c9055098f47951ff89aa535566810a9342b8dbcac4b54", "HairpinMode": false, "LinkLocalIPv6Address": "", "LinkLocalIPv6PrefixLen": 0, "Ports": {}, "SandboxKey": "/var/run/docker/netns/default", "SecondaryIPAddresses": null, "SecondaryIPv6Addresses": null, "EndpointID": "", "Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "IPAddress": "", "IPPrefixLen": 0, "IPv6Gateway": "", "MacAddress": "", "Networks": { "host": { "IPAMConfig": null, "Links": null, "Aliases": null, "NetworkID": "6bdd1dee8af2b2613dc38974bbbcd0f078d361edcde402e992f3483fdb5da8fa", "EndpointID": "a7c633b042f7327a7d017faf00d2c6498470153cf097e463253ed23c8ad65a23", "Gateway": "", "IPAddress": "", "IPPrefixLen": 0, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "", "DriverOpts": null } } } ``` Installing net-tools inside the jellyfin container and running ifconfig yields many more interfaces than I thought for running in 'host' mode. I only expected it to have the 10.1.1.6 address. ``` br-e59c26d59e21: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255 inet6 fe80::42:31ff:feba:106c prefixlen 64 scopeid 0x20<link> RX packets 331197 bytes 605558516 (577.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1545934 bytes 2564356024 (2.3 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255 inet6 fe80::42:5fff:fe60:6df3 prefixlen 64 scopeid 0x20<link> RX packets 7791 bytes 965201 (942.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 8653 bytes 10567324 (10.0 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.1.1.6 netmask 255.255.255.0 broadcast 10.1.1.255 inet6 fe80::dea6:32ff:fecc:77b4 prefixlen 64 scopeid 0x20<link> RX packets 7327560 bytes 5390817946 (5.0 GiB) RX errors 0 dropped 11385 overruns 0 frame 0 TX packets 13397940 bytes 18004497546 (16.7 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 1530259 bytes 724305453 (690.7 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1530259 bytes 724305453 (690.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 veth38ba463: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::5433:6fff:fef3:9f9f prefixlen 64 scopeid 0x20<link> RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 21098 bytes 5999192 (5.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 vethbd3541a: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::5c70:96ff:feae:d517 prefixlen 64 scopeid 0x20<link> ether 5e:70:96:ae:d5:17 txqueuelen 0 (Ethernet) RX packets 173117 bytes 11630758 (11.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 997872 bytes 1732985958 (1.6 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 vethde7eff0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::68f0:beff:fe4e:e643 prefixlen 64 scopeid 0x20<link> ether 6a:f0:be:4e:e6:43 txqueuelen 0 (Ethernet) RX packets 68730 bytes 592502511 (565.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 84408 bytes 11986752 (11.4 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ```
Author
Owner

@SteveDinn commented on GitHub (Jan 6, 2021):

I won't get a chance to try changing the "IgnoreVirtualInterfaces" value until later tonight.

@SteveDinn commented on GitHub (Jan 6, 2021): I won't get a chance to try changing the "IgnoreVirtualInterfaces" value until later tonight.
Author
Owner

@SteveDinn commented on GitHub (Jan 6, 2021):

Changing IgnoreVirtualInterfaces didn't do anything.

@SteveDinn commented on GitHub (Jan 6, 2021): Changing IgnoreVirtualInterfaces didn't do anything.
Author
Owner

@BaronGreenback commented on GitHub (Jan 7, 2021):

So far rules out network settings.
Logs show that ssdp is working and that dlna is advertising.

Only other thing i can think of is an invalid service description.

Could you post the response from the following page please?

http://10.1.1.6/dlna/27bdfb0730424b74a41e742c664c1a81/description.xml

This should be the server's dlna description.

@BaronGreenback commented on GitHub (Jan 7, 2021): So far rules out network settings. Logs show that ssdp is working and that dlna is advertising. Only other thing i can think of is an invalid service description. Could you post the response from the following page please? http://10.1.1.6/dlna/27bdfb0730424b74a41e742c664c1a81/description.xml This should be the server's dlna description.
Author
Owner

@SteveDinn commented on GitHub (Jan 7, 2021):

I formatted the XML for readability, but here it is:

<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0"
    xmlns:dlna="urn:schemas-dlna-org:device-1-0">
    <specVersion>
        <major>1</major>
        <minor>0</minor>
    </specVersion>
    <device>
        <dlna:X_DLNACAP/>
        <dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMS-1.50</dlna:X_DLNADOC>
        <dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">M-DMS-1.50</dlna:X_DLNADOC>
        <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
        <friendlyName>Jellyfin - Jellyfin</friendlyName>
        <manufacturer>Jellyfin</manufacturer>
        <manufacturerURL>https://github.com/jellyfin/jellyfin</manufacturerURL>
        <modelDescription>UPnP/AV 1.0 Compliant Media Server</modelDescription>
        <modelName>Jellyfin Server</modelName>
        <modelNumber>01</modelNumber>
        <modelURL>https://github.com/jellyfin/jellyfin</modelURL>
        <serialNumber>27bdfb0730424b74a41e742c664c1a81</serialNumber>
        <UPC/>
        <UDN>uuid:27bdfb0730424b74a41e742c664c1a81</UDN>
        <iconList>
            <icon>
                <mimetype>image/png</mimetype>
                <width>240</width>
                <height>240</height>
                <depth>24</depth>
                <url>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/icons/logo240.png</url>
            </icon>
            <icon>
                <mimetype>image/jpeg</mimetype>
                <width>240</width>
                <height>240</height>
                <depth>24</depth>
                <url>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/icons/logo240.jpg</url>
            </icon>
            <icon>
                <mimetype>image/png</mimetype>
                <width>120</width>
                <height>120</height>
                <depth>24</depth>
                <url>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/icons/logo120.png</url>
            </icon>
            <icon>
                <mimetype>image/jpeg</mimetype>
                <width>120</width>
                <height>120</height>
                <depth>24</depth>
                <url>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/icons/logo120.jpg</url>
            </icon>
            <icon>
                <mimetype>image/png</mimetype>
                <width>48</width>
                <height>48</height>
                <depth>24</depth>
                <url>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/icons/logo48.png</url>
            </icon>
            <icon>
                <mimetype>image/jpeg</mimetype>
                <width>48</width>
                <height>48</height>
                <depth>24</depth>
                <url>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/icons/logo48.jpg</url>
            </icon>
        </iconList>
        <presentationURL>http://10.1.1.6:8096/web/index.html</presentationURL>
        <serviceList>
            <service>
                <serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
                <serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
                <SCPDURL>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/contentdirectory/contentdirectory.xml</SCPDURL>
                <controlURL>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/contentdirectory/control</controlURL>
                <eventSubURL>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/contentdirectory/events</eventSubURL>
            </service>
            <service>
                <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
                <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
                <SCPDURL>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/connectionmanager/connectionmanager.xml</SCPDURL>
                <controlURL>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/connectionmanager/control</controlURL>
                <eventSubURL>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/connectionmanager/events</eventSubURL>
            </service>
        </serviceList>
    </device>
</root>
@SteveDinn commented on GitHub (Jan 7, 2021): I formatted the XML for readability, but here it is: ``` <?xml version="1.0"?> <root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:dlna="urn:schemas-dlna-org:device-1-0"> <specVersion> <major>1</major> <minor>0</minor> </specVersion> <device> <dlna:X_DLNACAP/> <dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMS-1.50</dlna:X_DLNADOC> <dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">M-DMS-1.50</dlna:X_DLNADOC> <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType> <friendlyName>Jellyfin - Jellyfin</friendlyName> <manufacturer>Jellyfin</manufacturer> <manufacturerURL>https://github.com/jellyfin/jellyfin</manufacturerURL> <modelDescription>UPnP/AV 1.0 Compliant Media Server</modelDescription> <modelName>Jellyfin Server</modelName> <modelNumber>01</modelNumber> <modelURL>https://github.com/jellyfin/jellyfin</modelURL> <serialNumber>27bdfb0730424b74a41e742c664c1a81</serialNumber> <UPC/> <UDN>uuid:27bdfb0730424b74a41e742c664c1a81</UDN> <iconList> <icon> <mimetype>image/png</mimetype> <width>240</width> <height>240</height> <depth>24</depth> <url>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/icons/logo240.png</url> </icon> <icon> <mimetype>image/jpeg</mimetype> <width>240</width> <height>240</height> <depth>24</depth> <url>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/icons/logo240.jpg</url> </icon> <icon> <mimetype>image/png</mimetype> <width>120</width> <height>120</height> <depth>24</depth> <url>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/icons/logo120.png</url> </icon> <icon> <mimetype>image/jpeg</mimetype> <width>120</width> <height>120</height> <depth>24</depth> <url>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/icons/logo120.jpg</url> </icon> <icon> <mimetype>image/png</mimetype> <width>48</width> <height>48</height> <depth>24</depth> <url>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/icons/logo48.png</url> </icon> <icon> <mimetype>image/jpeg</mimetype> <width>48</width> <height>48</height> <depth>24</depth> <url>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/icons/logo48.jpg</url> </icon> </iconList> <presentationURL>http://10.1.1.6:8096/web/index.html</presentationURL> <serviceList> <service> <serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType> <serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId> <SCPDURL>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/contentdirectory/contentdirectory.xml</SCPDURL> <controlURL>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/contentdirectory/control</controlURL> <eventSubURL>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/contentdirectory/events</eventSubURL> </service> <service> <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType> <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId> <SCPDURL>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/connectionmanager/connectionmanager.xml</SCPDURL> <controlURL>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/connectionmanager/control</controlURL> <eventSubURL>http://10.1.1.6:8096/dlna/27bdfb0730424b74a41e742c664c1a81/connectionmanager/events</eventSubURL> </service> </serviceList> </device> </root> ```
Author
Owner

@SteveDinn commented on GitHub (Jan 7, 2021):

Random thought...when the DLNA server is broadcasted, does it advertise "http://10.1.1.6:8096" or "https://jellyfin.mydomain.com"? My domain resolves to my public IP via my reverse proxy which would not be on my 10.1.1.0/24 network.

@SteveDinn commented on GitHub (Jan 7, 2021): Random thought...when the DLNA server is broadcasted, does it advertise "http://10.1.1.6:8096" or "https://jellyfin.mydomain.com"? My domain resolves to my public IP via my reverse proxy which would not be on my 10.1.1.0/24 network.
Author
Owner

@BaronGreenback commented on GitHub (Jan 7, 2021):

It advertises the link above - so that is more than likely the issue.

If you've got dns set up you could try the equivalent of url rewriting (see below) - however, be warned - it may not work as the DLNA standard is a bit grey in this area, as DLNA is meant to be LAN accessible only. I know VLC doesn't like it.

DLNA also doesn't support https we don't think (DLNA 2.0 does have a setting - but again, the standard is a bit vague so it's a try and see).

Try adding the following to your network.xml file. It should cause all external addresses to be re-written with jellyfin.mydomain.com.

<PublishedServerUriBySubnet>
<string>external=jellyfin.mydomain.com</string>
</PublishedServerUriBySubnet>
@BaronGreenback commented on GitHub (Jan 7, 2021): It advertises the link above - so that is more than likely the issue. If you've got dns set up you could try the equivalent of url rewriting (see below) - however, be warned - it may not work as the DLNA standard is a bit grey in this area, as DLNA is meant to be LAN accessible only. I know VLC doesn't like it. DLNA also doesn't support https we don't think (DLNA 2.0 does have a setting - but again, the standard is a bit vague so it's a try and see). Try adding the following to your network.xml file. It should cause all external addresses to be re-written with jellyfin.mydomain.com. ``` <PublishedServerUriBySubnet> <string>external=jellyfin.mydomain.com</string> </PublishedServerUriBySubnet> ```
Author
Owner

@SteveDinn commented on GitHub (Jan 7, 2021):

It should be fine if it advertises the IP address, I can access Jellyfin via either that or my reverse proxy -- both work. But I still don't see the DLNA server at all, via any address.

@SteveDinn commented on GitHub (Jan 7, 2021): It should be fine if it advertises the IP address, I can access Jellyfin via either that or my reverse proxy -- both work. But I still don't see the DLNA server at all, via any address.
Author
Owner

@BaronGreenback commented on GitHub (Jan 7, 2021):

Just as a though - have you added your proxy into the knownProxies field - (it's something that was added into dotnet.)

@BaronGreenback commented on GitHub (Jan 7, 2021): Just as a though - have you added your proxy into the knownProxies field - (it's something that was added into dotnet.)
Author
Owner

@SteveDinn commented on GitHub (Jan 7, 2021):

That should be nothing to do with DLNA. I thought that was more of an "incoming HTTP request" setting.

Anyway, I'm happy to test or check anything else you need. I would really like this to work :)

@SteveDinn commented on GitHub (Jan 7, 2021): That should be nothing to do with DLNA. I thought that was more of an "incoming HTTP request" setting. Anyway, I'm happy to test or check anything else you need. I would really like this to work :)
Author
Owner

@BaronGreenback commented on GitHub (Jan 7, 2021):

DLNA works over http. It only communicates availability over UDP (using the protocol SSDP).

Once location has been established, and addresses have been passed - it's pure HTTP, so you might be able to pick up the traffic with your proxy.

@BaronGreenback commented on GitHub (Jan 7, 2021): DLNA works over http. It only communicates availability over UDP (using the protocol SSDP). Once location has been established, and addresses have been passed - it's pure HTTP, so you might be able to pick up the traffic with your proxy.
Author
Owner

@SteveDinn commented on GitHub (Jan 7, 2021):

It's the availability that is the issue. I have no trouble playing content or browsing over HTTP, regardless of the way I access it, but I just don't see the server show up when I browse for DLNA sources.

Maybe I don't understand enough about how DLNA works, but it seems like it's just part that you mentioned that happens over UDP that is the issue -- the communication of availability.

@SteveDinn commented on GitHub (Jan 7, 2021): It's the availability that is the issue. I have no trouble playing content or browsing over HTTP, regardless of the way I access it, but I just don't see the server show up when I browse for DLNA sources. Maybe I don't understand enough about how DLNA works, but it seems like it's just part that you mentioned that happens over UDP that is the issue -- the communication of availability.
Author
Owner

@BaronGreenback commented on GitHub (Jan 7, 2021):

From your logs above - it looks like the UDP part is working - as it uses the same system as PlayTo.

[18:26:00] [DBG] [16] Emby.Dlna.Main.DlnaEntryPoint: Attempting to create PlayToController from location http://10.1.1.71:8888/upnp_descriptor_0
[18:26:00] [DBG] [4] Jellyfin.Networking.Manager.NetworkManager: GetBindInterface: Source: True, External: True:
[18:26:00] [DBG] [4] Jellyfin.Networking.Manager.NetworkManager: Any IP4 Address: GetBindInterface: Selected first external interface. 172.18.0.1
[18:26:00] [DBG] [4] Emby.Dlna.Main.DlnaEntryPoint: Dlna Device.Start
[18:26:00] [INF] [4] Emby.Dlna.DlnaManager: No matching device profile found. The default will need to be used.
[18:26:00] [INF] [4] Emby.Dlna.Main.DlnaEntryPoint: DLNA Session created for Livingroom amp - VSX-LX301

What happens immediately after this is the client requests the info passed back via udp. In your case, the client will request via http http://10.1.1.6/dlna/27bdfb0730424b74a41e742c664c1a81/description.xml

If that response is returned, and it's valid, it appears in the list.

Can you client get to http://10.1.1.6/dlna/27bdfb0730424b74a41e742c664c1a81/description.xml ?

@BaronGreenback commented on GitHub (Jan 7, 2021): From your logs above - it looks like the UDP part is working - as it uses the same system as PlayTo. ``` [18:26:00] [DBG] [16] Emby.Dlna.Main.DlnaEntryPoint: Attempting to create PlayToController from location http://10.1.1.71:8888/upnp_descriptor_0 [18:26:00] [DBG] [4] Jellyfin.Networking.Manager.NetworkManager: GetBindInterface: Source: True, External: True: [18:26:00] [DBG] [4] Jellyfin.Networking.Manager.NetworkManager: Any IP4 Address: GetBindInterface: Selected first external interface. 172.18.0.1 [18:26:00] [DBG] [4] Emby.Dlna.Main.DlnaEntryPoint: Dlna Device.Start [18:26:00] [INF] [4] Emby.Dlna.DlnaManager: No matching device profile found. The default will need to be used. [18:26:00] [INF] [4] Emby.Dlna.Main.DlnaEntryPoint: DLNA Session created for Livingroom amp - VSX-LX301 ``` What happens immediately after this is the client requests the info passed back via udp. In your case, the client will request via http _http://10.1.1.6/dlna/27bdfb0730424b74a41e742c664c1a81/description.xml_ If that response is returned, and it's valid, it appears in the list. Can you client get to http://10.1.1.6/dlna/27bdfb0730424b74a41e742c664c1a81/description.xml ?
Author
Owner

@SteveDinn commented on GitHub (Jan 7, 2021):

Have you left off the port purposefully, or is it just not there? I can get this document if I use 8096. That's what I posted above:
https://github.com/jellyfin/jellyfin/issues/4949#issuecomment-755733265

@SteveDinn commented on GitHub (Jan 7, 2021): Have you left off the port purposefully, or is it just not there? I can get this document if I use 8096. That's what I posted above: https://github.com/jellyfin/jellyfin/issues/4949#issuecomment-755733265
Author
Owner

@SteveDinn commented on GitHub (Jan 7, 2021):

Looking back at my log, the advertised DLNA server is missing the port! I'm sure that is the problem:

[18:25:53] [DBG] [1] Emby.Dlna.Main.DlnaEntryPoint: Device Added MediaServer - 27bdfb0730424b74a41e742c664c1a81 - http://10.1.1.6/dlna/27bdfb0730424b74a41e742c664c1a81/description.xml
@SteveDinn commented on GitHub (Jan 7, 2021): Looking back at my log, the advertised DLNA server is missing the port! I'm sure that is the problem: ``` [18:25:53] [DBG] [1] Emby.Dlna.Main.DlnaEntryPoint: Device Added MediaServer - 27bdfb0730424b74a41e742c664c1a81 - http://10.1.1.6/dlna/27bdfb0730424b74a41e742c664c1a81/description.xml ```
Author
Owner

@BaronGreenback commented on GitHub (Jan 7, 2021):

it will be - i'll submit a backported pr

@BaronGreenback commented on GitHub (Jan 7, 2021): it will be - i'll submit a backported pr
Author
Owner

@BaronGreenback commented on GitHub (Jan 7, 2021):

Bug is that i've used PublicPort and not HttpServerPortNumber.

I take it your public port is 80.

@BaronGreenback commented on GitHub (Jan 7, 2021): Bug is that i've used PublicPort and not HttpServerPortNumber. I take it your public port is 80.
Author
Owner

@SteveDinn commented on GitHub (Jan 7, 2021):

Not on the 10.1.1.6 interface, it isn't. Nothing on the Jellyfin machine listens on 80. The only port the container knows about is 8096.
The reverse proxy (on a completely different machine) is proxying port 80 to http://10.1.1.6:8096, but that's the only time port 80 ever comes into the equation.

I take it back. Right at the bottom of the Networking page on the dashboard, 80 & 443 are the defaults for public HTTP/HTTPS ports.

@SteveDinn commented on GitHub (Jan 7, 2021): ~~Not on the 10.1.1.6 interface, it isn't. Nothing on the Jellyfin machine listens on 80. The only port the container knows about is 8096. The reverse proxy (on a completely different machine) is proxying port 80 to http://10.1.1.6:8096, but that's the only time port 80 ever comes into the equation.~~ I take it back. Right at the bottom of the Networking page on the dashboard, 80 & 443 are the defaults for public HTTP/HTTPS ports.
Author
Owner

@BaronGreenback commented on GitHub (Jan 7, 2021):

Submitted the PR. Thanks for your help in tracking this one down.

@BaronGreenback commented on GitHub (Jan 7, 2021): Submitted the PR. Thanks for your help in tracking this one down.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#2472