RFC 7065 - 3. turn と turns URI の定義
3. "turn" および "turns" URI の定義
3.1. URI Scheme Syntax (URI スキーム構文)
"turn" および "turns" URI は, 次の形式的な ABNF 構文 [RFC5234] を持つ:
turnURI = scheme ":" host [ ":" port ]
[ "?transport=" transport ]
scheme = "turn" / "turns"
transport = "udp" / "tcp" / transport-ext
transport-ext = 1*unreserved
<host> と <port> は [RFC3986] で規定される。これら 2 つの ABNF 生成規則が [RFC3986] で汎用階層 URI の構成要素として定義されていても, "turn" および "turns" スキームが階層 URI であることを意味しない。開発者は汎用階層 URI パーサを用いて "turn" または "turns" URI を解析してはならない (MUST NOT)。
<host>, <port>, <transport> の各構成要素は変更なく [RFC5928] のアルゴリズムに渡される。<scheme> が "turn" と等しければ <secure> は false に, "turns" と等しければ true に設定され, 他の構成要素とともに [RFC5928] のアルゴリズムに渡される。
3.2. URI Scheme Semantics (URI スキーム意味論)
"turn" および "turns" URI スキームは, TURN プロトコルでアクセス可能なインターネット上のホストにある TURN サーバ (リレー) を指定するために用いられる。TURN プロトコルは UDP, TCP, または TLS-over-TCP 上でのメッセージ送信をサポートする。TURN が TLS-over-TCP 上で動作する場合 (将来は DTLS-over-UDP も), "turns" URI スキームを使用しなければならない (MUST)。それ以外では "turn" スキームを使用しなければならない (MUST)。
"turn" URI の必須部分である <host> は TURN サーバのホストを表す。
[RFC5766] および [RFC5928] で規定されるとおり, <port> 部分が存在する場合は TURN サーバが接続要求を待つポートを表す。省略時のデフォルトポートは UDP と TCP の両方で 3478 である。TLS 上の TURN のデフォルトポートは 5349 である。