STUN Binding requests to relay port (and responses)

146 views
Skip to first unread message

Sean-Der

unread,
May 6, 2018, 4:38:59 AM5/6/18
to TURN Server (Open-Source project)
Hi!

I am doing some work and having a hard time understanding some network traffic/coturnd code.

My current understanding of the relay server tied to an allocation is that can only do two things
* If a ChannelBind exists send via ChannelData
* Otherwise it will relay via a data indication.

However with Wireshark I am seeing unparsable traffic flow in/out of my relay, does anyone know if wireshark is broken or this is to be expected maybe it is encrypted? Are there any cases where something besides STUN would enter the relay and anything besides STUN would exit? 

-----

Also, I am seeing my client (Chromium) make binding requests and get responses from the relay. This only happens when one client has a iceTransportPolicy of 'all' and the other 'relay' when they both have 'relay' I don't see these STUN binding requests take place? Is this expected, I haven't found anywhere where the relay is expected to do anything besides route inbound traffic to the allocation src 5-Tuple

Would some mind pointing me to the part of the RFC that explains this, or even the code in coturnd? I don't see anything in peer_input_handler that does anything like this. https://github.com/coturn/coturn/blob/master/src/server/ns_turn_server.c#L4656


Mihály Mészáros

unread,
May 7, 2018, 6:35:29 AM5/7/18
to TURN Server (Open-Source project)
Hi,



2018. május 6., vasárnap 10:38:59 UTC+2 időpontban Sean-Der a következőt írta:
However with Wireshark I am seeing unparsable traffic flow in/out of my relay, does anyone know if wireshark is broken or this is to be expected maybe it is encrypted? Are there any cases where something besides STUN would enter the relay and anything besides STUN would exit? 

May you see TURNS communication?
-----

Also, I am seeing my client (Chromium) make binding requests and get responses from the relay. This only happens when one client has a iceTransportPolicy of 'all' and the other 'relay' when they both have 'relay' I don't see these STUN binding requests take place? Is this expected, I haven't found anywhere where the relay is expected to do anything besides route inbound traffic to the allocation src 5-Tuple
Chromium  has an ICE agent and if "iceTransportPolicy=all" specified it will try to discover STUN and TURN and local candidates. If "iceTransportPolicy=relay" the ICE agent will discover only TURN Relay candidates.
Seems it working properly. It is not related to coTURN it is ICE agent configuration.
May read more about it here: https://misi.github.io/webrtc-c0d3l4b/#8

Would some mind pointing me to the part of the RFC that explains this, or even the code in coturnd? I don't see anything in peer_input_handler that does anything like this. https://github.com/coturn/coturn/blob/master/src/server/ns_turn_server.c#L4656

Check the rfc/draft of ICE, JSEP, STUN TURN and see W3C WebRTC PC ice related description.

Let me know if you have further question.
Misi
Reply all
Reply to author
Forward
0 new messages