hfp: Handle extra CCWA event
authorKuba Pawlak <kubax.t.pawlak@intel.com>
Tue, 18 Aug 2015 17:53:28 +0000 (19:53 +0200)
committerDenis Kenzior <denkenz@gmail.com>
Mon, 24 Aug 2015 21:29:29 +0000 (16:29 -0500)
commit4e9cbcdb899963d55b6bdcf935f1c595e99c3a85
tree5a6c7f87aef1a4b8f1c293d250b8762c3447b19e
parent9ec8d03c7c579a0d661fb7885b2627c0300f14c1
hfp: Handle extra CCWA event

When a call is waitng, CCWA event is sent and call object
in state WAITING is created. on ReleaseAndAnswer it is
promoted to INCOMING and later to ACTIVE.
iPhones send an extra CCWA event when active call is ended.
This extra event is creating a second call object in state
WAITING. It is not possible to have two WAITING calls, but
previously waiting call was already promoted to INCOMING.
For a brief time we have two calls from the same number,
one INCOMING and one WAITING. Later WAITING one is removed.
As we cannot have a waiting and incoming call at the same
time, ignore CCWA when there is already an INCOMING call.

< \r\n+CIEV: 3,3\r\n
< \r\n+CIEV: 2,1\r\n
< \r\n+CIEV: 3,0\r\n
< \r\n+CCWA: "01234567890",129,1,"Me"\r\n
< \r\n+CIEV: 3,1\r\n
> AT+CLCC\r
< \r\n+CLCC: 1,0,0,0,0,"09876543210",129,"Me"\r\n
< \r\n+CLCC: 2,1,5,0,0,"01234567890",129,"Me"\r\n
< \r\nOK\r\n
< \r\n+CIEV: 2,0\r\n
< \r\n+CCWA: "01234567890",129,1,"Me"\r\n
< \r\n+CIEV: 2,1\r\n
< \r\n+CIEV: 3,0\r\n
> AT+CLCC\r
< \r\n+CLCC: 2,1,0,0,0,"01234567890",129,"Me"\r\n
< \r\nOK\r\n
drivers/hfpmodem/voicecall.c