ofono/doc/voicecall-api.txt

186 lines
6.1 KiB
Plaintext

VoiceCall hierarchy
===================
Service org.ofono
Interface org.ofono.VoiceCall
Object path [variable prefix]/{modem0,modem1,...}/{voicecall01,voicecall02,...}
Methods dict GetProperties()
Returns all properties for this object. See the
properties section for available properties.
void Deflect(string number)
Deflects the incoming or waiting call to number given
in the argument. This method is only valid if the
call is in "incoming" or "waiting" state and the
Call Deflection supplementary service is subscribed to.
This functionality is generally implemented by using
the +CHLD=4 * NUMBER command.
This method should not be confused with the Transfer()
method.
Possible Errors: [service].Error.InProgress
[service].Error.NotImplemented
[service].Error.InvalidArguments
[service].Error.InvalidFormat
[service].Error.Failed
void Hangup()
Hangs up the voice call.
For an incoming call, the call is hung up using ATH or
equivalent. For a waiting call, the remote party is
notified by using the User Determined User Busy (UDUB)
condition. This is generally implemented using CHLD=0.
Please note that the GSM specification does not allow
the release of a held call when a waiting call exists.
This is because 27.007 allows CHLD=1X to operate only
on active calls. Hence a held call cannot be hung up
without affecting the state of the incoming call (e.g.
using other CHLD alternatives). Most manufacturers
provide vendor extensions that do allow the state of
the held call to be modified using CHLD=1X or
equivalent. It should be noted that Bluetooth HFP
specifies the classic 27.007 behavior and does not
allow CHLD=1X to modify the state of held calls.
Based on the discussion above, it should also be noted
that releasing a particular party of a held multiparty
call might not be possible on some implementations.
It is recommended for the applications to structure
their UI accordingly.
NOTE: Releasing active calls does not produce
side-effects. That is the state of held or waiting
calls is not affected. As an exception, in the case
where a single active call and a waiting call are
present, releasing the active call will result in the
waiting call transitioning to the 'incoming' state.
Possible Errors: [service].Error.InProgress
[service].Error.Failed
[service].Error.NotImplemented
void Answer()
Answers the incoming call. Only valid if the state
of the call is "incoming."
This functionality is generally implemented by ATA
AT command.
Possible Errors: [service].Error.InProgress
[service].Error.Failed
[service].Error.NotImplemented
Signals PropertyChanged(string property, variant value)
Signal is emitted whenever a property has changed.
The new value is passed as the signal argument.
DisconnectReason(string reason)
This signal is emitted when the modem manager can
provide extra information about why this call was
released. The possible reason values are:
"local" - The call was release due to local
user action
"remote" - Remote party released the call
"network" - Network released the call, most
likely due to low signal or
other network failure
Not all implementations are able to provide this
information, so applications should treat the emission
of this signal as optional. This signal will be
emitted before the PropertyChanged signal.
Properties string LineIdentification [readonly]
Contains the Line Identification information returned
by the network, if present. For incoming calls this is
effectively the CLIP. For outgoing calls this attribute
will hold the dialed number, or the COLP if received by
the underlying implementation.
Please note that COLP may be different from the
dialed number. A special "withheld" value means the
remote party refused to provide caller ID and the
"override category" option was not provisioned for
the current subscriber.
string IncomingLine [readonly, optional]
Contains the Called Line Identification information
returned by the network. This is only available for
incoming calls and indicates the local subscriber
number which was dialed by the remote party. This is
useful for subscribers which have a multiple line
service with their network provider and would like
to know what line the call is coming in on.
string Name [readonly]
Contains the Name Identification information returned
by the network, if present.
boolean Multiparty [readonly]
Contains the indication if the voice call is part
of a multiparty call or not.
Notifications if a call becomes part or leaves a
multipart call are sent.
string State [readonly]
Contains the state of the current call. The state
can be one of:
- "active" - The call is active
- "held" - The call is on hold
- "dialing" - The call is being dialed
- "alerting" - The remote party is being alerted
- "incoming" - Incoming call in progress
- "waiting" - Call is waiting
- "disconnected" - No further use of this object
is allowed, it will be destroyed shortly
string StartTime [readonly, optional]
Contains the starting time of the call. The time is
stamped when the call enters the "active" state.
Client applications can use this to infer somewhat
reliable call duration information.
string Information [readonly, optional]
Contains information related to the call for the
user. Currently this property is set for calls
initiated by SIM Toolkit applications.
byte Icon [readonly, optional]
Icon identifier to be used instead of or together
with the text information.
boolean Emergency [readonly]
Contains the indication if the voice call is an
emergency call or not.
boolean RemoteHeld [experimental]
Contains the indication whether the voice call is put
on hold by the remote party or not.
boolean RemoteMultiparty [experimental]
Contains the indication whether the voice call is
joined in a multiparty call by the remote party or not.