summaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorJonny Lamb <jonny.lamb@collabora.co.uk>2010-10-28 14:43:39 +0100
committerSjoerd Simons <sjoerd.simons@collabora.co.uk>2011-01-11 15:59:45 +0000
commitd7f487bcd785d80f6d17acd5764738fd545a144d (patch)
tree1df9e6a0790691b0e263a516f81153e7c4061a66 /extensions
parent8f019da97e1a8429b6adf16129bd1b537aebccff (diff)
extensions: removed Call draft
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
Diffstat (limited to 'extensions')
-rw-r--r--extensions/Call_Content.xml282
-rw-r--r--extensions/Call_Content_Codec_Offer.xml80
-rw-r--r--extensions/Call_Content_Interface_Media.xml245
-rw-r--r--extensions/Call_Content_Interface_Mute.xml85
-rw-r--r--extensions/Call_Stream.xml261
-rw-r--r--extensions/Call_Stream_Endpoint.xml182
-rw-r--r--extensions/Call_Stream_Interface_Media.xml406
-rw-r--r--extensions/Channel_Type_Call.xml1425
-rw-r--r--extensions/Makefile.am8
-rw-r--r--extensions/all.xml9
10 files changed, 0 insertions, 2983 deletions
diff --git a/extensions/Call_Content.xml b/extensions/Call_Content.xml
deleted file mode 100644
index 82d40443..00000000
--- a/extensions/Call_Content.xml
+++ /dev/null
@@ -1,282 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Call_Content"
- xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
- <tp:copyright>Copyright © 2009-2010 Collabora Ltd.</tp:copyright>
- <tp:copyright>Copyright © 2009-2010 Nokia Corporation</tp:copyright>
- <tp:license xmlns="http://www.w3.org/1999/xhtml">
- <p>This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.</p>
-
- <p>This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.</p>
-
- <p>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.</p>
- </tp:license>
-
- <interface name="org.freedesktop.Telepathy.Call.Content.DRAFT"
- tp:causes-havoc="experimental">
- <tp:added version="0.19.0">(draft 1)</tp:added>
-
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- This object represents one Content inside a <tp:dbus-ref
- namespace="ofdT.Channel.Type">Call.DRAFT</tp:dbus-ref>. For
- example, in an audio/video call there would be one audio content
- and one video content. Each content has one or more <tp:dbus-ref
- namespace="ofdT.Call">Stream.DRAFT</tp:dbus-ref> objects which
- represent the actual transport to one or more remote contacts.
- </tp:docstring>
-
- <tp:enum name="Content_Removal_Reason" type="u">
- <tp:added version="0.21.2"/>
- <tp:docstring>
- A representation of the reason for a content to be removed,
- which may be used by simple clients, or used as a fallback
- when the DBus_Reason is not understood. This enum will be
- extended with future reasons as and when appropriate, so
- clients SHOULD keep up to date with its values, but also be
- happy to fallback to the Unknown value when an unknown value
- is encountered.
- </tp:docstring>
-
- <tp:enumvalue suffix="Unknown" value="0">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- We just don't know. Unknown values of this enum SHOULD also be
- treated like this.
- </tp:docstring>
- </tp:enumvalue>
-
- <tp:enumvalue suffix="User_Requested" value="1">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The local user requests that this content is removed
- from the call.</p>
- </tp:docstring>
- </tp:enumvalue>
-
- <tp:enumvalue suffix="Error" value="2">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>There is an error with the content which means that it
- has to be removed from the call.</p>
- </tp:docstring>
- </tp:enumvalue>
-
- <tp:enumvalue suffix="Unsupported" value="3">
- <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>
- </tp:docstring>
- </tp:enumvalue>
- </tp:enum>
-
- <method name="Remove" tp:name-for-bindings="Remove">
- <tp:changed version="0.21.2">previously there were no
- arguments</tp:changed>
- <tp:docstring>
- Remove the content from the call.
- </tp:docstring>
-
- <arg direction="in" name="Reason" type="u"
- tp:type="Content_Removal_Reason">
- <tp:docstring>
- A generic hangup reason.
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="Detailed_Removal_Reason" type="s"
- tp:type="DBus_Error_Name">
- <tp:docstring>
- A more specific reason for the content removal, if one is
- available, or an empty string.
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="Message" type="s">
- <tp:docstring>
- A human-readable message for the reason of removing the
- content, such as "Fatal streaming failure" or "no codec
- intersection". This property can be left empty if no reason
- is to be given.
- </tp:docstring>
- </arg>
-
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.NetworkError" />
- <tp:error name="org.freedesktop.Telepathy.Error.NotImplemented">
- <tp:docstring>
- Raised when a Call doesn't support removing contents
- (e.g. a Google Talk video call).
- </tp:docstring>
- </tp:error>
- </tp:possible-errors>
- </method>
-
- <property name="Interfaces" tp:name-for-bindings="Interfaces"
- type="as" tp:type="DBus_Interface[]" access="read" tp:immutable="yes">
- <tp:added version="0.19.11"/>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Extra interfaces provided by this content, such as <tp:dbus-ref
- namespace="ofdT.Call">Content.Interface.Media.DRAFT</tp:dbus-ref> or
- <tp:dbus-ref namespace="ofdT.Call">Content.Interface.Mute.DRAFT</tp:dbus-ref>.
- This SHOULD NOT include the Content interface itself, and cannot
- change once the content has been created.</p>
- </tp:docstring>
- </property>
-
- <property name="Name" tp:name-for-bindings="Name" type="s" access="read"
- tp:immutable="yes">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The name of the content.</p>
-
- <tp:rationale>
- The content name property should be meaningful, so should be
- given a name which is significant to the user. The name
- could be the "audio" or "video" string localized, or perhaps
- include some string identifying the source, such as a webcam
- identifier.
- </tp:rationale>
- </tp:docstring>
- </property>
-
- <property name="Type" tp:name-for-bindings="Type"
- type="u" tp:type="Media_Stream_Type" access="read" tp:immutable="yes">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The media type of this content.</p>
- </tp:docstring>
- </property>
-
- <tp:enum name="Call_Content_Disposition" type="u">
- <tp:docstring>
- The disposition of this content, which defines whether to
- automatically start sending data on the streams when
- <tp:dbus-ref
- namespace="ofdT.Channel.Type">Call.DRAFT</tp:dbus-ref> is
- called on the channel.
- </tp:docstring>
-
- <tp:enumvalue suffix="None" value="0">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- The content has no specific disposition
- </tp:docstring>
- </tp:enumvalue>
-
- <tp:enumvalue suffix="Initial" value="1">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The content was initially part of the call. When
- <tp:dbus-ref
- namespace="ofdT.Channel.Type.Call.DRAFT">Accept</tp:dbus-ref>
- is called on the channel, all streams of this content with
- <tp:dbus-ref
- namespace="ofdT.Call.Stream.DRAFT">LocalSendingState</tp:dbus-ref>
- set to <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">SetSending</tp:dbus-ref>
- (True) had been called.</p>
- </tp:docstring>
- </tp:enumvalue>
- </tp:enum>
-
- <property name="Disposition" tp:name-for-bindings="Disposition"
- type="u" tp:type="Call_Content_Disposition" access="read"
- tp:immutable="yes">
- <tp:docstring>
- The disposition of this content.
- </tp:docstring>
- </property>
-
- <signal name="StreamsAdded" tp:name-for-bindings="Streams_Added">
- <tp:changed version="0.21.2">plural version, renamed from
- StreamAdded</tp:changed>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Emitted when streams are added to a call.</p>
- </tp:docstring>
- <arg name="Streams" type="ao">
- <tp:docstring>
- The <tp:dbus-ref
- namespace="ofdT.Call">Stream.DRAFT</tp:dbus-ref>s which were
- added.
- </tp:docstring>
- </arg>
- </signal>
-
- <signal name="StreamsRemoved" tp:name-for-bindings="Streams_Removed">
- <tp:changed version="0.21.2">plural version, renamed from
- StreamRemoved</tp:changed>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Emitted when streams are removed from a call</p>
- </tp:docstring>
- <arg name="Streams" type="ao">
- <tp:docstring>
- The <tp:dbus-ref
- namespace="ofdT.Call">Stream.DRAFT</tp:dbus-ref>s which were
- removed.
- </tp:docstring>
- </arg>
- </signal>
-
- <property name="Streams" tp:name-for-bindings="Streams"
- type="ao" access="read">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The list of <tp:dbus-ref namespace="ofdT.Call"
- >Stream.DRAFT</tp:dbus-ref> objects that exist in this
- content.</p>
-
- <tp:rationale>
- In a conference call multiple parties can share one media
- content (say, audio), but the streaming of that media can
- either be shared or separate. For example, in a multicast
- conference all contacts would share one stream, while in a
- Muji conference there would be a stream for each
- participant.
- </tp:rationale>
-
- <p>Change notification is through the
- <tp:member-ref>StreamsAdded</tp:member-ref> and
- <tp:member-ref>StreamsRemoved</tp:member-ref> signals.</p>
- </tp:docstring>
- </property>
-
- <tp:enum name="Call_Content_Packetization_Type" type="u">
- <tp:added version="0.21.2"/>
- <tp:docstring>
- A packetization method that can be used for a content.
- </tp:docstring>
-
- <tp:enumvalue suffix="RTP" value="0">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- Real-time Transport Protocol, as documented by RFC 3550.
- </tp:docstring>
- </tp:enumvalue>
-
- <tp:enumvalue suffix="Raw" value="1">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- Raw media.
- </tp:docstring>
- </tp:enumvalue>
-
- <tp:enumvalue suffix="MSN_Webcam" value="2">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- MSN webcam. This is the video-only one-way type which was
- used in earlier versions of WLM. Although no longer used,
- modern WLM clients still support the MSN webcam protocol.
- </tp:docstring>
- </tp:enumvalue>
- </tp:enum>
-
- <property name="Packetization" tp:name-for-bindings="Packetization"
- type="u" tp:type="Call_Content_Packetization_Type" access="read"
- tp:immutable="yes">
- <tp:added version="0.21.2"/>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The packetization method in use for this content.</p>
- </tp:docstring>
- </property>
- </interface>
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/extensions/Call_Content_Codec_Offer.xml b/extensions/Call_Content_Codec_Offer.xml
deleted file mode 100644
index e0a791f3..00000000
--- a/extensions/Call_Content_Codec_Offer.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Call_Content_Codec_Offer"
- xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
- <tp:copyright>Copyright © 2009-2010 Collabora Ltd.</tp:copyright>
- <tp:copyright>Copyright © 2009-2010 Nokia Corporation</tp:copyright>
- <tp:license xmlns="http://www.w3.org/1999/xhtml">
- <p>This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.</p>
-
- <p>This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.</p>
-
- <p>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.</p>
- </tp:license>
-
- <interface name="org.freedesktop.Telepathy.Call.Content.CodecOffer.DRAFT"
- tp:causes-havoc="experimental">
- <tp:added version="0.19.0">(draft 1)</tp:added>
-
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- This object represents an offer of a Codec payload mapping.
- </tp:docstring>
-
- <method name="Accept" tp:name-for-bindings="Accept">
- <arg name="Codecs" direction="in"
- type="a(usuua{ss})" tp:type="Codec[]">
- <tp:docstring>
- The local codec mapping to send to the remote contacts and
- to use in the <tp:dbus-ref
- namespace="ofdT.Call">Content.DRAFT</tp:dbus-ref>.
- </tp:docstring>
- </arg>
- <tp:docstring>
- Accept the updated Codec mapping and update the local mapping.
- </tp:docstring>
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
- <tp:docstring>
- The codecs given as the argument are invalid in some way.
- </tp:docstring>
- </tp:error>
- </tp:possible-errors>
- </method>
-
- <method name="Reject" tp:name-for-bindings="Reject">
- <tp:docstring>
- Reject the proposed update to the codecs
- FIXME add error codes and strings here
- </tp:docstring>
- </method>
-
- <property name="Interfaces" tp:name-for-bindings="Interfaces"
- type="as" tp:type="DBus_Interface[]" access="read" tp:immutable="yes">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Extra interfaces provided by this codec offer. This SHOULD
- NOT include the CodecOffer interface itself, and cannot change
- once the content has been created.</p>
- </tp:docstring>
- </property>
-
- <property name="RemoteContactCodecMap"
- tp:name-for-bindings="Remote_Contact_Codec_Map"
- type="a{ua(usuua{ss})}" tp:type="Contact_Codec_Map" access="read"
- tp:immutable="yes">
- <tp:docstring>
- A map from remote contact to the list of codecs he or she
- supports.
- </tp:docstring>
- </property>
-
- </interface>
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/extensions/Call_Content_Interface_Media.xml b/extensions/Call_Content_Interface_Media.xml
deleted file mode 100644
index 0552111a..00000000
--- a/extensions/Call_Content_Interface_Media.xml
+++ /dev/null
@@ -1,245 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Call_Content_Interface_Media"
- xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
- <tp:copyright>Copyright © 2009-2010 Collabora Ltd.</tp:copyright>
- <tp:copyright>Copyright © 2009-2010 Nokia Corporation</tp:copyright>
- <tp:license xmlns="http://www.w3.org/1999/xhtml">
- <p>This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.</p>
-
- <p>This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.</p>
-
- <p>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.</p>
- </tp:license>
-
- <interface name="org.freedesktop.Telepathy.Call.Content.Interface.Media.DRAFT"
- tp:causes-havoc="experimental">
- <tp:added version="0.19.0">(draft 1)</tp:added>
- <tp:requires interface="org.freedesktop.Telepathy.Call.Content.DRAFT"/>
-
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Interface to use by a software implementation of media
- streaming.</p>
-
- <p>On new <tp:dbus-ref
- namespace="ofdT.Channel.Type">Call.DRAFT</tp:dbus-ref> channels,
- handlers should wait for <tp:dbus-ref
- namespace="ofdT.Call.Content">CodecOffer.DRAFT</tp:dbus-ref>
- objects to appear (one will either already be present, or will
- appear at some point in the channel's lifetime).</p>
-
- <p>If the Call is incoming, then the codec offer's <tp:dbus-ref
- namespace="ofdT.Call.Content.CodecOffer.DRAFT">RemoteContactCodecMap</tp:dbus-ref>
- will already be filled with the codec information of the
- remote contacts. Depending on the protocol, an outgoing call's
- <tp:dbus-ref
- namespace="ofdT.Call.Content.CodecOffer.DRAFT">RemoteContactCodecMap</tp:dbus-ref>
- will either be filled with remote contact codec information, or
- it will be empty. If empty, then this SHOULD be interpreted to
- mean that all codecs are supported. Once a compatible list of
- codecs has been decided, <tp:dbus-ref
- namespace="ofdT.Call.Content">CodecOffer.DRAFT.Accept</tp:dbus-ref>
- should be called with the details of these codecs.</p>
-
- </tp:docstring>
-
- <tp:struct name="Codec" array-name="Codec_List">
- <tp:docstring>
- A description of a codec.
- </tp:docstring>
- <tp:member name="Identifier" type="u">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- Numeric identifier for the codec. This will be used as the PT in the
- SDP or content description.
- </tp:docstring>
- </tp:member>
- <tp:member name="Name" type="s">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- The name of the codec.
- </tp:docstring>
- </tp:member>
- <tp:member name="Clockrate" type="u">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- The clockrate of the codec.
- </tp:docstring>
- </tp:member>
- <tp:member name="Channels" type="u">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- Number of channels of the codec if applicable, otherwise 0.
- </tp:docstring>
- </tp:member>
- <tp:member name="Parameters" type="a{ss}" tp:type="String_String_Map">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- Extra parameters for this codec.
- </tp:docstring>
- </tp:member>
- </tp:struct>
-
- <tp:mapping name="Contact_Codec_Map">
- <tp:docstring>
- A map from contact to the list of codecs he or she supports.
- </tp:docstring>
- <tp:member name="Handle" type="u" tp:type="Contact_Handle">
- <tp:docstring>
- A contact handle.
- </tp:docstring>
- </tp:member>
- <tp:member name="Codecs" type="a(usuua{ss})" tp:type="Codec[]">
- <tp:docstring>
- The codecs that the contact supports.
- </tp:docstring>
- </tp:member>
- </tp:mapping>
-
- <tp:struct name="Codec_Offering">
- <tp:docstring>
- A codec offer and its corresponding remote contact codec map.
- </tp:docstring>
- <tp:member name="Codec_Offer" type="o">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- The object path to the <tp:dbus-ref namespace="ofdT.Call.Content"
- >CodecOffer.DRAFT</tp:dbus-ref>
- </tp:docstring>
- </tp:member>
- <tp:member name="Remote_Contact_Codec_Map" type="a{ua(usuua{ss})}"
- tp:type="Contact_Codec_Map">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- The <tp:dbus-ref namespace="ofdT.Call.Content"
- >CodecOffer.DRAFT.RemoteContactCodecMap</tp:dbus-ref> property
- of the codec offer.
- </tp:docstring>
- </tp:member>
- </tp:struct>
-
- <signal name="CodecsChanged" tp:name-for-bindings="Codecs_Changed">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Emitted when the codecs in use change.</p>
-
- <p>As well as acting as change notification for the
- <tp:member-ref>ContactCodecMap</tp:member-ref>, emission of this
- signal implies that the <tp:member-ref>CodecOffer</tp:member-ref>
- property has changed to <code>('/', {})</code>.</p>
- </tp:docstring>
- <arg name="Updated_Codecs" type="a{ua(usuua{ss})}"
- tp:type="Contact_Codec_Map">
- <tp:docstring>
- A map from contact to his or her codecs. Each pair in this
- map is added to the
- <tp:member-ref>ContactCodecMap</tp:member-ref> property,
- replacing any previous pair with that key.
- </tp:docstring>
- </arg>
- <arg name="Removed_Contacts" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- A list of keys which were removed from the
- <tp:member-ref>ContactCodecMap</tp:member-ref>, probably because
- those contacts left the call.
- </tp:docstring>
- </arg>
- </signal>
-
- <method name="UpdateCodecs" tp:name-for-bindings="Update_Codecs">
- <tp:docstring>
- Update the local codec mapping. This method should only be
- used during an existing call to update the codec mapping.
- </tp:docstring>
- <arg name="Codecs" direction="in"
- type="a(usuua{ss})" tp:type="Codec[]">
- <tp:docstring>
- The codecs now supported by the local user.
- </tp:docstring>
- </arg>
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
- <tp:docstring>
- Raised when not used during an existing call to update the codec mapping.
- </tp:docstring>
- </tp:error>
- </tp:possible-errors>
- </method>
-
- <property name="ContactCodecMap" tp:name-for-bindings="Contact_Codec_Map"
- type="a{ua(usuua{ss})}" tp:type="Contact_Codec_Map" access="read">
- <tp:docstring>
- <p>A map from contact handles (including the local user's own handle)
- to the codecs supported by that contact.</p>
-
- <p>Change notification is via the
- <tp:member-ref>CodecsChanged</tp:member-ref> signal.</p>
- </tp:docstring>
- </property>
-
- <signal name="NewCodecOffer" tp:name-for-bindings="New_Codec_Offer">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Emitted when a new <tp:dbus-ref namespace="ofdT.Call.Content"
- >CodecOffer.DRAFT</tp:dbus-ref> appears. The streaming
- implementation MUST respond by calling the <tp:dbus-ref
- namespace="ofdT.Call.Content.CodecOffer.DRAFT"
- >Accept</tp:dbus-ref> or <tp:dbus-ref
- namespace="ofdT.Call.Content.CodecOffer.DRAFT"
- >Reject</tp:dbus-ref> method on the codec offer object.</p>
-
- <p>Emission of this signal indicates that the
- <tp:member-ref>CodecOffer</tp:member-ref> property has changed to
- <code>(Offer, Codecs)</code>.</p>
- </tp:docstring>
- <arg name="Offer" type="o">
- <tp:docstring>
- The object path of the new codec offer. This replaces any previous
- codec offer.
- </tp:docstring>
- </arg>
- <arg name="Codecs" type="a{ua(usuua{ss})}" tp:type="Contact_Codec_Map">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The <tp:dbus-ref namespace="ofdT.Call.Content"
- >CodecOffer.DRAFT.RemoteContactCodecMap</tp:dbus-ref> property
- of the codec offer.</p>
-
- <tp:rationale>
- Having the <tp:dbus-ref
- namespace="ofdT.Call.Content.CodecOffer.DRAFT">RemoteContactCodecMap</tp:dbus-ref>
- property here saves a D-Bus round-trip - it shouldn't be
- necessary to get the property from the CodecOffer object, in
- practice.
- </tp:rationale>
- </tp:docstring>
- </arg>
- </signal>
-
- <property name="CodecOffer" tp:name-for-bindings="Codec_Offer"
- type="(oa{ua(usuua{ss})})" tp:type="Codec_Offering" access="read">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The object path to the current
- <tp:dbus-ref namespace="ofdT.Call.Content"
- >CodecOffer.DRAFT</tp:dbus-ref> object, and its
- <tp:dbus-ref namespace="ofdT.Call.Content"
- >CodecOffer.DRAFT.RemoteContactCodecMap</tp:dbus-ref> property.
- If the object path is "/" then there isn't an outstanding
- codec offer, and the mapping MUST be empty.</p>
-
- <tp:rationale>
- Having the <tp:dbus-ref
- namespace="ofdT.Call.Content.CodecOffer.DRAFT">RemoteContactCodecMap</tp:dbus-ref>
- property here saves a D-Bus round-trip - it shouldn't be
- necessary to get the property from the CodecOffer object, in
- practice.
- </tp:rationale>
-
- <p>Change notification is via the
- <tp:member-ref>NewCodecOffer</tp:member-ref> (which replaces the
- value of this property with a new codec offer), and
- <tp:member-ref>CodecsChanged</tp:member-ref> (which implies that
- there is no longer any active codec offer) signals.</p>
- </tp:docstring>
- </property>
- </interface>
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/extensions/Call_Content_Interface_Mute.xml b/extensions/Call_Content_Interface_Mute.xml
deleted file mode 100644
index 566d1b16..00000000
--- a/extensions/Call_Content_Interface_Mute.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Call_Content_Interface_Mute" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
- <tp:copyright> Copyright © 2005-2010 Nokia Corporation </tp:copyright>
- <tp:copyright> Copyright © 2005-2010 Collabora Ltd </tp:copyright>
- <tp:license xmlns="http://www.w3.org/1999/xhtml">
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2.1 of the License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Lesser General Public License for more details.
-
-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.Call.Content.Interface.Mute.DRAFT" tp:causes-havoc="experimental">
- <tp:added version="0.19.6">(draft version, not API-stable)</tp:added>
- <tp:requires interface="org.freedesktop.Telepathy.Call.Content.DRAFT"/>
-
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Interface for calls which may be muted. This only makes sense
- for channels where audio or video is streaming between members.</p>
-
- <p>Muting a call content indicates that the user does not wish to send
- outgoing audio or video.</p>
-
- <p>Although it's client's responsibility to actually mute the microphone
- or turn off the camera, using this interface the client can also
- inform the CM and other clients of that fact.</p>
-
- <tp:rationale>
- For some protocols, the fact that the content is muted needs
- to be transmitted to the peer; for others, the notification
- to the peer is only informational (eg. XMPP), and some
- protocols may have no notion of muting at all.
- </tp:rationale>
- </tp:docstring>
-
- <signal name="MuteStateChanged" tp:name-for-bindings="Mute_State_Changed">
- <tp:docstring>
- Emitted to indicate that the mute state has changed for this call content.
- This may occur as a consequence of the client calling
- <tp:member-ref>SetMuted</tp:member-ref>, or as an indication that another
- client has (un)muted the content.
- </tp:docstring>
- <arg name="MuteState" type="b">
- <tp:docstring>
- True if the content is now muted.
- </tp:docstring>
- </arg>
- </signal>
-
- <property name="MuteState" type="b"
- access="read" tp:name-for-bindings="Mute_State">
- <tp:docstring>
- True if the content is muted.
- </tp:docstring>
- </property>
-
- <method name="SetMuted" tp:name-for-bindings="Set_Muted">
- <tp:changed version="0.21.2">renamed from SetMuted to Mute</tp:changed>
- <tp:changed version="0.21.UNRELEASED">renamed back from Mute to SetMuted</tp:changed>
- <arg direction="in" name="Muted" type="b">
- <tp:docstring>
- True if the client has muted the content.
- </tp:docstring>
- </arg>
- <tp:docstring>
- <p>Inform the CM that the call content has been muted or unmuted by
- the client.</p>
-
- <p>It is the client's responsibility to actually mute or unmute the
- microphone or camera used for the content. However, the client
- MUST call this whenever it mutes or unmutes the content.</p>
- </tp:docstring>
- </method>
-
- </interface>
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/extensions/Call_Stream.xml b/extensions/Call_Stream.xml
deleted file mode 100644
index b6939890..00000000
--- a/extensions/Call_Stream.xml
+++ /dev/null
@@ -1,261 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Call_Stream"
- xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
- <tp:copyright>Copyright © 2009-2010 Collabora Ltd.</tp:copyright>
- <tp:copyright>Copyright © 2009-2010 Nokia Corporation</tp:copyright>
- <tp:license xmlns="http://www.w3.org/1999/xhtml">
- <p>This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.</p>
-
- <p>This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.</p>
-
- <p>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.</p>
- </tp:license>
-
- <interface name="org.freedesktop.Telepathy.Call.Stream.DRAFT"
- tp:causes-havoc="experimental">
- <tp:added version="0.19.0">(draft 1)</tp:added>
-
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- One stream inside a <tp:dbus-ref
- namespace="ofdT.Call">Content.DRAFT</tp:dbus-ref>.
- </tp:docstring>
-
- <method name="SetSending" tp:name-for-bindings="Set_Sending">
- <tp:docstring>
- Set the stream to start or stop sending media from the local
- user to other contacts.
- </tp:docstring>
-
- <arg name="Send" type="b" direction="in">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>If True, the
- <tp:member-ref>LocalSendingState</tp:member-ref> should
- change to <tp:type>Sending_State</tp:type>_Sending, if it isn't
- already.</p>
-
- <p>If False, the
- <tp:member-ref>LocalSendingState</tp:member-ref> should
- change to <tp:type>Sending_State</tp:type>_None, if it isn't
- already.</p>
- </tp:docstring>
- </arg>
-
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.NotImplemented" />
- </tp:possible-errors>
- </method>
-
- <method name="RequestReceiving" tp:name-for-bindings="Request_Receiving">
- <tp:docstring>
- <p>Request that a remote contact stops or starts sending on
- this stream.</p>
-
- <p>The <tp:member-ref>CanRequestReceiving</tp:member-ref>
- property defines whether the protocol allows the local user to
- request the other side start sending on this stream.</p>
- </tp:docstring>
-
- <arg name="Contact" type="u" tp:type="Contact_Handle" direction="in">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Contact from which sending is requested</p>
- </tp:docstring>
- </arg>
-
- <arg name="Receive" type="b" direction="in">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>If true, request that the given contact starts to send media.
- If false, request that the given contact stops sending media.</p>
- </tp:docstring>
- </arg>
-
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidHandle"/>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
- <tp:docstring>
- The request contact is valid but is not involved in this
- stream.
- </tp:docstring>
- </tp:error>
- <tp:error name="org.freedesktop.Telepathy.Error.NotImplemented">
- <tp:docstring>
- The protocol does not allow the local user to request the
- other side starts sending on this stream.
- </tp:docstring>
- </tp:error>
- </tp:possible-errors>
- </method>
-
- <signal name="RemoteMembersChanged"
- tp:name-for-bindings="Remote_Members_Changed">
- <tp:changed version="0.21.2">renamed from SendersChanged to MembersChanged</tp:changed>
- <tp:changed version="0.21.UNRELEASED">renamed from MembersChanged to RemoteMembersChanged</tp:changed>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- Emitted when <tp:member-ref>RemoteMembers</tp:member-ref> changes.
- </tp:docstring>
-
- <arg name="Updates" type="a{uu}" tp:type="Contact_Sending_State_Map">
- <tp:docstring>
- A mapping from channel-specific handles to their updated sending
- state, whose keys include at least the members who were added,
- and the members whose states changed.
- </tp:docstring>
- </arg>
- <arg name="Removed" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- The channel-specific handles that were removed from the keys
- of the <tp:member-ref>RemoteMembers</tp:member-ref>
- property, as a result of the contact leaving this stream
- </tp:docstring>
- </arg>
- </signal>
-
- <signal name="LocalSendingStateChanged"
- tp:name-for-bindings="Local_Sending_State_Changed">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- Emitted when <tp:member-ref>LocalSendingState</tp:member-ref> changes.
- </tp:docstring>
-
- <arg name="State" type="u" tp:type="Sending_State">
- <tp:docstring>
- The new value of
- <tp:member-ref>LocalSendingState</tp:member-ref>.
- </tp:docstring>
- </arg>
- </signal>
-
- <tp:enum name="Sending_State" type="u">
- <tp:docstring>
- Enum indicating whether a contact is sending media.
- </tp:docstring>
-
- <tp:enumvalue suffix="None" value="0">
- <tp:docstring>
- The contact is not sending media and has not been asked to
- do so.
- </tp:docstring>
- </tp:enumvalue>
-
- <tp:enumvalue suffix="Pending_Send" value="1">
- <tp:docstring>
- The contact has been asked to start sending media.
- </tp:docstring>
- </tp:enumvalue>
-
- <tp:enumvalue suffix="Sending" value="2">
- <tp:docstring>
- The contact is sending media.
- </tp:docstring>
- </tp:enumvalue>
-
- <tp:enumvalue suffix="Pending_Stop_Sending" value="3">
- <tp:docstring>
- The contact has been asked to stop sending media.
- </tp:docstring>
- </tp:enumvalue>
- </tp:enum>
-
- <tp:mapping name="Contact_Sending_State_Map">
- <tp:docstring>
- A map from a contact to his or her sending state.
- </tp:docstring>
- <tp:member name="Contact" type="u" tp:type="Contact_Handle">
- <tp:docstring>
- The contact handle.
- </tp:docstring>
- </tp:member>
- <tp:member name="Sending" type="u" tp:type="Sending_State">
- <tp:docstring>
- The sending state of the contact.
- </tp:docstring>
- </tp:member>
- </tp:mapping>
-
- <property name="Interfaces" tp:name-for-bindings="Interfaces"
- type="as" tp:type="DBus_Interface[]" access="read" tp:immutable="yes">
- <tp:added version="0.19.11"/>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Extra interfaces provided by this stream, such as <tp:dbus-ref
- namespace="ofdT.Call">Stream.Interface.Media.DRAFT</tp:dbus-ref>.
- This SHOULD NOT include the Stream interface itself, and cannot
- change once the stream has been created.</p>
- </tp:docstring>
- </property>
-
- <property name="RemoteMembers" tp:name-for-bindings="Remote_Members"
- type="a{uu}" access="read" tp:type="Contact_Sending_State_Map">
- <tp:changed version="0.21.2">renamed from Senders</tp:changed>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>A map from remote contacts to their sending state. The
- local user's sending state is shown in
- <tp:member-ref>LocalSendingState</tp:member-ref>.</p>
-
- <p><tp:type>Sending_State</tp:type>_Pending_Send indicates
- that another contact has asked the local user to send
- media.</p>
-
- <p>Other contacts' handles in this map indicate whether they are
- sending media to the contacts in this stream.
- Sending_State_Pending_Send indicates contacts who are not sending but
- have been asked to do so.</p>
- </tp:docstring>
- </property>
-
- <property name="LocalSendingState" tp:name-for-bindings="Local_Sending_State"
- type="u" access="read" tp:type="Sending_State">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The local user's sending state. Media sent on this stream
- should be assumed to be received, directly or indirectly, by
- every other contact in the
- <tp:member-ref>RemoteMembers</tp:member-ref> mapping. Change
- notification is given via the
- <tp:member-ref>LocalSendingStateChanged</tp:member-ref>
- signal.</p>
-
- <tp:rationale>
- Implementations of the first Call draft had the self handle
- in the <tp:member-ref>RemoteMembers</tp:member-ref> (then
- called Members) map and this showed that it's annoying
- having to keep track of the self handle so that it can be
- special-cased.
- </tp:rationale>
-
- <p>A value of <tp:type>Sending_State</tp:type>_Pending_Send for
- this property indicates that the other side requested the
- local user start sending media, which can be done by calling
- <tp:member-ref>SetSending</tp:member-ref>. When a call is
- accepted, all initial contents with streams that have a
- local sending state of
- <tp:type>Sending_State</tp:type>_Pending_Send are
- automatically set to sending. For example, on an incoming
- call it means you need to <tp:dbus-ref
- namespace="ofdT.Channel.Type.Call.DRAFT">Accept</tp:dbus-ref>
- to start the actual call, on an outgoing call it might mean
- you need to call <tp:dbus-ref
- namespace="ofdT.Channel.Type.Call.DRAFT">Accept</tp:dbus-ref>
- before actually starting the call.</p>
- </tp:docstring>
- </property>
-
- <property name="CanRequestReceiving" tp:name-for-bindings="Can_Request_Receiving"
- type="b" access="read" tp:immutable="yes">
- <tp:added version="0.21.2"/>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>If true, the user can request that a remote contact starts
- sending on this stream.</p>
-
- <tp:rationale>Not all protocols allow the user to ask the
- other side to start sending media.</tp:rationale>
- </tp:docstring>
- </property>
- </interface>
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/extensions/Call_Stream_Endpoint.xml b/extensions/Call_Stream_Endpoint.xml
deleted file mode 100644
index 4818168d..00000000
--- a/extensions/Call_Stream_Endpoint.xml
+++ /dev/null
@@ -1,182 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Call_Stream_Endpoint"
- xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
- <tp:copyright>Copyright © 2009-2010 Collabora Ltd.</tp:copyright>
- <tp:copyright>Copyright © 2009-2010 Nokia Corporation</tp:copyright>
- <tp:license xmlns="http://www.w3.org/1999/xhtml">
- <p>This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.</p>
-
- <p>This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.</p>
-
- <p>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.</p>
- </tp:license>
-
- <interface name="org.freedesktop.Telepathy.Call.Stream.Endpoint.DRAFT"
- tp:causes-havoc="experimental">
- <tp:added version="0.19.0">(draft 1)</tp:added>
-
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>This object represents an endpoint for a stream. In a one-to-one
- call, there will be one (bidirectional) stream per content and
- one endpoint per stream (as there is only one remote
- contact). In a multi-user call there is a stream for each remote
- contact and each stream has one endpoint as it refers to the one
- physical machine on the other end of the stream.</p>
-
- <p>The multiple endpoint use case appears when SIP call forking
- is used. Unlike jingle call forking (which is just making
- multiple jingle calls to different resources appear as one
- call), SIP call forking is actually done at the server so you
- have one stream to the remote contact and then and endpoint for
- each SIP client to be called.</p>
- </tp:docstring>
-
- <property name="RemoteCredentials"
- tp:name-for-bindings="Remote_Credentials"
- type="(ss)" tp:type="Stream_Credentials" access="read">
- <tp:docstring>
- The ICE credentials used for all candidates. If each candidate
- has different credentials, then this property SHOULD be ("",
- ""). Per-candidate credentials are set in the
- <tp:type>Candidate</tp:type>'s
- <tp:type>Candidate_Info</tp:type> a{sv}.
- </tp:docstring>
- </property>
-
- <signal name="RemoteCredentialsSet"
- tp:name-for-bindings="Remote_Credentials_Set">
- <arg name="Username" type="s">
- <tp:docstring>
- The username set.
- </tp:docstring>
- </arg>
- <arg name="Password" type="s">
- <tp:docstring>
- The password set.
- </tp:docstring>
- </arg>
- <tp:docstring>
- Emitted when the remote ICE credentials for the endpoint are
- set. If each candidate has different credentials, then this
- signal will never be fired.
- </tp:docstring>
- </signal>
-
- <property name="RemoteCandidates" tp:name-for-bindings="Remote_Candidates"
- type="a(usqa{sv})" tp:type="Candidate[]" access="read">
- <tp:docstring>
- A list of candidates for this endpoint.
- </tp:docstring>
- </property>
-
- <signal name="RemoteCandidatesAdded"
- tp:name-for-bindings="Remote_Candidates_Added">
- <tp:docstring>
- Emitted when remote candidates are added to the
- <tp:member-ref>RemoteCandidates</tp:member-ref> property.
- </tp:docstring>
- <arg name="Candidates"
- type="a(usqa{sv})" tp:type="Candidate[]">
- <tp:docstring>
- The candidates that were added.
- </tp:docstring>
- </arg>
- </signal>
-
- <signal name="CandidateSelected"
- tp:name-for-bindings="Candidate_Selected">
- <tp:docstring>
- Emitted when a candidate is selected for use in the stream.
- </tp:docstring>
- <arg name="Candidate"
- type="(usqa{sv})" tp:type="Candidate">
- <tp:docstring>
- The candidate that has been selected.
- </tp:docstring>
- </arg>
- </signal>
-
- <property name="SelectedCandidate"
- tp:name-for-bindings="Selected_Candidate"
- type="(usqa{sv})" tp:type="Candidate" access="read">
- <tp:docstring>
- The candidate that has been selected for use to stream packets
- to the remote contact. Change notification is given via the
- the <tp:member-ref>CandidateSelected</tp:member-ref> signal.
- </tp:docstring>
- </property>
-
- <method name="SetSelectedCandidate"
- tp:name-for-bindings="Set_Selected_Candidate">
- <tp:docstring>
- Set the value of
- <tp:member-ref>CandidateSelected</tp:member-ref>.
- </tp:docstring>
- <arg name="Candidate"
- type="(usqa{sv})" tp:type="Candidate" direction="in">
- <tp:docstring>
- The candidate that has been selected.
- </tp:docstring>
- </arg>
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument"/>
- </tp:possible-errors>
- </method>
-
- <property name="StreamState" tp:name-for-bindings="Stream_State"
- type="u" tp:type="Media_Stream_State"
- access="read">
- <tp:docstring>
- The stream state of the endpoint.
- </tp:docstring>
- </property>
-
- <signal name="StreamStateChanged"
- tp:name-for-bindings="Stream_State_Changed">
- <tp:docstring>
- Emitted when the <tp:member-ref>StreamState</tp:member-ref>
- property changes.
- </tp:docstring>
- <arg name="state" type="u" tp:type="Media_Stream_State">
- <tp:docstring>
- The new <tp:member-ref>StreamState</tp:member-ref> value.
- </tp:docstring>
- </arg>
- </signal>
-
- <method name="SetStreamState"
- tp:name-for-bindings="Set_Stream_State">
- <tp:docstring>
- Change the <tp:member-ref>StreamState</tp:member-ref> of the
- endpoint.
- </tp:docstring>
- <arg direction="in" name="State" type="u" tp:type="Media_Stream_State">
- <tp:docstring>
- The requested stream state.
- </tp:docstring>
- </arg>
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument"/>
- <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable"/>
- </tp:possible-errors>
- </method>
-
- <property name="Transport" tp:name-for-bindings="Transport"
- type="u" tp:type="Stream_Transport_Type" access="read">
- <tp:docstring>
- The transport type for the stream endpoint.
- </tp:docstring>
- </property>
-
- </interface>
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/extensions/Call_Stream_Interface_Media.xml b/extensions/Call_Stream_Interface_Media.xml
deleted file mode 100644
index 3d4fb133..00000000
--- a/extensions/Call_Stream_Interface_Media.xml
+++ /dev/null
@@ -1,406 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Call_Stream_Interface_Media"
- xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
- <tp:copyright>Copyright © 2009-2010 Collabora Ltd.</tp:copyright>
- <tp:copyright>Copyright © 2009-2010 Nokia Corporation</tp:copyright>
- <tp:license xmlns="http://www.w3.org/1999/xhtml">
- <p>This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.</p>
-
- <p>This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.</p>
-
- <p>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.</p>
- </tp:license>
-
- <interface name="org.freedesktop.Telepathy.Call.Stream.Interface.Media.DRAFT"
- tp:causes-havoc="experimental">
- <tp:added version="0.19.0">(draft 1)</tp:added>
- <tp:requires interface="org.freedesktop.Telepathy.Call.Stream.DRAFT"/>
-
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- [FIXME]
- </tp:docstring>
-
- <method name="SetCredentials" tp:name-for-bindings="Set_Credentials">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Used to set the username fragment and password for streams that have
- global credentials.</p>
- </tp:docstring>
- <arg name="Username" type="s" direction="in">
- <tp:docstring>
- The username to use when authenticating on the stream.
- </tp:docstring>
- </arg>
- <arg name="Password" type="s" direction="in">
- <tp:docstring>
- The password to use when authenticating on the stream.
- </tp:docstring>
- </arg>
- </method>
-
- <tp:mapping name="Candidate_Info">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Extra information about the candidate. Allowed and mandatory keys
- depend on the transport protocol used. The following keys are commenly
- used:</p>
-
- <dl>
- <dt>Type (u)</dt>
- <dd>type of candidate (host, srflx, prflx, relay)</dd>
-
- <dt>Foundation (s)</dt>
- <dd>the foundation of this candiate</dd>
-
- <dt>Protocol (u) </dt>
- <dd>Underlying protocol of the candidate (udp, tcp) </dd>
-
- <dt>Priority (u) </dt>
- <dd>Priority of the candidate </dd>
-
- <dt>BaseIP (u) </dt>
- <dd>Base IP of this candidate </dd>
-
- <dt>Username (s) </dt>
- <dd>Username of this candidate
- (only if credentials are per candidate)</dd>
-
- <dt>Password (s) </dt>
- <dd>Password of this candidate
- (only if credentials are per candidate)</dd>
-
- <dt>RawUDPFallback (b) </dt>
- <dd>Indicate whether this candidate may be used to provide a UDP
- fallback</dd>
- </dl>
- </tp:docstring>
- <tp:member name="Key" type="s">
- <tp:docstring>One of the well-known keys documented here, or an
- implementation-specific key.</tp:docstring>
- </tp:member>
- <tp:member name="Value" type="v">
- <tp:docstring>The value corresponding to that key.</tp:docstring>
- </tp:member>
- </tp:mapping>
-
- <tp:struct name="Candidate" array-name="Candidate_List">
- <tp:docstring>A Stream Candidate.</tp:docstring>
- <tp:member name="Component" type="u">
- <tp:docstring>The component number.</tp:docstring>
- </tp:member>
- <tp:member name="IP" type="s">
- <tp:docstring>The IP address to use.</tp:docstring>
- </tp:member>
- <tp:member name="Port" type="q">
- <tp:docstring>The port number to use.</tp:docstring>
- </tp:member>
- <tp:member name="Info" type="a{sv}" tp:type="Candidate_Info">
- <tp:docstring>Additional information about the candidate.</tp:docstring>
- </tp:member>
- </tp:struct>
-
- <method name="AddCandidates" tp:name-for-bindings="Add_Candidates">
- <tp:docstring>
- Add candidates to the
- <tp:member-ref>LocalCandidates</tp:member-ref> property and
- signal them to the remote contact(s).
- </tp:docstring>
- <arg name="Candidates" direction="in"
- type="a(usqa{sv})" tp:type="Candidate[]">
- <tp:docstring>
- The candidates to be added.
- </tp:docstring>
- </arg>
- </method>
-
- <method name="CandidatesPrepared"
- tp:name-for-bindings="Candidates_Prepared">
- <tp:docstring>
- This indicates to the CM that the initial batch of candidates
- has been added.
- </tp:docstring>
- </method>
-
- <tp:enum type="u" name="Stream_Transport_Type">
- <tp:changed version="0.21.2">WLM_8_5 was removed</tp:changed>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- A transport that can be used for streaming.
- </tp:docstring>
- <tp:enumvalue suffix="Raw_UDP" value="0">
- <tp:docstring>
- Raw UDP, with or without STUN. All streaming clients are assumed to
- support this transport, so there is no handler capability token for
- it in the <tp:dbus-ref namespace="ofdT.Channel.Type"
- >Call.DRAFT</tp:dbus-ref> interface.
- [This corresponds to "none" or "stun" in the old Media.StreamHandler
- interface.]
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="ICE" value="1">
- <tp:docstring>
- Interactive Connectivity Establishment, as defined by RFC
- 5245. Note that this value covers ICE-UDP only.
- [This corresponds to "ice-udp" in the old
- Media.StreamHandler interface.]
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="GTalk_P2P" value="2">
- <tp:docstring>
- Google Talk peer-to-peer connectivity establishment, as implemented
- by libjingle 0.3.
- [This corresponds to "gtalk-p2p" in the old Media.StreamHandler
- interface.]
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="WLM_2009" value="3">
- <tp:docstring>
- The transport used by Windows Live Messenger 2009 or later, which
- resembles ICE draft 19.
- [This corresponds to "wlm-2009" in the old Media.StreamHandler
- interface.]
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="SHM" value="4">
- <tp:added version="0.21.2"/>
- <tp:docstring>
- Shared memory transport, as implemented by the GStreamer
- shmsrc and shmsink plugins.
- </tp:docstring>
- </tp:enumvalue>
- </tp:enum>
-
- <property name="Transport" tp:name-for-bindings="Transport"
- type="u" tp:type="Stream_Transport_Type" access="read" tp:immutable="yes">
- <tp:docstring>
- The transport for this stream.
- </tp:docstring>
- </property>
-
- <property name="LocalCandidates" tp:name-for-bindings="Local_Candidates"
- type="a(usqa{sv})" tp:type="Candidate[]" access="read">
- <tp:docstring>
- [FIXME]. Change notification is via the
- <tp:member-ref>LocalCandidatesAdded</tp:member-ref> signal.
- </tp:docstring>
- </property>
-
- <signal name="LocalCandidatesAdded"
- tp:name-for-bindings="Local_Candidates_Added">
- <tp:docstring>
- Emitted when local candidates are added to the
- <tp:member-ref>LocalCandidates</tp:member-ref> property.
- </tp:docstring>
- <arg name="Candidates" type="a(usqa{sv})" tp:type="Candidate[]">
- <tp:docstring>
- Candidates that have been added.
- </tp:docstring>
- </arg>
- </signal>
-
- <tp:struct name="Stream_Credentials">
- <tp:docstring>A username and password pair.</tp:docstring>
-
- <tp:member name="Username" type="s">
- <tp:docstring>The username.</tp:docstring>
- </tp:member>
-
- <tp:member name="Password" type="s">
- <tp:docstring>The password.</tp:docstring>
- </tp:member>
- </tp:struct>
-
- <property name="LocalCredentials" tp:name-for-bindings="Local_Credentials"
- type="(ss)" tp:type="Stream_Credentials" access="read">
- <tp:docstring>
- [FIXME]. Change notification is via the
- <tp:member-ref>LocalCredentialsChanged</tp:member-ref> signal.
- </tp:docstring>
- </property>
-
- <signal name="LocalCredentialsChanged"
- tp:name-for-bindings="Local_Credentials_Changed">
- <tp:changed version="0.21.2">renamed from LocalCredentailsSet</tp:changed>
- <tp:docstring>
- Emitted when the value of
- <tp:member-ref>LocalCredentials</tp:member-ref> changes.
- </tp:docstring>
- <arg name="Username" type="s" />
- <arg name="Password" type="s" />
- </signal>
-
- <signal name="RelayInfoChanged"
- tp:name-for-bindings="Relay_Info_Changed">
- <tp:docstring>
- Emitted when the value of
- <tp:member-ref>RelayInfo</tp:member-ref> changes.
- </tp:docstring>
- <arg name="Relay_Info" type="aa{sv}" tp:type="String_Variant_Map[]" />
- </signal>
-
- <signal name="STUNServersChanged"
- tp:name-for-bindings="STUN_Servers_Changed">
- <tp:docstring>
- Emitted when the value of
- <tp:member-ref>STUNServers</tp:member-ref> changes.
- </tp:docstring>
- <arg name="Servers" type="a(sq)" tp:type="Socket_Address_IP[]" />
- </signal>
-
- <property name="STUNServers" tp:name-for-bindings="STUN_Servers"
- type="a(sq)" tp:type="Socket_Address_IP[]" access="read">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The IP addresses of possible STUN servers to use for NAT
- traversal, as dotted-quad IPv4 address literals or RFC2373
- IPv6 address literals. Change notification is via the
- <tp:member-ref>STUNServersChanged</tp:member-ref>
- signal. The IP addresses MUST NOT be given as DNS hostnames.</p>
-
- <tp:rationale>
- High-quality connection managers already need an asynchronous
- DNS resolver, so they might as well resolve this name to an IP
- to make life easier for streaming implementations.
- </tp:rationale>
- </tp:docstring>
- </property>
-
- <property name="RelayInfo" type="aa{sv}" access="read"
- tp:type="String_Variant_Map[]" tp:name-for-bindings="Relay_Info">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>A list of mappings describing TURN or Google relay servers
- available for the client to use in its candidate gathering, as
- determined from the protocol. Map keys are:</p>
-
- <dl>
- <dt><code>ip</code> - s</dt>
- <dd>The IP address of the relay server as a dotted-quad IPv4
- address literal or an RFC2373 IPv6 address literal. This MUST NOT
- be a DNS hostname.
-
- <tp:rationale>
- High-quality connection managers already need an asynchronous
- DNS resolver, so they might as well resolve this name to an IP
- and make life easier for streaming implementations.
- </tp:rationale>
- </dd>
-
- <dt><code>type</code> - s</dt>
- <dd>
- <p>Either <code>udp</code> for UDP (UDP MUST be assumed if this
- key is omitted), <code>tcp</code> for TCP, or
- <code>tls</code>.</p>
-
- <p>The precise meaning of this key depends on the
- <tp:member-ref>Transport</tp:member-ref> property: if
- Transport is ICE, <code>tls</code> means
- TLS over TCP as referenced by ICE draft 19, and if
- Transport is GTalk_P2P, <code>tls</code> means
- a fake SSL session over TCP as implemented by libjingle.</p>
- </dd>
-
- <dt><code>port</code> - q</dt>
- <dd>The UDP or TCP port of the relay server as an ASCII unsigned
- integer</dd>
-
- <dt><code>username</code> - s</dt>
- <dd>The username to use</dd>
-
- <dt><code>password</code> - s</dt>
- <dd>The password to use</dd>
-
- <dt><code>component</code> - u</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.
-
- <tp:rationale>
- In ICE draft 6, as used by Google Talk, credentials are only
- valid once, so each component needs relaying separately.
- </tp:rationale>
- </dd>
- </dl>
-
- <tp:rationale>
- <p>An equivalent of the gtalk-p2p-relay-token property on
- MediaSignalling channels is not included here. The connection
- manager should be responsible for making the necessary HTTP
- requests to turn the token into a username and password.</p>
- </tp:rationale>
-
- <p>The type of relay server that this represents depends on
- the value of the <tp:member-ref>Transport</tp:member-ref>
- property. If Transport is ICE, this is a TURN server;
- if Transport 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>
-
- <p>Change notification is given via the
- <tp:member-ref>RelayInfoChanged</tp:member-ref> signal.</p>
- </tp:docstring>
- </property>
-
- <signal name="ServerInfoRetrieved"
- tp:name-for-bindings="Server_Info_Retrieved">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Signals that the initial information about STUN and Relay servers
- has been retrieved, i.e. the
- <tp:member-ref>HasServerInfo</tp:member-ref> property is
- now true.</p>
- </tp:docstring>
- </signal>
-
- <property name="HasServerInfo" type="b"
- tp:name-for-bindings="Has_Server_Info" access="read">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>True if all the initial information about STUN servers and Relay
- servers has been retrieved. Change notification is via the
- <tp:member-ref>ServerInfoRetrieved</tp:member-ref> signal.</p>
-
- <tp:rationale>
- Streaming implementations that can't cope with STUN and
- relay servers being added later SHOULD wait for this
- property to become true before proceeding.
- </tp:rationale>
- </tp:docstring>
- </property>
-
- <signal name="EndpointsChanged"
- tp:name-for-bindings="Endpoints_Changed">
- <tp:docstring>
- Emitted when the <tp:member-ref>Endpoints</tp:member-ref> property
- changes.
- </tp:docstring>
- <arg name="Endpoints_Added" type="ao">
- <tp:docstring>
- Endpoints that were added.
- </tp:docstring>
- </arg>
- <arg name="Endpoints_Removed" type="ao">
- <tp:docstring>
- Endpoints that no longer exist.
- </tp:docstring>
- </arg>
- </signal>
-
- <property name="Endpoints" tp:name-for-bindings="Endpoints"
- type="ao" access="read">
- <tp:docstring>
- <p>The list of <tp:dbus-ref namespace="ofdT.Call.Stream"
- >Endpoint.DRAFT</tp:dbus-ref> objects that exist for this
- stream.</p>
-
- <p>Change notification is via the
- <tp:member-ref>EndpointsChanged</tp:member-ref> signal.</p>
- </tp:docstring>
- </property>
- </interface>
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/extensions/Channel_Type_Call.xml b/extensions/Channel_Type_Call.xml
deleted file mode 100644
index eb1a6635..00000000
--- a/extensions/Channel_Type_Call.xml
+++ /dev/null
@@ -1,1425 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Channel_Type_Call" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
- <tp:copyright>Copyright © 2009-2010 Collabora Limited</tp:copyright>
- <tp:copyright>Copyright © 2009-2010 Nokia Corporation</tp:copyright>
- <tp:license>
- This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2.1 of the License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Lesser General Public License for more details.
-
-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"
- tp:causes-havoc="experimental">
- <tp:added version="0.19.0">(draft 1)</tp:added>
-
- <tp:requires interface="org.freedesktop.Telepathy.Channel"/>
- <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
- namespace="ofdT.Channel.Type">StreamedMedia</tp:dbus-ref>
- channel type. Call channels are much more flexible than its
- predecessor and allow more than two participants.</p>
-
- <p>Handlers are advised against executing all the media
- signalling, codec and candidate negotiation themselves but
- instead use a helper library such as <a
- href="http://telepathy.freedesktop.org/doc/telepathy-farsight/">telepathy-farsight</a>
- which when given a new Call channel will set up the
- transports and codecs and create GStreamer pads which
- can be added to the handler UI. This is useful as it means
- the handler does not have to worry how exactly the
- connection between the call participants is being made.</p>
-
- <p>The <tp:dbus-ref
- namespace="ofdT.Channel">TargetHandle</tp:dbus-ref> and
- <tp:dbus-ref namespace="ofdT.Channel">TargetID</tp:dbus-ref>
- properties in a Call channel refer to the contact that the
- user initially called, or which contact initially called the
- user. Even in a conference call, where there are multiple
- contacts in the call, these properties refer to the
- initial contact, who might have left the conference since
- then. As a result, handlers should not rely on these
- properties.</p>
-
- <h4>Contents</h4>
-
- <p><tp:dbus-ref
- namespace="ofdT.Call">Content.DRAFT</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.</p>
-
- <p><tp:dbus-ref
- namespace="ofdT.Call">Content.DRAFT</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>
- interface page.</p>
-
- <h4>Outgoing calls</h4>
-
- <p>To make an audio-only call to a contact <tt>foo@example.com</tt>
- handlers should call:</p>
-
- <blockquote>
- <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>,
- ...<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,
-})</pre></blockquote>
-
- <p>As always, <tp:dbus-ref
- namespace="ofdT.Channel">TargetHandle</tp:dbus-ref> may be used
- in place of
- <tp:dbus-ref namespace="ofdT.Channel">TargetID</tp:dbus-ref>
- if the contact's handle is already known. To make an audio
- and video call, the handler should also specify
- <tp:member-ref>InitialVideo</tp:member-ref> The
- connection manager SHOULD return a channel whose immutable
- properties contain the local user as the <tp:dbus-ref
- namespace="ofdT.Channel">InitiatorHandle</tp:dbus-ref>, the
- remote contact as the <tp:dbus-ref
- namespace="ofdT.Channel">TargetHandle</tp:dbus-ref>,
- <tp:dbus-ref namespace="ofdT.Channel">Requested</tp:dbus-ref> =
- <code>True</code> (indicating the call is outgoing).</p>
-
- <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
- 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>
-
- <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>
-
- <p>At this point <a
- href="http://telepathy.freedesktop.org/doc/telepathy-farsight/">telepathy-farsight</a>
- will signal that a pad is available for the handler to show
- in the user interface.</p>
-
- <h5>Missed calls</h5>
-
- <p>If the remote contact does not accept the call in time, then
- the call can be terminated by the server. Note that this only
- happens in some protocols. Most XMPP clients, for example, do
- 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:member-ref>CallStateReason</tp:member-ref> property changing
- to (remote contact,
- <tp:type>Call_State_Change_Reason</tp:type>_No_Answer, "").</p>
-
- <h5>Rejected calls</h5>
-
- <p>If the remote contact decides he or she does not feel like
- 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:member-ref>CallStateReason</tp:member-ref> property
- changing to (remote contact,
- <tp:type>Call_State</tp:type>_Change_Reason_User_Requested,
- "org.freedesktop.Telepathy.Error.Rejected").</p>
-
- <h4>Incoming calls</h4>
-
- <p>When an incoming call occurs, something like the following
- <tp:dbus-ref
- namespace="ofdT.Connection.Interface.Requests">NewChannels</tp:dbus-ref>
- signal will occur:</p>
-
- <blockquote>
- <pre>
-<tp:dbus-ref namespace="ofdT.Connection.Interface.Requests">NewChannels</tp:dbus-ref>([
- /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>,
- ...<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,
- ...<tp:dbus-ref namespace="ofdT.Channel">Requested</tp:dbus-ref>: False,
- ...<tp:member-ref>InitialAudio</tp:member-ref>: True,
- ...<tp:member-ref>InitialVideo</tp:member-ref>: True,
- ...<tp:member-ref>InitialAudioName</tp:member-ref>: "audio",
- ...<tp:member-ref>InitialVideoName</tp:member-ref>: "video",
- ...<tp:member-ref>MutableContents</tp:member-ref>: True,
- }])</pre></blockquote>
-
- <p>The <tp:member-ref>InitialAudio</tp:member-ref> and
- <tp:member-ref>InitialVideo</tp:member-ref> properties show that
- the call has been started with two contents: one for audio
- streaming and one for video streaming. The
- <tp:member-ref>InitialAudioName</tp:member-ref> and
- <tp:member-ref>InitialVideoName</tp:member-ref> properties also
- show that the aforementioned audio and video contents have names
- "audio" and "video".</p>
-
- <p>Once the handler has notified the local user that there is an
- incoming call waiting for acceptance, the handler should call
- <tp:member-ref>SetRinging</tp:member-ref> to let the CM know.
- The new channel should also be given to telepathy-farsight to
- work out how the two participants will connect together.
- telepathy-farsight will call the appropriate methods on the call's
- <tp:dbus-ref namespace="ofdT.Call">Content.DRAFT</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
- being transferred, telepathy-farsight will notify the
- handler of a new pad to be shown to the local user in the
- UI</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:member-ref>CallStateReason</tp:member-ref> property will
- change to (self handle,
- <tp:type>Call_State_Change_Reason</tp:type>_User_Requested,
- "org.freedesktop.Telepathy.Error.Rejected").</p>
-
- <h4>Ongoing calls</h4>
-
- <h5>Adding and removing contents</h5>
-
- <p>When a call is open, new contents can be added as long as the
- CM supports it. The
- <tp:member-ref>MutableContents</tp:member-ref> property will let
- the handler know whether further contents can be added or
- existing contents removed. An example of this is starting a
- voice call between a contact and then adding a video content.
- To do this, the should call
- <tp:member-ref>AddContent</tp:member-ref> like this:</p>
-
- <blockquote>
- <pre><tp:member-ref>AddContent</tp:member-ref>("video",
- <tp:type>Media_Stream_Type</tp:type>_Video)</pre>
- </blockquote>
-
- <p>Assuming no errors, the new video content will be added to
- the call. telepathy-farsight will pick up the new content and
- perform the transport and codec negotiation automatically.
- telpathy-farsight will signal when the video is ready to
- show in the handler's user interface.</p>
-
- <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
- is on the <tp:dbus-ref
- namespace="ofdT.Call">Content.DRAFT</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:member-ref>CallStateReason</tp:member-ref> will change
- to (self handle,
- <tp:type>Call_State_Change_Reason</tp:type>_User_Requested,
- "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:member-ref>CallStateReason</tp:member-ref> will change
- to (remote contact,
- <tp:type>Call_State_Change_Reason</tp:type>_User_Requested,
- "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
- 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>,
- ...<tp:dbus-ref namespace="ofdT.Channel">TargetHandleType</tp:dbus-ref>: Contact,
- ...<tp:member-ref>InitialVideo</tp:member-ref>: True
- },
- Allowed = [ ...<tp:member-ref>InitialVideoName</tp:member-ref>,
- ...<tp:member-ref>InitialAudio</tp:member-ref>,
- ...<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>,
- ...<tp:dbus-ref namespace="ofdT.Channel">TargetHandleType</tp:dbus-ref>: Contact,
- ...<tp:member-ref>InitialAudio</tp:member-ref>: True
- },
- Allowed = [ ...<tp:member-ref>InitialAudioName</tp:member-ref>,
- ...<tp:member-ref>InitialVideo</tp:member-ref>,
- ...<tp:member-ref>InitialVideoName</tp:member-ref>
- ]
-)]</pre></blockquote>
-
- <p>Clients aren't allowed to make outgoing calls that have
- neither initial audio nor initial video. Clearly, CMs
- which don't support video should leave out the first class and
- omit <tp:member-ref>InitialVideo</tp:member-ref> from the second
- 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
- 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,
- "org.freedesktop.Telepathy.Error.Terminated", "") before
- actually closing the channel.</p>
-
- </tp:docstring>
-
- <method name="SetRinging" tp:name-for-bindings="Set_Ringing">
- <tp:changed version="0.21.2">renamed from Ringing</tp:changed>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Indicate that the local user has been alerted about the incoming
- call.</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: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
- remote contact that the local user has been alerted (if the
- protocol implements 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
- NotAvailable.</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:type>Call_State</tp:type>_Pending_Receiver.
- </tp:docstring>
- </tp:error>
- </tp:possible-errors>
- </method>
-
- <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>
-
- <p>For outgoing calls in state
- <tp:type>Call_State</tp:type>_Pending_Initiator, 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>
-
- <p>Otherwise, this method SHOULD fail with the error NotAvailable.</p>
-
- <p>This method should be called exactly once per Call, by whatever
- 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"
- >Disposition</tp:dbus-ref> is
- <tp:type>Call_Content_Disposition</tp:type>_Initial, 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"
- >SetSending</tp:dbus-ref>(True) had been called.</p>
- </tp:docstring>
-
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
- <tp:docstring>
- The call is not in one of the states where this method makes sense.
- </tp:docstring>
- </tp:error>
- </tp:possible-errors>
- </method>
-
- <method name="Hangup" tp:name-for-bindings="Hangup">
- <tp:docstring>
- Request that the call is ended. All contents will be removed
- from the Call so that the
- <tp:member-ref>Contents</tp:member-ref> property will be the
- empty list.
- </tp:docstring>
-
- <arg direction="in" name="Reason"
- type="u" tp:type="Call_State_Change_Reason">
- <tp:docstring>
- A generic hangup reason.
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="Detailed_Hangup_Reason"
- type="s" tp:type="DBus_Error_Name">
- <tp:docstring>
- A more specific reason for the call hangup, if one is available, or
- an empty string otherwise.
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="Message" type="s">
- <tp:docstring>
- A human-readable message to be sent to the remote contact(s).
-
- <tp:rationale>
- XMPP Jingle allows calls to be terminated with a human-readable
- message.
- </tp:rationale>
- </tp:docstring>
- </arg>
-
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
- <tp:docstring>
- The call has already been ended.
- </tp:docstring>
- </tp:error>
- </tp:possible-errors>
- </method>
-
- <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
- value of the <tp:member-ref>MutableContents</tp:member-ref>
- property before trying to add another content as it might not
- be allowed.
- </tp:docstring>
- <arg direction="in" name="Content_Name" type="s">
- <tp:docstring>
- <p>The suggested name of the content to add.</p>
-
- <tp:rationale>
- The content name property should be meaningful, so should
- be given a name which is significant to the user. The name
- could be a localized "audio", "video" or perhaps include
- some string identifying the source, such as a webcam
- identifier.
- </tp:rationale>
-
- <p>If there is already a content with the same name as this
- property then a sensible suffix should be added. For example,
- if this argument is "audio" but a content of the same name
- already exists, a sensible suffix such as " (1)" is appended
- to name the new content "audio (1)". A further content with the
- name "audio" would then be named "audio (2)".</p>
-
- </tp:docstring>
- </arg>
- <arg direction="in" name="Content_Type" type="u"
- tp:type="Media_Stream_Type">
- <tp:docstring>
- The media stream type of the content to be added to the
- call.
- </tp:docstring>
- </arg>
- <arg direction="out" name="Content" type="o">
- <tp:docstring>
- Path to the newly-created <tp:dbus-ref
- namespace="org.freedesktop.Telepathy"
- >Call.Content.DRAFT</tp:dbus-ref> object.
- </tp:docstring>
- </arg>
-
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
- <tp:docstring>
- The media stream type given is invalid.
- </tp:docstring>
- </tp:error>
- <tp:error name="org.freedesktop.Telepathy.Error.NotImplemented">
- <tp:docstring>
- The media stream type requested is not implemented by the
- CM.
- </tp:docstring>
- </tp:error>
- <tp:error name="org.freedesktop.Telepathy.Error.NotCapable">
- <tp:docstring>
- The content type requested cannot be added to this
- call. Examples of why this might be the case include
- because a second video stream cannot be added, or a
- content cannot be added when the content set isn't
- mutable.
- </tp:docstring>
- </tp:error>
- </tp:possible-errors>
- </method>
-
- <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>
- </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.
- </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>
- </tp:docstring>
- <arg name="Content" type="o">
- <tp:docstring>
- The <tp:dbus-ref namespace="ofdT.Call"
- >Content.DRAFT</tp:dbus-ref> which was removed.
- </tp:docstring>
- </arg>
- </signal>
-
- <property name="Contents" type="ao" access="read"
- 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
- 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.
- </p>
- </tp:docstring>
- </property>
-
- <tp:enum type="u" name="Call_State">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The state of a call, as a whole.</p>
-
- <p>The allowed transitions are:</p>
-
- <ul>
- <li>Pending_Initiator → Pending_Receiver (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>
- </ul>
-
- <p>Clients MAY consider unknown values from this enum to be an
- error - additional values will not be defined after the Call
- specification is declared to be stable.</p>
- </tp:docstring>
-
- <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
- MAY be used by client code to represent calls whose state is as yet
- unknown.
- </tp:docstring>
- </tp:enumvalue>
- <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
- user has not yet sent any signalling messages to the remote user(s),
- and will not do so until <tp:member-ref>Accept</tp:member-ref> is
- called.
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="Pending_Receiver" value = "2">
- <tp:docstring>
- The receiver (the contact being called) hasn't accepted the call yet.
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="Accepted" value = "3">
- <tp:docstring>
- The contact being called has accepted the call.
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="Ended" value = "4">
- <tp:docstring>
- The call has ended, either via normal termination or an error.
- </tp:docstring>
- </tp:enumvalue>
- </tp:enum>
-
- <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.
- </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: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.
-
- <tp:rationale>
- Otherwise, in transient situations where some but not all contents
- are on hold, UIs would falsely indicate that the call as a whole
- 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!
- </tp:rationale>
- </tp:docstring>
- </tp:flag>
-
- <tp:flag suffix="Forwarded" value="8">
- <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.
- </tp:docstring>
- </tp:flag>
-
- <tp:flag suffix="In_Progress" value="16">
- <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.
- </tp:docstring>
- </tp:flag>
-
- <tp:flag suffix="Clearing" value="32">
- <tp:docstring>
- This flag only occurs when the CallState is Ended. The call with
- this flag set has ended, but not all resources corresponding to the
- call have been freed yet.
-
- Depending on the protocol there might be some audible feedback while
- the clearing flag is set.
-
- <tp:rationale>
- In calls following the ITU-T Q.931 standard there is a period of
- time between the call ending and the underlying channel being
- completely free for re-use.
- </tp:rationale>
- </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"
- tp:name-for-bindings="Call_State_Details" type="a{sv}" access="read">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>A map used to provide optional extensible details for the
- <tp:member-ref>CallState</tp:member-ref>,
- <tp:member-ref>CallFlags</tp:member-ref> and/or
- <tp:member-ref>CallStateReason</tp:member-ref>.</p>
-
- <p>Well-known keys and their corresponding value types include:</p>
-
- <dl>
- <dt>hangup-message - s</dt>
- <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.
- <tp:rationale>
- XMPP Jingle can send such messages.
- </tp:rationale>
- </dd>
-
- <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:rationale>
- SIP 182 notifications can have human-readable messages attached.
- </tp:rationale>
- </dd>
-
- <dt>debug-message - s</dt>
- <dd>A message giving further details of any error indicated by the
- <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>
- </dl>
- </tp:docstring>
- </property>
-
- <property name="CallState" type="u" access="read"
- tp:name-for-bindings="Call_State" tp:type="Call_State">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The current high-level state of this call. The
- <tp:member-ref>CallFlags</tp:member-ref> provide additional
- information, and the <tp:member-ref>CallStateReason</tp:member-ref>
- and <tp:member-ref>CallStateDetails</tp:member-ref> explain the
- reason for the current values for those properties.</p>
-
- <p>Note that when in a conference call, this property is
- purely to show your state in joining the call. The receiver
- (or remote contact) in this context is the conference server
- itself. The property does not change when other call members'
- states change.</p>
-
- <p>Clients MAY consider unknown values in this property to be an
- error.</p>
- </tp:docstring>
- </property>
-
- <property name="CallFlags" type="u" access="read"
- tp:name-for-bindings="Call_Flags" tp:type="Call_Flags">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Flags representing the status of the call as a whole,
- providing more specific information than the
- <tp:member-ref>CallState</tp:member-ref>.</p>
-
- <p>Clients are expected to ignore unknown flags in this property,
- without error.</p>
-
- <p>When an ongoing call is active and not on hold or has any
- other problems, this property will be 0.</p>
- </tp:docstring>
- </property>
-
- <tp:enum name="Call_State_Change_Reason" type="u">
- <tp:docstring>
- A simple representation of the reason for a change in the call's
- state, which may be used by simple clients, or used as a fallback
- when the DBus_Reason member of a <tp:type>Call_State_Reason</tp:type>
- struct is not understood.
- </tp:docstring>
-
- <tp:enumvalue suffix="Unknown" value="0">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- We just don't know. Unknown values of this enum SHOULD also be
- treated like this.
- </tp:docstring>
- </tp:enumvalue>
-
- <tp:enumvalue suffix="User_Requested" value="1">
- <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>
-
- <p>If the Actor is the local user, the DBus_Reason SHOULD be the
- empty string.</p>
-
- <p>If the Actor is a remote user, the DBus_Reason SHOULD be the empty
- string if the call was terminated normally, but MAY be a non-empty
- error name to indicate error-like call termination reasons (call
- rejected as busy, kicked from a conference by a moderator, etc.).</p>
- </tp:docstring>
- </tp:enumvalue>
-
- <tp:enumvalue suffix="Forwarded" value="2">
- <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
- of a <tp:type>Call_State_Reason</tp:type> struct.</p>
- </tp:docstring>
- </tp:enumvalue>
-
- <tp:enumvalue suffix="No_Answer" value="3">
- <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
- ended the call before the receiver accepted it. With an
- incoming call this state change reason signifies a missed
- call.</p>
- </tp:docstring>
- </tp:enumvalue>
- </tp:enum>
-
- <tp:struct name="Call_State_Reason">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>A description of the reason for a change to the
- <tp:member-ref>CallState</tp:member-ref> and/or
- <tp:member-ref>CallFlags</tp:member-ref>.</p>
- </tp:docstring>
-
- <tp:member type="u" tp:type="Contact_Handle" name="Actor">
- <tp:docstring>
- The contact responsible for the change, or 0 if no contact was
- responsible.
- </tp:docstring>
- </tp:member>
-
- <tp:member type="u" tp:type="Call_State_Change_Reason" name="Reason">
- <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
- the Actor member will dictate whether it was the local user or
- a remote contact responsible.
- </tp:docstring>
- </tp:member>
-
- <tp:member type="s" tp:type="DBus_Error_Name" name="DBus_Reason">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>A specific reason for the change, which may be a D-Bus error in
- the Telepathy namespace, a D-Bus error in any other namespace
- (for implementation-specific errors), or the empty string to
- indicate that the state change was not an error.</p>
-
- <p>This SHOULD be an empty string for changes to any state other
- than Ended.</p>
-
- <p>The errors Cancelled and Terminated SHOULD NOT be used here;
- an empty string SHOULD be used instead.</p>
-
- <tp:rationale>
- <p>Those error names are used to indicate normal call
- termination by the local user or another user, respectively,
- in contexts where a D-Bus error name must appear.</p>
- </tp:rationale>
- </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">
- <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
- <tp:member-ref>CallFlags</tp:member-ref>. The
- <tp:member-ref>CallStateDetails</tp:member-ref> MAY provide additional
- information.</p>
- </tp:docstring>
- </property>
-
- <signal name="CallStateChanged"
- tp:name-for-bindings="Call_State_Changed">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Emitted when the state of the call as a whole changes.</p>
-
- <p>This signal is emitted for any change in the properties
- corresponding to its arguments, even if the other properties
- referenced remain unchanged.</p>
- </tp:docstring>
-
- <arg name="Call_State" type="u" tp:type="Call_State">
- <tp:docstring>
- The new value of the <tp:member-ref>CallState</tp:member-ref>
- property.
- </tp:docstring>
- </arg>
-
- <arg name="Call_Flags" type="u" tp:type="Call_Flags">
- <tp:docstring>
- The new value of the <tp:member-ref>CallFlags</tp:member-ref>
- property.
- </tp:docstring>
- </arg>
-
- <arg name="Call_State_Reason" type="(uus)" tp:type="Call_State_Reason">
- <tp:docstring>
- The new value of the <tp:member-ref>CallStateReason</tp:member-ref>
- property.
- </tp:docstring>
- </arg>
-
- <arg name="Call_State_Details" type="a{sv}">
- <tp:docstring>
- The new value of the <tp:member-ref>CallStateDetails</tp:member-ref>
- property.
- </tp:docstring>
- </arg>
- </signal>
-
- <property name="HardwareStreaming" tp:name-for-bindings="Hardware_Streaming"
- type="b" access="read" tp:immutable="yes">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>If this property is True, all of the media streaming is done by some
- mechanism outside the scope of Telepathy.</p>
-
- <tp:rationale>
- <p>A connection manager might be intended for a specialized hardware
- device, which will take care of the audio streaming (e.g.
- telepathy-yafono, which uses GSM hardware which does the actual
- audio streaming for the call).</p>
- </tp:rationale>
-
- <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
- information to a streaming implementation. Connection managers SHOULD
- operate like this, if possible.</p>
-
- <tp:rationale>
- <p>Many connection managers (such as telepathy-gabble) only do the
- call signalling, and expect the client to do the actual streaming
- using something like
- <a href="http://farsight.freedesktop.org/">Farsight</a>, to improve
- latency and allow better UI integration.</p>
- </tp:rationale>
- </tp:docstring>
- </property>
-
- <tp:flags type="u" name="Call_Member_Flags" value-prefix="Call_Member_Flag">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>A set of flags representing the status of a remote contact in a
- call.</p>
-
- <p>It is protocol- and client-specific whether a particular contact
- will ever have a particular flag set on them, and Telepathy clients
- SHOULD NOT assume that a flag will ever be set.</p>
-
- <tp:rationale>
- <p>180 Ringing in SIP, and its equivalent in XMPP, are optional
- informational messages, and implementations are not required
- to send them. The same applies to the messages used to indicate
- hold state.</p>
- </tp:rationale>
- </tp:docstring>
-
- <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>
-
- <tp:rationale>
- <p>This is a flag per member, not a flag for the call as a whole,
- because in Muji conference calls, you could invite someone and
- have their state be "ringing" for a while.</p>
- </tp:rationale>
- </tp:docstring>
- </tp:flag>
-
- <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>
-
- <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 put the conference
- on hold.</p>
- </tp:rationale>
- </tp:docstring>
- </tp:flag>
-
- <tp:flag suffix="Conference_Host" value="4">
- <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
- conference, but not when it is split out again; thus, this flag can
- only indicate that the call has been part of a conference at some
- point. If a GSM connection manager receives a notification that a
- call has been merged into a conference a second time, it SHOULD
- represent this by clearing and immediately re-setting this flag on
- the remote contact.
- </tp:docstring>
- </tp:flag>
- </tp:flags>
-
- <tp:mapping name="Call_Member_Map" array-name="Call_Member_Map_List">
- <tp:docstring>A mapping from handles to their current state in the call.
- </tp:docstring>
- <tp:member type="u" tp:type="Handle" name="key"/>
- <tp:member type="u" tp:type="Call_Member_Flags" name="Flag"/>
- </tp:mapping>
-
- <signal name="CallMembersChanged"
- tp:name-for-bindings="Call_Members_Changed">
- <tp:docstring>
- Emitted when the <tp:member-ref>CallMembers</tp:member-ref> property
- changes in any way, either because contacts have been added to the
- call, contacts have been removed from the call, or contacts' flags
- have changed.
- </tp:docstring>
-
- <arg name="Flags_Changed" type="a{uu}" tp:type="Call_Member_Map">
- <tp:docstring>
- A map from members of the call to their new call member flags,
- including at least the members who have been added to
- <tp:member-ref>CallMembers</tp:member-ref>, and the members whose
- flags have changed.
- </tp:docstring>
- </arg>
- <arg name="Removed" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- A list of members who have left the call, i.e. keys to be removed
- from <tp:member-ref>CallMembers</tp:member-ref>.
- </tp:docstring>
- </arg>
- </signal>
-
- <property name="CallMembers" tp:name-for-bindings="Call_Members"
- type="a{uu}" access="read" tp:type="Call_Member_Map">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>A mapping from the remote contacts that are part of this call to flags
- describing their status. This mapping never has the local user's handle
- as a key.</p>
-
- <p>When the call ends, this property should be an empty list,
- and notified with
- <tp:member-ref>CallMembersChanged</tp:member-ref></p>
-
- <p>If the Call implements
- <tp:dbus-ref namespace="ofdT.Channel.Interface"
- >Group</tp:dbus-ref> and the Group members are
- channel-specific handles, then this call SHOULD also use
- channel-specific handles.</p>
-
- <p>Anonymous members are exposed as channel-specific handles
- with no owner.</p>
- </tp:docstring>
- </property>
-
- <property name="InitialTransport" tp:name-for-bindings="Initial_Transport"
- type="s" access="read" tp:requestable="yes" tp:immutable="yes">
- <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 the empty string, in particular, on CMs with
- hardware streaming.</p>
-
- <tp:rationale>
- When implementing a voip gateway one wants the outgoing leg of the
- gatewayed to have the same transport as the incoming leg. This
- property allows the gateway to request a Call with the right
- transport from the CM.
- </tp:rationale>
- </tp:docstring>
- </property>
-
- <property name="InitialAudio" tp:name-for-bindings="Initial_Audio"
- type="b" access="read" tp:immutable="yes" tp:requestable="yes">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>If set to True in a channel request that will create a new channel,
- 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>
-
- <p>If this property, or InitialVideo, is passed to EnsureChannel
- (as opposed to CreateChannel), the connection manager SHOULD ignore
- these properties when checking whether it can return an existing
- channel as suitable; these properties only become significant when
- the connection manager has decided to create a new channel.</p>
-
- <p>If True on a requested channel, this indicates that the audio
- stream has already been requested and the client does not need to
- call RequestStreams, although it MAY still do so.</p>
-
- <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"
- >Contents</tp:dbus-ref>).</p>
-
- <p>The name of this new content can be decided by using the
- <tp:member-ref>InitialAudioName</tp:member-ref> property.</p>
-
- <p>Connection managers that support the <tp:dbus-ref
- namespace="ofdT.Connection.Interface">ContactCapabilities</tp:dbus-ref>
- interface SHOULD represent the capabilities of receiving audio
- and/or video calls by including a channel class in
- a contact's capabilities with ChannelType = Call
- in the fixed properties dictionary, and InitialAudio and/or
- InitialVideo in the allowed properties list. Clients wishing to
- discover whether a particular contact is likely to be able to
- receive audio and/or video calls SHOULD use this information.</p>
-
- <tp:rationale>
- <p>Not all clients support video calls, and it would also be
- possible (although unlikely) to have a client which could only
- stream video, not audio.</p>
- </tp:rationale>
-
- <p>Clients that are willing to receive audio and/or video calls
- SHOULD include the following among their channel classes if
- calling <tp:dbus-ref
- namespace="ofdT.Connection.Interface.ContactCapabilities">UpdateCapabilities</tp:dbus-ref>
- (clients of a <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">ChannelDispatcher</tp:dbus-ref>
- SHOULD instead arrange for the ChannelDispatcher to do this,
- by including the filters in their <tp:dbus-ref
- namespace="ofdT.Client.Handler">HandlerChannelFilter</tp:dbus-ref>
- properties):</p>
-
- <ul>
- <li>{ ChannelType = Call }</li>
- <li>{ ChannelType = Call, InitialAudio = True }
- if receiving calls with audio is supported</li>
- <li>{ ChannelType = Call, InitialVideo = True }
- if receiving calls with video is supported</li>
- </ul>
-
- <tp:rationale>
- <p>Connection managers for protocols with capability discovery,
- like XMPP, need this information to advertise the appropriate
- capabilities for their protocol.</p>
- </tp:rationale>
- </tp:docstring>
- </property>
-
- <property name="InitialVideo" tp:name-for-bindings="Initial_Video"
- type="b" access="read" tp:immutable="yes" tp:requestable="yes">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The same as <tp:member-ref>InitialAudio</tp:member-ref>, but for
- a video stream. This property is immutable (cannot change).</p>
-
- <p>In particular, note that if this property is False, this does not
- imply that an active video stream has not been added, only that no
- video stream was active at the time the channel appeared.</p>
-
- <p>This property is the correct way to discover whether connection
- managers, contacts etc. support video calls; it appears in
- capabilities structures in the same way as InitialAudio.</p>
- </tp:docstring>
- </property>
-
- <property name="InitialAudioName" tp:name-for-bindings="Initial_Audio_Name"
- type="s" access="read" tp:immutable="yes" tp:requestable="yes">
- <tp:added version="0.21.2"/>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>If <tp:member-ref>InitialAudio</tp:member-ref> is set to
- True, then this property will name the intial audio content
- with the value of this property.</p>
-
- <tp:rationale>
- <p>Content names are meant to be significant, but if no name
- can be given to initial audio content, then its name cannot
- be meaningful or even localized.</p>
- </tp:rationale>
-
- <p>If this property is empty or missing from the channel
- request and InitialAudio is True, then the CM must come up
- with a sensible for the content, such as "audio".</p>
-
- <p>If the protocol has no concept of stream names then this
- property will not show up in the allowed properties list of
- the Requestable Channel Classes for call channels.</p>
- </tp:docstring>
- </property>
-
- <property name="InitialVideoName" tp:name-for-bindings="Initial_Video_Name"
- type="s" access="read" tp:immutable="yes" tp:requestable="yes">
- <tp:added version="0.21.2"/>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The same as
- <tp:member-ref>InitialAudioName</tp:member-ref>, but for a
- video stream created by setting
- <tp:member-ref>InitialVideo</tp:member-ref> to True. This
- property is immutable and so cannot change.</p>
- </tp:docstring>
- </property>
-
- <property name="MutableContents" tp:name-for-bindings="Mutable_Contents"
- type="b" access="read" tp:immutable="yes">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>If True, a stream of a different content type can be added
- after the Channel has been requested </p>
-
- <p>If this property is missing, clients SHOULD assume that it is False,
- and thus that the channel's streams cannot be changed once the call
- has started.</p>
-
- <p>If this property isn't present in the "allowed" set in any of the
- Call entries contact capabilities, then user interfaces MAY choose to
- show a separate "call" option for each class of call.</p>
-
- <tp:rationale>
- <p>For example, once an audio-only Google Talk call has started,
- it is not possible to add a video stream; both audio and video
- 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
- video once the call has started for contacts without this flag.
- </p>
- </tp:rationale>
- </tp:docstring>
- </property>
-
- <tp:hct name="audio">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>This client supports audio calls.</p>
- </tp:docstring>
- </tp:hct>
-
- <tp:hct name="video">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>This client supports video calls.</p>
- </tp:docstring>
- </tp:hct>
-
- <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>
- </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>
- </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>
- </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>
- </tp:docstring>
- </tp:hct>
-
- <tp:hct name="video/h264" is-family="yes">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The client supports media streaming with H264 (etc.).</p>
-
- <p>This handler capability token is a one of a family
- of similar tokens: for any other audio or video codec whose MIME
- type is audio/<em>subtype</em> or video/<em>subtype</em>, a handler
- capability token of this form may exist (the subtype MUST appear
- in lower case in this context). Clients MAY support more
- codecs than they explicitly advertise support for; clients SHOULD
- explicitly advertise support for their preferred codec(s), and
- for codecs like H264 that are, in practice, significant in codec
- negotiation.</p>
-
- <tp:rationale>
- <p>For instance, the XMPP capability used by the Google Video
- Chat web client to determine whether a client is compatible
- with it requires support for H264 video, so an XMPP
- connection manager that supports this version of Jingle should
- not advertise the Google Video Chat capability unless there
- is at least one installed client that declares that it supports
- <code>video/h264</code> on Call channels.</p>
- </tp:rationale>
-
- <p>For example, a client could advertise support for audio and video
- calls using Speex, Theora and H264 by having five handler capability
- tokens in its <tp:dbus-ref
- namespace="ofdT.Client.Handler">Capabilities</tp:dbus-ref>
- 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>
- </ul>
-
- <p>Clients MAY have media signalling abilities without explicitly
- supporting any particular codec, and connection managers SHOULD
- support this usage.</p>
-
- <tp:rationale>
- <p>This is necessary to support gatewaying between two Telepathy
- connections, in which case the available codecs might not be
- known to the gatewaying process.</p>
- </tp:rationale>
- </tp:docstring>
- </tp:hct>
-
- </interface>
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/extensions/Makefile.am b/extensions/Makefile.am
index fe3d36f1..f13bb005 100644
--- a/extensions/Makefile.am
+++ b/extensions/Makefile.am
@@ -2,16 +2,8 @@ tools_dir = $(top_srcdir)/tools
EXTRA_DIST = \
all.xml \
- Call_Content_Codec_Offer.xml \
- Call_Content_Interface_Media.xml \
- Call_Content_Interface_Mute.xml \
- Call_Content.xml \
- Call_Stream_Endpoint.xml \
- Call_Stream_Interface_Media.xml \
- Call_Stream.xml \
Channel_Bundle.xml \
Channel_Future.xml \
- Channel_Type_Call.xml \
Channel_Type_FileTransfer_Future.xml \
Connection_Future.xml \
Connection_Interface_Gabble_Decloak.xml \
diff --git a/extensions/all.xml b/extensions/all.xml
index adc9aa78..ffd125ba 100644
--- a/extensions/all.xml
+++ b/extensions/all.xml
@@ -46,15 +46,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA</p>
<xi:include href="Gabble_Plugin_Gateways.xml"/>
<xi:include href="Gabble_Plugin_Test.xml"/>
-<xi:include href="Call_Content.xml" />
-<xi:include href="Call_Content_Codec_Offer.xml" />
-<xi:include href="Call_Content_Interface_Media.xml" />
-<xi:include href="Call_Content_Interface_Mute.xml" />
-<xi:include href="Call_Stream.xml" />
-<xi:include href="Call_Stream_Endpoint.xml" />
-<xi:include href="Call_Stream_Interface_Media.xml" />
-<xi:include href="Channel_Type_Call.xml" />
-
<xi:include href="Channel_Type_Server_Authentication.xml" />
<xi:include href="Channel_Interface_Sasl_Authentication.xml" />