| 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. |