I have a working Janus WebRTC server setup running in my LAN (streaming only 
live Opus audio). With direct connections -- while connected to the LAN -- it 
works perfectly every time with Firefox, Chrome, Chromium and the mobile 
browsers.

However, when I connect to the LAN from the public Internet via OpenVPN, 
Firefox states that ICE fails and does not output any audio, but Chrome and 
Chromium (latest versions) _do work_ always.

I'm not using a STUN or TURN server, because WebRTC should work fine inside LAN.
Also, There are no firewalls on traffic restrictions in place inside my LAN or 
the connecting workstation.

Here are the about:webrtc SDP details from Firefox:

SDP

Local SDP

v=0
o=mozilla...THIS_IS_SDPARTA-57.0 1746241924783914147 0 IN IP4 0.0.0.0
s=-
t=0 0
a=sendrecv
a=fingerprint:sha-256 
A5:C9:2F:26:99:CF:7A:1E:6B:39:F9:56:4D:A7:6C:44:6A:C6:C7:B8:90:9D:17:E7:E3:BA:4E:CE:AB:DB:18:0E
a=group:BUNDLE audio
a=ice-options:trickle
a=msid-semantic:WMS *
m=audio 4187 RTP/SAVPF 101
c=IN IP4 85.76.X.X
a=candidate:0 1 UDP 2122252543 192.168.43.135 39927 typ host
a=candidate:2 1 TCP 2105524479 192.168.43.135 9 typ host tcptype active
a=candidate:1 1 UDP 1686052863 85.76.X.X 4187 typ srflx raddr 192.168.43.135 
rport 39927
a=recvonly
a=end-of-candidates
a=fmtp:101 maxplaybackrate=48000;stereo=1;useinbandfec=1
a=ice-pwd:8ce147a6798654432b88ded1a0441e99
a=ice-ufrag:b273b366
a=mid:audio
a=rtcp-mux
a=rtpmap:101 opus/48000/2
a=setup:active
a=ssrc:675509201 cname:{5784c74c-8d73-4877-b111-0ff72b1bb6d0}

Remote SDP
v=0
o=- 1512977090487910 1512977090487910 IN IP4 192.168.0.114
s=-
t=0 0
a=sendrecv
a=group:BUNDLE audio
a=msid-semantic:WMS janus
m=audio 9 RTP/SAVPF 101
c=IN IP4 192.168.0.114
a=candidate:1 1 udp 2013266431 192.168.0.114 51415 typ host
a=sendonly
a=end-of-candidates
a=fingerprint:sha-256 
A8:A2:A0:A6:36:95:6F:17:02:B7:B9:02:61:06:DC:FA:65:14:F4:3C:1E:C5:60:72:97:10:11:F5:0C:A2:00:6A
a=ice-options:trickle
a=ice-pwd:hy7+LKuhl8w3q3oLRYja+R
a=ice-ufrag:d/gM
a=mid:audio
a=rtcp-mux
a=rtpmap:101 opus/48000/2
a=setup:actpass
a=ssrc:3533275855 cname:janusaudio
a=ssrc:3533275855 msid:janus janusa0
a=ssrc:3533275855 mslabel:janus
a=ssrc:3533275855 label:janusa0

RTP Stats
inbound_rtp_audio_0

Local: 09:24:57 GMT+0200 (EET) inbound-rtp SSRC: 0

Here are the Firefox trickle candidates when connecting via VPN:

candidate:0 1 UDP 2122252543 192.168.43.135 39927 typ host
candidate:2 1 TCP 2105524479 192.168.43.135 9 typ host tcptype active
candidate:1 1 UDP 1686052863 85.76.X.X 4187 typ srflx raddr 192.168.43.135 
rport 39927

192.168.43.135 is the address provided by mobile phone WiFi tethering network.
85.76.X.X is the public IP address of the phone (which shouldn't really be 
needed here, as traffic should flow through OpenVPN).

After the trickle candidates have been sent, Janus sends back response:

{
janus: "hangup"
reason: "ICE failed"
...
}

And Janus logs state the same:

[8217140053462936] ICE failed for component 1 in stream 1, but let's give it 
some time... (trickle received, answer received, alert not set)

For comparison, here are the offer and answer SDPs and the only trickle 
candidate from Chromium, where the WebRTC audio stream works:

SDP offer (Chromium):

v=0
o=- 1512977894982229 1512977894982229 IN IP4 192.168.0.114
s=Mountpoint 101
t=0 0
a=group:BUNDLE audio
a=msid-semantic: WMS janus
m=audio 9 RTP/SAVPF 101
c=IN IP4 192.168.0.114
a=sendonly
a=mid:audio
a=rtcp-mux
a=ice-ufrag:UF1c
a=ice-pwd:AEcwbtUvOOlWmHrqxMNvs9
a=ice-options:trickle
a=fingerprint:sha-256 
A8:A2:A0:A6:36:95:6F:17:02:B7:B9:02:61:06:DC:FA:65:14:F4:3C:1E:C5:60:72:97:10:11:F5:0C:A2:00:6A
a=setup:actpass
a=rtpmap:101 opus/48000/2
a=ssrc:1652840103 cname:janusaudio
a=ssrc:1652840103 msid:janus janusa0
a=ssrc:1652840103 mslabel:janus
a=ssrc:1652840103 label:janusa0
a=candidate:1 1 udp 2013266431 192.168.0.114 50486 typ host
a=end-of-candidates

SDP answer (Chromium):

v=0
o=- 4097746442121410971 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio
a=msid-semantic: WMS
m=audio 9 RTP/SAVPF 101
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:PKJx
a=ice-pwd:C5y8JjI9BeP5eM3hnstDVAiC
a=ice-options:trickle
a=fingerprint:sha-256 
86:EC:9A:2A:9D:28:3E:63:19:2E:DB:0B:BA:55:4E:57:DC:AF:4E:82:70:E4:CE:85:28:D6:13:C2:F1:20:D0:E0
a=setup:active
a=mid:audio
a=recvonly
a=rtcp-mux
a=rtpmap:101 opus/48000/2
a=fmtp:101 minptime=10;useinbandfec=1

The only trickle candidate in Chromium:

candidate:4279861495 1 udp 2113937151 192.168.43.135 57620 typ host generation 
0 ufrag PKJx network-cost 50
_______________________________________________
dev-media mailing list
dev-media@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-media

Reply via email to