1 VoiceCallManager hierarchy
2 ==========================
5 Interface org.ofono.VoiceCallManager
6 Object path [variable prefix]/{modem0,modem1,...}
8 Methods dict GetProperties()
10 Returns properties for the VoiceCallManager Interface.
11 See the properties section for available properties.
13 array{object,dict} GetCalls()
15 Get an array of call object paths and properties
16 that represents the currently present calls.
18 This method call should only be used once when an
19 application starts up. Further call additions and
20 removal shall be monitored via CallAdded and
23 object Dial(string number, string hide_callerid)
25 Initiates a new outgoing call. Returns the object path
26 to the newly created call. The hide_callerid variable
27 holds the CLIR override for this call.
28 The defines values are:
29 "" or "default" - Default (Network) CLIR mode
31 "enabled" - Hides callerid, CLIR Invocation
33 "disabled" - Shows callerid, CLIR Suppression
36 The number must be a string in the following format:
38 In other words, it must be a non-empty string
39 optionally prefixed with a '+' followed by 1 to 80
40 characters. The character set can contain numbers,
41 '*' and '#'. Besides this sanity checking no further
42 number validation is performed. It is assumed the
43 network will perform further validation. The optional
44 '+' denotes an international number format. For
46 +15551234567 - International format
47 5551234567 - National / Uknown format
49 This method is usually implemented using the ATD AT
52 NOTE: If an active call (single or multiparty) exists,
53 then it is automatically put on hold if the dial
54 procedure is successful.
56 Possible Errors: [service].Error.InProgress
57 [service].Error.InvalidArguments
58 [service].Error.InvalidFormat
59 [service].Error.NotImplemented
60 [service].Error.Failed
64 Joins the currently Active (or Outgoing, depending
65 on network support) and Held calls together and
66 disconnects both calls. In effect transferring
67 one party to the other. This procedure requires
68 an Active and Held call and the Explicit Call Transfer
69 (ECT) supplementary service to be active.
71 This functionality is generally implemented by using
72 the +CHLD=4 AT command.
74 Possible Errors: [service].Error.InProgress
75 [service].Error.NotImplemented
76 [service].Error.Failed
80 Swaps Active and Held calls. The effect of this
81 is that all calls (0 or more including calls in a
82 multi-party conversation) that were Active are now Held,
83 and all calls (0 or more) that were Held are now Active.
85 GSM specification does not allow calls to be swapped
86 in the case where Held, Active and Waiting calls exist.
87 Some modems implement this anyway, thus it is
88 manufacturer specific whether this method will succeed
89 in the case of Held, Active and Waiting calls.
91 This functionality is generally implemented by using
92 the +CHLD=2 AT command.
94 Possible Errors: [service].Error.InProgress
95 [service].Error.NotImplemented
96 [service].Error.Failed
98 void ReleaseAndAnswer()
100 Releases currently active call (0 or more) and
101 answers the currently waiting call. Please note that
102 if the current call is a multiparty call, then all
103 parties in the multi-party call will be released.
105 Possible Errors: [service].Error.InProgress
106 [service].Error.NotImplemented
107 [service].Error.Failed
109 void ReleaseAndSwap()
111 Releases currently active call (0 or more) and
112 activates any currently held calls. Please note that
113 if the current call is a multiparty call, then all
114 parties in the multi-party call will be released.
116 Possible Errors: [service].Error.InProgress
117 [service].Error.NotImplemented
118 [service].Error.Failed
122 Puts the current call (including multi-party calls) on
123 hold and answers the currently waiting call. Calling
124 this function when a user already has a both Active and
125 Held calls is invalid, since in GSM a user can have
126 only a single Held call at a time.
128 Possible Errors: [service].Error.InProgress
129 [service].Error.NotImplemented
130 [service].Error.Failed
134 Releases all calls except waiting calls. This includes
137 Possible Errors: [service].Error.InProgress
138 [service].Error.NotImplemented
139 [service].Error.Failed
141 array{object} PrivateChat(object call)
143 Places the multi-party call on hold and makes desired
144 call active. This is used to accomplish private chat
145 functionality. Note that if there are only two calls
146 (three parties) in the multi-party call the result will
147 be two regular calls, one held and one active. The
148 Multiparty call will need to be setup again by using the
149 CreateMultiparty method. Returns the new list of calls
150 participating in the multiparty call.
152 This is usually implemented using the +CHLD=2X command.
154 Possible Errors: [service].Error.InProgress
155 [service].Error.InvalidArguments
156 [service].Error.InvalidFormat
157 [service].Error.NotFound
158 [service].Error.NotImplemented
159 [service].Error.Failed
161 array{object} CreateMultiparty()
163 Joins active and held calls together into a multi-party
164 call. If one of the calls is already a multi-party
165 call, then the other call is added to the multiparty
166 conversation. Returns the new list of calls
167 participating in the multiparty call.
169 There can only be one subscriber controlled multi-party
170 call according to the GSM specification.
172 This is usually implemented using the +CHLD=3 AT
175 Possible Errors: [service].Error.InProgress
176 [service].Error.NotImplemented
177 [service].Error.Failed
179 void HangupMultiparty()
181 Hangs up the multi-party call. All participating
184 Possible Errors: [service].Error.InProgress
185 [service].Error.NotImplemented
186 [service].Error.Failed
188 void SendTones(string tones)
190 Sends the DTMF tones to the network. The tones have
191 a fixed duration. Tones can be one of: '0' - '9',
192 '*', '#', 'A', 'B', 'C', 'D'. The last four are
193 typically not used in normal circumstances.
195 Possible Errors: [service].Error.InProgress
196 [service].Error.NotImplemented
197 [service].Error.InvalidArguments
198 [service].Error.InvalidFormat
199 [service].Error.Failed
201 Signals CallAdded(object path, dict properties)
203 Signal that is sent when a new call is added. It
204 contains the object path of the new voice call and
207 Applications get the whole properties via this
208 signal and don't need to call GetProperties on
209 the voice call object.
211 CallRemoved(object path)
213 Signal that is sent when a voice call has been
214 released. The object path is no longer accessible
215 after this signal and only emitted for reference.
217 NOTE: If the VoiceCallManager interface becomes
218 unavailable, this signal is not guaranteed to be
219 emitted for remaining calls. The applications are
220 expected to monitor changes in Modem.Interfaces
223 PropertyChanged(string property, variant value)
225 Signal is emitted whenever a property has changed.
226 The new value is passed as the signal argument.
228 BarringActive(string type) [experimental]
230 Signal emitted when an outgoing voice call is made and
231 the call has been barred by the network due to the
232 remote party's "Call Barring" Supplementary Services
233 settings for incoming calls. In this case the type
234 parameter in the signal set to "remote".
235 The signal is also emitted when an outgoing voice call
236 is made and the call has been barred by the network due
237 to the local "Call Barring" Supplementary Services
238 settings for outgoing calls. In this case the type
239 parameter in the signal is set to "local".
241 Forwarded(string type) [experimental]
243 Signal emitted when an outgoing voice call is made and
244 the call has been redirected to another number due to
245 the remote party's "Call Forwarding" Supplementary
246 Services settings. In this case the type parameter in
247 the signal is set to "outgoing".
248 The signal is also emitted when the incoming voice call
249 is a redirected call due to a call forwarding operation.
250 In this case the type parameter in the signal is set to
253 Properties array{string} EmergencyNumbers [readonly]
255 Contains the list of emergency numbers recognized
256 by oFono. This list is based on the default set
257 of numbers provided by the specification and any
258 extra numbers provisioned by the carrier on the