Upgrade ofono to 1.2
[profile/ivi/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                         This is because 27.007 allows CHLD=1X to operate only
44                         on active calls.  Hence a held call cannot be hung up
45                         without affecting the state of the incoming call (e.g.
46                         using other CHLD alternatives). Most manufacturers
47                         provide vendor extensions that do allow the state of
48                         the held call to be modified using CHLD=1X or
49                         equivalent.  It should be noted that Bluetooth HFP
50                         specifies the classic 27.007 behavior and does not
51                         allow CHLD=1X to modify the state of held calls.
52
53                         Based on the discussion above, it should also be noted
54                         that releasing a particular party of a held multiparty
55                         call might not be possible on some implementations.
56                         It is recommended for the applications to structure
57                         their UI accordingly.
58
59                         NOTE: Releasing active calls does not produce
60                         side-effects.  That is the state of held or waiting
61                         calls is not affected.  As an exception, in the case
62                         where a single active call and a waiting call are
63                         present, releasing the active call will result in the
64                         waiting call transitioning to the 'incoming' state.
65
66                         Possible Errors: [service].Error.InProgress
67                                          [service].Error.Failed
68                                          [service].Error.NotImplemented
69
70                 void Answer()
71
72                         Answers the incoming call.  Only valid if the state
73                         of the call is "incoming."
74
75                         This functionality is generally implemented by ATA
76                         AT command.
77
78                         Possible Errors: [service].Error.InProgress
79                                          [service].Error.Failed
80                                          [service].Error.NotImplemented
81
82 Signals         PropertyChanged(string property, variant value)
83
84                         Signal is emitted whenever a property has changed.
85                         The new value is passed as the signal argument.
86
87                 DisconnectReason(string reason)
88
89                         This signal is emitted when the modem manager can
90                         provide extra information about why this call was
91                         released. The possible reason values are:
92                                 "local" - The call was release due to local
93                                                 user action
94                                 "remote" - Remote party released the call
95                                 "network" - Network released the call, most
96                                                 likely due to low signal or
97                                                 other network failure
98
99                         Not all implementations are able to provide this
100                         information, so applications should treat the emission
101                         of this signal as optional. This signal will be
102                         emitted before the PropertyChanged signal.
103
104 Properties      string LineIdentification [readonly]
105
106                         Contains the Line Identification information returned
107                         by the network, if present. For incoming calls this is
108                         effectively the CLIP. For outgoing calls this attribute
109                         will hold the dialed number, or the COLP if received by
110                         the underlying implementation.
111
112                         Please note that COLP may be different from the
113                         dialed number. A special "withheld" value means the
114                         remote party refused to provide caller ID and the
115                         "override category" option was not provisioned for
116                         the current subscriber.
117
118                 string IncomingLine [readonly, optional]
119
120                         Contains the Called Line Identification information
121                         returned by the network. This is only available for
122                         incoming calls and indicates the local subscriber
123                         number which was dialed by the remote party. This is
124                         useful for subscribers which have a multiple line
125                         service with their network provider and would like
126                         to know what line the call is coming in on.
127
128                 string Name [readonly]
129
130                         Contains the Name Identification information returned
131                         by the network, if present.
132
133                 boolean Multiparty [readonly]
134
135                         Contains the indication if the voice call is part
136                         of a multiparty call or not.
137
138                         Notifications if a call becomes part or leaves a
139                         multipart call are sent.
140
141                 string State [readonly]
142
143                         Contains the state of the current call.  The state
144                         can be one of:
145                                 - "active" - The call is active
146                                 - "held" - The call is on hold
147                                 - "dialing" - The call is being dialed
148                                 - "alerting" - The remote party is being alerted
149                                 - "incoming" - Incoming call in progress
150                                 - "waiting" - Call is waiting
151                                 - "disconnected" - No further use of this object
152                                         is allowed, it will be destroyed shortly
153
154                 string StartTime [readonly, optional]
155
156                         Contains the starting time of the call.  The time is
157                         stamped when the call enters the "active" state.
158                         Client applications can use this to infer somewhat
159                         reliable call duration information.
160
161                 string Information [readonly, optional]
162
163                         Contains information related to the call for the
164                         user.  Currently this property is set for calls
165                         initiated by SIM Toolkit applications.
166
167                 byte Icon [readonly, optional]
168
169                         Icon identifier to be used instead of or together
170                         with the text information.
171
172                 boolean Emergency [readonly]
173
174                         Contains the indication if the voice call is an
175                         emergency call or not.
176
177                 boolean RemoteHeld [experimental]
178
179                         Contains the indication whether the voice call is put
180                         on hold by the remote party or not.
181
182                 boolean RemoteMultiparty [experimental]
183
184                         Contains the indication whether the voice call is
185                         joined in a multiparty call by the remote party or not.