When registering audio cards for the handsfree and gateway roles we
need a way for our users to differentiate between both to decide which
of them they start using for their purpose.
It may happen that a Device object is unpaired an paired again
without being removed from DBus. This in turn triggers second
modem object to be created, but not fully initialized.
If this modem object is used, oFono will crash.
iPhone 5s with iOS8.2 sometimes failes to acknowledge AT+BCC
with OK. This means +CIEV events get consumed by this command
and call ended notification is not parsed.
Nov 30 00:00:19 ofonod[938]: > AT+BCC\r
Nov 30 00:00:28 ofonod[938]: < \r\n+CIEV: 2,0\r\n
When setting the SDP features, only enable wideband speech support if
the kernel has defer setup for SCO.
It is possible that even if defer setup is supported the kernel is
not able to use Transparent Mode for SCO.
It was a cause of confusion for little gain to have separate
functions for registering profiles with extra information, for
example "role" and "features". We remove those helper functions
in favor of a single one with more parameters, "role" and
"feature" when NULL, will be ignored.
This patch parses and reads the profile "Version" that comes in the fd
dictionary of the NewConnection method. "Version" is input for Audio Card
registration.
This patch moves the SCO socket handling from hfp_hf_bluez5 plugin. It
will be instead handled by the handsfree-audio functionality. This is
the initial step to be able to support sending the file descriptor
through the Agent NewConnection method.
The number of paired devices is quite small, so the use of the hash
table for lookup seems unnecessary. The typical user will have no more
than 1-2 devices paired, maybe half a dozen in a less common case.
Now that we have the support for sending the correct messages
to BlueZ, we are able to dynamically power up/down the HFP modem.
We add another property to the modem to be able to get the D-Bus
object path that represents the remote device.
This patch implements RequestDisconnection method of the Profile1
interface. This method gets called when the profile gets disconnected.
The profile implementation needs to cleanup the resources related to
the informed device.
This patch renames external profile registration functions replacing the
prefix from 'bluetooth_' to 'bt_' in order to follow the name convention
adopted for bluez5 functions.