Hi everyone!

I've solved for myself the most awfull problem with my Philips TV 32PFL9705 and MediaTomb. Like on other forums I had a trouble with TV spontaneously disconnecting from MediaTomb after while. This happend during watching a film, in 30-40 minutes after start. TV just dropped the movie, returning to cable programs and stoped showing my MediaTomb server in server list. I had to restart my TV to make server back available.

A peace of theory. TV uses a so-called SSDP protocol to obtain a list of media servers and there resources. In the same time it uses a different method of resource discovery (broadcast to port 1900, I guess) which makes all media servers answer him immediately. It starts showing resources, playing movies even if it has no answer to SSDP request, just by using unicast connection to media server. But it keeps trying! :) It does one time a second multicast request by SSDP protocol to the network and after a while (30-40 minutes) if our media server doesn't answer it delist it and stop any further communication with it. Strange logic, indeed.
What we have to do is to make our media server joining multicast group and provid Philips TV a list of resources by SSDP.

It's quite easy:
1. Make your interface connected with TV accepting multicast queries. I made this by adding:

up ifconfig eth1 allmulti

to /etc/networks after interface definition. So it has started to look like this:

iface eth1 inet static
    address 192.168.1.1
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    up ifconfig eth1 allmulti

(this step could be optional and I suggest skiping it at the beginig!)
2. Configure your route table by adding route 239.0.0.0/8 pointing to your interface. If you installed MediaTomb from "ports", like I did on my Debian, you will already have it done by start script. Check it in /etc/default/mediatomb on Debian like distros, and by typing route in command shell. You should see this line:

239.0.0.0       *               255.0.0.0       U     0      0        0 eth1

3. Configure a firewall if you have one. This step hold me for 3 days, till I understood it's mandatory. If using iptables you should add these lines to filter table:

-A INPUT -d 239.0.0.0/8 -i eth1 -j ACCEPT 
-A OUTPUT -d 239.0.0.0/8 -o eth1 -j ACCEPT

This shall solve the problem described above. At least, it solved the problem for me.
Hope this guide will be helpful!