diff --git a/src/im/instant_messaging.cpp b/src/im/instant_messaging.cpp
index ad42e93c57b5072b1ff807acfa5a99202a2d8ed9..2a6da3f435483fc6c2efa7c0f2ce4846d63c4ac4 100644
--- a/src/im/instant_messaging.cpp
+++ b/src/im/instant_messaging.cpp
@@ -68,7 +68,7 @@ createMessageBody(pj_pool_t* pool, const std::pair<std::string, std::string>& pa
     sep = mimeType.find('/');
     if (std::string::npos == sep) {
         RING_DBG("bad mime type: '%.30s'", mimeType.c_str());
-        throw InstantMessaging::InstantMessageException("invalid mime type");
+        throw im::InstantMessageException("invalid mime type");
     }
 
     const auto& type = mimeType.substr(0, sep);
@@ -94,7 +94,7 @@ createMessageBody(pj_pool_t* pool, const std::pair<std::string, std::string>& pa
         auto paramSplit = paramPair.find('=');
         if (std::string::npos == paramSplit) {
             RING_DBG("bad parameter: '%.30s'", paramPair.c_str());
-            throw InstantMessaging::InstantMessageException("invalid parameter");
+            throw im::InstantMessageException("invalid parameter");
         }
 
         const auto& arg = paramPair.substr(0, paramSplit);
@@ -118,7 +118,7 @@ createMessageBody(pj_pool_t* pool, const std::pair<std::string, std::string>& pa
 }
 
 void
-InstantMessaging::fillPJSIPMessageBody(pjsip_tx_data& tdata,
+im::fillPJSIPMessageBody(pjsip_tx_data& tdata,
                                        const std::map<std::string, std::string>& payloads)
 {
     // multi-part body?
@@ -154,7 +154,7 @@ InstantMessaging::fillPJSIPMessageBody(pjsip_tx_data& tdata,
 }
 
 void
-InstantMessaging::sendSipMessage(pjsip_inv_session* session,
+im::sendSipMessage(pjsip_inv_session* session,
                                  const std::map<std::string, std::string>& payloads)
 {
     if (payloads.empty()) {
@@ -228,7 +228,7 @@ parseMessageBody(const pjsip_msg_body* body)
  * @return map of content types and message payloads
  */
 std::map<std::string, std::string>
-InstantMessaging::parseSipMessage(const pjsip_msg* msg)
+im::parseSipMessage(const pjsip_msg* msg)
 {
     std::map<std::string, std::string> ret;
 
@@ -259,7 +259,7 @@ InstantMessaging::parseSipMessage(const pjsip_msg* msg)
 
 #if HAVE_IAX
 void
-InstantMessaging::sendIaxMessage(iax_session* session, const std::string& /* id */,
+im::sendIaxMessage(iax_session* session, const std::string& /* id */,
                                  const std::vector<std::string>& chunks)
 {
     //TODO: implement multipart message creation for IAX via the pjsip api and then convert
diff --git a/src/im/instant_messaging.h b/src/im/instant_messaging.h
index 5a2bed23cee2bf904fc11e9e75decdfc8b894e34..686409df2d39717b73fcf06ebfd6d298ee5d20f6 100644
--- a/src/im/instant_messaging.h
+++ b/src/im/instant_messaging.h
@@ -39,7 +39,7 @@ struct pjsip_rx_data;
 struct pjsip_msg;
 struct pjsip_tx_data;
 
-namespace ring { namespace InstantMessaging {
+namespace ring { namespace im {
 
 struct InstantMessageException : std::runtime_error
 {
@@ -84,4 +84,4 @@ void sendIaxMessage(iax_session* session, const std::string& id,
 
 void fillPJSIPMessageBody(pjsip_tx_data& tdata, const std::map<std::string, std::string>& payloads);
 
-}} // namespace ring::InstantMessaging
+}} // namespace ring::im
diff --git a/src/manager.cpp b/src/manager.cpp
index 17b0e9a9e2f691990e5746c50c063b2336b2fa40..3d97c30baf83e4d5265f6da4b0978920d4b47c22 100644
--- a/src/manager.cpp
+++ b/src/manager.cpp
@@ -1682,7 +1682,7 @@ Manager::sendCallTextMessage(const std::string& callID,
 
         try {
             call->sendTextMessage(messages, from);
-        } catch (const InstantMessaging::InstantMessageException& e) {
+        } catch (const im::InstantMessageException& e) {
             RING_ERR("Failed to send message to call %s: %s", call->getCallId().c_str(), e.what());
         }
     }
diff --git a/src/sip/sipaccount.cpp b/src/sip/sipaccount.cpp
index cd9009a7ee3df99209e5c1bdb0301dd1310007df..ead4223ad97daaf48f173deacf0855aef7e57fcd 100644
--- a/src/sip/sipaccount.cpp
+++ b/src/sip/sipaccount.cpp
@@ -2101,7 +2101,7 @@ SIPAccount::sendTextMessage(const std::string& to,
     const pjsip_tpselector tp_sel = getTransportSelector();
     pjsip_tx_data_set_transport(tdata, &tp_sel);
 
-    InstantMessaging::fillPJSIPMessageBody(*tdata, payloads);
+    im::fillPJSIPMessageBody(*tdata, payloads);
 
     status = pjsip_endpt_send_request(link_->getEndpoint(), tdata, -1, nullptr, nullptr);
     if (status != PJ_SUCCESS) {
diff --git a/src/sip/sipcall.cpp b/src/sip/sipcall.cpp
index 5260f05b9190462226f6aaba492266722845b68c..53ab650af0b761f5f18c9a37bf96d9763ecfa136 100644
--- a/src/sip/sipcall.cpp
+++ b/src/sip/sipcall.cpp
@@ -681,7 +681,7 @@ SIPCall::sendTextMessage(const std::map<std::string, std::string>& messages,
     //      buggy and verbose), another way to send the original message sender will be implemented
     //      in the future
 
-    InstantMessaging::sendSipMessage(inv.get(), messages);
+    im::sendSipMessage(inv.get(), messages);
 }
 #endif // HAVE_INSTANT_MESSAGING
 
diff --git a/src/sip/sipvoiplink.cpp b/src/sip/sipvoiplink.cpp
index eba045e38aa88d5bf2028d2d337a4a5b7846c415..7efce94e64dc11ab6c76b12813a5f5796f515aac 100644
--- a/src/sip/sipvoiplink.cpp
+++ b/src/sip/sipvoiplink.cpp
@@ -240,7 +240,7 @@ transaction_request_cb(pjsip_rx_data *rdata)
             // Reply 200 immediatly (RFC 3428, ch. 7)
             try_respond_stateless(endpt_, rdata, PJSIP_SC_OK, nullptr, nullptr, nullptr);
             // Process message content in case of multi-part body
-            auto payloads = InstantMessaging::parseSipMessage(rdata->msg_info.msg);
+            auto payloads = im::parseSipMessage(rdata->msg_info.msg);
             if (payloads.size() > 0)
                 account->onTextMessage(peerNumber, payloads);
             return PJ_FALSE;
@@ -1117,7 +1117,7 @@ onRequestMessage(pjsip_inv_session* /*inv*/, pjsip_rx_data* /*rdata*/, pjsip_msg
     //      case of conferences; a content type containing this info will be added to the messages
     //      in the future
     Manager::instance().incomingMessage(call.getCallId(), call.getPeerNumber(),
-                                        InstantMessaging::parseSipMessage(msg));
+                                        im::parseSipMessage(msg));
 
 #endif // HAVE_INSTANT_MESSAGING
 }