diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp index 1895e02a92e5da45266e21159f20e197a4ad979a..ae7f15840584599f5b701b39b27f2bfbfeaee2d8 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)); } } });