Udpxy with igmpproxy

Hello, I need a little help with my configuration.
I'm trying to configure my openwrt router for IPTV (following the documentation).

I managed to configure igmpproxy, and I can acces the multicast TV that my ISP is streaming on my LAN (I have a managed switch with IGMP snooping).

I'm also trying to add udpxy to change multicast to unicast (for VPN usage, etc)
If I configure udpxy on an other openwrt access point I have at home, connected on my LAN, the configuration works and I can use : http:IPoftheAP:udpxyport/rtp/multicast:port.

But with the same config on my openwrt router it doesn't work.

I tried :

  • adding localhost interface in igmpproxy
  • configuring udpxy source as my routeur IP, or as localhost etc
  • adding a route table for multicast
    But it doesn't work and I don't understand why...

Here is my igmpproxy config :

config igmpproxy
#	option quickleave 1
#	option verbose [0-3](none, minimal[default], more, maximum)

config phyint
	option network wan
	option zone wan
	option direction upstream
	list altnet 0.0.0.0/0

config phyint
	option network lan
	option zone lan
	option direction downstream

config phyint
	option network invite
	option zone invite
	option direction downstream

And my udpxy config :

config udpxy
	option respawn '1'
	option status '1'
	option disabled '0'
	option verbose '0'
	option port '4022'

What do I have to change ?

Thanks

You need bind interface of udpxy listen to, exmaple:

config udpxy
       .......................
       option bind 'br-lan'

It doesn't work.
I tried :

  • bind 'br-lan'
  • bind myrouteurlanIP
  • without bind ( = 0.0.0.0)
  • option source 'br-lan'
  • option source 'eth0.1' (my wan)
  • option source myrouteurlanIP
  • without option source

I can connect to the udpxy server : when I try, I can see my client IP listed on the interface of udpxy (at http://myrouteurIP:4022/status ).
Also, installing udpxy on an other server/routeur/acces point on my network, it works
So it's udpxy in my routeur that cannot connect to the multicast group, or cannot work with igmpproxy.

I don't really understand where is the problem

sounds like maybe firewall issue, not sure.

possible but in the doc it is written that igmpproxy takes care of opening the firewall. I can acces the multicast group on my PC and see the video. I don't understand why udpxy can't connect the same way on the multicast group, with igmpproxy "catching" the request of joining of udpxy

I tried adding localhost in igmpproxy, but that changes nothing. Or maybe I didn't do it the right way.

it's very possible the assumption is that the router is a router, not a client, your symptoms are that forwarding works ok but input not. I'm thinking you need input rules

ok, but I would prefere not opening firewall. The best solution would be to run udpxy as a client so the request to join multicast group would be catch by igmpproxy.
Maybe by changing routing table ? But I don't know what to change

Thanks for the help

just to update the topic :

udpxy is configured with sources as my LAN router IP but I have a problem :
If the multicast stream is active on the lan (on another machine for exemple), udpxy works and I can get the unicast stream of this multicast from udpxy.
But if this multicast stream is not active, udpxy can't access this stream.
Also if I stop the multicast stream in all my machines on my LAN, the unicast stream from udpxy stops after about 10 seconds.

It looks as if I have a problem on my network config, but I cannot figure out what it is.
Can anyone help ?

Where is the multicast stream originating from? on the LAN or the WAN?

I looked back in the history, it looks like it's the WAN from your ISP TV streams...

I haven't looked into udpxy recently, but does it have a system to subscribe to the stream? without a subscription, the ISP won't send you packets so there's nothing to show.

the stream comes from the WAN but there is no problem to subscribe : using only igmpproxy I can acces it on my LAN without problem : I'm actually watching it now on my computer

Yes, but does udpxy itself subscribe when you ask for the stream? If it doesn't, then there's not a stream for it to request.

If the multicast stream is running on another machine on my LAN, udpxy can subscribe and distribute the stream.
But if no one is already running the multicast stream, udpxy alone cannot subscribe to the stream (or igmpproxy doesn't catch the ask for the stream)

right, so igmpproxy is probably listening on the LAN, but because udpxy is running on the router, it doesn't send a subscribe request to the LAN and so igmpproxy doesn't hear it... something like that. perhaps you can have igmpproxy also listen on loopback?

1 Like

That's what I think, and that's why I tried to configure udpxy sources as my router LAN IP. But as I said it only works if an other computer is receiving the multicast stream.

I also tried this config for igmpproxy without succes :

config igmpproxy
	option quickleave 0
#	option verbose [0-3](none, minimal[default], more, maximum)

config phyint
	option network wan
	option zone wan
	option direction upstream
	list altnet 0.0.0.0/0

config phyint
	option network lan
	option zone lan
	option direction downstream

config phyint
	option network invite
	option zone invite
	option direction downstream

config phyint
	option network loopback
	option direction downstream

I also tried this


config phyint
	option network lo
	option direction downstream

but it's not working. Maybe there is an other way to make igmpproxy listen on loopback ?