Third time lucky, as the saying goes.

Having given up trying to get IPTV to work twice before I didn’t hold much hope for a third and final attempt. Again I had no luck on my desktop PC, however I fired up a browser on a different PC and to my surprise it worked immediately.

This confirmed that it was not a problem with my router or the ISP. I quickly realised it could be a problem with the routing of multicast packets (required for IPTV, but rarely used otherwise) and as my main PC had dual NICs there could be a configuration issue.

For IPTV to work the default multicast interface must be the same interface that routes to the internet. For some unknown reason WindowsXP had decided to set the default multicast route to the private LAN, despite the fact that the default route for all other packets was the router.

The quick fix is to update the metrics (priorities) for the multicast routes. Do a route print to see the current table, then update each multicast route such that the Internet gateway IP has the lowest metric:

route add 224.0.0.0 MASK 240.0.0.0 <gateway IP> METRIC 10 -p

This will update the metric to “10″ for the given gateway IP, -p means persistent, so it should remain the same after a reboot.

References

Default Interface for Multicast on Windows
How to change the binding order of network adapters in Windows XP and in Windows 2000