mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-17 11:08:06 +00:00
Don't pause all calls when receiving a new call. This creates recursions in callkit's logic that cause AudioSession to be lost. Call fulfill() when action is done.
This commit is contained in:
parent
39c1185e9c
commit
b6456e7d45
1 changed files with 3 additions and 2 deletions
|
|
@ -90,7 +90,7 @@ class ProviderDelegate: NSObject {
|
|||
let callInfo = callInfos[uuid]
|
||||
let callId = callInfo?.callId
|
||||
Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: report new incoming call with call-id: [\(String(describing: callId))] and UUID: [\(uuid.description)]")
|
||||
CallManager.instance().setHeldOtherCalls(exceptCallid: callId ?? "")
|
||||
//CallManager.instance().setHeldOtherCalls(exceptCallid: callId ?? "")
|
||||
provider.reportNewIncomingCall(with: uuid, update: update) { error in
|
||||
if error == nil {
|
||||
if CallManager.instance().endCallkit {
|
||||
|
|
@ -155,7 +155,7 @@ class ProviderDelegate: NSObject {
|
|||
// MARK: - CXProviderDelegate
|
||||
extension ProviderDelegate: CXProviderDelegate {
|
||||
func provider(_ provider: CXProvider, perform action: CXEndCallAction) {
|
||||
action.fulfill()
|
||||
|
||||
let uuid = action.callUUID
|
||||
let callId = callInfos[uuid]?.callId
|
||||
|
||||
|
|
@ -170,6 +170,7 @@ extension ProviderDelegate: CXProviderDelegate {
|
|||
CallManager.instance().terminateCall(call: call.getCobject);
|
||||
Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: Call ended with call-id: \(String(describing: callId)) an UUID: \(uuid.description).")
|
||||
}
|
||||
action.fulfill()
|
||||
}
|
||||
|
||||
func provider(_ provider: CXProvider, perform action: CXAnswerCallAction) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue