Need guidance on signaling, STUN/TURN server

411 views
Skip to first unread message

Muhammad Khan

unread,
May 28, 2019, 12:24:35 PM5/28/19
to meetecho-janus
Hi,

I am looking for a solution when janus webrtc gateway is used inside local area network with no internet (intanet with no access to outside world) for video streaming (using streaming plugin). I fully understand roles of signaling, STUN/TURN. After searching, I am not able to find any answer to issue I am facing. As we don't need NAT traversal, STUN/TURN may not be needed and local host can be a candidate for ICE. But somehow, streaming is not working when there is no internet access. The endpoints have been assigned local addresses. VLC player plays video streamed from a local address. But PeerConnection fails for janus in such situation. I have following questions for the above situation:

1) I installed and started STUN server (stuntman) locally but it did not help. Is there alternative STUN server which works with janus?
2) Will TURN server such as coturn help in this situation? Theoretically speaking, TURN and STUN servers may not be needed as we don't need to have NAT traversal.
3) What else I can use for signaling and handshaking so that there is no issue in PeerConnection?

I really appreciate if someone can guide me in this regard.  

Khan.

Alessandro Toppi

unread,
May 29, 2019, 4:07:07 AM5/29/19
to meetecho-janus
It is not clear from your description if the issue involves signaling, ICE handshake, RTP stream or something else.
Anyway you may want to start by debugging through the Janus Admin API in order to understand what is going wrong while setting up the peer connection.

As of the STUN/TURN, being the whole service deployed in LAN, there should be no reason for using STUN/TURN on either Janus or client side.

Lorenzo Miniero

unread,
May 29, 2019, 4:48:01 AM5/29/19
to meetecho-janus
Since you're doing everything on LAN and no internet, very likely the cause is the one explained here, where someone else experienced the same issue: https://groups.google.com/d/msg/meetecho-janus/d0_mTvvEBPI/3Xa1Es85BgAJ

As explained there, this is probably due to the IP handling policy that is being standardized and browsers implement already: https://tools.ietf.org/html/draft-ietf-rtcweb-ip-handling-11

A typical (although ugly, I agree) workaround is to either set a fake default gw on the client, or perform a getUserMedia to trigger a higher priority mode.

Lorenzo

Muhammad Khan

unread,
May 29, 2019, 9:32:30 AM5/29/19
to meetecho-janus
Alessandro,

Looks like ICE candidate event is not fired (I am not sure exact reason and I am still debugging). I don't see code going to the following function in janus.js:

config.pc.onicecandidate = function(event) {

As soon as laptop is connected to the internet, this event is fired and I see everything running fine. I see offer and answer parts working fine. The stream is also detected but video does not show up. I am in windows 10 environment using janus for window environment. I hope based on your experience, you can point me to the right direction.

Khan.

Muhammad Khan

unread,
May 29, 2019, 9:36:58 AM5/29/19
to meetecho-janus
Thanks Lorenzo,

I really appreciate your guidance. I will go through your suggestion. I am using DHCP but it does not solve my problem as mentioned in the link you provided.

Khan.

Muhammad Khan

unread,
May 29, 2019, 4:19:47 PM5/29/19
to meetecho-janus
I think I was making one mistake while testing and issue is now resolved. The issue was that janus started while l was using dynamic address and with internet access. After stopping janus and restarting it while using static address and no internet access, the issue got resolved. 

Thanks! I can confirm that no STUN/TURN server needed in such scenario.
Reply all
Reply to author
Forward
0 new messages