diff --git a/src/ice_transport.cpp b/src/ice_transport.cpp index dbb503d13b567bed6a39c3cb9d513b21864b731d..acff2772ebae94fac4e3bbea9278d7ba4c75da31 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 11396b5a1ac9a9a366484cc6f36ba3d46ad2bfdc..f2112cdfc4e33a7942f5332f3fdf7b852b0b55f3 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 ef5ad8f3d03bb764623662bbb0d54bba31ea6c87..d00656779c2ee69985db89daaa9a987861436f50 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) {