summaryrefslogtreecommitdiff
path: root/extensions/Channel_Interface_Call_State.xml
blob: b0faa42e5a86742ac4ca19cfeffa082657f2da4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?xml version="1.0" ?>
<node name="/Channel_Interface_Call_State" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <tp:copyright> Copyright (C) 2008 Collabora Limited </tp:copyright>
  <tp:copyright> Copyright (C) 2008 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.Channel.Interface.CallState">
    <tp:requires interface="org.freedesktop.Telepathy.Channel.Type.StreamedMedia"/>

    <tp:docstring>
      An interface for streamed media channels that can indicate call
      progress or call states. The presence of this interface is no guarantee
      that call states will actually be signalled (for instance, SIP
      implementations are not guaranteed to generate status 180 Ringing,
      so a call can be accepted without the Ringing flag ever having been set).
    </tp:docstring>

    <method name="GetCallStates">
      <tp:docstring>
        Get the current call states for all contacts involved in this call.
      </tp:docstring>

      <arg tp:type="Channel_Call_State_Map" name="States" direction="out"
        type="a{uu}">
        <tp:docstring>
          The current call states. Participants where the call state flags
          would be 0 (all unset) may be omitted from this mapping.
        </tp:docstring>
      </arg>
    </method>

    <signal name="CallStateChanged">
      <tp:docstring>
        Emitted when the state of a member of the channel has changed.
      </tp:docstring>

      <arg name="contact" type="u" tp:type="Contact_Handle">
        <tp:docstring>
          An integer handle for the contact.
        </tp:docstring>
      </arg>

      <arg name="state" type="u" tp:type="Channel_Call_State_Flags">
        <tp:docstring>
          The new state for this contact.
        </tp:docstring>
      </arg>
    </signal>

    <tp:mapping name="Channel_Call_State_Map">
      <tp:docstring>
        A map from contacts to call states.
      </tp:docstring>

      <tp:member name="Contact" type="u" tp:type="Contact_Handle">
        <tp:docstring>A contact involved in this call.</tp:docstring>
      </tp:member>

      <tp:member name="State" type="u" tp:type="Channel_Call_State_Flags">
        <tp:docstring>State flags for the given contact.</tp:docstring>
      </tp:member>
    </tp:mapping>

    <tp:flags name="Channel_Call_State_Flags" value-prefix="Channel_Call_State" type="u">
      <tp:docstring>
        A set of flags representing call states.
      </tp:docstring>

      <tp:flag suffix="Ringing" value="1">
        <tp:docstring>
          The contact has been alerted about the call but has not responded
          (e.g. 180 Ringing in SIP).
        </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).
        </tp:docstring>
      </tp:flag>
    </tp:flags>

  </interface>
</node>
<!-- vim:set sw=2 sts=2 et ft=xml: -->