diff --git a/Classes/CallManager.swift b/Classes/CallManager.swift index c08fa6a7f..1ce4e1d52 100644 --- a/Classes/CallManager.swift +++ b/Classes/CallManager.swift @@ -414,9 +414,11 @@ class CoreManagerDelegate: CoreDelegate { let uuid = CallManager.instance().providerDelegate.uuids["\(callId!)"] if (uuid != nil) { let callInfo = CallManager.instance().providerDelegate.callInfos[uuid!] - if (callInfo?.isOutgoing ?? false) { + if (callInfo != nil && callInfo!.isOutgoing && !callInfo!.connected) { Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: outgoing call connected with uuid \(uuid!) and callId \(callId!)") CallManager.instance().providerDelegate.reportOutgoingCallConnected(uuid: uuid!) + callInfo!.connected = true + CallManager.instance().providerDelegate.callInfos.updateValue(callInfo!, forKey: uuid!) } } } diff --git a/Classes/ProviderDelegate.swift b/Classes/ProviderDelegate.swift index 3cfe4da02..656dd10bc 100644 --- a/Classes/ProviderDelegate.swift +++ b/Classes/ProviderDelegate.swift @@ -31,6 +31,7 @@ import os var isOutgoing = false var sasEnabled = false var declined = false + var connected = false static func newIncomingCallInfo(callId: String) -> CallInfo {