Problem Statement :
On Android Device, when CSIP is running in background, but no active CSIP call is present, then if any other BT-SCO_Client want to use BT-SCO and apply setBluetoothSco as True, then CSIP is calling from backgorund, to set setBluetoothSco as False. For this, the other SCO_Client which was requesting for BT_SCO, can not able to route to BT-Sco input/output device as desired.
Why CSIP is calling AudioManager.setBluetoothScoOn(false) from background, when CSIP has not created the corresponding BT-Sco connection by calling AudioManager.startBluetoothSco() ?
Steps to reproduce the problem -
- Install CSIP and register CSIP into the device and let it run in background
- Run another application which is a BT-Sco based application and try to create SCO connection by
AudioManager.startBluetoothSco() from this BT-Sco application.
Then the BT-Sco application calls AudioManager.setBluetoothScoOn(true) to route the audio device to BT-SCO input/output deivice.
- But the other BT-Sco application can not able to route to BT-Sco successfully, as CSIP is calling AudioManager.setBluetoothScoOn(false) from background. Dont know WHY ?
Expected output -
- CSipSimple should not react to any BT-Sco request until and unless user force to route to BT-Sco by tapping on BT button during active CSIP call.
Version of the product used and Operating system used :
CSIPSimple version : Latest nightly (22nd December, 2016 build) of CSipSimple-latest-trunk.apk
OS Version : Android M version 6.0.1
Please provide a fix for CSipSimple with the expected output, so that other BT-Sco based application can execute properly in parallel with CSipSimple running in background.
Thanks and Regards
Abhijit