Hi!
On iOS 15.1 CallKit for some reason does not call
func provider(_ provider: CXProvider, didActivate audioSession: AVAudioSession)
after call was returned from hold.
But it only happens when current call was interrupted by mobile or FaceTime call and caller ended a call.
Steps to reproduce:
Start call from device_1 in application using
let handle = CXHandle(type: .generic, value: title)
let action = CXStartCallAction(call: uuid, handle: handle)
Call to device_1 from device_2 using FaceTime
Accept call on device_1 and put active application call on hold
End call in FaceTime on device_2
Return call from hold on device_1 using
let action = CXSetHeldCallAction(call: uuid, onHold: false)
requestTransaction(with: action)
Expected result:
func provider(_ provider: CXProvider, didActivate audioSession: AVAudioSession)
called
Actual result:
func provider(_ provider: CXProvider, didDeactivate audioSession: AVAudioSession)
called
Noticed:
It does not reproduced on iOS 15.0 and earlier iOS versions
All works fine if FaceTime call ended on device_1
All works fine if device_2 called to device_1 using Telegram/WhatsApp applications
Post
Replies
Boosts
Views
Activity
In iOS 16.1 CXProviderDelegate.provider(_: CXProvider, perform action: CXEndCallAction) method called when user pressed side button.
In previous iOS versions VoIP call was not interrupted by this action.
Is it intentional behavior?
Is there any way to prevent it in code?