blob: 5c4ce11b69b595b12579356e684f8e482dc71bd6 [file] [log] [blame]
VoiceCallManager hierarchy
==========================
Service org.ofono
Interface org.ofono.VoiceCallManager
Object path [variable prefix]/{modem0,modem1,...}
Methods dict GetProperties()
Returns properties for the VoiceCallManager Interface.
See the properties section for available properties.
array{object,dict} GetCalls()
Get an array of call object paths and properties
that represents the currently present calls.
This method call should only be used once when an
application starts up. Further call additions and
removal shall be monitored via CallAdded and
CallRemoved signals.
object Dial(string number, string hide_callerid)
Initiates a new outgoing call. Returns the object path
to the newly created call. The hide_callerid variable
holds the CLIR override for this call.
The defines values are:
"" or "default" - Default (Network) CLIR mode
is used
"enabled" - Hides callerid, CLIR Invocation
is used
"disabled" - Shows callerid, CLIR Suppression
is used
The number must be a string in the following format:
[+][0-9*#]{1,80}
In other words, it must be a non-empty string
optionally prefixed with a '+' followed by 1 to 80
characters. The character set can contain numbers,
'*' and '#'. Besides this sanity checking no further
number validation is performed. It is assumed the
network will perform further validation. The optional
'+' denotes an international number format. For
example:
+15551234567 - International format
5551234567 - National / Uknown format
This method is usually implemented using the ATD AT
command.
NOTE: If an active call (single or multiparty) exists,
then it is automatically put on hold if the dial
procedure is successful.
Possible Errors: [service].Error.InProgress
[service].Error.InvalidArguments
[service].Error.InvalidFormat
[service].Error.NotImplemented
[service].Error.Failed
object DialLast()
Initiates a new outgoing call to the last dialled number.
Possible Errors: [service].Error.InProgress
[service].Error.InvalidArguments
[service].Error.InvalidFormat
[service].Error.NotImplemented
[service].Error.Failed
object DialMemory(string memory position, string hide_callerid)
Initiates a new outgoing call to the number in the given memory
position/favourite. For callerid see the Dial method.
Possible Errors: [service].Error.InProgress
[service].Error.InvalidArguments
[service].Error.InvalidFormat
[service].Error.NotImplemented
[service].Error.Failed
void Transfer()
Joins the currently Active (or Outgoing, depending
on network support) and Held calls together and
disconnects both calls. In effect transferring
one party to the other. This procedure requires
an Active and Held call and the Explicit Call Transfer
(ECT) supplementary service to be active.
This functionality is generally implemented by using
the +CHLD=4 AT command.
Possible Errors: [service].Error.InProgress
[service].Error.NotImplemented
[service].Error.Failed
void SwapCalls()
Swaps Active and Held calls. The effect of this
is that all calls (0 or more including calls in a
multi-party conversation) that were Active are now Held,
and all calls (0 or more) that were Held are now Active.
GSM specification does not allow calls to be swapped
in the case where Held, Active and Waiting calls exist.
Some modems implement this anyway, thus it is
manufacturer specific whether this method will succeed
in the case of Held, Active and Waiting calls.
This functionality is generally implemented by using
the +CHLD=2 AT command.
Possible Errors: [service].Error.InProgress
[service].Error.NotImplemented
[service].Error.Failed
void ReleaseAndAnswer()
Releases currently active call (0 or more) and
answers the currently waiting call. Please note that
if the current call is a multiparty call, then all
parties in the multi-party call will be released.
Possible Errors: [service].Error.InProgress
[service].Error.NotImplemented
[service].Error.Failed
void ReleaseAndSwap()
Releases currently active call (0 or more) and
activates any currently held calls. Please note that
if the current call is a multiparty call, then all
parties in the multi-party call will be released.
Possible Errors: [service].Error.InProgress
[service].Error.NotImplemented
[service].Error.Failed
void HoldAndAnswer()
Puts the current call (including multi-party calls) on
hold and answers the currently waiting call. Calling
this function when a user already has a both Active and
Held calls is invalid, since in GSM a user can have
only a single Held call at a time.
Possible Errors: [service].Error.InProgress
[service].Error.NotImplemented
[service].Error.Failed
void HangupAll()
Releases all calls except waiting calls. This includes
multiparty calls.
Possible Errors: [service].Error.InProgress
[service].Error.NotImplemented
[service].Error.Failed
array{object} PrivateChat(object call)
Places the multi-party call on hold and makes desired
call active. This is used to accomplish private chat
functionality. Note that if there are only two calls
(three parties) in the multi-party call the result will
be two regular calls, one held and one active. The
Multiparty call will need to be setup again by using the
CreateMultiparty method. Returns the new list of calls
participating in the multiparty call.
This is usually implemented using the +CHLD=2X command.
Possible Errors: [service].Error.InProgress
[service].Error.InvalidArguments
[service].Error.InvalidFormat
[service].Error.NotFound
[service].Error.NotImplemented
[service].Error.Failed
array{object} CreateMultiparty()
Joins active and held calls together into a multi-party
call. If one of the calls is already a multi-party
call, then the other call is added to the multiparty
conversation. Returns the new list of calls
participating in the multiparty call.
There can only be one subscriber controlled multi-party
call according to the GSM specification.
This is usually implemented using the +CHLD=3 AT
command.
Possible Errors: [service].Error.InProgress
[service].Error.NotImplemented
[service].Error.Failed
void HangupMultiparty()
Hangs up the multi-party call. All participating
calls are released.
Possible Errors: [service].Error.InProgress
[service].Error.NotImplemented
[service].Error.Failed
void SendTones(string tones)
Sends the DTMF tones to the network. The tones have
a fixed duration. Tones can be one of: '0' - '9',
'*', '#', 'A', 'B', 'C', 'D'. The last four are
typically not used in normal circumstances.
Possible Errors: [service].Error.InProgress
[service].Error.NotImplemented
[service].Error.InvalidArguments
[service].Error.InvalidFormat
[service].Error.Failed
Signals CallAdded(object path, dict properties)
Signal that is sent when a new call is added. It
contains the object path of the new voice call and
also its properties.
Applications get the whole properties via this
signal and don't need to call GetProperties on
the voice call object.
CallRemoved(object path)
Signal that is sent when a voice call has been
released. The object path is no longer accessible
after this signal and only emitted for reference.
NOTE: If the VoiceCallManager interface becomes
unavailable, this signal is not guaranteed to be
emitted for remaining calls. The applications are
expected to monitor changes in Modem.Interfaces
property.
PropertyChanged(string property, variant value)
Signal is emitted whenever a property has changed.
The new value is passed as the signal argument.
BarringActive(string type) [experimental]
Signal emitted when an outgoing voice call is made and
the call has been barred by the network due to the
remote party's "Call Barring" Supplementary Services
settings for incoming calls. In this case the type
parameter in the signal set to "remote".
The signal is also emitted when an outgoing voice call
is made and the call has been barred by the network due
to the local "Call Barring" Supplementary Services
settings for outgoing calls. In this case the type
parameter in the signal is set to "local".
Forwarded(string type) [experimental]
Signal emitted when an outgoing voice call is made and
the call has been redirected to another number due to
the remote party's "Call Forwarding" Supplementary
Services settings. In this case the type parameter in
the signal is set to "outgoing".
The signal is also emitted when the incoming voice call
is a redirected call due to a call forwarding operation.
In this case the type parameter in the signal is set to
"incoming".
Properties array{string} EmergencyNumbers [readonly]
Contains the list of emergency numbers recognized
by oFono. This list is based on the default set
of numbers provided by the specification and any
extra numbers provisioned by the carrier on the
SIM.