There're two cases of outgoing call: dial from HF or dial from
phone. We could receive callsetup=2 indicator in both case. So
adding AT+CLCC query to sync the outgoing call.
In the first case, we only need to sync the phone number. In
the second case, the phone is dialing from phone and we know
nothing. Create a new call and notify the core.
If phone does not support AT+CLCC and there's no call dialing
from HF, we fake a new call for it.
The call volume driver listens the speaker volume and microphone
gain from the AG. It also allow to synchronze the speaker and
microphone volume changes with the AG through AT+VGS and AT+VGM.
Volume level synchronization from HFP spec 1.5 Section 4.28.2
is performed on startup.
This driver handles phone informations about registration status, signal
strength and roaming status listening +CIEV commands. It also gets the
Network Operator name with +COPS commands.
HFP voicecall driver uses AT+CIEV indicator to notify call status
update according to Bluetooth HFP spec v1.5. This patch only adds single
call support.
We already know the indicators we're interested in from the
specification, malloc/free-ing the indicator names is thus pointless.
Instead save off the indicator index positions in an array. Parse the
current values instead of storing the unparsed list.