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.