2
<node name="/Channel_Interface_Media_Signalling_Future"
3
xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
4
<tp:copyright> Copyright © 2009 Collabora Limited </tp:copyright>
5
<tp:copyright> Copyright © 2009 Nokia Corporation </tp:copyright>
6
<tp:license xmlns="http://www.w3.org/1999/xhtml">
7
<p>This library is free software; you can redistribute it and/or
8
modify it under the terms of the GNU Lesser General Public
9
License as published by the Free Software Foundation; either
10
version 2.1 of the License, or (at your option) any later version.</p>
12
<p>This library is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
Lesser General Public License for more details.</p>
17
<p>You should have received a copy of the GNU Lesser General Public
18
License along with this library; if not, write to the Free Software
19
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
22
<interface name="org.freedesktop.Telepathy.Channel.Interface.MediaSignalling.FUTURE">
23
<tp:requires interface="org.freedesktop.Telepathy.Channel"/>
24
<tp:requires interface="org.freedesktop.Telepathy.Channel.Type.StreamedMedia"/>
25
<tp:requires interface="org.freedesktop.Telepathy.Channel.Interface.MediaSignalling"/>
27
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
28
<p>This interface contains functionality which we intend to incorporate
30
namespace="org.freedesktop.Telepathy">Channel.Interface.MediaSignalling</tp:dbus-ref>
31
interface in future. It should be considered to be conceptually part
32
of the core MediaSignalling interface, but without API or ABI
36
<p>The rationale is the same as for <tp:dbus-ref
37
namespace="org.freedesktop.Telepathy">Channel.FUTURE</tp:dbus-ref>.</p>
41
<property name="ICETransportAvailable"
42
tp:name-for-bindings="ICE_Transport_Available"
43
type="b" access="read">
44
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
45
<p>True if this channel supports the use of the ICE-UDP transport
46
(<a href="http://xmpp.org/extensions/xep-0176.html">XEP-0176</a>,
47
<a href="http://tools.ietf.org/html/draft-ietf-mmusic-ice">ICE RFC
48
draft)</a>. Various other transports have boolean properties
49
that work in the same way as this one, so this description covers
50
all such transports.</p>
52
<p>This property is immutable (cannot change), and therefore SHOULD
53
appear wherever immutable properties are reported, e.g. <tp:dbus-ref
54
namespace="org.freedesktop.Telepathy.Connection.Interface.Requests">NewChannels</tp:dbus-ref>
57
<p>Connection managers capable of signalling streamed media calls to
58
contacts SHOULD include the properties representing all supported
59
transports in the allowed properties list of the channel class
61
namespace="org.freedesktop.Telepathy.Connection.Interface.Requests">RequestableChannelClasses</tp:dbus-ref>
62
that advertises support for streamed media channels.</p>
64
<p>Similarly, connection managers that support the <tp:dbus-ref
65
namespace="org.freedesktop.Telepathy.Connection.Interface">ContactCapabilities.DRAFT</tp:dbus-ref>
66
interface SHOULD include all supported transports in the allowed
67
properties list of the channel class that advertises a contact's
68
ability to receive streamed media calls.</p>
70
<p>Clients SHOULD NOT pass ICETransportAvailable and similar
71
properties to <tp:dbus-ref
72
namespace="org.freedesktop.Telepathy.Connection.Interface.Requests">EnsureChannel</tp:dbus-ref>
73
or similar functions. If they do, the connection manager MUST
74
accept and ignore any such property that is in the allowed properties
78
<p>There is currently no way for clients to influence the choice
79
of transport: in general, a client making a call can't know the
80
capabilities of the streaming implementation, or even which
81
streaming implementation will be used (channels will often be
82
requested by an address book or similar application that will not
83
handle the channel itself).</p>
85
<p>If a mechanism for transport negotiation is added, it should be
86
something that happens after the request, but before calling
88
namespace="org.freedesktop.Telepathy">Media.SessionHandler.Ready</tp:dbus-ref>,
89
so that it is the streaming implementation that chooses the
90
transport, rather than the requesting client.</p>
93
<p>Clients that are able to receive calls with particular transports
94
MUST include the following filters if calling <tp:dbus-ref
95
namespace="org.freedesktop.Telepathy.Connection.Interface.ContactCapabilities.DRAFT">SetSelfCapabilities</tp:dbus-ref>
96
(clients of a <tp:dbus-ref
97
namespace="org.freedesktop.Telepathy">ChannelDispatcher.DRAFT</tp:dbus-ref>
98
SHOULD instead arrange for the ChannelDispatcher to do this,
99
by including the filters in their <tp:dbus-ref
100
namespace="org.freedesktop.Telepathy.Client.Handler.DRAFT">HandlerChannelFilter</tp:dbus-ref>
104
<li>{ ChannelType = StreamedMedia, ICETransportAvailable = true }
105
if the ICE transport is supported</li>
106
<li>{ ChannelType = StreamedMedia, RawUDPTransportAvailable = true }
107
if the raw UDP transport is supported</li>
108
<li>... and so on, one filter per available transport.</li>
111
<p>Connection managers MAY use this information to adjust the
112
transports for which they advertise support to other contacts.</p>
115
<p>In particular, in XMPP, the connection manager will not be
116
callable unless a client has told it to advertise support for
117
at least one transport.</p>
122
<property name="RawUDPTransportAvailable"
123
tp:name-for-bindings="Raw_UDP_Transport_Available"
124
type="b" access="read">
125
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
126
<p>The same as <tp:member-ref>ICETransportAvailable</tp:member-ref>,
127
but for raw UDP streaming as described by <a
128
href="http://xmpp.org/extensions/xep-0177.html">XEP-0177</a>.</p>
132
<property name="GTalkP2PTransportAvailable"
133
tp:name-for-bindings="GTalk_P2P_Transport_Available"
134
type="b" access="read">
135
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
136
<p>The same as <tp:member-ref>ICETransportAvailable</tp:member-ref>,
137
but for the variant of ICE used by the Google Talk peer-to-peer
138
connectivity establishment mechanism (as implemented in libjingle
143
<property name="WLM85TransportAvailable"
144
tp:name-for-bindings="WLM_8_5_Transport_Available"
145
type="b" access="read">
146
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
147
<p>The same as <tp:member-ref>ICETransportAvailable</tp:member-ref>,
148
but for the transport implemented by Windows Live Messenger 8.5 or
149
later (which resembles ICE draft 6).</p>
153
<property name="WLM2009TransportAvailable"
154
tp:name-for-bindings="WLM_2009_Transport_Available"
155
type="b" access="read">
156
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
157
<p>The same as <tp:member-ref>ICETransportAvailable</tp:member-ref>,
158
but for the transport implemented by Windows Live Messenger 2009
159
or later (which resembles ICE draft 19).</p>