Search code examples
webrtcturn

TURN server - Questions on use of certain attributes in the context of WebRTC


I am implementing a TURN server specifically for WebRTC usage and have some questions regarding not supporting certain attributes (send an error response if the attribute is received) or simply ignore them or other doubts. Here they are:

  1. EVEN-PORT If my SDP always signals a=rtcp-mux, will this attribute ever be used? And if so, would it be an error if it appears?

  2. RESERVATION-TOKEN Does this play any role when TURN server is used in the WebRTC context?

  3. SOFTWARE As in STUN, can this be safely ignored without any processing?

  4. DONT-FRAGMENT Is there a preferred and well-accepted norm for this attribute in the WebRTC context?

  5. What is the ideal length of NONCE in the WebRTC context?

  6. Different issue. Are there any statistics available for use of TURN server for transports other than UDP? I am thinking of supporting only UDP for now.


Solution

    1. webrtc typically requires rtcp-mux, at least in chrome so I would not care about even-port.
    2. no
    3. yes. It is FYI only.
    4. no. WebRTC implementations typically don't do path-mtu discovery but assume 1200 bytes.
    5. You mean the expiration? https://medium.com/confrere/gone-in-1100-seconds-hunting-bugs-on-the-edge-of-webrtc-132a186c45dd
    6. see https://medium.com/the-making-of-whereby/what-kind-of-turn-server-is-being-used-d67dbfc2ff5d