I want to host a TURN server for my WebRTC project, but I don't know what the 'realm' attribute does. I've looked at coturn and pion and they both seem to require me to enter this. Can someone explain what it is?
It is a "key" to access a group of address that have a common "owner". It is an isolating measure: a TURN server can have one "default realms" or more "named realms" in its database. And any realm has its own users and each of them have a proper login/password couple to identify access and working sessions. Of course, computers which made a login into a "named realm" are virtually "invisible" to other which belongs to other realm. If you simply log in the "default realm" where all users use same login/passwd ( tipically with "public" TURN servers ) your machine can be reached by all computers in a easy way also from unkown machines for this reason the "realm" was a useful thing to have
... and that is all .. :)
Realm attribute is specified in [Traversal Using Relay NAT (TURN) draft-rosenberg-midcom-turn-08 section 9.2.9. The value of the Realm attribute SHOULD be the domain name of the provider of the TURN server. This protocol uses the attribute in the digest challenge extension specified in section 3.1.12. If the protocol client includes this attribute, the TURN server SHOULD use the specified Realm value in the digest challenge extension. If the protocol client does not include this attribute in the request message, the TURN server uses a default Realm value. The TURN server MUST include this attribute in the associated response and the Realm value MUST be the value that the TURN server used in the digest challenge extension.
9.2.9 REALM
The REALM attribute is present in Shared Secret Requests and Shared
Secret Responses. It contains text which meets the grammar for
"realm" as described in RFC 3261, and will thus contain a quoted
string (including the quotes).
Reference: RFC3261
© 2022 - 2024 — McMap. All rights reserved.