[Telepathy-commits] [telepathy-spec/master] MediaStreamHandler: make RelayInfo an array and alter the keys accordingly
Simon McVittie
simon.mcvittie at collabora.co.uk
Tue Mar 24 09:53:42 PDT 2009
The server can potentially be different for UDP, TCP and SSLTCP, and there
can be more than one of each (failover or round-robin DNS). The
credentials can also be valid only per-component, like in Google Talk's
variant of ICE draft 6 - libnice supports this usage.
---
spec/Media_Stream_Handler.xml | 60 +++++++++++++++++++++++++++++-----------
1 files changed, 43 insertions(+), 17 deletions(-)
diff --git a/spec/Media_Stream_Handler.xml b/spec/Media_Stream_Handler.xml
index 9735a03..c45c7d8 100644
--- a/spec/Media_Stream_Handler.xml
+++ b/spec/Media_Stream_Handler.xml
@@ -117,24 +117,50 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
</tp:docstring>
</property>
- <property name="RelayInfo" type="a{ss}" access="read"
- tp:type="String_String_Map" tp:name-for-bindings="Relay_Info">
+ <property name="RelayInfo" type="aa{ss}" access="read"
+ tp:type="String_String_Map[]" tp:name-for-bindings="Relay_Info">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>A map containing relay information for this stream, to be used
- with google relay. Map keys are:</p>
- <ul>
- <li>stun.ip - IP address of STUN server</li>
- <li>stun.port - port of STUN server</li>
- <li>relay.ip - IP address of relay server</li>
- <li>relay.udp_port - UDP port of relay server</li>
- <li>relay.tcp_port - TCP port of relay server</li>
- <li>relay.ssltcp_port - SSLTCP port of relay server</li>
- <li>username - Username for relay</li>
- <li>pasword - Password for relay</li>
- <li>magic_cookie - Magic cookie for relay</li>
- </ul>
- <p>If relaying is not possible for this stream, the map is empty.
- </p>
+ <p>A list of mappings containing information about how this stream
+ can be relayed, to be used with TURN or Google relay servers.
+ Map keys are:</p>
+
+ <dl>
+ <dt><code>ip</code></dt>
+ <dd>The IP address of the relay server as a dotted-quad IPv4
+ address literal or an RFC2373 IPv6 address literal</dd>
+ <!-- Open issue: should the CM or the streaming implementation
+ be responsible for resolving hostnames to IPs? Bear in mind that
+ this might be a SRV record... -->
+
+ <dt><code>type</code></dt>
+ <dd>Either <code>udp</code> for UDP (UDP MUST be assumed if this
+ key is omitted), <code>tcp</code> for TCP, or
+ <code>tls</code> for a fake SSL/TLS session over TCP as supported
+ by the Google relay server</dd>
+
+ <dt><code>port</code></dt>
+ <dd>The UDP or TCP port of the relay server as an ASCII unsigned
+ integer</dd>
+
+ <dt><code>username</code></dt>
+ <dd>The username to use</dd>
+
+ <dt><code>password</code></dt>
+ <dd>The password to use</dd>
+
+ <dt><code>component</code></dt>
+ <dd>The component number to use this relay server for, as an
+ ASCII unsigned integer; if not included, this relay server
+ may be used for any or all components</dd>
+ </dl>
+
+ <p>The type of relay server that this represents depends on
+ the value of the <tp:member-ref>NATTraversal</tp:member-ref>
+ property. If NATTraversal is ice-udp, this is a TURN server;
+ if NATTraversal is gtalk-p2p, this is a Google relay server;
+ otherwise, the meaning of RelayInfo is undefined.</p>
+
+ <p>If relaying is not possible for this stream, the list is empty.</p>
</tp:docstring>
</property>
--
1.5.6.5
More information about the telepathy-commits
mailing list