This provides a way for other atoms to send DTMF tones during a call.
It is assumed that vc->driver->send_tone returns only after the tones
have finished being emitted.
In this version Dbus DTMF requests are in the same queue as STK
requests.
Send SS requires Call Forwarding / Call Settings / Call Barring to check
whether USSD is currently busy. If it is, then the SIM should be
notified appropriately.
We introduce a function __ofono_ussd_is_busy to help with this.
The callback is only invoked when the call is CONNECTED (becomes
active). Cancel ensures that the callback will not be called and
does nothing more in this version, it's an open question if we
want to release the call.
Adding a new notify function in the netreg atom for notifying a
received Network Identification and Timezone (NITZ) indication. This
data is consumed via a nettime plugin, of which there is also an
example.
This feature will continue running the event loop for another 10 seconds
or so or until all the modems have been shut down. This will allow the
modem drivers to properly shutdown their respective devices.
Split up GPRS into two atoms: GPRS and GPRS Context. GPRS will handle
the areas of GPRS network registration, basic GPRS capability detection
and attach / detach.
GPRS Context will handle setting up / activating / deactivating the
indicidual contexts.
This will allow us to use the generic GPRS atom for most devices while
customizing the GPRS context accordingly.
This commit implements the GPRS context setup and teardown according to
doc/dataconnectionmanager-api.txt
One issue with the AT implementation of the api is that "Powered" (a
read-write property) can be set independently of "Attached" (read-only
property) and remain set when "Attached" is clear. The semantics would
be that the network doesn't have resources to let the modem attach,
but the modem waits for the resources to become available and then
attaches. On AT the modem is in this state only when executing +CGATT,
so currently the code will rerun +CGATT as soon as the previous one
returns with error, probably starving other commands. A possible
workaround would be for "Powered" to flip back to False after the modem
fails to attach once, or give up on having separate properties.
Alternatively we could re-try to attach periodically but on one modem
I've tried +CGATT fails after about 1 minute (that's the Calypso) and
on another only about 0.5s (Nokia phones with AT emulation).
When "Powered" is set and "RoamingAllowed" is clear and we manage to
attach and find that we're roaming, ofono resets "Powered".
We may want to catch the user trying to dial *99***1# which is the
backwards compatibility quirk for old modems (same way ofono parses
USSD strings).