From ff6acce6cafa321cf6b80a95b57d2e4e27aa7cd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Sat, 9 Oct 2021 18:58:55 -0400 Subject: [PATCH] jamiaccount: don't fail call if no DHT device but connection exists Change-Id: I53308fca61c46551129320babc99915d927a81dd --- src/jamidht/jamiaccount.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp index 1895e02a92..ae7f158405 100644 --- a/src/jamidht/jamiaccount.cpp +++ b/src/jamidht/jamiaccount.cpp @@ -610,7 +610,7 @@ JamiAccount::startOutgoingCall(const std::shared_ptr<SIPCall>& call, const std:: dev_call->setIceMedia(call->getIceMedia()); { std::lock_guard<std::mutex> lk(pendingCallsMutex_); - pendingCalls_[deviceId].emplace_back(dev_call); + pendingCalls_[deviceId].emplace_back(std::move(dev_call)); } JAMI_WARN("[call %s] No channeled socket with this peer. Send request", @@ -707,7 +707,9 @@ JamiAccount::startOutgoingCall(const std::shared_ptr<SIPCall>& call, const std:: if (not ok) { if (auto call = wCall.lock()) { JAMI_WARN("[call:%s] no devices found", call->getCallId().c_str()); - call->onFailure(static_cast<int>(std::errc::no_such_device_or_address)); + // Note: if a p2p connection exists, the call will be at least in CONNECTING + if (call->getConnectionState() == Call::ConnectionState::TRYING) + call->onFailure(static_cast<int>(std::errc::no_such_device_or_address)); } } }); -- GitLab