From 54d9c0f0689626da484837d38672383932ef2da2 Mon Sep 17 00:00:00 2001 From: Olivier Dion <olivier.dion@savoirfairelinux.com> Date: Tue, 6 Jul 2021 21:13:47 -0400 Subject: [PATCH] register thread to pjsip Change-Id: I1acac4dd8e87d2ffe1c63638d03fd28c6749adef --- src/ice_transport.cpp | 4 ++++ src/sip/sipaccountbase.cpp | 2 ++ src/sip/sipcall.cpp | 2 ++ 3 files changed, 8 insertions(+) diff --git a/src/ice_transport.cpp b/src/ice_transport.cpp index dbb503d13b..acff2772eb 100644 --- a/src/ice_transport.cpp +++ b/src/ice_transport.cpp @@ -1082,6 +1082,8 @@ IceTransport::isInitiator() const bool IceTransport::startIce(const Attribute& rem_attrs, std::vector<IceCandidate>&& rem_candidates) { + sip_utils::register_thread(); + if (not isInitialized()) { JAMI_ERR("[ice:%p] not initialized transport", pimpl_.get()); pimpl_->is_stopped_ = true; @@ -1148,6 +1150,8 @@ IceTransport::startIce(const Attribute& rem_attrs, std::vector<IceCandidate>&& r bool IceTransport::startIce(const SDP& sdp) { + sip_utils::register_thread(); + if (pimpl_->streamsCount_ != 1) { JAMI_ERR("Expected exactly one stream per SDP (found %u streams)", pimpl_->streamsCount_); return false; diff --git a/src/sip/sipaccountbase.cpp b/src/sip/sipaccountbase.cpp index 11396b5a1a..f2112cdfc4 100644 --- a/src/sip/sipaccountbase.cpp +++ b/src/sip/sipaccountbase.cpp @@ -86,6 +86,8 @@ SIPAccountBase::CreateClientDialogAndInvite(const pj_str_t* from, pjsip_dialog** dlg, pjsip_inv_session** inv) { + sip_utils::register_thread(); + if (pjsip_dlg_create_uac(pjsip_ua_instance(), from, contact, to, target, dlg) != PJ_SUCCESS) { JAMI_ERR("Unable to create SIP dialogs for user agent client when calling %s", to->ptr); return false; diff --git a/src/sip/sipcall.cpp b/src/sip/sipcall.cpp index ef5ad8f3d0..d00656779c 100644 --- a/src/sip/sipcall.cpp +++ b/src/sip/sipcall.cpp @@ -672,6 +672,8 @@ SIPCall::setInviteSession(pjsip_inv_session* inviteSession) void SIPCall::terminateSipSession(int status) { + sip_utils::register_thread(); + JAMI_DBG("[call:%s] Terminate SIP session", getCallId().c_str()); std::lock_guard<std::recursive_mutex> lk {callMutex_}; if (inviteSession_ and inviteSession_->state != PJSIP_INV_STATE_DISCONNECTED) { -- GitLab