diff --git a/Signal/src/call/CallService.swift b/Signal/src/call/CallService.swift index 2e578a8f1..d1460913e 100644 --- a/Signal/src/call/CallService.swift +++ b/Signal/src/call/CallService.swift @@ -230,6 +230,13 @@ protocol CallServiceObserver: class { public func handleOutgoingCall(_ call: SignalCall) -> Promise { AssertIsOnMainThread() + guard self.call == nil else { + let errorDescription = "\(TAG) call was unexpectedly already set." + Logger.error(errorDescription) + call.state = .localFailure + return Promise(error: CallError.assertionError(description: errorDescription)) + } + self.call = call let thread = TSContactThread.getOrCreateThread(contactId: call.remotePhoneNumber)