Pipe transport from behind a NAT

We are trying to stream video from one server to another (one is a local LAN server, the other is public).

Unfortunately, a server may be behind a NAT which does port replacing. Therefore, we cannot predict the actual remote IP or PORT tuple for the incoming UDP RTP packages on the public server. I was wondering why this information is required in the connect call of the pipe transport?

Would it be a security issue if one would make the check in /worker/src/RTC/PipeTransport.cpp#L609 optional?

What other solution could help us to have the local LAN server (which serves local webrtc clients) also pipe the stream to a “cloud” server which serves public clients?


We write documentation for something:

Look for comedia setting.

We are using pipeTransport. It does not have that option I think

Also for connect it is not marked as optional:

Yep, sorry. That’s right. You need to provide an exact remote IP and port in both sides and use port redirection if needed. Note that both sides need to know the remote exact IP:port because RTCP travels in both directions.

In mediasoup v4 we are gonna merge plain and pipe transports so it will be easier, but cannot provide an ETA.