diff --git a/daemon/src/sip/sipvoiplink.cpp b/daemon/src/sip/sipvoiplink.cpp
index 3a9e48765455fa922655fc2db6eba6ee674fd465..7f8c77e0c1c9668cab9776df48216dc393e38cc3 100644
--- a/daemon/src/sip/sipvoiplink.cpp
+++ b/daemon/src/sip/sipvoiplink.cpp
@@ -146,9 +146,8 @@ pjsip_route_hdr *createRouteSet(const std::string &route, pj_pool_t *hdr_pool)
     if (found != std::string::npos) {
         host = route.substr(0, found);
         port = atoi(route.substr(found + 1, route.length()).c_str());
-    } else {
+    } else
         host = route;
-    }
 
     pjsip_route_hdr *route_set = pjsip_route_hdr_create(hdr_pool);
     pjsip_route_hdr *routing = pjsip_route_hdr_create(hdr_pool);
@@ -297,10 +296,10 @@ void SIPVoIPLink::sendRegister(Account *a)
     findLocalAddressFromUri(srvUri, account->transport_, address, port);
 
     std::string from(account->getFromUri());
-    pj_str_t pjFrom = pj_str((char*)from.c_str());
+    pj_str_t pjFrom = pj_str((char*) from.c_str());
     std::string contact(account->getContactHeader(address, port));
-    pj_str_t pjContact = pj_str((char*)contact.c_str());
-    pj_str_t pjSrv = pj_str((char*)srvUri.c_str());
+    pj_str_t pjContact = pj_str((char*) contact.c_str());
+    pj_str_t pjSrv = pj_str((char*) srvUri.c_str());
 
     if (pjsip_regc_init(regc, &pjSrv, &pjFrom, &pjFrom, 1, &pjContact, account->getRegistrationExpire()) != PJ_SUCCESS)
         throw VoipLinkException("Unable to initialize account registration structure");
@@ -314,7 +313,7 @@ void SIPVoIPLink::sendRegister(Account *a)
     pjsip_hdr hdr_list;
     pj_list_init(&hdr_list);
     std::string useragent(account->getUserAgentName());
-    pj_str_t pJuseragent = pj_str((char*)useragent.c_str());
+    pj_str_t pJuseragent = pj_str((char*) useragent.c_str());
     const pj_str_t STR_USER_AGENT = { (char*) "User-Agent", 10 };
 
     pjsip_generic_string_hdr *h = pjsip_generic_string_hdr_create(pool_, &STR_USER_AGENT, &pJuseragent);
@@ -652,7 +651,7 @@ SIPVoIPLink::transfer(const std::string& id, const std::string& to)
         throw VoipLinkException("Could not find account");
 
     std::string toUri;
-    pj_str_t dst = { NULL, 0 };
+    pj_str_t dst = { 0, 0 };
 
     if (to.find("@") == std::string::npos) {
         toUri = account->getToUri(to);
@@ -782,13 +781,10 @@ SIPVoIPLink::SIPStartCall(SIPCall *call)
     findLocalAddressFromUri(toUri, account->transport_, address, port);
 
     std::string from(account->getFromUri());
-    pj_str_t pjFrom = pj_str((char*)from.c_str());
+    pj_str_t pjFrom = pj_str((char*) from.c_str());
     std::string contact(account->getContactHeader(address, port));
-    pj_str_t pjContact = pj_str((char*)contact.c_str());
-    pj_str_t pjTo = pj_str((char*)toUri.c_str());
-
-
-
+    pj_str_t pjContact = pj_str((char*) contact.c_str());
+    pj_str_t pjTo = pj_str((char*) toUri.c_str());
 
     pjsip_dialog *dialog;
 
@@ -1006,9 +1002,10 @@ void SIPVoIPLink::createTlsListener(SIPAccount *account, pjsip_tpfactory **liste
     pj_str_t pjAddress;
     pj_cstr(&pjAddress, PJ_INADDR_ANY);
     pj_sockaddr_in_set_str_addr(&local_addr, &pjAddress);
+    std::string localIP(loadSIPLocalIP());
 
     pjsip_host_port a_name = {
-        pj_str((char*)loadSIPLocalIP().c_str()),
+        pj_str((char*) localIP.c_str()),
         local_addr.sin_port
     };
 
@@ -1040,7 +1037,8 @@ void SIPVoIPLink::createSipTransport(SIPAccount *account)
 
     if (account->isTlsEnabled()) {
         std::string remoteSipUri(account->getServerUri());
-        size_t sips = remoteSipUri.find("<sips:") + 6;
+        static const char SIPS_PREFIX[] = "<sips:";
+        size_t sips = remoteSipUri.find(SIPS_PREFIX) + (sizeof SIPS_PREFIX) - 1;
         size_t trns = remoteSipUri.find(";transport");
         std::string remoteAddr(remoteSipUri.substr(sips, trns-sips));
 
@@ -1094,7 +1092,7 @@ void SIPVoIPLink::createUdpTransport(SIPAccount *account)
         return;
 
     const pjsip_host_port a_name = {
-        pj_str((char*)listeningAddress.c_str()),
+        pj_str((char*) listeningAddress.c_str()),
         listeningPort
     };
 
@@ -1218,7 +1216,7 @@ void SIPVoIPLink::findLocalAddressFromUri(const std::string& uri, pjsip_transpor
     if (transportType == PJSIP_TRANSPORT_UDP and transport)
         tp_sel = initTransportSelector(transport, pool_);
 
-    pj_str_t localAddress;
+    pj_str_t localAddress = {0,0};
     int i_port;
 
     if (pjsip_tpmgr_find_local_addr(tpmgr, pool_, transportType, tp_sel, &localAddress, &i_port) != PJ_SUCCESS)
@@ -1249,7 +1247,8 @@ std::string parseDisplayName(const char * buffer)
     size_t end_displayName = temp.rfind("\"");
     std::string displayName(temp.substr(begin_displayName, end_displayName - begin_displayName));
 
-    if (displayName.size() > 25)
+    static const size_t MAX_DISPLAY_NAME_SIZE = 25;
+    if (displayName.size() > MAX_DISPLAY_NAME_SIZE)
         return "";
 
     return displayName;
@@ -1257,11 +1256,12 @@ std::string parseDisplayName(const char * buffer)
 
 void stripSipUriPrefix(std::string& sipUri)
 {
-    //Remove sip: prefix
-    size_t found = sipUri.find("sip:");
+    // Remove sip: prefix
+    static const char SIP_PREFIX[] = "sip:";
+    size_t found = sipUri.find(SIP_PREFIX);
 
     if (found != std::string::npos)
-        sipUri.erase(found, found + 4);
+        sipUri.erase(found, found + (sizeof SIP_PREFIX) - 1);
 
     found = sipUri.find("@");