From 18a97681673edb5c5497d031c9f5703c1eae903f Mon Sep 17 00:00:00 2001 From: ryanzhao Date: Mon, 25 Oct 2021 13:51:41 +1100 Subject: [PATCH] filter other call messages --- .../Sending & Receiving/MessageReceiver+Handling.swift | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift b/SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift index 6dc8ff062..e70c9c70e 100644 --- a/SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift +++ b/SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift @@ -277,12 +277,15 @@ extension MessageReceiver { switch message.kind! { case .preOffer: print("[Calls] Received pre-offer message.") - let currentSession = getWebRTCSession() - if currentSession.uuid != message.uuid! { + if getWebRTCSession().uuid != message.uuid! { // TODO: Call in progress, put the new call on hold/reject } case .offer: print("[Calls] Received offer message.") + if getWebRTCSession().uuid != message.uuid! { + // TODO: Call in progress, put the new call on hold/reject + return + } let storage = SNMessagingKitConfiguration.shared.storage let transaction = transaction as! YapDatabaseReadWriteTransaction if let threadID = storage.getOrCreateThread(for: message.sender!, groupPublicKey: message.groupPublicKey, openGroupID: nil, using: transaction), @@ -296,11 +299,13 @@ extension MessageReceiver { handleOfferCallMessage?(message) case .answer: print("[Calls] Received answer message.") + guard getWebRTCSession().uuid == message.uuid! else { return } let sdp = RTCSessionDescription(type: .answer, sdp: message.sdps![0]) getWebRTCSession().handleRemoteSDP(sdp, from: message.sender!) handleAnswerCallMessage?(message) case .provisionalAnswer: break // TODO: Implement case let .iceCandidates(sdpMLineIndexes, sdpMids): + guard getWebRTCSession().uuid == message.uuid! else { return } var candidates: [RTCIceCandidate] = [] let sdps = message.sdps! for i in 0..