8db47efd2de26ae0a2124bdfd59172fbe28770f0
[platform/upstream/ofono.git] / doc / voicecall-api.txt
1 VoiceCall hierarchy
2 ===================
3
4 Service         org.ofono
5 Interface       org.ofono.VoiceCall
6 Object path     [variable prefix]/{modem0,modem1,...}/{voicecall01,voicecall02,...}
7
8 Methods         dict GetProperties()
9
10                         Returns all properties for this object. See the
11                         properties section for available properties.
12
13                 void Deflect(string number)
14
15                         Deflects the incoming or waiting call to number given
16                         in the argument.  This method is only valid if the
17                         call is in "incoming" or "waiting" state and the
18                         Call Deflection supplementary service is subscribed to.
19
20                         This functionality is generally implemented by using
21                         the +CHLD=4 * NUMBER command.
22
23                         This method should not be confused with the Transfer()
24                         method.
25
26                         Possible Errors: [service].Error.InProgress
27                                          [service].Error.NotImplemented
28                                          [service].Error.InvalidArguments
29                                          [service].Error.InvalidFormat
30                                          [service].Error.Failed
31
32                 void Hangup()
33
34                         Hangs up the voice call.
35
36                         For an incoming call, the call is hung up using ATH or
37                         equivalent.  For a waiting call, the remote party is
38                         notified by using the User Determined User Busy (UDUB)
39                         condition.  This is generally implemented using CHLD=0.
40
41                         Please note that the GSM specification does not allow
42                         the release of a held call when a waiting call exists,
43                         or the release of a particular party in a held
44                         multiparty call.
45
46                         Note that releasing a held call or a particular party
47                         of a held multiparty call might not be possible on some
48                         implementations.
49
50                         NOTE: Releasing active calls does not produce
51                         side-effects.  That is the state of held or waiting
52                         calls is not affected.
53
54                         Possible Errors: [service].Error.InProgress
55                                          [service].Error.Failed
56                                          [service].Error.NotImplemented
57
58                 void Answer()
59
60                         Answers the incoming call.  Only valid if the state
61                         of the call is "incoming."
62
63                         This functionality is generally implemented by ATA
64                         AT command.
65
66                         Possible Errors: [service].Error.InProgress
67                                          [service].Error.Failed
68                                          [service].Error.NotImplemented
69
70 Signals         PropertyChanged(string property, variant value)
71
72                         Signal is emitted whenever a property has changed.
73                         The new value is passed as the signal argument.
74
75                 DisconnectReason(string reason)
76
77                         This signal is emitted when the modem manager can
78                         provide extra information about why this call was
79                         released. The possible reason values are:
80                                 "local" - The call was release due to local
81                                                 user action
82                                 "remote" - Remote party released the call
83                                 "network" - Network released the call, most
84                                                 likely due to low signal or
85                                                 other network failure
86
87                         Not all implementations are able to provide this
88                         information, so applications should treat the emission
89                         of this signal as optional. This signal will be
90                         emitted before the PropertyChanged signal.
91
92 Properties      string LineIdentification [readonly]
93
94                         Contains the Line Identification information returned
95                         by the network, if present. For incoming calls this is
96                         effectively the CLIP. For outgoing calls this attribute
97                         will hold the dialed number, or the COLP if received by
98                         the underlying implementation.
99
100                         Please note that COLP may be different from the
101                         dialed number. A special "withheld" value means the
102                         remote party refused to provide caller ID and the
103                         "override category" option was not provisioned for
104                         the current subscriber.
105
106                 string IncomingLine [readonly, optional]
107
108                         Contains the Called Line Identification information
109                         returned by the network. This is only available for
110                         incoming calls and indicates the local subscriber
111                         number which was dialed by the remote party. This is
112                         useful for subscribers which have a multiple line
113                         service with their network provider and would like
114                         to know what line the call is coming in on.
115
116                 string Name [readonly]
117
118                         Contains the Name Identification information returned
119                         by the network, if present.
120
121                 boolean Multiparty [readonly]
122
123                         Contains the indication if the voice call is part
124                         of a multiparty call or not.
125
126                         Notifications if a call becomes part or leaves a
127                         multipart call are sent.
128
129                 string State [readonly]
130
131                         Contains the state of the current call.  The state
132                         can be one of:
133                                 - "active" - The call is active
134                                 - "held" - The call is on hold
135                                 - "dialing" - The call is being dialed
136                                 - "alerting" - The remote party is being alerted
137                                 - "incoming" - Incoming call in progress
138                                 - "waiting" - Call is waiting
139                                 - "disconnected" - No further use of this object
140                                         is allowed, it will be destroyed shortly
141
142                 string StartTime [readonly, optional]
143
144                         Contains the starting time of the call.  The time is
145                         stamped when the call enters the "active" state.
146                         Client applications can use this to infer somewhat
147                         reliable call duration information.
148
149                 string Information [readonly, optional]
150
151                         Contains information related to the call for the
152                         user.  Currently this property is set for calls
153                         initiated by SIM Toolkit applications.
154
155                 byte Icon [readonly, optional]
156
157                         Icon identifier to be used instead of or together
158                         with the text information.
159
160                 boolean Emergency [readonly]
161
162                         Contains the indication if the voice call is an
163                         emergency call or not.
164
165                 boolean RemoteHeld [experimental]
166
167                         Contains the indication whether the voice call is put
168                         on hold by the remote party or not.
169
170                 boolean RemoteMultiparty [experimental]
171
172                         Contains the indication whether the voice call is
173                         joined in a multiparty call by the remote party or not.