diff --git a/daemon/src/iax/iaxvoiplink.cpp b/daemon/src/iax/iaxvoiplink.cpp
index 9c6e4dd5cd220bde8c02c9f9c64ee72260b4c4b0..80f7f3be155097e30f70f9841d11ad1b2834a1ca 100644
--- a/daemon/src/iax/iaxvoiplink.cpp
+++ b/daemon/src/iax/iaxvoiplink.cpp
@@ -402,7 +402,7 @@ IAXVoIPLink::peerHungup (const std::string& id)
 
 
 
-bool
+void
 IAXVoIPLink::onhold (const std::string& id)
 {
     IAXCall* call = getIAXCall (id);
@@ -411,21 +411,19 @@ IAXVoIPLink::onhold (const std::string& id)
 
     Manager::instance().getMainBuffer()->unBindAll (call->getCallId());
 
-    //if (call->getState() == Call::Hold) { _debug("Call is already on hold"); return false; }
-
     mutexIAX_.enterMutex();
-    iax_quelch_moh (call->getSession() , MUSIC_ONHOLD);
+    iax_quelch_moh (call->getSession(), MUSIC_ONHOLD);
     mutexIAX_.leaveMutex();
 
     call->setState (Call::Hold);
-    return true;
 }
 
-bool
+void
 IAXVoIPLink::offhold (const std::string& id)
 {
     IAXCall* call = getIAXCall (id);
-    CHK_VALID_CALL;
+    if (call == NULL)
+    	throw VoipLinkException("Call does not exist");
 
     Manager::instance().addStream (call->getCallId());
 
@@ -434,7 +432,6 @@ IAXVoIPLink::offhold (const std::string& id)
     mutexIAX_.leaveMutex();
     audiolayer_->startStream();
     call->setState (Call::Active);
-    return true;
 }
 
 bool
diff --git a/daemon/src/iax/iaxvoiplink.h b/daemon/src/iax/iaxvoiplink.h
index 14cd95513b8434d4f9509af19e192f475831b7b5..de45bbe94a75c5208a3ecd186515efd0c5c64ffc 100644
--- a/daemon/src/iax/iaxvoiplink.h
+++ b/daemon/src/iax/iaxvoiplink.h
@@ -136,7 +136,7 @@ class IAXVoIPLink : public VoIPLink
          * @return bool true on success
          *		  false otherwise
          */
-        virtual bool onhold (const std::string& id);
+        virtual void onhold (const std::string& id);
 
         /**
          * Put a call off hold
@@ -144,7 +144,7 @@ class IAXVoIPLink : public VoIPLink
          * @return bool true on success
          *		  false otherwise
          */
-        virtual bool offhold (const std::string& id);
+        virtual void offhold (const std::string& id);
 
         /**
          * Transfer a call
diff --git a/daemon/src/managerimpl.cpp b/daemon/src/managerimpl.cpp
index b78e936bb01bab3640389b995921596bee3d1a92..1e2f72baaabc16ab0da4fe0f96a26801b4f45dc6 100644
--- a/daemon/src/managerimpl.cpp
+++ b/daemon/src/managerimpl.cpp
@@ -431,34 +431,31 @@ bool ManagerImpl::hangupConference (const std::string& id)
 
 
 //THREAD=Main
-bool ManagerImpl::onHoldCall (const std::string& callId)
+void ManagerImpl::onHoldCall (const std::string& callId)
 {
-    bool returnValue = false;
-
     _debug ("Manager: Put call %s on hold", callId.c_str());
 
     stopTone();
 
-    std::string current_call_id = getCurrentCallId();
+    std::string current_call_id(getCurrentCallId());
 
     try {
-
     	if (getConfigFromCall (callId) == Call::IPtoIP) {
     		/* Direct IP to IP call */
-    		returnValue = SIPVoIPLink::instance ()-> onhold (callId);
+            SIPVoIPLink::instance ()-> onhold (callId);
     	}
     	else {
     		/* Classic call, attached to an account */
             std::string account_id(getAccountFromCall (callId));
 
-    		if (account_id == "") {
-    			_debug ("Manager: Account ID %s or callid %s doesn't exists in call onHold", account_id.c_str(), callId.c_str());
-    			return false;
-    		}
-    		returnValue = getAccountLink (account_id)->onhold (callId);
+            if (account_id.empty()) {
+                _debug ("Manager: Account ID %s or callid %s doesn't exists in call onHold", account_id.c_str(), callId.c_str());
+                return;
+            }
+    		getAccountLink(account_id)->onhold(callId);
     	}
     }
-    catch (const VoipLinkException &e){
+    catch (const VoipLinkException &e) {
     	_error("Manager: Error: %s", e.what());
     }
 
@@ -476,22 +473,19 @@ bool ManagerImpl::onHoldCall (const std::string& callId)
     _dbus.getCallManager()->callStateChanged (callId, "HOLD");
 
     getMainBuffer()->stateInfo();
-
-    return returnValue;
 }
 
 //THREAD=Main
-bool ManagerImpl::offHoldCall (const std::string& callId)
+void ManagerImpl::offHoldCall (const std::string& callId)
 {
     std::string accountId;
-    bool returnValue = true;
     std::string codecName;
 
     _debug ("Manager: Put call %s off hold", callId.c_str());
 
     stopTone();
 
-    std::string currentCallId = getCurrentCallId();
+    std::string currentCallId(getCurrentCallId());
 
     //Place current call on hold if it isn't
 
@@ -509,7 +503,7 @@ bool ManagerImpl::offHoldCall (const std::string& callId)
 
     /* Direct IP to IP call */
     if (getConfigFromCall (callId) == Call::IPtoIP)
-        returnValue = SIPVoIPLink::instance ()-> offhold (callId);
+        SIPVoIPLink::instance ()-> offhold (callId);
     else {
         /* Classic call, attached to an account */
         accountId = getAccountFromCall (callId);
@@ -520,16 +514,14 @@ bool ManagerImpl::offHoldCall (const std::string& callId)
         if (call)
         {
             isRec = call->isRecording();
-            returnValue = getAccountLink (accountId)->offhold (callId);
+            getAccountLink(accountId)->offhold(callId);
         }
     }
 
     _dbus.getCallManager()->callStateChanged (callId, isRec ? "UNHOLD_RECORD" : "UNHOLD_CURRENT");
 
     if (participToConference (callId)) {
-        std::string currentAccountId;
-
-        currentAccountId = getAccountFromCall (callId);
+        std::string currentAccountId(getAccountFromCall(callId));
         Call *call = getAccountLink (currentAccountId)->getCall (callId);
 
         if (call)
@@ -541,8 +533,6 @@ bool ManagerImpl::offHoldCall (const std::string& callId)
     addStream(callId);
 
     getMainBuffer()->stateInfo();
-
-    return returnValue;
 }
 
 //THREAD=Main
diff --git a/daemon/src/managerimpl.h b/daemon/src/managerimpl.h
index e41c7c5d6663198496581e53d75bb007380c3921..cd365d8c09d9f50260207fa2abb9d6611b26c1ea 100644
--- a/daemon/src/managerimpl.h
+++ b/daemon/src/managerimpl.h
@@ -200,14 +200,14 @@ class ManagerImpl
          * Put the call on hold
          * @param id  The call identifier
          */
-        bool onHoldCall (const std::string& id);
+        void onHoldCall (const std::string& id);
 
         /**
          * Functions which occur with a user's action
          * Put the call off hold
          * @param id  The call identifier
          */
-        bool offHoldCall (const std::string& id);
+        void offHoldCall (const std::string& id);
 
         /**
          * Functions which occur with a user's action
diff --git a/daemon/src/sip/sipvoiplink.cpp b/daemon/src/sip/sipvoiplink.cpp
index d47d8f2de29047bf08d94d3c347b20dc6d054033..f2482935e96ae86aba42c8965ecd498435ee8914 100644
--- a/daemon/src/sip/sipvoiplink.cpp
+++ b/daemon/src/sip/sipvoiplink.cpp
@@ -515,14 +515,14 @@ void SIPVoIPLink::sendUnregister (Account *a)
 
     pjsip_regc *regc = account->getRegistrationInfo();
     if (!regc)
-    	throw VoipLinkException("Registration structure is NULL");
+        throw VoipLinkException("Registration structure is NULL");
 
     pjsip_tx_data *tdata = NULL;
     if (pjsip_regc_unregister (regc, &tdata) != PJ_SUCCESS)
-    	throw VoipLinkException("Unable to unregister sip account");
+        throw VoipLinkException("Unable to unregister sip account");
 
     if (pjsip_regc_send (regc, tdata) != PJ_SUCCESS)
-    	throw VoipLinkException("Unable to send request to unregister sip account");
+        throw VoipLinkException("Unable to send request to unregister sip account");
 
     account->setRegister (false);
 }
@@ -546,9 +546,8 @@ Call *SIPVoIPLink::newOutgoingCall (const std::string& id, const std::string& to
     // If toUri is not a well formated sip URI, use account information to process it
     std::string toUri;
     if((toUrl.find("sip:") != std::string::npos) or
-    		toUrl.find("sips:") != std::string::npos) {
+    		toUrl.find("sips:") != std::string::npos)
     	toUri = toUrl;
-    }
     else
         toUri = account->getToUri (toUrl);
 
@@ -590,7 +589,7 @@ Call *SIPVoIPLink::newOutgoingCall (const std::string& id, const std::string& to
 		call->getAudioRtp()->start (static_cast<sfl::AudioCodec *>(audiocodec));
 	} catch (...) {
         delete call;
-		throw VoipLinkException ("Could not start rtp session for early media");
+        throw VoipLinkException ("Could not start rtp session for early media");
 	}
 
 	// init file name according to peer phone number
@@ -600,7 +599,7 @@ Call *SIPVoIPLink::newOutgoingCall (const std::string& id, const std::string& to
 	call->getLocalSDP()->setLocalIP (addrSdp);
 	if (call->getLocalSDP()->createOffer(account->getActiveCodecs()) != PJ_SUCCESS) {
 		delete call;
-		throw VoipLinkException ("Could not create local sdp offer for new call");
+        throw VoipLinkException ("Could not create local sdp offer for new call");
 	}
 
 	if (SIPStartCall(call)) {
@@ -629,10 +628,10 @@ SIPVoIPLink::answer (Call *c)
 	_debug ("UserAgent: SDP negotiation success! : call %s ", call->getCallId().c_str());
 	// Create and send a 200(OK) response
 	if (pjsip_inv_answer (inv_session, PJSIP_SC_OK, NULL, NULL, &tdata) != PJ_SUCCESS)
-		throw VoipLinkException("Could not init invite request answer (200 OK)");
+        throw VoipLinkException("Could not init invite request answer (200 OK)");
 
 	if (pjsip_inv_send_msg (inv_session, tdata) != PJ_SUCCESS)
-		throw VoipLinkException("Could not send invite request answer (200 OK)");
+        throw VoipLinkException("Could not send invite request answer (200 OK)");
 
 	call->setConnectionState (Call::Connected);
 	call->setState (Call::Active);
@@ -650,7 +649,7 @@ SIPVoIPLink::hangup (const std::string& id)
 
     pjsip_inv_session *inv = call->inv;
     if (inv == NULL)
-    	throw VoipLinkException("No invite session for this call");
+        throw VoipLinkException("No invite session for this call");
 
     // Looks for sip routes
     if (not (account->getServiceRoute().empty())) {
@@ -675,7 +674,7 @@ SIPVoIPLink::hangup (const std::string& id)
             call->getAudioRtp()->stop();
     }
     catch (...) {
-    	throw VoipLinkException("Could not stop audio rtp session");
+        throw VoipLinkException("Could not stop audio rtp session");
     }
 
     removeCall (id);
@@ -707,7 +706,7 @@ SIPVoIPLink::peerHungup (const std::string& id)
         }
     }
     catch (...) {
-    	throw VoipLinkException("Could not stop audio rtp session");
+        throw VoipLinkException("Could not stop audio rtp session");
     }
 
     removeCall (id);
@@ -717,12 +716,11 @@ void
 SIPVoIPLink::cancel (const std::string& id)
 {
     _info ("UserAgent: Cancel call %s", id.c_str());
-
     removeCall (id);
 }
 
 
-bool
+void
 SIPVoIPLink::onhold (const std::string& id)
 {
     SIPCall *call = getSIPCall(id);
@@ -749,10 +747,10 @@ SIPVoIPLink::onhold (const std::string& id)
     sdpSession->addAttributeToLocalAudioMedia("sendonly");
 
     // Create re-INVITE with new offer
-    return SIPSessionReinvite (call) == PJ_SUCCESS;
+    SIPSessionReinvite (call);
 }
 
-bool
+void
 SIPVoIPLink::offhold (const std::string& id)
 {
     _debug ("UserAgent: retrive call from hold status");
@@ -801,10 +799,9 @@ SIPVoIPLink::offhold (const std::string& id)
 
     /* Create re-INVITE with new offer */
     if (SIPSessionReinvite (call) != PJ_SUCCESS)
-        return false;
+        return;
 
     call->setState (Call::Active);
-    return true;
 }
 
 bool
@@ -1060,10 +1057,8 @@ SIPVoIPLink::dtmfSipInfo (SIPCall *call, char code)
 
     // Create a temporary memory pool
     pj_pool_t *tmp_pool = pj_pool_create (&_cp->factory, "tmpdtmf10", 1000, 1000, NULL);
-    if (tmp_pool == NULL) {
-    	_debug ("UserAgent: Could not initialize memory pool while sending DTMF");
-    	return;
-    }
+    if (tmp_pool == NULL)
+    	throw VoipLinkException("UserAgent: Could not initialize memory pool while sending DTMF");
 
     pj_str_t methodName;
     pj_strdup2 (tmp_pool, &methodName, "INFO");
@@ -1439,23 +1434,22 @@ bool SIPVoIPLink::SIPNewIpToIpCall (const std::string& id, const std::string& to
 // Private functions
 ///////////////////////////////////////////////////////////////////////////////
 
-bool SIPVoIPLink::pjsipInit()
+void SIPVoIPLink::pjsipInit()
 {
     // Init PJLIB: must be called before any call to the pjsip library
-    pj_status_t status = pj_init();
-    // Use pjsip macros for sanity check
-    PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1);
+    if (pj_init() != PJ_SUCCESS)
+        return;
 
     // Init PJLIB-UTIL library
-    status = pjlib_util_init();
-    PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1);
+    if (pjlib_util_init() != PJ_SUCCESS)
+        return;
 
     // Set the pjsip log level
     pj_log_set_level (PJ_LOG_LEVEL);
 
     // Init PJNATH
-    status = pjnath_init();
-    PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1);
+    if (pjnath_init() != PJ_SUCCESS)
+        return;
 
     // Create a pool factory to allocate memory
     pj_caching_pool_init (_cp, &pj_pool_factory_default_policy, 0);
@@ -1463,36 +1457,32 @@ bool SIPVoIPLink::pjsipInit()
     // Create memory pool for application.
     _pool = pj_pool_create (&_cp->factory, "sflphone", 4000, 4000, NULL);
 
-    if (!_pool) {
-        _debug ("UserAgent: Could not initialize memory pool");
-        return PJ_ENOMEM;
-    }
+    if (!_pool)
+        throw VoipLinkException("UserAgent: Could not initialize memory pool");
 
     // Create the SIP endpoint
-    status = pjsip_endpt_create (&_cp->factory, pj_gethostname()->ptr, &_endpt);
-
-    PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1);
+    if (pjsip_endpt_create (&_cp->factory, pj_gethostname()->ptr, &_endpt) != 
+            PJ_SUCCESS)
+        return;
 
-    if (loadSIPLocalIP().empty()) {
-        _debug ("UserAgent: Unable to determine network capabilities");
-        return false;
-    }
+    if (loadSIPLocalIP().empty())
+        throw VoipLinkException("UserAgent: Unable to determine network capabilities");
 
     // Initialize transaction layer
-    status = pjsip_tsx_layer_init_module (_endpt);
-    PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1);
+    if (pjsip_tsx_layer_init_module (_endpt) != PJ_SUCCESS)
+        return;
 
     // Initialize UA layer module
-    status = pjsip_ua_init_module (_endpt, NULL);
-    PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1);
+    if (pjsip_ua_init_module (_endpt, NULL) != PJ_SUCCESS)
+        return;
 
     // Initialize Replaces support. See the Replaces specification in RFC 3891
-    status = pjsip_replaces_init_module (_endpt);
-    PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1);
+    if (pjsip_replaces_init_module (_endpt) != PJ_SUCCESS)
+        return;
 
     // Initialize 100rel support
-    status = pjsip_100rel_init_module (_endpt);
-    PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1);
+    if (pjsip_100rel_init_module (_endpt) != PJ_SUCCESS)
+        return;
 
     // Initialize and register sflphone module
     std::string name_mod(PACKAGE);
@@ -1501,18 +1491,17 @@ bool SIPVoIPLink::pjsipInit()
     _mod_ua.priority = PJSIP_MOD_PRIORITY_APPLICATION;
     _mod_ua.on_rx_request = &transaction_request_cb;
     _mod_ua.on_rx_response = &transaction_response_cb;
-    status = pjsip_endpt_register_module (_endpt, &_mod_ua);
-    PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1);
+    if (pjsip_endpt_register_module (_endpt, &_mod_ua) != PJ_SUCCESS)
+        return;
 
     // Init the event subscription module.
     // It extends PJSIP by supporting SUBSCRIBE and NOTIFY methods
-    status = pjsip_evsub_init_module (_endpt);
-    PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1);
+    if (pjsip_evsub_init_module (_endpt) != PJ_SUCCESS)
+        return;
 
     // Init xfer/REFER module
-    status = pjsip_xfer_init_module (_endpt);
-    PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1);
-    PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1);
+    if (pjsip_xfer_init_module (_endpt) != PJ_SUCCESS)
+        return;
 
     // Init the callback for INVITE session:
     pjsip_inv_callback inv_cb;
@@ -1525,8 +1514,8 @@ bool SIPVoIPLink::pjsipInit()
     inv_cb.on_create_offer = &sdp_create_offer_cb;
 
     // Initialize session invite module
-    status = pjsip_inv_usage_init (_endpt, &inv_cb);
-    PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1);
+    if (pjsip_inv_usage_init (_endpt, &inv_cb) != PJ_SUCCESS)
+        return;
 
     _debug ("UserAgent: VOIP callbacks initialized");
 
@@ -1545,14 +1534,11 @@ bool SIPVoIPLink::pjsipInit()
 
     _debug ("UserAgent: pjsip version %s for %s initialized", pj_get_version(), PJ_OS_NAME);
 
-    status = pjsip_replaces_init_module	(_endpt);
-    PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1);
+    if (pjsip_replaces_init_module(_endpt) != PJ_SUCCESS)
+        return;
 
     // Create the secondary thread to poll sip events
     evThread_->start();
-
-    /* Done! */
-    return PJ_SUCCESS;
 }
 
 
@@ -1602,13 +1588,12 @@ pj_status_t SIPVoIPLink::stunServerResolve (SIPAccount *account)
     return status;
 }
 
-bool SIPVoIPLink::acquireTransport (SIPAccount *account)
+void SIPVoIPLink::acquireTransport (SIPAccount *account)
 {
     // If an account is already bound to this account, decrease its reference
     // as it is going to change. If the same transport is selected, reference
     // counter will be increased
     if (account->getAccountTransport()) {
-
         _debug ("pjsip_transport_dec_ref in acquireTransport");
         pjsip_transport_dec_ref (account->getAccountTransport());
     }
@@ -1617,39 +1602,34 @@ bool SIPVoIPLink::acquireTransport (SIPAccount *account)
     // are different than one defined for already created ones
     // If TLS is enabled, TLS connection is automatically handled when sending account registration
     // However, for any other sip transaction, we must create TLS connection
-    if (createSipTransport (account))
-        return true;
-
-    // A transport is already created on this port, use it
-	_debug ("Could not create a new transport (%d)", account->getLocalPort());
-
-	// Could not create new transport, this transport may already exists
-	pjsip_transport* tr = transportMap_[account->getLocalPort()];
-	if (tr) {
-		account->setAccountTransport (tr);
-
-		// Increment newly associated transport reference counter
-		// If the account is shutdowning, time is automatically canceled
-		pjsip_transport_add_ref (tr);
-
-		return true;
-	}
-
-	// Transport could not either be created, socket not available
-	_debug ("Did not find transport (%d) in transport map", account->getLocalPort());
-
-	account->setAccountTransport(_localUDPTransport);
-	std::string localHostName(_localUDPTransport->local_name.host.ptr,
-                              _localUDPTransport->local_name.host.slen);
+    if (not createSipTransport(account)) {
+        // A transport is already created on this port, use it
+        _debug ("Could not create a new transport (%d)", account->getLocalPort());
+
+        // Could not create new transport, this transport may already exists
+        pjsip_transport* tr = transportMap_[account->getLocalPort()];
+        if (tr) {
+            account->setAccountTransport (tr);
+            // Increment newly associated transport reference counter
+            // If the account is shutdowning, time is automatically canceled
+            pjsip_transport_add_ref (tr);
+        }
+        else {
+            // Transport could not either be created, socket not available
+            _debug ("Did not find transport (%d) in transport map", account->getLocalPort());
 
-	_debug ("Use default one instead (%s:%i)", localHostName.c_str(),
-            _localUDPTransport->local_name.port);
+            account->setAccountTransport(_localUDPTransport);
+            std::string localHostName(_localUDPTransport->local_name.host.ptr,
+                    _localUDPTransport->local_name.host.slen);
 
-	// account->setLocalAddress(localHostName);
-	account->setLocalPort(_localUDPTransport->local_name.port);
+            _debug ("Use default one instead (%s:%i)", localHostName.c_str(),
+                    _localUDPTransport->local_name.port);
 
-	// Transport could not either be created or found in the map, socket not available
-	return false;
+            // account->setLocalAddress(localHostName);
+            account->setLocalPort(_localUDPTransport->local_name.port);
+            _error("Transport could not either be created or found in the map, socket not available");
+        }
+    }
 }
 
 
@@ -1831,7 +1811,7 @@ std::string SIPVoIPLink::findLocalAddressFromUri (const std::string& uri, pjsip_
     // Create a temporary memory pool
     pj_pool_t *tmp_pool = pj_pool_create (&_cp->factory, "tmpdtmf10", 1000, 1000, NULL);
     if (tmp_pool == NULL)
-    	_error ("UserAgent: Could not initialize memory pool");
+    	throw VoipLinkException("UserAgent: Could not initialize memory pool");
 
     // Find the transport that must be used with the given uri
     pj_str_t tmp;
@@ -1931,10 +1911,8 @@ int SIPVoIPLink::findLocalPortFromUri (const std::string& uri, pjsip_transport *
 {
     // Create a temporary memory pool
     pj_pool_t *tmp_pool = pj_pool_create (&_cp->factory, "tmpdtmf10", 1000, 1000, NULL);
-    if (tmp_pool == NULL) {
-    	_debug ("UserAgent: Could not initialize memory pool");
-    	return false;
-    }
+    if (tmp_pool == NULL)
+    	throw VoipLinkException("UserAgent: Could not initialize memory pool");
 
     // Find the transport that must be used with the given uri
     pj_str_t tmp;
diff --git a/daemon/src/sip/sipvoiplink.h b/daemon/src/sip/sipvoiplink.h
index 15797417732de8d8843f12f757acd376b474168d..38d138d2e8fbd5ee65e207e6634f71b3214285da 100644
--- a/daemon/src/sip/sipvoiplink.h
+++ b/daemon/src/sip/sipvoiplink.h
@@ -143,14 +143,14 @@ class SIPVoIPLink : public VoIPLink
          * @param id The call identifier
          * @return bool True on success
          */
-        virtual bool onhold (const std::string& id);
+        virtual void onhold (const std::string& id);
 
         /**
          * Put the call off hold
          * @param id The call identifier
          * @return bool True on success
          */
-        virtual bool offhold (const std::string& id);
+        virtual void offhold (const std::string& id);
 
         /**
          * Transfer the call
@@ -332,7 +332,7 @@ class SIPVoIPLink : public VoIPLink
          *
          * @return bool True on success
          */
-        bool pjsipInit();
+        void pjsipInit();
 
         /**
          * Delete link-related stuff like calls
@@ -351,10 +351,8 @@ class SIPVoIPLink : public VoIPLink
          * This function should be called before registering an account
          * @param account An account for which transport is to be set
          *
-         * @return bool True if the account is successfully created or successfully obtained
-         * from the transport map
          */
-        bool acquireTransport (SIPAccount *account);
+        void acquireTransport (SIPAccount *account);
 
         /**
          * Create the default TLS litener according to account settings.
diff --git a/daemon/src/voiplink.h b/daemon/src/voiplink.h
index 84721ddfd238ccecd98d760adccaebcbdc714d74..902b06f344ee03df57d775fb9370edd5ba43d03d 100644
--- a/daemon/src/voiplink.h
+++ b/daemon/src/voiplink.h
@@ -127,14 +127,14 @@ class VoIPLink
          * @param id The call identifier
          * @return bool True on success
          */
-        virtual bool onhold (const std::string& id) = 0;
+        virtual void onhold (const std::string& id) = 0;
 
         /**
          * Resume a call from hold state
          * @param id The call identifier
          * @return bool True on success
          */
-        virtual bool offhold (const std::string& id) = 0;
+        virtual void offhold (const std::string& id) = 0;
 
         /**
          * Transfer a call to specified URI