fix call not be ended

This commit is contained in:
Danmei Chen 2020-03-10 13:54:59 +01:00
parent bcb2112ffd
commit 13535fa2c4
2 changed files with 11 additions and 1 deletions

View file

@ -332,6 +332,11 @@ import AVFoundation
}
}
@objc func removeAllCallInfos() {
providerDelegate.callInfos.removeAll()
providerDelegate.uuids.removeAll()
}
// To be removed.
static func configAudioSession(audioSession: AVAudioSession) {
do {
@ -462,7 +467,11 @@ class CoreManager: CoreDelegate {
if (CallManager.callKitEnabled()) {
// end CallKit
let uuid = CallManager.instance().providerDelegate.uuids["\(callId!)"]
var uuid = CallManager.instance().providerDelegate.uuids["\(callId!)"]
if uuid == nil {
// the call not yet connected
uuid = CallManager.instance().providerDelegate.uuids[""]
}
if (uuid != nil) {
let transaction = CXTransaction(action:
CXEndCallAction(call: uuid!))

View file

@ -311,6 +311,7 @@
LOGI(@"%@", NSStringFromSelector(_cmd));
LinphoneManager.instance.conf = TRUE;
linphone_core_terminate_all_calls(LC);
[CallManager.instance removeAllCallInfos];
// !!! Will be removed after push notification job finished
// destroyLinphoneCore automatically unregister proxies but if we are using