diff --git a/sflphone-common/configure.ac b/sflphone-common/configure.ac
index 1149007f870418208f8318826987ccf1b18f6b29..c7a0bcb4c2b0c59ae03c2426b9ba837036b3c2f9 100644
--- a/sflphone-common/configure.ac
+++ b/sflphone-common/configure.ac
@@ -52,6 +52,7 @@ AC_CONFIG_FILES([Makefile])
 
 	AC_CONFIG_FILES([src/Makefile \
 			src/sip/Makefile \
+			src/sip/im/Makefile \
 			src/iax/Makefile \
 			src/audio/Makefile \
 			src/audio/audiortp/Makefile \
diff --git a/sflphone-common/src/sip/im/InstantMessaging.cpp b/sflphone-common/src/sip/im/InstantMessaging.cpp
index d3d75d8c9667a9d0e9f6f8657bcc1789a76281c4..1a5a0a723e257a6ac7d0f5855e7eff359575f00f 100644
--- a/sflphone-common/src/sip/im/InstantMessaging.cpp
+++ b/sflphone-common/src/sip/im/InstantMessaging.cpp
@@ -10,6 +10,12 @@ namespace sfl {
 		delete _current_dlg; _current_dlg = 0;
 	}
 
+	pj_status_t InstantMessaging::init () {
+
+		
+	
+	}
+
 
 	void InstantMessaging::set_text( std::string message ){
 		_message = pj_str((char*)message.c_str());
diff --git a/sflphone-common/src/sip/im/InstantMessaging.h b/sflphone-common/src/sip/im/InstantMessaging.h
index 9266dc588cca3c5f3ae8aea609ba589322d1d63c..e4df00bdc76d54bf5f2ea72e2bdeb7e4d36c6a60 100644
--- a/sflphone-common/src/sip/im/InstantMessaging.h
+++ b/sflphone-common/src/sip/im/InstantMessaging.h
@@ -31,6 +31,11 @@ namespace sfl  {
 			 */
 			~InstantMessaging();
 
+			/*
+			 * Register and initialize instant messaging support
+			 */
+			pj_status_t init ();
+
 			/*
 			 * Attach the instant messaging module to an existing SIP dialog
 			 *
diff --git a/sflphone-common/src/sip/sipvoiplink.cpp b/sflphone-common/src/sip/sipvoiplink.cpp
index 6629447a0f085d9292667c46ffabb304b420528f..7a0cf23dbe21a73f53685311746406902cd058c6 100644
--- a/sflphone-common/src/sip/sipvoiplink.cpp
+++ b/sflphone-common/src/sip/sipvoiplink.cpp
@@ -2010,13 +2010,19 @@ bool SIPVoIPLink::pjsip_init()
     _debug ("UserAgent: VOIP callbacks initialized");
 
     // Add endpoint capabilities (INFO, OPTIONS, etc) for this UA
-    pj_str_t allowed[] = { { (char*) "INFO", 4}, { (char*) "REGISTER", 8}, { (char*) "OPTIONS", 7} };       //  //{"INVITE", 6}, {"ACK",3}, {"BYE",3}, {"CANCEL",6}
+    pj_str_t allowed[] = { { (char*) "INFO", 4}, { (char*) "REGISTER", 8}, { (char*) "OPTIONS", 7}, { (char*) "MESSAGE", 7 } };       //  //{"INVITE", 6}, {"ACK",3}, {"BYE",3}, {"CANCEL",6}
 
     accepted = pj_str ( (char*) "application/sdp");
 
     // Register supported methods
     pjsip_endpt_add_capability (_endpt, &_mod_ua, PJSIP_H_ALLOW, NULL, PJ_ARRAY_SIZE (allowed), allowed);
 
+	const pj_str_t STR_MIME_TEXT_PLAIN = { (char*) "text/plain", 10 };
+    pjsip_endpt_add_capability (_endpt, &_mod_ua, PJSIP_H_ACCEPT, NULL, 1, &STR_MIME_TEXT_PLAIN);
+
+	// Registering and initializing IM module
+	// imModule->init ();
+
     // Register "application/sdp" in ACCEPT header
     pjsip_endpt_add_capability (_endpt, &_mod_ua, PJSIP_H_ACCEPT, NULL, 1, &accepted);