Other Parts Discussed in Thread: CC2564,
Hello,
We are using Bluetopia stack and HFP profile version 1.6 . Our device is hands free device and it does not have a speaker. So we don't want to set up an audio connection with a remote device. Whenever an audio request comes we release the audio.
We want to connect remote AG device and activate voice recognition system (SIRI) over HFP using stack API "HFRE_Set_Remote_Voice_Recognition_Activation()". So we have called this API to activate voice recognition (SIRI) over iphone and it gets activated successfully on IOS version 7 to 13.
But the recently released IOS version 14 shows different behaviour. When we call the API to activate SIRI , the SIRI gets activated after 20 seconds from call to API. I observed the debug logs for both IOS 12 and IOS 14. PFA logs. The initial procedure is the same in both the logs as in the below image.
But confirmation for voice recognition comes late for IOS 14. Also after confirmation IOS 14 sends call active indications though no call is active on the phone. There are multiple features added into IOS 14 SIRi. Also we have doubt that IOS 14 uses the latest version of HFP 1.8. So our concern is how to solve this problem with IOS 14.
*** SDP querry result = 4
HCI Mode Change Event, Status: 0x00, Connection Handle: 1, Mode: Active, Interval: 0
SDP Service Search Attribute Response Received (Size = 0x0010)
Service Record: 1:
Attribute ID 0x0000
Attribute ID 0x0001
Attribute ID 0x0002
Attribute ID 0x0004
Attribute ID 4 index = 3 desequence Element Length : 2 desequence Element Length : 1 Type: UUID_16 = 0x0100
desequence Element Length : 2 Type: UUID_16 = 0x0003
Type: Unsigned Int = 0x08
SDPQuerry : PORT ID : 0x0C
Attribute ID 0x0005
Attribute ID 0x0006
Attribute ID 0x0008
Attribute ID 0x0009
Attribute ID 0x0100
Attribute ID 0x0301
Attribute ID 0x0311
***** PortId: 8 *****
HFRE Open Port Confirmation, ID: 0x0005, Board: 0x000000000000.
Open Port confirmation : ServerPortIndex : 0
OpenPortConfirmation: Number of active connections: 1
etHFRE_Control_Indicator_Status_Confirmation: Serverportindex : 0
HFRE Control Indicator Status Confirmation, ID: 0x0005
Description: SERVICE
Value : TRUE.
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
etHFRE_Control_Indicator_Status_Confirmation: Serverportindex : 0
HFRE Control Indicator Status Confirmation, ID: 0x0005
Description: CALL
Value : FALSE.
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
etHFRE_Control_Indicator_Status_Confirmation: Serverportindex : 0
HFRE Control Indicator Status Confirmation, ID: 0x0005
Description: CALLSETUP
Value : 0.
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
etHFRE_Control_Indicator_Status_Confirmation: Serverportindex : 0
HFRE Control Indicator Status Confirmation, ID: 0x0005
Description: BATTCHG
Value : 4.
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
etHFRE_Control_Indicator_Status_Confirmation: Serverportindex : 0
HFRE Control Indicator Status Confirmation, ID: 0x0005
Description: SIGNAL
Value : 4.
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
etHFRE_Control_Indicator_Status_Confirmation: Serverportindex : 0
HFRE Control Indicator Status Confirmation, ID: 0x0005
Description: ROAM
Value : FALSE.
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
HFRE Open Service Level Connection Indication, ID: 0x0005
RemoteSupportedFeaturesValid : TRUE
RemoteSupportedFeatures : 0x000003EF
RemoteCallHoldMultipartySupport : 0x0000006F
HFRE Enable Call Line Identification 0
HFRE Enable Remote Call Waiting Notification
HFRE_Set_Remote_Voice_Recognition_Activation 0.
StatusResult 0
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
HFRE Command Result, ID: 0x0005
Type 0
Code 0.
HFRE Command Result, ID: 0x0005
Type 0
Code 0.
HFRE Command Result, ID: 0x0005
Type 0
Code 0.
etHFRE_Codec_Select_Indication, ID: 0x0005
Codec ID: 2.
SelectedCodecID 2
HFRE_Send_Select_Codec 2 0
WBS_Connected_Port_ID: 0
HFRE Command Result, ID: 0x0005
Type 0
Code 0.
HFRE Audio Connection Indication, SCO/eSCO handle: 0x101 HFP ID: 0x0005, Status: 0x0000.
Audio already active on this port index 1 - return without re-routing the audio
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : TRUE.
IsInActiveAudio : TRUE.
HFRE_release_Audio_Connection: Function Successful.
etHFRE_Voice_Recognition_Notification_Indication, ID : 0x0005 voice status : 0x0
HFRE Control Indicator Status Indication, ID: 0x0005
Description: CALLSETUP
Value : 2
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : TRUE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
WBS_Connected_Port_ID: 0
NumberOfAnsweredCalls: 0
HFRE Control Indicator Status Indication, ID: 0x0005
Description: CALL
Value : TRUE.
NumberOfAnsweredCalls++ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : TRUE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
WBS_Connected_Port_ID: 0
NumberOfAnsweredCalls: 1
HFRE Control Indicator Status Indication, ID: 0x0005
Description: CALLSETUP
Value : 0
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : TRUE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
WBS_Connected_Port_ID: 0
NumberOfAnsweredCalls: 1
etHFRE_Codec_Select_Indication, ID: 0x0005
Codec ID: 2.
SelectedCodecID 2
HFRE_Send_Select_Codec 2 0
WBS_Connected_Port_ID: 0
HFRE Command Result, ID: 0x0005
Type 0
Code 0.
HFRE Audio Connection Indication, SCO/eSCO handle: 0x101 HFP ID: 0x0005, Status: 0x0000.
Second SCO/eSCO channel opened with handle=0x101 Audio already active on port index 1 - return without routing the audio
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : TRUE.
IsInActiveSCO : TRUE.
IsInActiveAudio : TRUE.
HFRE_release_Audio_Connection: Function Successful.
HFRE Control Indicator Status Indication, ID: 0x0005
Description: CALL
Value : FALSE.
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
WBS_Connected_Port_ID: 0
NumberOfAnsweredCalls: 0
HFRE Control Indicator Status Indication, ID: 0x0005
Description: CALLSETUP
Value : 2
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : TRUE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
WBS_Connected_Port_ID: 0
NumberOfAnsweredCalls: 0
HFRE Control Indicator Status Indication, ID: 0x0005
Description: CALL
Value : TRUE.
NumberOfAnsweredCalls++ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : TRUE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
WBS_Connected_Port_ID: 0
NumberOfAnsweredCalls: 1
HFRE Control Indicator Status Indication, ID: 0x0005
Description: CALLSETUP
Value : 0
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : TRUE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
WBS_Connected_Port_ID: 0
NumberOfAnsweredCalls: 1
etHFRE_Codec_Select_Indication, ID: 0x0005
Codec ID: 2.
SelectedCodecID 2
HFRE_Send_Select_Codec 2 0
WBS_Connected_Port_ID: 0
HFRE Command Result, ID: 0x0005
Type 0
Code 0.
HFRE Audio Connection Indication, SCO/eSCO handle: 0x101 HFP ID: 0x0005, Status: 0x0000.
Second SCO/eSCO channel opened with handle=0x101 Audio already active on port index 1 - return without routing the audio
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : TRUE.
IsInActiveSCO : TRUE.
IsInActiveAudio : TRUE.
HFRE_release_Audio_Connection: Function Successful.
HFRE Control Indicator Status Indication, ID: 0x0005
Description: CALL
Value : FALSE.
ServerPortIndex : 5.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
WBS_Connected_Port_ID: 0
NumberOfAnsweredCalls: 0
*** SDP querry result = 5
SDP Service Search Attribute Response Received (Size = 0x0010)
Service Record: 1:
Attribute ID 0x0000
Attribute ID 0x0001
Attribute ID 0x0002
Attribute ID 0x0004
Attribute ID 4 index = 3 desequence Element Length : 2 desequence Element Length : 1 Type: UUID_16 = 0x0100
desequence Element Length : 2 Type: UUID_16 = 0x0003
Type: Unsigned Int = 0x08
SDPQuerry : PORT ID : 0x0C
Attribute ID 0x0005
Attribute ID 0x0006
Attribute ID 0x0008
Attribute ID 0x0009
Attribute ID 0x0100
Attribute ID 0x0301
Attribute ID 0x0311
***** PortId: 8 *****
HFRE Open Port Confirmation, ID: 0x0006, Board: 0x000000000000.
Open Port confirmation : ServerPortIndex : 0
OpenPortConfirmation: Number of active connections: 1
etHFRE_Control_Indicator_Status_Confirmation: Serverportindex : 0
HFRE Control Indicator Status Confirmation, ID: 0x0006
Description: SERVICE
Value : FALSE.
ServerPortIndex : 6.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
etHFRE_Control_Indicator_Status_Confirmation: Serverportindex : 0
HFRE Control Indicator Status Confirmation, ID: 0x0006
Description: CALL
Value : FALSE.
ServerPortIndex : 6.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
etHFRE_Control_Indicator_Status_Confirmation: Serverportindex : 0
HFRE Control Indicator Status Confirmation, ID: 0x0006
Description: CALLSETUP
Value : 0.
ServerPortIndex : 6.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
etHFRE_Control_Indicator_Status_Confirmation: Serverportindex : 0
HFRE Control Indicator Status Confirmation, ID: 0x0006
Description: BATTCHG
Value : 3.
ServerPortIndex : 6.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
etHFRE_Control_Indicator_Status_Confirmation: Serverportindex : 0
HFRE Control Indicator Status Confirmation, ID: 0x0006
Description: SIGNAL
Value : 1.
ServerPortIndex : 6.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
etHFRE_Control_Indicator_Status_Confirmation: Serverportindex : 0
HFRE Control Indicator Status Confirmation, ID: 0x0006
Description: ROAM
Value : FALSE.
ServerPortIndex : 6.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
HFRE Open Service Level Connection Indication, ID: 0x0006
RemoteSupportedFeaturesValid : TRUE
RemoteSupportedFeatures : 0x000007EF
RemoteCallHoldMultipartySupport : 0x0000006F
HFRE Enable Call Line Identification 0
HFRE Enable Remote Call Waiting Notification
HFRE_Set_Remote_Voice_Recognition_Activation 0.
StatusResult 0
ServerPortIndex : 6.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : FALSE.
IsInActiveAudio : TRUE.
HFRE Command Result, ID: 0x0006
Type 0
Code 0.
HFRE Command Result, ID: 0x0006
Type 0
Code 0.
HFRE Command Result, ID: 0x0006
Type 0
Code 0.
etHFRE_Codec_Select_Indication, ID: 0x0006
Codec ID: 2.
SelectedCodecID 2
HFRE_Send_Select_Codec 2 0
WBS_Connected_Port_ID: 0
HFRE Command Result, ID: 0x0006
Type 0
Code 0.
HFRE Audio Connection Indication, SCO/eSCO handle: 0x101 HFP ID: 0x0006, Status: 0x0000.
Audio already active on this port index 1 - return without re-routing the audio
ServerPortIndex : 6.
IsConnected : TRUE.
IsCallWaiting : FALSE.
IsCallOnHold : FALSE.
IsInActiveCall : FALSE.
IsInActiveSCO : TRUE.
IsInActiveAudio : TRUE.
HFRE_release_Audio_Connection: Function Successful.
etHFRE_Voice_Recognition_Notification_Indication, ID : 0x0006 voice status : 0x0

