I have a wired LAN and a wifi network at home. They are not bridged but are two different subnets coupled by my router.
My twonky server is running on my NAS, connected to the wired LAN. I'm running BubbleUPnP client on my phone which is connected to wifi.
The client needs to see the server, and this is done by SSDP multicast packets (to 18.104.22.168 port 1900). My router is forwarding these packets between the subnets, and this works fine.
There are 2 ways for the client to see the Twonky server:
1) The Twonky server sends out a SSDP multicast Notify message. This message is received by the client and the server shows up in the library list. The disadvantage is that the server is sending this Notify message only once every minute. So you have to wait for max a minute before the server shows in the library.
2) The client software sends out a SSDP multicast M-Search message. The twonky server receives this message, and sends back a UDP message. This way the client is instantly aware of the server and it should show up in the library.
The first way works fine, but has the disadvantage of the delay. The second way worked when both client and server where connected to the same network (subnet). In my case the client is on another subnet, and then it doesn't seem to work.
I did some tests with wireshark on my PC and tcpdump on the router to analyse the network traffic between the client and the server.
I can see the M-Search multicast request message is arriving at the server (with same subnet and with different subnet). When the client is in the same subnet, I can see the server is sending back an UDP unicast answer message to the client. But when the client is in the other subnet, the server isn't answering the request. I don't know why the server isn't answering the request, he should be able to because he can send the answer to the client through the router. The NAS server is perfectly reachable in the other subnet, and as mentioned the Twonky server is reachable from the other subnet as soon as the Notify message is received.
How can I change this behaviour of the server? Is there a config file setting or so that can change this?