diff --git a/daemon/src/sip/sipvoiplink.cpp b/daemon/src/sip/sipvoiplink.cpp index a9a3b3d9f3eab5a8a2ed6bdd90a78cfbdd14c383..dd2d87fa77c65963d3b1231d0b22c3729bf978b5 100644 --- a/daemon/src/sip/sipvoiplink.cpp +++ b/daemon/src/sip/sipvoiplink.cpp @@ -284,19 +284,17 @@ void SIPVoIPLink::sendRegister (Account *a) pjsip_transport_dec_ref(account->transport); createSipTransport(account); - if (account->transport) - return; - - // Could not create new transport, this transport may already exists - account->transport = transportMap_[account->getLocalPort()]; - if (account->transport) { - pjsip_transport_add_ref(account->transport); - } else { - account->transport = _localUDPTransport; - account->setLocalPort(_localUDPTransport->local_name.port); - } - ost::MutexLock m(mutexSIP_); + if (!account->transport) { + // Could not create new transport, this transport may already exists + account->transport = transportMap_[account->getLocalPort()]; + if (account->transport) { + pjsip_transport_add_ref(account->transport); + } else { + account->transport = _localUDPTransport; + account->setLocalPort(_localUDPTransport->local_name.port); + } + } account->setRegister(true); account->setRegistrationState (Trying); diff --git a/daemon/src/sip/sipvoiplink.h b/daemon/src/sip/sipvoiplink.h index 4b64720bd596b6e88c8610b0432796b22e362e87..37aeba028f3389dd6f233b9f1430cc5205ce4113 100644 --- a/daemon/src/sip/sipvoiplink.h +++ b/daemon/src/sip/sipvoiplink.h @@ -350,11 +350,6 @@ class SIPVoIPLink : public VoIPLink */ EventThread *evThread_; - /** - * Global mutex for the sip voiplink - */ - ost::Mutex mutexSIP_; - friend class SIPTest; };