Hi,
I’m trying to stream an Omniverse Kit app running on a Linux VM to a browser using WebRTC, and I’m facing an issue when accessing it from an external client machine.
Setup
Kit SDK version: 106.5
OS: Linux VM (open with public IP)
Extensions enabled in Kit app:
livestream.webrtc
livestream.messaging
Web viewer: Set up using the official sample
Web viewer port: 5173
Kit WebRTC port: 49100
What works
I am running the web-viewer locally on the VM.
Accessing the web-viewer URL from the VM itself works perfectly. (http:localhost:5173)
I can see the Kit app streaming correctly in the browser when accessed locally.
What doesn’t work
When I access the same web-viewer URL from an external client machine: (http://public-VM-IP:5173)
The request successfully hits the web-viewer on port 5173.
The web-viewer then tries to connect to the Kit app via <VM_PUBLIC_IP>:49100.
Port 49100 is open, and I can reach it from the client machine.
I also see logs in the Kit app confirming that the request reaches it.
However, the stream never starts.
After a while, the connection fails with an error in the Kit logs similar to:
NVST_CCE_DISCONNECTED when m_connectionCount XXXXX != 1
Observations
This seems to work only when the browser is running on the same VM.
From an external machine, signaling appears to succeed, but media streaming fails.
This feels like a WebRTC / ICE / networking issue, possibly related to IP advertisement, NAT, or UDP ports.
Questions
Is there any required configuration to force Kit WebRTC to advertise the public IP instead of a private/internal IP?
Are there additional UDP port ranges that need to be opened beyond port 49100?
Are there known issues or required settings for WebRTC streaming on Kit SDK 106.5?
Any guidance or pointers would be greatly appreciated.
Thanks in advance!