~ubuntu-branches/ubuntu/wily/telepathy-glib/wily

« back to all changes in this revision

Viewing changes to spec/Channel_Interface_Media_Signalling_Future.xml

  • Committer: Bazaar Package Importer
  • Author(s): Simon McVittie
  • Date: 2009-03-24 22:06:52 UTC
  • mfrom: (1.3.1 upstream) (17.1.10 sid)
  • Revision ID: james.westby@ubuntu.com-20090324220652-c8dvom0nsqomp23d
Tags: 0.7.28-1
* New upstream version (ABI, API added)
* Put the -dbg package in section debug, as per recent archive changes
* Remove obsolete Conflicts/Replaces with libtelepathy-glib-static-dev, which
  was never in a stable release (and probably never in Debian at all)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" ?>
 
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>
 
11
 
 
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>
 
16
 
 
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,
 
20
      USA.</p>
 
21
  </tp:license>
 
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"/>
 
26
 
 
27
    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
 
28
      <p>This interface contains functionality which we intend to incorporate
 
29
        into the <tp:dbus-ref
 
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
 
33
        guarantees.</p>
 
34
 
 
35
      <tp:rationale>
 
36
        <p>The rationale is the same as for <tp:dbus-ref
 
37
            namespace="org.freedesktop.Telepathy">Channel.FUTURE</tp:dbus-ref>.</p>
 
38
      </tp:rationale>
 
39
    </tp:docstring>
 
40
 
 
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>
 
51
 
 
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>
 
55
          signals.</p>
 
56
 
 
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
 
60
          in <tp:dbus-ref
 
61
            namespace="org.freedesktop.Telepathy.Connection.Interface.Requests">RequestableChannelClasses</tp:dbus-ref>
 
62
          that advertises support for streamed media channels.</p>
 
63
 
 
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>
 
69
 
 
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
 
75
          list.</p>
 
76
 
 
77
        <tp:rationale>
 
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>
 
84
 
 
85
          <p>If a mechanism for transport negotiation is added, it should be
 
86
            something that happens after the request, but before calling
 
87
            <tp:dbus-ref
 
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>
 
91
        </tp:rationale>
 
92
 
 
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>
 
101
          properties):</p>
 
102
 
 
103
        <ul>
 
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>
 
109
        </ul>
 
110
 
 
111
        <p>Connection managers MAY use this information to adjust the
 
112
          transports for which they advertise support to other contacts.</p>
 
113
 
 
114
        <tp:rationale>
 
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>
 
118
        </tp:rationale>
 
119
      </tp:docstring>
 
120
    </property>
 
121
 
 
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>
 
129
      </tp:docstring>
 
130
    </property>
 
131
 
 
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
 
139
          0.3).</p>
 
140
      </tp:docstring>
 
141
    </property>
 
142
 
 
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>
 
150
      </tp:docstring>
 
151
    </property>
 
152
 
 
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>
 
160
      </tp:docstring>
 
161
    </property>
 
162
 
 
163
  </interface>
 
164
</node>