summaryrefslogtreecommitdiff
path: root/spec/Channel_Type_Call.xml
diff options
context:
space:
mode:
Diffstat (limited to 'spec/Channel_Type_Call.xml')
-rw-r--r--spec/Channel_Type_Call.xml687
1 files changed, 409 insertions, 278 deletions
diff --git a/spec/Channel_Type_Call.xml b/spec/Channel_Type_Call.xml
index e1474c5ac..585c7000c 100644
--- a/spec/Channel_Type_Call.xml
+++ b/spec/Channel_Type_Call.xml
@@ -17,11 +17,13 @@ You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</tp:license>
- <interface name="org.freedesktop.Telepathy.Channel.Type.Call.DRAFT"
+ <interface name="org.freedesktop.Telepathy.Channel.Type.Call1"
tp:causes-havoc="experimental">
<tp:added version="0.19.0">(draft 1)</tp:added>
<tp:requires interface="org.freedesktop.Telepathy.Channel"/>
+ <tp:requires
+ interface="org.freedesktop.Telepathy.Call1.Interface.Mute"/>
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>A channel type for making audio and video calls. Call
channels supersede the old <tp:dbus-ref
@@ -52,7 +54,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<h4>Contents</h4>
- <p><tp:dbus-ref namespace="ofdT.Call">Content.DRAFT</tp:dbus-ref>
+ <p><tp:dbus-ref namespace="ofdT.Call1">Content</tp:dbus-ref>
objects represent the actual media that forms the Call (for
example an audio content and a video content). Calls always
have one or more Content objects associated with them. As a
@@ -62,10 +64,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
as the Requestable Channel Classes will document.</p>
<p><tp:dbus-ref
- namespace="ofdT.Call">Content.DRAFT</tp:dbus-ref> objects have
+ namespace="ofdT.Call1">Content</tp:dbus-ref> objects have
one or more stream associated with them. More information on
these streams and how to maniuplate them can be found on the
- <tp:dbus-ref namespace="ofdT.Call">Content.DRAFT</tp:dbus-ref>
+ <tp:dbus-ref namespace="ofdT.Call1">Content</tp:dbus-ref>
interface page.</p>
<h4>Outgoing calls</h4>
@@ -77,7 +79,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<pre>
<tp:dbus-ref namespace="ofdT.Connection.Interface.Requests">CreateChannel</tp:dbus-ref>({
...<tp:dbus-ref namespace="ofdT.Channel">ChannelType</tp:dbus-ref>: ...<tp:dbus-ref
- namespace="ofdT.Channel.Type">Call.DRAFT</tp:dbus-ref>,
+ namespace="ofdT.Channel.Type">Call1</tp:dbus-ref>,
...<tp:dbus-ref namespace="ofdT.Channel">TargetHandleType</tp:dbus-ref>: Contact,
...<tp:dbus-ref namespace="ofdT.Channel">TargetID</tp:dbus-ref>: 'foo@example.com',
...<tp:member-ref>InitialAudio</tp:member-ref>: True,
@@ -100,26 +102,31 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<p>After a new Call channel is requested, the
<tp:member-ref>CallState</tp:member-ref> property will be
- <tp:type>Call_State</tp:type>_Pending_Initiator. As the local
+ <tp:value-ref type="Call_State">Pending_Initiator</tp:value-ref>. As the local
user is the initiator, the call must be accepted by the handler
by calling the <tp:member-ref>Accept</tp:member-ref> method.
At this point, <tp:member-ref>CallState</tp:member-ref> changes
- to <tp:type>Call_State</tp:type>_Pending_Receiver which signifies
- that the call is ringing, waiting for the remote contact to
- accept the call. All changes to
- <tp:member-ref>CallState</tp:member-ref> property are signalled
- using the <tp:member-ref>CallStateChanged</tp:member-ref>
- signal.</p>
+ to <tp:value-ref type="Call_State">Initialising</tp:value-ref>, which signifies
+ that the call is waiting for the network to do
+ something. When the CM has information indicating that the remote contact has been
+ notified about the call (or immediately if the network is known not to convey such
+ information) it should also change to
+ <tp:value-ref type="Call_State">Ringing</tp:value-ref>. All changes to
+ the <tp:member-ref>CallState</tp:member-ref> property are signalled using
+ the <tp:member-ref>CallStateChanged</tp:member-ref> signal.</p>
<p>When the call is accepted by the remote contact, the
<tp:member-ref>CallStateChanged</tp:member-ref> signal fires
again to show that <tp:member-ref>CallState</tp:member-ref> =
- <tp:type>Call_State</tp:type>_Accepted.</p>
+ <tp:value-ref type="Call_State">Accepted</tp:value-ref>.</p>
<p>At this point <a
href="http://telepathy.freedesktop.org/doc/telepathy-farstream/">telepathy-farstream</a>
will signal that a pad is available for the handler to show
- in the user interface.</p>
+ in the user interface. Once media is correctly flowing in both
+ directions, the state will change to
+ <tp:value-ref type="Call_State">Active</tp:value-ref>, to inform the user that they
+ have a correctly working call there is nothing amiss.</p>
<h5>Missed calls</h5>
@@ -129,10 +136,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
not do this and rely on the call initiator terminating the call.
A missed call is shown in a Call channel by the
<tp:member-ref>CallState</tp:member-ref> property changing to
- <tp:type>Call_State</tp:type>_Ended, and the
+ <tp:value-ref type="Call_State">Ended</tp:value-ref>, and the
<tp:member-ref>CallStateReason</tp:member-ref> property changing
to (remote contact,
- <tp:type>Call_State_Change_Reason</tp:type>_No_Answer, "").</p>
+ <tp:value-ref type="Call_State_Change_Reason">No_Answer</tp:value-ref>, "").</p>
<h5>Rejected calls</h5>
@@ -140,10 +147,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
talking to the local user, he or she can reject his or her
incoming call. This will be shown in the Call channel by
<tp:member-ref>CallState</tp:member-ref> changing to
- <tp:type>Call_State</tp:type>_Ended and the
+ <tp:value-ref type="Call_State">Ended</tp:value-ref> and the
<tp:member-ref>CallStateReason</tp:member-ref> property
changing to (remote contact,
- <tp:type>Call_State</tp:type>_Change_Reason_User_Requested,
+ <tp:value-ref type="Call_State_Change_Reason">User_Requested</tp:value-ref>,
"org.freedesktop.Telepathy.Error.Rejected").</p>
<h4>Incoming calls</h4>
@@ -159,7 +166,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
/org/freedesktop/Telepathy/Connection/foo/bar/foo_40bar_2ecom/CallChannel,
{
...<tp:dbus-ref namespace="ofdT.Channel">ChannelType</tp:dbus-ref>: ...<tp:dbus-ref
- namespace="ofdT.Channel.Type">Call.DRAFT</tp:dbus-ref>,
+ namespace="ofdT.Channel.Type">Call1</tp:dbus-ref>,
...<tp:dbus-ref namespace="ofdT.Channel">TargetHandleType</tp:dbus-ref>: Contact,
...<tp:dbus-ref namespace="ofdT.Channel">TargetID</tp:dbus-ref>: 'foo@example.com',
...<tp:dbus-ref namespace="ofdT.Channel">TargetHandle</tp:dbus-ref>: 42,
@@ -186,24 +193,26 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
The new channel should also be given to telepathy-farstream to
work out how the two participants will connect together.
telepathy-farstream will call the appropriate methods on the call's
- <tp:dbus-ref namespace="ofdT.Call">Content.DRAFT</tp:dbus-ref>s
+ <tp:dbus-ref namespace="ofdT.Call1">Content</tp:dbus-ref>s
to negotiate codecs and transports.</p>
<p>To pick up the call, the handler should call
<tp:member-ref>Accept</tp:member-ref>. The
<tp:member-ref>CallState</tp:member-ref> property changes to
- <tp:type>Call_State</tp:type>_Accepted and once media is
+ <tp:value-ref type="Call_State">Accepted</tp:value-ref> and once media is
being transferred, telepathy-farstream will notify the
handler of a new pad to be shown to the local user in the
- UI</p>
+ UI. Once media is correctly flowing in both directions, the state will
+ change to <tp:value-ref type="Call_State">Active</tp:value-ref>, to inform the user
+ that they have a correctly working call there is nothing amiss.</p>
<p>To reject the call, the handler should call the
<tp:member-ref>Hangup</tp:member-ref> method. The
<tp:member-ref>CallState</tp:member-ref> property will change to
- <tp:type>Call_State</tp:type>_Ended and the
+ <tp:value-ref type="Call_State">Ended</tp:value-ref> and the
<tp:member-ref>CallStateReason</tp:member-ref> property will
change to (self handle,
- <tp:type>Call_State_Change_Reason</tp:type>_User_Requested,
+ <tp:value-ref type="Call_State_Change_Reason">User_Requested</tp:value-ref>,
"org.freedesktop.Telepathy.Error.Rejected").</p>
<h4>Ongoing calls</h4>
@@ -221,7 +230,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<blockquote>
<pre><tp:member-ref>AddContent</tp:member-ref>("video",
- <tp:type>Media_Stream_Type</tp:type>_Video)</pre>
+ <tp:value-ref type="Media_Stream_Type">Video</tp:value-ref>)</pre>
</blockquote>
<p>Assuming no errors, the new video content will be added to
@@ -232,142 +241,42 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<p>A similar method is used for removing contents from a call,
except that the <tp:dbus-ref
- namespace="ofdT.Call.Content.DRAFT">Remove</tp:dbus-ref> method
+ namespace="ofdT.Call1.Content">Remove</tp:dbus-ref> method
is on the <tp:dbus-ref
- namespace="ofdT.Call">Content.DRAFT</tp:dbus-ref> object.</p>
+ namespace="ofdT.Call1">Content</tp:dbus-ref> object.</p>
<h5>Ending the call</h5>
<p>To end the call, the handler should call the
<tp:member-ref>Hangup</tp:member-ref> method. The
<tp:member-ref>CallState</tp:member-ref> property will change to
- <tp:type>Call_State</tp:type>_Ended and
+ <tp:value-ref type="Call_State">Ended</tp:value-ref> and
<tp:member-ref>CallStateReason</tp:member-ref> will change
to (self handle,
- <tp:type>Call_State_Change_Reason</tp:type>_User_Requested,
+ <tp:value-ref type="Call_State_Change_Reason">User_Requested</tp:value-ref>,
"org.freedesktop.Telepathy.Error.Cancelled").</p>
<p>If the other participant hangs up first then the
<tp:member-ref>CallState</tp:member-ref> property will change to
- <tp:type>Call_State</tp:type>_Ended and
+ <tp:value-ref type="Call_State">Ended</tp:value-ref> and
<tp:member-ref>CallStateReason</tp:member-ref> will change
to (remote contact,
- <tp:type>Call_State_Change_Reason</tp:type>_User_Requested,
+ <tp:value-ref type="Call_State_Change_Reason">User_Requested</tp:value-ref>,
"org.freedesktop.Telepathy.Error.Terminated").</p>
<h4>Multi-party calls</h4>
- [TODO]
-
- <h4>Call states</h4>
-
- <p>There are many combinations of the
- <tp:member-ref>CallState</tp:member-ref> and
- <tp:member-ref>CallStateReason</tp:member-ref> properties which
- mean different things. Here is a table to try to make these
- meanings clearer:</p>
-
- <table>
- <tr>
- <th rowspan="2"><tp:dbus-ref namespace="ofdT.Channel">Requested</tp:dbus-ref></th>
- <th rowspan="2"><tp:member-ref>CallState</tp:member-ref></th>
- <th colspan="3"><tp:member-ref>CallStateReason</tp:member-ref></th>
- <th rowspan="2">Meaning</th>
- </tr>
- <tr>
- <th>Actor</th>
- <th>Reason</th>
- <th>DBus_Reason</th>
- </tr>
- <!-- Pending_Initiator -->
- <tr>
- <td>True</td>
- <td><tp:type>Call_State</tp:type>_Pending_Initiator</td>
- <td>Self handle</td>
- <td><tp:type>Call_State_Change_Reason</tp:type>_User_Requested</td>
- <td>""</td>
- <td>The outgoing call channel is waiting for the local user to call <tp:member-ref>Accept</tp:member-ref>.</td>
- </tr>
- <!-- Pending_Receiver -->
- <tr>
- <td>True</td>
- <td><tp:type>Call_State</tp:type>_Pending_Receiver</td>
- <td>Self handle</td>
- <td><tp:type>Call_State_Change_Reason</tp:type>_User_Requested</td>
- <td>""</td>
- <td>The outgoing call is waiting for the remote contact to pick up the call.</td>
- </tr>
- <tr>
- <td>False</td>
- <td><tp:type>Call_State</tp:type>_Pending_Receiver</td>
- <td>0</td>
- <td><tp:type>Call_State_Change_Reason</tp:type>_Unknown</td>
- <td>""</td>
- <td>The incoming call is waiting for the local user to call <tp:member-ref>Accept</tp:member-ref> on the call.</td>
- </tr>
- <!-- Accepted -->
- <tr>
- <td>True</td>
- <td><tp:type>Call_State</tp:type>_Accepted</td>
- <td>Remote contact handle</td>
- <td><tp:type>Call_State_Change_Reason</tp:type>_User_Requested</td>
- <td>""</td>
- <td>The remote contact accepted the outgoing call.</td>
- </tr>
- <tr>
- <td>False</td>
- <td><tp:type>Call_State</tp:type>_Accepted</td>
- <td>Self handle</td>
- <td><tp:type>Call_State_Change_Reason</tp:type>_User_Requested</td>
- <td>""</td>
- <td>The local user accepted the incoming call.</td>
- </tr>
- <!-- Ended -->
- <tr>
- <td>True or False</td>
- <td><tp:type>Call_State</tp:type>_Ended</td>
- <td>Self handle</td>
- <td><tp:type>Call_State_Change_Reason</tp:type>_User_Requested</td>
- <td><tp:error-ref>Cancelled</tp:error-ref></td>
- <td>The local user hung up the incoming or outgoing call.</td>
- </tr>
- <tr>
- <td>True or False</td>
- <td><tp:type>Call_State</tp:type>_Ended</td>
- <td>Remote contact handle</td>
- <td><tp:type>Call_State_Change_Reason</tp:type>_User_Requested</td>
- <td><tp:error-ref>Terminated</tp:error-ref></td>
- <td>The remote contact hung up the incoming or outgoing call.</td>
- </tr>
- <tr>
- <td>True</td>
- <td><tp:type>Call_State</tp:type>_Ended</td>
- <td>Remote contact handle</td>
- <td><tp:type>Call_State_Change_Reason</tp:type>_No_Answer</td>
- <td>""</td>
- <td>The outgoing call was not picked up and the call ended.</td>
- </tr>
- <tr>
- <td>False</td>
- <td><tp:type>Call_State</tp:type>_Ended</td>
- <td>Remote contact handle</td>
- <td><tp:type>Call_State_Change_Reason</tp:type>_User_Requested</td>
- <td><tp:error-ref>PickedUpElsewhere</tp:error-ref></td>
- <td>The incoming call was ended because it was picked up elsewhere.</td>
- </tr>
- </table>
-
<h4>Requestable channel classes</h4>
<p>The <tp:dbus-ref
namespace="ofdT.Connection.Interface.Requests">RequestableChannelClasses</tp:dbus-ref>
for <tp:dbus-ref
- namespace="ofdT.Channel.Type">Call.DRAFT</tp:dbus-ref> channels
+ namespace="ofdT.Channel.Type">Call1</tp:dbus-ref> channels
can be:</p>
<blockquote>
<pre>
-[( Fixed = { ...<tp:dbus-ref namespace="ofdT.Channel">ChannelType</tp:dbus-ref>: ...<tp:dbus-ref namespace="ofdT.Channel.Type">Call.DRAFT</tp:dbus-ref>,
+[( Fixed = { ...<tp:dbus-ref namespace="ofdT.Channel">ChannelType</tp:dbus-ref>: ...<tp:dbus-ref namespace="ofdT.Channel.Type">Call1</tp:dbus-ref>,
...<tp:dbus-ref namespace="ofdT.Channel">TargetHandleType</tp:dbus-ref>: Contact,
...<tp:member-ref>InitialVideo</tp:member-ref>: True
},
@@ -376,7 +285,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
...<tp:member-ref>InitialAudioName</tp:member-ref>
]
),
-( Fixed = { ...<tp:dbus-ref namespace="ofdT.Channel">ChannelType</tp:dbus-ref>: ...<tp:dbus-ref namespace="ofdT.Channel.Type">Call.DRAFT</tp:dbus-ref>,
+( Fixed = { ...<tp:dbus-ref namespace="ofdT.Channel">ChannelType</tp:dbus-ref>: ...<tp:dbus-ref namespace="ofdT.Channel.Type">Call1</tp:dbus-ref>,
...<tp:dbus-ref namespace="ofdT.Channel">TargetHandleType</tp:dbus-ref>: Contact,
...<tp:member-ref>InitialAudio</tp:member-ref>: True
},
@@ -393,13 +302,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class, and vice versa for CMs without audio support.</p>
<p>Handlers should not close <tp:dbus-ref
- namespace="ofdT.Channel.Type">Call.DRAFT</tp:dbus-ref> channels
+ namespace="ofdT.Channel.Type">Call1</tp:dbus-ref> channels
without first calling <tp:member-ref>Hangup</tp:member-ref> on
the channel. If a Call handler crashes, the <tp:dbus-ref
namespace="ofdT">ChannelDispatcher</tp:dbus-ref> will call
<tp:dbus-ref namespace="ofdT.Channel">Close</tp:dbus-ref> on the
channel which SHOULD also imply a call to
- <tp:member-ref>Hangup</tp:member-ref>(<tp:type>Call_State_Change_Reason</tp:type>_User_Requested,
+ <tp:member-ref>Hangup</tp:member-ref>(<tp:value-ref type="Call_State_Change_Reason">User_Requested</tp:value-ref>,
"org.freedesktop.Telepathy.Error.Terminated", "") before
actually closing the channel.</p>
@@ -415,13 +324,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
channel's <tp:dbus-ref namespace="ofdT.Channel">Requested</tp:dbus-ref>
property is False, and
the <tp:member-ref>CallState</tp:member-ref> is
- <tp:type>Call_State</tp:type>_Pending_Receiver (an incoming
- call waiting on the local user to pick up). While this is
- the case, this method SHOULD change the
- <tp:member-ref>CallFlags</tp:member-ref> to include
- <tp:type>Call_Flags</tp:type>_Locally_Ringing, and notify the
+ <tp:value-ref type="Call_State">Ringing</tp:value-ref> (an incoming
+ call is ready and waiting for the user to be notified). Calling this method
+ SHOULD set <tp:member-ref>CallFlags</tp:member-ref>' bit
+ <tp:value-ref type="Call_Flags">Locally_Ringing</tp:value-ref>, and notify the
remote contact that the local user has been alerted (if the
- protocol implements this); repeated calls to this method
+ protocol supports this); repeated calls to this method
SHOULD succeed, but have no further effect.</p>
<p>In all other states, this method SHOULD fail with the error
@@ -438,7 +346,47 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
<tp:docstring>
The call is no longer in state
- <tp:type>Call_State</tp:type>_Pending_Receiver.
+ <tp:value-ref type="Call_State">Ringing</tp:value-ref>.
+ </tp:docstring>
+ </tp:error>
+ </tp:possible-errors>
+ </method>
+
+ <method name="SetQueued" tp:name-for-bindings="Set_Queued">
+ <tp:changed version="0.21.2">renamed from Ringing</tp:changed>
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>Notifies the CM that the local user is already in a call, so this
+ call has been put in a call-waiting style queue.</p>
+
+ <p>This method is only useful if the
+ channel's <tp:dbus-ref namespace="ofdT.Channel">Requested</tp:dbus-ref>
+ property is False, and
+ the <tp:member-ref>CallState</tp:member-ref> is
+ <tp:value-ref type="Call_State">Initialising</tp:value-ref> or
+ <tp:value-ref type="Call_State">Ringing</tp:value-ref>. Calling this method
+ SHOULD set <tp:member-ref>CallFlags</tp:member-ref>' bit
+ <tp:value-ref type="Call_Flags">Locally_Queued</tp:value-ref>, and notify the
+ remote contact that the call is in a queue (if the
+ protocol supports this); repeated calls to this method
+ SHOULD succeed, but have no further effect.</p>
+
+ <p>Locally_Queued is a little like Locally_Held, but applies to calls that have not
+ been Accepted (the Locally_Queued flag should be unset by the CM when Accept
+ is called). It should also be set in response to the state of the
+ world, rather than in response to user action.</p>
+ </tp:docstring>
+
+ <tp:possible-errors>
+ <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
+ <tp:docstring>
+ The call was <tp:dbus-ref namespace="ofdT.Channel"
+ >Requested</tp:dbus-ref>, so ringing does not make sense.
+ </tp:docstring>
+ </tp:error>
+ <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
+ <tp:docstring>
+ The call is no longer in state
+ <tp:value-ref type="Call_State">Initialising</tp:value-ref> or _Ringing.
</tp:docstring>
</tp:error>
</tp:possible-errors>
@@ -447,16 +395,15 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<method name="Accept" tp:name-for-bindings="Accept">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>For incoming calls in state
- <tp:type>Call_State</tp:type>_Pending_Receiver, accept the
- incoming call; this changes the
- <tp:member-ref>CallState</tp:member-ref> to
- <tp:type>Call_State</tp:type>_Accepted.</p>
+ <tp:value-ref type="Call_State">Ringing</tp:value-ref>, accept the incoming call.
+ This changes the <tp:member-ref>CallState</tp:member-ref> to
+ <tp:value-ref type="Call_State">Accepted</tp:value-ref>.</p>
<p>For outgoing calls in state
- <tp:type>Call_State</tp:type>_Pending_Initiator, actually
+ <tp:value-ref type="Call_State">Pending_Initiator</tp:value-ref>, actually
call the remote contact; this changes the
<tp:member-ref>CallState</tp:member-ref> to
- <tp:type>Call_State</tp:type>_Pending_Receiver.</p>
+ <tp:value-ref type="Call_State">Initialising</tp:value-ref>.</p>
<p>Otherwise, this method SHOULD fail with the error NotAvailable.</p>
@@ -464,15 +411,15 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
client (user interface) is handling the channel.</p>
<p>When this method is called, for each <tp:dbus-ref
- namespace="ofdT.Call" >Content.DRAFT</tp:dbus-ref> whose
- <tp:dbus-ref namespace="ofdT.Call.Content.DRAFT"
+ namespace="ofdT.Call1" >Content</tp:dbus-ref> whose
+ <tp:dbus-ref namespace="ofdT.Call1.Content"
>Disposition</tp:dbus-ref> is
- <tp:type>Call_Content_Disposition</tp:type>_Initial, any
+ <tp:value-ref type="Call_Content_Disposition">Initial</tp:value-ref>, any
streams where the <tp:dbus-ref
- namespace="ofdT.Call.Stream.DRAFT">LocalSendingState</tp:dbus-ref>
- is <tp:type>Sending_State</tp:type>_Pending_Send will be
- moved to <tp:type>Sending_State</tp:type>_Sending as if
- <tp:dbus-ref namespace="ofdT.Call.Stream.DRAFT"
+ namespace="ofdT.Call1.Stream">LocalSendingState</tp:dbus-ref>
+ is <tp:value-ref type="Sending_State">Pending_Send</tp:value-ref> will be
+ moved to <tp:value-ref type="Sending_State">Sending</tp:value-ref> as if
+ <tp:dbus-ref namespace="ofdT.Call1.Stream"
>SetSending</tp:dbus-ref>(True) had been called.</p>
</tp:docstring>
@@ -531,8 +478,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<method name="AddContent" tp:name-for-bindings="Add_Content">
<tp:docstring>
Request that a new <tp:dbus-ref
- namespace="ofdT.Call">Content.DRAFT</tp:dbus-ref> of type
- Content_Type is added to the Call. Handlers should check the
+ namespace="ofdT.Call1">Content</tp:dbus-ref> of type
+ Content_Type is added to the Call1. Handlers should check the
value of the <tp:member-ref>MutableContents</tp:member-ref>
property before trying to add another content as it might not
be allowed.
@@ -569,7 +516,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<tp:docstring>
Path to the newly-created <tp:dbus-ref
namespace="org.freedesktop.Telepathy"
- >Call.Content.DRAFT</tp:dbus-ref> object.
+ >Call1.Content</tp:dbus-ref> object.
</tp:docstring>
</arg>
@@ -585,6 +532,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
CM.
</tp:docstring>
</tp:error>
+ <tp:error name="org.freedesktop.Telepathy.Error.Media.UnsupportedType">
+ <tp:docstring>
+ The media stream type requested is not supported by either the
+ local or remote side.
+ </tp:docstring>
+ </tp:error>
<tp:error name="org.freedesktop.Telepathy.Error.NotCapable">
<tp:docstring>
The content type requested cannot be added to this
@@ -600,26 +553,31 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<signal name="ContentAdded"
tp:name-for-bindings="Content_Added">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Emitted when a new <tp:dbus-ref namespace="ofdT.Call"
- >Content.DRAFT</tp:dbus-ref> is added to the call.</p>
+ <p>Emitted when a new <tp:dbus-ref namespace="ofdT.Call1"
+ >Content</tp:dbus-ref> is added to the call.</p>
</tp:docstring>
<arg name="Content" type="o">
<tp:docstring>
- Path to the newly-created <tp:dbus-ref namespace="ofdT.Call"
- >Content.DRAFT</tp:dbus-ref> object.
+ Path to the newly-created <tp:dbus-ref namespace="ofdT.Call1"
+ >Content</tp:dbus-ref> object.
</tp:docstring>
</arg>
</signal>
<signal name="ContentRemoved" tp:name-for-bindings="Content_Removed">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Emitted when a <tp:dbus-ref namespace="ofdT.Call"
- >Content.DRAFT</tp:dbus-ref> is removed from the call.</p>
+ <p>Emitted when a <tp:dbus-ref namespace="ofdT.Call1"
+ >Content</tp:dbus-ref> is removed from the call.</p>
</tp:docstring>
<arg name="Content" type="o">
<tp:docstring>
- The <tp:dbus-ref namespace="ofdT.Call"
- >Content.DRAFT</tp:dbus-ref> which was removed.
+ The <tp:dbus-ref namespace="ofdT.Call1"
+ >Content</tp:dbus-ref> which was removed.
+ </tp:docstring>
+ </arg>
+ <arg name="Reason" type="(uuss)" tp:type="Call_State_Reason">
+ <tp:docstring>
+ Why the content was removed.
</tp:docstring>
</arg>
</signal>
@@ -628,7 +586,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
tp:name-for-bindings="Contents">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>The list of <tp:dbus-ref
- namespace="ofdT.Call">Content.DRAFT</tp:dbus-ref> objects that
+ namespace="ofdT.Call1">Content</tp:dbus-ref> objects that
are part of this call. Change notification is via the
<tp:member-ref>ContentAdded</tp:member-ref> and
<tp:member-ref>ContentRemoved</tp:member-ref> signals.
@@ -643,17 +601,33 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<p>The allowed transitions are:</p>
<ul>
- <li>Pending_Initiator → Pending_Receiver (for outgoing calls,
+ <li>Pending_Initiator → Initialising (for outgoing calls,
when <tp:member-ref>Accept</tp:member-ref> is called)</li>
- <li>Pending_Receiver → Accepted (for incoming calls, when
- <tp:member-ref>Accept</tp:member-ref> is called; for outgoing
- calls to a contact, when the remote contact accepts the call;
- for joining a conference call, when the local user successfully
- joins the conference)</li>
- <li>Accepted → Pending_Receiver (when transferred to another
- contact)</li>
- <li>any state → Ended (when the call is terminated normally, or
- when an error occurs)</li>
+ <li>Initialising → Ringing (for outgoing calls, when
+ the remote client indicates that the user has been notified about
+ the call. If the network is known not to provide feedback about whether
+ the remote side is ringing, then the call should immediately be
+ set to Ringing.</li>
+ <li>Initialising → Ringing (for incoming calls, when e.g. the
+ implementation has been initialised far enough that it is sensible
+ to notify the user about the call (to reduce the probability that
+ the user will pick up the call and have it immediately fail).
+ The UI should then alert the user about the call, and call
+ <tp:member-ref>SetRinging</tp:member-ref>)</li>
+ <li>Ringing → Accepted (for outgoing calls to a contact,
+ when the remote contact accepts the call; for incoming calls, when
+ <tp:member-ref>Accept</tp:member-ref> is called.)</li>
+ <li>Accepted → Active (when the local user successfully
+ joins the call/conference, and media is known to be flowing
+ successfully; also, when temporary connection problems are
+ resolved (See below)). If the network is known not to provide
+ feedback about when the call is properly connected, the call
+ should immediately be set to Active.</li>
+ <li>Active → Accepted (when there are temporary connection problems
+ that the CM is aware of and able to recover from)</li>
+ <li>any state → Ended (when the call is terminated
+ normally, or when an error occurs that the CM is unable to recover
+ from)</li>
</ul>
<p>Clients MAY consider unknown values from this enum to be an
@@ -661,7 +635,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
specification is declared to be stable.</p>
</tp:docstring>
- <tp:enumvalue suffix="Unknown" value = "0">
+ <tp:enumvalue suffix="Unknown" value="0">
<tp:docstring>
The call state is not known. This call state MUST NOT appear as a
value of the <tp:member-ref>CallState</tp:member-ref> property, but
@@ -669,7 +643,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
unknown.
</tp:docstring>
</tp:enumvalue>
- <tp:enumvalue suffix="Pending_Initiator" value = "1">
+ <tp:enumvalue suffix="Pending_Initiator" value="1">
<tp:docstring>
The initiator of the call hasn't accepted the call yet. This state
only makes sense for outgoing calls, where it means that the local
@@ -678,17 +652,48 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
called.
</tp:docstring>
</tp:enumvalue>
- <tp:enumvalue suffix="Pending_Receiver" value = "2">
+ <tp:enumvalue suffix="Initialising" value="2">
<tp:docstring>
- The receiver (the contact being called) hasn't accepted the call yet.
+ Progress has been made in placing the call, but the
+ contact has not been made aware of the call yet. This corresponds to SIP's
+ status code 183 Session Progress, and should be used for the period
+ where the CM is waiting for the streaming implementation to
+ initialise (before sending the initial INVITE or equivalent) and when the
+ outgoing call has reached a gateway or ICE negotiation is pending.
+ UIs should not produce a dialtone or start ringing if the call is in
+ this state.
</tp:docstring>
</tp:enumvalue>
- <tp:enumvalue suffix="Accepted" value = "3">
+ <tp:enumvalue suffix="Ringing" value="3">
<tp:docstring>
- The contact being called has accepted the call.
+ In the outgoing case: at least one called user has been alerted
+ about the call (a SIP 180 (Ringing) packet or equivalent has been
+ received) but none have answered, so the call cannot go to Accepted
+ (use <tp:value-ref type="Call_Member_Flags">Ringing</tp:value-ref> to determine which
+ members have been informed and which haven't, if you care). UIs
+ SHOULD produce a dialtone for outgoing calls in this state.
+
+ In the incoming case, the local user should be informed of the call
+ as soon as the call reaches this state (and
+ <tp:member-ref>SetRinging</tp:member-ref> should be called
+ to inform the CM that this has happened, so that it can relay this
+ fact to the caller using a SIP 180 (Ringing) packet or equivalent).
</tp:docstring>
</tp:enumvalue>
- <tp:enumvalue suffix="Ended" value = "4">
+ <tp:enumvalue suffix="Accepted" value="4">
+ <tp:docstring>
+ The contact being called has accepted the call, but the call is not
+ in the Active state (The most common reason for this is that the
+ streaming implementation hasn't connected yet).
+ </tp:docstring>
+ </tp:enumvalue>
+ <tp:enumvalue suffix="Active" value="5">
+ <tp:docstring>
+ The contact being called has accepted the call, and discourse between
+ at least two parties should now be possible.
+ </tp:docstring>
+ </tp:enumvalue>
+ <tp:enumvalue suffix="Ended" value="6">
<tp:docstring>
The call has ended, either via normal termination or an error.
</tp:docstring>
@@ -697,43 +702,18 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<tp:flags name="Call_Flags" value-prefix="Call_Flag" type="u">
<tp:docstring>
- A set of flags representing the status of the call as a whole,
- providing more specific information than the
- <tp:member-ref>CallState</tp:member-ref>. Many of these flags only make
- sense in a particular state.
+ A set of flags representing additional information than is available
+ in <tp:member-ref>CallState</tp:member-ref>. Many of these flags only make
+ sense in a particular (or may explain why a call is in a specific
+ state).
</tp:docstring>
-
- <tp:flag suffix="Locally_Ringing" value="1">
- <tp:docstring>
- The local contact has been alerted about the call but has not
- responded; if possible, the remote contact(s) have been informed of
- this fact. This flag only makes sense on incoming calls in
- state <tp:type>Call_State</tp:type>_Pending_Receiver. It SHOULD
- be set when <tp:member-ref>SetRinging</tp:member-ref> is
- called successfully, and unset when the state changes.
- </tp:docstring>
- </tp:flag>
-
- <tp:flag suffix="Queued" value="2">
- <tp:docstring>
- The contact is temporarily unavailable, and the call has been placed
- in a queue (e.g. 182 Queued in SIP, or call-waiting in telephony).
- This flag only makes sense on outgoing 1-1 calls in
- state <tp:type>Call_State</tp:type>_Pending_Receiver. It SHOULD be
- set or unset according to informational messages from other
- contacts.
- </tp:docstring>
- </tp:flag>
-
- <tp:flag suffix="Locally_Held" value="4">
+ <tp:flag suffix="Locally_Held" value="1">
<tp:docstring>
The call has been put on hold by the local user, e.g. using
the <tp:dbus-ref namespace="ofdT.Channel.Interface"
>Hold</tp:dbus-ref> interface. This flag SHOULD only be set
if there is at least one Content, and all Contents are
- locally held; it makes sense on calls in state
- <tp:type>Call_State</tp:type>_Pending_Receiver
- or <tp:type>Call_State</tp:type>_Accepted.
+ locally held.
<tp:rationale>
Otherwise, in transient situations where some but not all contents
@@ -741,32 +721,61 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
is on hold, which could lead to the user saying something they'll
regret, while under the impression that the other contacts can't
hear them!
+
+ This flag exists as a simplified proxy for <tp:dbus-ref
+ namespace="ofdT.Channel.Interface.Hold"
+ >HoldStateChanged</tp:dbus-ref>,
+ to reduce the number of signals that need to be
+ listened to by a simple UI.
</tp:rationale>
</tp:docstring>
</tp:flag>
- <tp:flag suffix="Forwarded" value="8">
+ <tp:flag suffix="Locally_Muted" value="2">
<tp:docstring>
- The initiator of the call originally called a contact other than the
- current recipient of the call, but the call was then forwarded or
- diverted. This flag only makes sense on outgoing calls, in state
- <tp:type>Call_State</tp:type>_Pending_Receiver or
- <tp:type>Call_State</tp:type>_Accepted. It SHOULD be set or unset
- according to informational messages from other contacts.
+ The call has been muted by the local user, e.g. using the
+ <tp:dbus-ref namespace="ofdT.Call1.Interface"
+ >Mute</tp:dbus-ref> interface. This flag SHOULD only
+ be set if there is at least one Content, and all Contents
+ are locally muted (for the same reason as Locally_Held).
+
+ <tp:rationale>
+ This flag exists to provide a simplified verson of <tp:dbus-ref
+ namespace="ofdT.Call1.Interface.Mute"
+ >MuteStateChanged</tp:dbus-ref>,
+ to reduce the number of signals that need to be
+ listened to by a simple UI.
+ </tp:rationale>
</tp:docstring>
</tp:flag>
- <tp:flag suffix="In_Progress" value="16">
+ <tp:flag suffix="Locally_Ringing" value="4">
<tp:docstring>
- Progress has been made in placing the outgoing call, but the
- contact may not have been made aware of the call yet
- (so the Ringing state is not appropriate). This corresponds to SIP's
- status code 183 Session Progress, and could be used when the
- outgoing call has reached a gateway, for instance.
- This flag only makes sense on outgoing calls in state
- <tp:type>Call_State</tp:type>_Pending_Receiver, and SHOULD be set
- or unset according to informational messages from servers, gateways
- and other infrastructure.
+ This flag exists for observability of the
+ <tp:member-ref>SetRinging</tp:member-ref> method (e.g. so that
+ loggers can tell whether the call got as far as alerting the user,
+ or whether something went wrong before then). It should be set when
+ the SetRinging is called, and unset when the call leaves
+ <tp:value-ref type="Call_State">Ringing</tp:value-ref>.
+ </tp:docstring>
+ </tp:flag>
+
+ <tp:flag suffix="Locally_Queued" value="8">
+ <tp:docstring>
+ This flag exists for observability of the
+ <tp:member-ref>SetQueued</tp:member-ref> method. It should be set
+ when the SetQueued is called, and unset when the call leaves
+ <tp:value-ref type="Call_State">Ringing</tp:value-ref>.
+ </tp:docstring>
+ </tp:flag>
+
+ <tp:flag suffix="Forwarded" value="16">
+ <tp:docstring>
+ The initiator of the call originally called a contact other than the
+ current recipient of the call, but the call was then forwarded or
+ diverted. This flag only makes sense on outgoing calls. It SHOULD be
+ set or unset according to informational messages from other
+ contacts.
</tp:docstring>
</tp:flag>
@@ -787,17 +796,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</tp:docstring>
</tp:flag>
- <tp:flag suffix="Muted" value="64">
- <tp:docstring>
- The call has been muted by the local user, e.g. using the
- <tp:dbus-ref namespace="ofdT.Call.Content.Interface"
- >Mute.DRAFT</tp:dbus-ref> interface. This flag SHOULD only
- be set if there is at least one Content, and all Contents
- are locally muted; it makes sense on calls in state
- <tp:type>Call_State</tp:type>_Pending_Receiver or
- <tp:type>Call_State</tp:type>_Accepted.
- </tp:docstring>
- </tp:flag>
</tp:flags>
<property name="CallStateDetails"
@@ -815,7 +813,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<dd>An optional human-readable message sent when the call was ended,
corresponding to the Message argument to the
<tp:member-ref>Hangup</tp:member-ref> method. This is only
- applicable when the call state is <tp:type>Call_State</tp:type>_Ended.
+ applicable when the call state is <tp:value-ref type="Call_State">Ended</tp:value-ref>.
<tp:rationale>
XMPP Jingle can send such messages.
</tp:rationale>
@@ -824,7 +822,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<dt>queue-message - s</dt>
<dd>An optional human-readable message sent when the local contact
is being held in a queue. This is only applicable when
- <tp:type>Call_Flags</tp:type>_Queued is in the call flags.
+ <tp:value-ref type="Call_Flags">Locally_Queued</tp:value-ref> is in the call flags.
<tp:rationale>
SIP 182 notifications can have human-readable messages attached.
</tp:rationale>
@@ -835,7 +833,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<tp:member-ref>CallStateReason</tp:member-ref>. This will not
normally be localized or suitable for display to users, and is only
applicable when the call state is
- <tp:type>Call_State</tp:type>_Ended.</dd>
+ <tp:value-ref type="Call_State">Ended</tp:value-ref>.</dd>
<dt>balance-required - i</dt>
<dd>Optionally included when a call cannot be connected because
@@ -898,7 +896,14 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</tp:docstring>
</tp:enumvalue>
- <tp:enumvalue suffix="User_Requested" value="1">
+ <tp:enumvalue suffix="Progress_Made" value="1">
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ Situation normal. Progress has been made in the setup/teardown of
+ the call (and it didn't require any user interaction).
+ </tp:docstring>
+ </tp:enumvalue>
+
+ <tp:enumvalue suffix="User_Requested" value="2">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>The change was requested by the contact indicated by the Actor
member of a <tp:type>Call_State_Reason</tp:type> struct.</p>
@@ -913,7 +918,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</tp:docstring>
</tp:enumvalue>
- <tp:enumvalue suffix="Forwarded" value="2">
+ <tp:enumvalue suffix="Forwarded" value="3">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>The call was forwarded. If known, the handle of the contact
the call was forwarded to will be indicated by the Actor member
@@ -921,15 +926,113 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</tp:docstring>
</tp:enumvalue>
- <tp:enumvalue suffix="No_Answer" value="3">
+ <tp:enumvalue suffix="Rejected" value="4">
<tp:added version="0.21.2"/>
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>The <tp:member-ref>CallState</tp:member-ref> changed from
- <tp:type>Call_State</tp:type>_Pending_Receiver to
- <tp:type>Call_State</tp:type>_Ended because the initiator
+ <tp:value-ref type="Call_State">Ringing</tp:value-ref> or
+ <tp:value-ref type="Call_State">Ended</tp:value-ref> (or a content's direction
+ changed) because it was rejected by the remote user.</p>
+ <p>Corresponds to <tp:error-ref>Rejected</tp:error-ref></p>
+ </tp:docstring>
+ </tp:enumvalue>
+
+ <tp:enumvalue suffix="No_Answer" value="5">
+ <tp:added version="0.21.2"/>
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>The <tp:member-ref>CallState</tp:member-ref> changed from
+ <tp:value-ref type="Call_State">Ringing</tp:value-ref> or
+ <tp:value-ref type="Call_State">Ended</tp:value-ref> because the initiator
ended the call before the receiver accepted it. With an
incoming call this state change reason signifies a missed
- call.</p>
+ call, or one that was picked up elsewhere before it was
+ picked up here.</p>
+ <p>Corresponds to <tp:error-ref>NoAnswer</tp:error-ref> or
+ <tp:error-ref>PickedUpElsewhere</tp:error-ref></p>
+ </tp:docstring>
+ </tp:enumvalue>
+
+ <tp:enumvalue suffix="Invalid_Contact" value="6">
+ <tp:added version="0.21.2"/>
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>The <tp:member-ref>CallState</tp:member-ref> changed because one
+ of the addresses does not exist on the network.</p>
+ <p>Corresponds to <tp:error-ref>DoesNotExist</tp:error-ref></p>
+ </tp:docstring>
+ </tp:enumvalue>
+
+ <tp:enumvalue suffix="Permission_Denied" value="7">
+ <tp:added version="0.21.2"/>
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>The <tp:member-ref>CallState</tp:member-ref> changed because the
+ local user is not authorised.</p>
+ <p>Corresponds to <tp:error-ref>PermissionDenied</tp:error-ref> or
+ <tp:error-ref>InsufficientBalance</tp:error-ref>
+ </p>
+ </tp:docstring>
+ </tp:enumvalue>
+
+ <tp:enumvalue suffix="Busy" value="8">
+ <tp:added version="0.21.2"/>
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>The <tp:member-ref>CallState</tp:member-ref> changed from
+ <tp:value-ref type="Call_State">Ringing</tp:value-ref>
+ <tp:value-ref type="Call_State">Ended</tp:value-ref> because the receiver is busy
+ (e.g. is already engaged in another call, and has not placed the
+ initiator in a call-waiting queue).</p>
+ <p>Corresponds to <tp:error-ref>Busy</tp:error-ref></p>
+ </tp:docstring>
+ </tp:enumvalue>
+
+ <tp:enumvalue suffix="Internal_Error" value="9">
+ <tp:added version="0.21.2"/>
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>There has been an unexpected error in either the CM or some other
+ local component.</p>
+ <p>Corresponds to <tp:error-ref>Confused</tp:error-ref> or
+ <tp:error-ref>Media.StreamingError</tp:error-ref>
+ </p>
+ </tp:docstring>
+ </tp:enumvalue>
+
+ <tp:enumvalue suffix="Service_Error" value="10">
+ <tp:added version="0.21.2"/>
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>There has been an unexpected error in the server or some other
+ remote component.</p>
+ <p>Corresponds to
+ <tp:error-ref>ServiceConfused</tp:error-ref>
+ </p>
+ </tp:docstring>
+ </tp:enumvalue>
+
+ <tp:enumvalue suffix="Network_Error" value="11">
+ <tp:added version="0.21.2"/>
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>There has been a network error related to the CM or the
+ signalling part of the call (compare and contrast:
+ Streaming_Error).</p>
+ <p>Corresponds to
+ <tp:error-ref>NetworkError</tp:error-ref></p>
+ </tp:docstring>
+ </tp:enumvalue>
+
+ <tp:enumvalue suffix="Media_Error" value="12">
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>Some aspect of the content is unsupported so has to be
+ removed from the call.</p>
+ <p>Corresponds to <tp:error-ref>Media.UnsupportedType</tp:error-ref>
+ or <tp:error-ref>Media.CodecsIncompatible</tp:error-ref>
+ </p>
+ </tp:docstring>
+ </tp:enumvalue>
+
+ <tp:enumvalue suffix="Connectivity_Error" value="13">
+ <tp:docstring>
+ <p>It was not possible for the streaming implementation to connect
+ to any of the users participating in this call or content.</p>
+ <p>Corresponds to <tp:error-ref>ConnectionFailed</tp:error-ref> or
+ <tp:error-ref>ConnectionLost</tp:error-ref></p>
</tp:docstring>
</tp:enumvalue>
</tp:enum>
@@ -952,7 +1055,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<tp:docstring>
The reason, chosen from a limited set of possibilities defined by
the Telepathy specification. If
- <tp:type>Call_State_Change_Reason</tp:type>_User_Requested then
+ <tp:value-ref type="Call_State_Change_Reason">User_Requested</tp:value-ref> then
the Actor member will dictate whether it was the local user or
a remote contact responsible.
</tp:docstring>
@@ -978,10 +1081,19 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</tp:rationale>
</tp:docstring>
</tp:member>
+
+ <tp:member type="s" name="Message">
+ <tp:docstring>
+ An optional debug message, to expediate debugging the potentially
+ many processes involved in a call. This may be communicated across
+ the network in protocols that support doing so, but it is not
+ essential.
+ </tp:docstring>
+ </tp:member>
</tp:struct>
<property name="CallStateReason" tp:name-for-bindings="Call_State_Reason"
- type="(uus)" access="read" tp:type="Call_State_Reason">
+ type="(uuss)" access="read" tp:type="Call_State_Reason">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>The reason for the last change to the
<tp:member-ref>CallState</tp:member-ref> and/or
@@ -1015,7 +1127,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</tp:docstring>
</arg>
- <arg name="Call_State_Reason" type="(uus)" tp:type="Call_State_Reason">
+ <arg name="Call_State_Reason" type="(uuss)" tp:type="Call_State_Reason">
<tp:docstring>
The new value of the <tp:member-ref>CallStateReason</tp:member-ref>
property.
@@ -1045,8 +1157,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<p>If this is False, the handler is responsible for doing the actual
media streaming for at least some contents itself. Those contents
- will have the <tp:dbus-ref namespace="ofdT.Call.Content.Interface"
- >Media.DRAFT</tp:dbus-ref> interface, to communicate the necessary
+ will have the <tp:dbus-ref namespace="ofdT.Call1.Content.Interface"
+ >Media</tp:dbus-ref> interface, to communicate the necessary
information to a streaming implementation. Connection managers SHOULD
operate like this, if possible.</p>
@@ -1077,7 +1189,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</tp:rationale>
</tp:docstring>
- <tp:flag suffix="Ringing" value = "1">
+ <tp:flag suffix="Ringing" value="1">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>The remote contact's client has told us that the contact has been
alerted about the call but has not responded.</p>
@@ -1090,7 +1202,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</tp:docstring>
</tp:flag>
- <tp:flag suffix="Held" value = "2">
+ <tp:flag suffix="Held" value="2">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>The call member has put this call on hold.</p>
@@ -1102,7 +1214,21 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</tp:docstring>
</tp:flag>
- <tp:flag suffix="Conference_Host" value="4">
+ <tp:flag suffix="Muted" value="4">
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>The call member has muted their participation in this call. Note
+ that many protocols will not signal this flag, so clients should
+ not rely on it being set.</p>
+
+ <tp:rationale>
+ <p>This is a flag per member, not a flag for the call as a whole,
+ because in conference calls, any member could mute their own
+ streams.</p>
+ </tp:rationale>
+ </tp:docstring>
+ </tp:flag>
+
+ <tp:flag suffix="Conference_Host" value="8">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
This contact has merged this call into a conference. Note that GSM
provides a notification when the remote party merges a call into a
@@ -1146,6 +1272,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
from <tp:member-ref>CallMembers</tp:member-ref>.
</tp:docstring>
</arg>
+ <arg name="Reason" type="(uuss)" tp:type="Call_State_Reason">
+ <tp:docstring>
+ A structured reason for the change.
+ </tp:docstring>
+ </arg>
</signal>
<property name="CallMembers" tp:name-for-bindings="Call_Members"
@@ -1176,7 +1307,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>If set on a requested channel, this indicates the transport that
should be used for this call. Where not applicable, this property
- is defined to be <tp:type>Stream_Transport_Type</tp:type>_Unknown,
+ is defined to be <tp:value-ref type="Stream_Transport_Type">Unknown</tp:value-ref>,
in particular, on CMs with hardware streaming.</p>
<tp:rationale>
@@ -1195,7 +1326,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
the connection manager should immediately attempt to establish an
audio stream to the remote contact, making it unnecessary for the
client to call <tp:dbus-ref
- namespace="ofdT.Channel.Type.Call.DRAFT">AddContent</tp:dbus-ref>.</p>
+ namespace="ofdT.Channel.Type.Call1">AddContent</tp:dbus-ref>.</p>
<p>If this property, or InitialVideo, is passed to EnsureChannel
(as opposed to CreateChannel), the connection manager SHOULD ignore
@@ -1210,7 +1341,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<p>If True on an unrequested (incoming) channel, this indicates that
the remote contact initially requested an audio stream; this does
not imply that that audio stream is still active (as indicated by
- <tp:dbus-ref namespace="ofdT.Channel.Type.Call.DRAFT"
+ <tp:dbus-ref namespace="ofdT.Channel.Type.Call1"
>Contents</tp:dbus-ref>).</p>
<p>The name of this new content can be decided by using the
@@ -1331,7 +1462,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
must be requested at the start of the call if video is desired.
User interfaces may use this pseudo-capability as a hint to
display separate "Audio call" and "Video call" buttons, rather
- than a single "Call" button with the option to add and remove
+ than a single "Call1" button with the option to add and remove
video once the call has started for contacts without this flag.
</p>
</tp:rationale>
@@ -1353,32 +1484,32 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<tp:hct name="gtalk-p2p">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>The client can implement streaming for streams whose <tp:dbus-ref
- namespace="ofdT.Call.Stream.Interface.Media.DRAFT">Transport</tp:dbus-ref>
- property is <tp:type>Stream_Transport_Type</tp:type>_GTalk_P2P.</p>
+ namespace="ofdT.Call1.Stream.Interface.Media">Transport</tp:dbus-ref>
+ property is <tp:value-ref type="Stream_Transport_Type">GTalk_P2P</tp:value-ref>.</p>
</tp:docstring>
</tp:hct>
<tp:hct name="ice">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>The client can implement streaming for streams whose <tp:dbus-ref
- namespace="ofdT.Call.Stream.Interface.Media.DRAFT">Transport</tp:dbus-ref>
- property is <tp:type>Stream_Transport_Type</tp:type>_ICE.</p>
+ namespace="ofdT.Call1.Stream.Interface.Media">Transport</tp:dbus-ref>
+ property is <tp:value-ref type="Stream_Transport_Type">ICE</tp:value-ref>.</p>
</tp:docstring>
</tp:hct>
<tp:hct name="wlm-2009">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>The client can implement streaming for streams whose <tp:dbus-ref
- namespace="ofdT.Call.Stream.Interface.Media.DRAFT">Transport</tp:dbus-ref>
- property is <tp:type>Stream_Transport_Type</tp:type>_WLM_2009.</p>
+ namespace="ofdT.Call1.Stream.Interface.Media">Transport</tp:dbus-ref>
+ property is <tp:value-ref type="Stream_Transport_Type">WLM_2009</tp:value-ref>.</p>
</tp:docstring>
</tp:hct>
<tp:hct name="shm">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>The client can implement streaming for streams whose <tp:dbus-ref
- namespace="ofdT.Call.Stream.Interface.Media.DRAFT">Transport</tp:dbus-ref>
- property is <tp:type>Stream_Transport_Type</tp:type>_SHM.</p>
+ namespace="ofdT.Call1.Stream.Interface.Media">Transport</tp:dbus-ref>
+ property is <tp:value-ref type="Stream_Transport_Type">SHM</tp:value-ref>.</p>
</tp:docstring>
</tp:hct>
@@ -1413,11 +1544,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
property:</p>
<ul>
- <li><code>org.freedesktop.Telepathy.Channel.Type.Call.DRAFT/audio</code></li>
- <li><code>org.freedesktop.Telepathy.Channel.Type.Call.DRAFT/audio/speex</code></li>
- <li><code>org.freedesktop.Telepathy.Channel.Type.Call.DRAFT/video</code></li>
- <li><code>org.freedesktop.Telepathy.Channel.Type.Call.DRAFT/video/theora</code></li>
- <li><code>org.freedesktop.Telepathy.Channel.Type.Call.DRAFT/video/h264</code></li>
+ <li><code>org.freedesktop.Telepathy.Channel.Type.Call1/audio</code></li>
+ <li><code>org.freedesktop.Telepathy.Channel.Type.Call1/audio/speex</code></li>
+ <li><code>org.freedesktop.Telepathy.Channel.Type.Call1/video</code></li>
+ <li><code>org.freedesktop.Telepathy.Channel.Type.Call1/video/theora</code></li>
+ <li><code>org.freedesktop.Telepathy.Channel.Type.Call1/video/h264</code></li>
</ul>
<p>Clients MAY have media signalling abilities without explicitly