diff --git a/CMakeLists.txt b/CMakeLists.txt
index e8bdef9cdcd999e217e8cbae194abb021f529e9b..b986d2939ddcb2b80d67b308af58672c9bd5d945 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,6 +14,13 @@ add_subdirectory("src")
 source_group("Source Files" FILES ${Source_Files})
 source_group("Source Files\\client" FILES ${Source_Files__client})
 source_group("Source Files\\config" FILES ${Source_Files__config})
+source_group("Source Files\\connectivity" FILES ${Source_Files__connectivity})
+source_group("Source Files\\connectivity\\security" FILES ${Source_Files__security})
+source_group("Source Files\\connectivity\\sip" FILES ${Source_Files__sip})
+source_group("Source Files\\connectivity\\upnp" FILES ${Source_Files__upnp})
+source_group("Source Files\\connectivity\\upnp\\protocol" FILES ${Source_Files__upnp__protocol})
+source_group("Source Files\\connectivity\\upnp\\protocol\\natpmp" FILES ${Source_Files__upnp__protocol__natpmp})
+source_group("Source Files\\connectivity\\upnp\\protocol\\pupnp" FILES ${Source_Files__upnp__protocol__pupnp})
 source_group("Source Files\\jami" FILES ${Source_Files__jami})
 source_group("Source Files\\hooks" FILES ${Source_Files__hooks})
 source_group("Source Files\\im" FILES ${Source_Files__im})
@@ -35,17 +42,11 @@ if(MSVC)
    source_group("Source Files\\media\\video\\winvideo" FILES ${Source_Files__media__video__winvideo})
 endif()
 
-source_group("Source Files\\security" FILES ${Source_Files__security})
-source_group("Source Files\\sip" FILES ${Source_Files__sip})
-source_group("Source Files\\upnp" FILES ${Source_Files__upnp})
-source_group("Source Files\\upnp\\protocol" FILES ${Source_Files__upnp__protocol})
-source_group("Source Files\\upnp\\protocol\\natpmp" FILES ${Source_Files__upnp__protocol__natpmp})
-source_group("Source Files\\upnp\\protocol\\pupnp" FILES ${Source_Files__upnp__protocol__pupnp})
-
 list (APPEND ALL_FILES
       ${Source_Files}
       ${Source_Files__client}
       ${Source_Files__config}
+      ${Source_Files__connectivity}
       ${Source_Files__jami}
       ${Source_Files__hooks}
       ${Source_Files__im}
@@ -126,17 +127,18 @@ if(MSVC)
            "${CMAKE_CURRENT_SOURCE_DIR}/src;"
            "${CMAKE_CURRENT_SOURCE_DIR}/src/client;"
            "${CMAKE_CURRENT_SOURCE_DIR}/src/config;"
+           "${CMAKE_CURRENT_SOURCE_DIR}/src/connectivity;"
+           "${CMAKE_CURRENT_SOURCE_DIR}/src/connectivity/security;"
+           "${CMAKE_CURRENT_SOURCE_DIR}/src/connectivity/sip;"
+           "${CMAKE_CURRENT_SOURCE_DIR}/src/connectivity/upnp;"
+           "${CMAKE_CURRENT_SOURCE_DIR}/src/connectivity/upnp/igd;"
+           "${CMAKE_CURRENT_SOURCE_DIR}/src/connectivity/upnp/protocol;"
+           "${CMAKE_CURRENT_SOURCE_DIR}/src/connectivity/upnp/mapping;"
            "${CMAKE_CURRENT_SOURCE_DIR}/src/jami;"
            "${CMAKE_CURRENT_SOURCE_DIR}/src/hooks;"
            "${CMAKE_CURRENT_SOURCE_DIR}/src/im;"
            "${CMAKE_CURRENT_SOURCE_DIR}/src/media;"
            "${CMAKE_CURRENT_SOURCE_DIR}/src/jamidht;"
-           "${CMAKE_CURRENT_SOURCE_DIR}/src/security;"
-           "${CMAKE_CURRENT_SOURCE_DIR}/src/sip;"
-           "${CMAKE_CURRENT_SOURCE_DIR}/src/upnp;"
-           "${CMAKE_CURRENT_SOURCE_DIR}/src/upnp/igd;"
-           "${CMAKE_CURRENT_SOURCE_DIR}/src/upnp/protocol;"
-           "${CMAKE_CURRENT_SOURCE_DIR}/src/upnp/mapping;"
            "${CMAKE_CURRENT_SOURCE_DIR}/src/jamidht/eth;"
            "${CMAKE_CURRENT_SOURCE_DIR}/compat/msvc;"
            "${CMAKE_CURRENT_SOURCE_DIR}/contrib/msvc;"
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f5619a4ef1aac62bcc0f2d3afdd66430c29c6306..35f295eded75049844e5fe43942a8a6a959e5dac 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -2,7 +2,7 @@
 # Source groups - src
 ################################################################################
 
-# client|config|jami.hooks|im|jamidht|media|security|sip|transport|upnp
+# client|config|connectivity|jami.hooks|im|jamidht|media
 
 list (APPEND Source_Files
       "${CMAKE_CURRENT_SOURCE_DIR}/account.cpp"
@@ -31,22 +31,14 @@ list (APPEND Source_Files
       "${CMAKE_CURRENT_SOURCE_DIR}/fileutils.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/ftp_server.cpp"
       "${CMAKE_CURRENT_SOURCE_DIR}/ftp_server.h"
-      "${CMAKE_CURRENT_SOURCE_DIR}/generic_io.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/gittransport.cpp"
       "${CMAKE_CURRENT_SOURCE_DIR}/gittransport.h"
-      "${CMAKE_CURRENT_SOURCE_DIR}/ice_socket.h"
-      "${CMAKE_CURRENT_SOURCE_DIR}/ice_transport.cpp"
-      "${CMAKE_CURRENT_SOURCE_DIR}/ice_transport.h"
-      "${CMAKE_CURRENT_SOURCE_DIR}/ip_utils.cpp"
-      "${CMAKE_CURRENT_SOURCE_DIR}/ip_utils.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/logger.cpp"
       "${CMAKE_CURRENT_SOURCE_DIR}/logger.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/manager.cpp"
       "${CMAKE_CURRENT_SOURCE_DIR}/manager.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/map_utils.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/noncopyable.h"
-      "${CMAKE_CURRENT_SOURCE_DIR}/peer_connection.cpp"
-      "${CMAKE_CURRENT_SOURCE_DIR}/peer_connection.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/preferences.cpp"
       "${CMAKE_CURRENT_SOURCE_DIR}/preferences.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/rational.h"
@@ -61,8 +53,6 @@ list (APPEND Source_Files
       "${CMAKE_CURRENT_SOURCE_DIR}/string_utils.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/threadloop.cpp"
       "${CMAKE_CURRENT_SOURCE_DIR}/threadloop.h"
-      "${CMAKE_CURRENT_SOURCE_DIR}/utf8_utils.cpp"
-      "${CMAKE_CURRENT_SOURCE_DIR}/utf8_utils.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/uri.cpp"
       "${CMAKE_CURRENT_SOURCE_DIR}/uri.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/vcard.h"
@@ -81,17 +71,17 @@ set (Source_Files ${Source_Files} PARENT_SCOPE)
 
 add_subdirectory(client)
 add_subdirectory(config)
+add_subdirectory(connectivity)
 add_subdirectory(jami)
 add_subdirectory(im)
 add_subdirectory(jamidht)
 add_subdirectory(media)
-add_subdirectory(security)
-add_subdirectory(sip)
-add_subdirectory(upnp)
 add_subdirectory(plugin)
+add_subdirectory(sip)
 
 set (Source_Files__client ${Source_Files__client} PARENT_SCOPE)
 set (Source_Files__config ${Source_Files__config} PARENT_SCOPE)
+set (Source_Files__connectivity ${Source_Files__connectivity} PARENT_SCOPE)
 set (Source_Files__jami ${Source_Files__jami} PARENT_SCOPE)
 set (Source_Files__hooks ${Source_Files__hooks} PARENT_SCOPE)
 set (Source_Files__im ${Source_Files__im} PARENT_SCOPE)
diff --git a/src/Makefile.am b/src/Makefile.am
index 273c63182a2338a2ba43fa2546e4c286dff7cbc0..6bed09fa71cdb95e48ea6765e093fe6be5167c30 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -12,14 +12,13 @@ lib_LTLIBRARIES = libjami.la
 libjami_la_LIBADD=
 
 include ./client/Makefile.am
-include ./media/Makefile.am
 include ./config/Makefile.am
-include ./sip/Makefile.am
-include ./upnp/Makefile.am
-include ./security/Makefile.am
-include ./jamidht/Makefile.am
+include ./connectivity/Makefile.am
 include ./im/Makefile.am
+include ./jamidht/Makefile.am
+include ./media/Makefile.am
 include ./plugin/Makefile.am
+include ./sip/Makefile.am
 
 # libjami
 
@@ -87,12 +86,7 @@ libjami_la_SOURCES = \
 		fileutils.cpp \
 		archiver.cpp \
 		threadloop.cpp \
-		ip_utils.h \
-		ip_utils.cpp \
-		utf8_utils.cpp \
 		vcard.cpp \
-		ice_transport.cpp \
-		ice_transport.h \
 		threadloop.h \
 		conference.h \
 		conference_protocol.h \
@@ -107,30 +101,25 @@ libjami_la_SOURCES = \
 		fileutils.h \
 		archiver.h \
 		noncopyable.h \
-		utf8_utils.h \
 		ring_types.h \
 		compiler_intrinsics.h \
 		account_schema.h \
 		registration_states.h \
 		map_utils.h \
-		string_utils.h \
-		string_utils.cpp \
 		ring_api.cpp \
 		rational.h \
 		smartools.cpp \
 		smartools.h \
 		base64.h \
 		base64.cpp \
-		peer_connection.cpp \
-		peer_connection.h \
 		data_transfer.cpp \
 		data_transfer.h \
 		ftp_server.cpp \
 		ftp_server.h \
-		generic_io.h \
 		scheduled_executor.h \
 		scheduled_executor.cpp \
-		transport/peer_channel.h \
+		string_utils.cpp \
+		string_utils.h \
 		uri.h \
 		uri.cpp \
 		vcard.h
diff --git a/src/account.cpp b/src/account.cpp
index ba025d8540687adb481059347079e1aa0bbbc199..21c59ce8aebc6acb19a9b058688e4c3332f029a8 100644
--- a/src/account.cpp
+++ b/src/account.cpp
@@ -52,8 +52,8 @@ using random_device = dht::crypto::random_device;
 #include <yaml-cpp/yaml.h>
 #pragma GCC diagnostic pop
 
-#include "upnp/upnp_control.h"
-#include "ip_utils.h"
+#include "connectivity/upnp/upnp_control.h"
+#include "connectivity/ip_utils.h"
 #include "compiler_intrinsics.h"
 #include "jami/account_const.h"
 
diff --git a/src/account.h b/src/account.h
index f7b3c24df7afa37ec240cc75d2a353a0ce46abc0..0ce987713e48b17c47e64a30f09bb72e4efb4825 100644
--- a/src/account.h
+++ b/src/account.h
@@ -33,7 +33,7 @@
 #include "config/serializable.h"
 #include "registration_states.h"
 #include "im/message_engine.h"
-#include "ip_utils.h"
+#include "connectivity/ip_utils.h"
 #include "media_codec.h"
 #include "media/media_attribute.h"
 #include "logger.h"
diff --git a/src/base64.cpp b/src/base64.cpp
index 8d110e05b071e4bfd6b9971a69256551d3518cac..470c1b8f2651731166a373fdf6ae509811a9389f 100644
--- a/src/base64.cpp
+++ b/src/base64.cpp
@@ -17,7 +17,7 @@
  */
 
 #include "base64.h"
-#include "sip/sip_utils.h"
+#include "connectivity/sip_utils.h"
 
 #include <pjlib.h>
 #include <pjlib-util/base64.h>
diff --git a/src/call.cpp b/src/call.cpp
index 88262f1d1c8f53f9b9cdb5e1ea894f8863b3e132..328c2af1f464e3ce057d481e67cc7ae810f0d6d7 100644
--- a/src/call.cpp
+++ b/src/call.cpp
@@ -31,8 +31,8 @@
 #include "audio/ringbufferpool.h"
 #include "jami/call_const.h"
 #include "client/ring_signal.h"
-#include "sip/sip_utils.h"
-#include "ip_utils.h"
+#include "connectivity/sip_utils.h"
+#include "connectivity/ip_utils.h"
 #include "map_utils.h"
 #include "call_factory.h"
 #include "string_utils.h"
diff --git a/src/call.h b/src/call.h
index 8351a20e48e353b7119adccb6f2b7b7f0b0ef90f..ac423d60b69aea9367267fcb4a54473df3cd4ea7 100644
--- a/src/call.h
+++ b/src/call.h
@@ -31,7 +31,7 @@
 
 #include "recordable.h"
 #include "peerrecorder.h"
-#include "ip_utils.h"
+#include "connectivity/ip_utils.h"
 #include "conference.h"
 #include "media_codec.h"
 #include "media/media_attribute.h"
diff --git a/src/client/configurationmanager.cpp b/src/client/configurationmanager.cpp
index 7c3b3da2b09f5d90fd005fab36827d45a0ad6955..18aa5202f251a9d76b505fc5700a34e16420348d 100644
--- a/src/client/configurationmanager.cpp
+++ b/src/client/configurationmanager.cpp
@@ -29,19 +29,19 @@
 #include "configurationmanager_interface.h"
 #include "account_schema.h"
 #include "manager.h"
-#include "security/tlsvalidator.h"
-#include "security/certstore.h"
+#include "connectivity/security/tlsvalidator.h"
+#include "connectivity/security/certstore.h"
 #include "logger.h"
 #include "fileutils.h"
 #include "archiver.h"
-#include "ip_utils.h"
+#include "connectivity/ip_utils.h"
 #include "sip/sipaccount.h"
 #include "jamidht/jamiaccount.h"
 #include "audio/audiolayer.h"
 #include "system_codec_container.h"
 #include "account_const.h"
 #include "client/ring_signal.h"
-#include "upnp/upnp_context.h"
+#include "connectivity/upnp/upnp_context.h"
 #include "audio/ringbufferpool.h"
 
 #ifdef __APPLE__
diff --git a/src/connectivity/CMakeLists.txt b/src/connectivity/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b9d9337ac16f4e8a759cbde4bad2bd9d6fe3b55b
--- /dev/null
+++ b/src/connectivity/CMakeLists.txt
@@ -0,0 +1,34 @@
+################################################################################
+# Source groups - connectivity
+################################################################################
+list (APPEND Source_Files__connectivity
+    "${CMAKE_CURRENT_SOURCE_DIR}/connectionmanager.cpp"
+    "${CMAKE_CURRENT_SOURCE_DIR}/connectionmanager.h"
+    "${CMAKE_CURRENT_SOURCE_DIR}/ice_socket.h"
+    "${CMAKE_CURRENT_SOURCE_DIR}/generic_io.h"
+    "${CMAKE_CURRENT_SOURCE_DIR}/ice_transport.cpp"
+    "${CMAKE_CURRENT_SOURCE_DIR}/ice_transport.h"
+    "${CMAKE_CURRENT_SOURCE_DIR}/ip_utils.cpp"
+    "${CMAKE_CURRENT_SOURCE_DIR}/ip_utils.h"
+    "${CMAKE_CURRENT_SOURCE_DIR}/multiplexed_socket.cpp"
+    "${CMAKE_CURRENT_SOURCE_DIR}/multiplexed_socket.h"
+    "${CMAKE_CURRENT_SOURCE_DIR}/peer_connection.cpp"
+    "${CMAKE_CURRENT_SOURCE_DIR}/peer_connection.h"
+    "${CMAKE_CURRENT_SOURCE_DIR}/sip_utils.cpp"
+    "${CMAKE_CURRENT_SOURCE_DIR}/sip_utils.h"
+    "${CMAKE_CURRENT_SOURCE_DIR}/utf8_utils.cpp"
+    "${CMAKE_CURRENT_SOURCE_DIR}/utf8_utils.h"
+)
+
+set (Source_Files__connectivity ${Source_Files__connectivity} PARENT_SCOPE)
+
+add_subdirectory(security)
+
+set (Source_Files__security ${Source_Files__security} PARENT_SCOPE)
+
+add_subdirectory(upnp)
+
+set (Source_Files__upnp ${Source_Files__upnp} PARENT_SCOPE)
+set (Source_Files__upnp__protocol ${Source_Files__upnp__protocol} PARENT_SCOPE)
+set (Source_Files__upnp__protocol__pupnp ${Source_Files__upnp__protocol__pupnp} PARENT_SCOPE)
+set (Source_Files__upnp__protocol__natpmp ${Source_Files__upnp__protocol__natpmp} PARENT_SCOPE)
diff --git a/src/connectivity/Makefile.am b/src/connectivity/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..d16c5cc4dc359167b0b98e3b85f55309842796c5
--- /dev/null
+++ b/src/connectivity/Makefile.am
@@ -0,0 +1,25 @@
+noinst_LTLIBRARIES += libconnectivity.la
+
+include ./connectivity/security/Makefile.am
+include ./connectivity/upnp/Makefile.am
+
+libconnectivity_la_SOURCES = \
+		./connectivity/connectionmanager.cpp \
+		./connectivity/connectionmanager.h \
+		./connectivity/ice_socket.h \
+		./connectivity/generic_io.h \
+		./connectivity/ice_transport.cpp \
+		./connectivity/ice_transport.h \
+		./connectivity/ip_utils.cpp \
+		./connectivity/ip_utils.h \
+		./connectivity/multiplexed_socket.cpp \
+		./connectivity/multiplexed_socket.h \
+		./connectivity/peer_connection.cpp \
+		./connectivity/peer_connection.h \
+		./connectivity/sip_utils.cpp \
+		./connectivity/sip_utils.h \
+		./connectivity/utf8_utils.cpp \
+		./connectivity/utf8_utils.h \
+		./connectivity/transport/peer_channel.h
+
+libjami_la_LIBADD += libconnectivity.la
diff --git a/src/jamidht/connectionmanager.cpp b/src/connectivity/connectionmanager.cpp
similarity index 99%
rename from src/jamidht/connectionmanager.cpp
rename to src/connectivity/connectionmanager.cpp
index 412237812fbf055c305495a535088c82cac0e7dc..51bc23f7e9a0e95264088e777b31290a09b9de57 100644
--- a/src/jamidht/connectionmanager.cpp
+++ b/src/connectivity/connectionmanager.cpp
@@ -16,9 +16,9 @@
  *  along with this program. If not, see <https://www.gnu.org/licenses/>.
  */
 #include "connectionmanager.h"
-#include "jamiaccount.h"
+#include "jamidht/jamiaccount.h"
 #include "account_const.h"
-#include "account_manager.h"
+#include "jamidht/account_manager.h"
 #include "manager.h"
 #include "peer_connection.h"
 #include "logger.h"
diff --git a/src/jamidht/connectionmanager.h b/src/connectivity/connectionmanager.h
similarity index 100%
rename from src/jamidht/connectionmanager.h
rename to src/connectivity/connectionmanager.h
diff --git a/src/generic_io.h b/src/connectivity/generic_io.h
similarity index 99%
rename from src/generic_io.h
rename to src/connectivity/generic_io.h
index c0eb60beae4700dbca8b462f735fc7782e4bfe9a..e8cbc8527ce71f89573941db1c52198a8453991a 100644
--- a/src/generic_io.h
+++ b/src/connectivity/generic_io.h
@@ -20,7 +20,7 @@
 
 #pragma once
 
-#include "ip_utils.h"
+#include "connectivity/ip_utils.h"
 
 #include <functional>
 #include <vector>
diff --git a/src/ice_socket.h b/src/connectivity/ice_socket.h
similarity index 98%
rename from src/ice_socket.h
rename to src/connectivity/ice_socket.h
index c69797c5ce864b8d5299596c394d7a93ba7b5645..24707e848d12809e7bbdcc5f00f0d76616b27e9c 100644
--- a/src/ice_socket.h
+++ b/src/connectivity/ice_socket.h
@@ -19,7 +19,7 @@
  */
 #pragma once
 
-#include "generic_io.h"
+#include "connectivity/generic_io.h"
 
 #include <memory>
 #include <functional>
diff --git a/src/ice_transport.cpp b/src/connectivity/ice_transport.cpp
similarity index 99%
rename from src/ice_transport.cpp
rename to src/connectivity/ice_transport.cpp
index eae6238718c16eb97c18cfce2de61aa960a9da9e..625a7bab00f66552605b653592515dfe8963e4d8 100644
--- a/src/ice_transport.cpp
+++ b/src/connectivity/ice_transport.cpp
@@ -21,10 +21,10 @@
 #include "ice_transport.h"
 #include "ice_socket.h"
 #include "logger.h"
-#include "sip/sip_utils.h"
+#include "connectivity/sip_utils.h"
 #include "manager.h"
-#include "upnp/upnp_control.h"
-#include "transport/peer_channel.h"
+#include "connectivity/upnp/upnp_control.h"
+#include "connectivity/transport/peer_channel.h"
 #include "jami/callmanager_interface.h"
 #include "tracepoint.h"
 
diff --git a/src/ice_transport.h b/src/connectivity/ice_transport.h
similarity index 100%
rename from src/ice_transport.h
rename to src/connectivity/ice_transport.h
diff --git a/src/ip_utils.cpp b/src/connectivity/ip_utils.cpp
similarity index 99%
rename from src/ip_utils.cpp
rename to src/connectivity/ip_utils.cpp
index 33d62073251a295d55cb093b9c89c666242e0aa0..217472bc305c0777115ce304ed9b138dc00cfef5 100644
--- a/src/ip_utils.cpp
+++ b/src/connectivity/ip_utils.cpp
@@ -21,7 +21,7 @@
 #include "ip_utils.h"
 #include "logger.h"
 
-#include "sip/sip_utils.h"
+#include "connectivity/sip_utils.h"
 
 #include <sys/types.h>
 #include <unistd.h>
diff --git a/src/ip_utils.h b/src/connectivity/ip_utils.h
similarity index 100%
rename from src/ip_utils.h
rename to src/connectivity/ip_utils.h
diff --git a/src/jamidht/multiplexed_socket.cpp b/src/connectivity/multiplexed_socket.cpp
similarity index 99%
rename from src/jamidht/multiplexed_socket.cpp
rename to src/connectivity/multiplexed_socket.cpp
index 0fdb95cda335f41da625c0a6710ac28d8e7b8544..54ec39cf005915b074b7dbe1e051657ba79d7a46 100644
--- a/src/jamidht/multiplexed_socket.cpp
+++ b/src/connectivity/multiplexed_socket.cpp
@@ -21,7 +21,7 @@
 #include "multiplexed_socket.h"
 #include "peer_connection.h"
 #include "ice_transport.h"
-#include "security/certstore.h"
+#include "connectivity/security/certstore.h"
 
 #include <deque>
 #include <opendht/thread_pool.h>
diff --git a/src/jamidht/multiplexed_socket.h b/src/connectivity/multiplexed_socket.h
similarity index 99%
rename from src/jamidht/multiplexed_socket.h
rename to src/connectivity/multiplexed_socket.h
index a3cb4143bfc28ecb42782fa8afa4ae15ffd95375..91f0f616eb9556ee09e859286a49ff62791e9535 100644
--- a/src/jamidht/multiplexed_socket.h
+++ b/src/connectivity/multiplexed_socket.h
@@ -19,7 +19,7 @@
 
 #include <opendht/default_types.h>
 
-#include "generic_io.h"
+#include "connectivity/generic_io.h"
 #include <condition_variable>
 
 namespace jami {
@@ -344,4 +344,4 @@ private:
 
 } // namespace jami
 
-MSGPACK_ADD_ENUM(jami::ChannelRequestState);
\ No newline at end of file
+MSGPACK_ADD_ENUM(jami::ChannelRequestState);
diff --git a/src/peer_connection.cpp b/src/connectivity/peer_connection.cpp
similarity index 99%
rename from src/peer_connection.cpp
rename to src/connectivity/peer_connection.cpp
index 36e8367b944767da1b443a33f4654c62994c9ad7..adcfe91f589ce02be4ef6b9c8e4b00a752769e02 100644
--- a/src/peer_connection.cpp
+++ b/src/connectivity/peer_connection.cpp
@@ -24,8 +24,7 @@
 #include "data_transfer.h"
 #include "manager.h"
 #include "jamidht/jamiaccount.h"
-#include "string_utils.h"
-#include "security/tls_session.h"
+#include "connectivity/security/tls_session.h"
 
 #include <opendht/thread_pool.h>
 
diff --git a/src/peer_connection.h b/src/connectivity/peer_connection.h
similarity index 96%
rename from src/peer_connection.h
rename to src/connectivity/peer_connection.h
index 8b696bc188b77cf96ea46039a5bee7ffd3cdb8b9..d3a74fdf108c474822df3840c76c730f6f0df8e9 100644
--- a/src/peer_connection.h
+++ b/src/connectivity/peer_connection.h
@@ -23,12 +23,12 @@
 
 #include "jami/datatransfer_interface.h"
 #include "data_transfer.h"
-#include "ip_utils.h"
-#include "generic_io.h"
-#include "security/diffie-hellman.h"
+#include "connectivity/ip_utils.h"
+#include "connectivity/generic_io.h"
+#include "connectivity/security/diffie-hellman.h"
 #include "opendht/crypto.h"
-#include "ice_transport.h"
-#include "security/tls_session.h"
+#include "connectivity/ice_transport.h"
+#include "connectivity/security/tls_session.h"
 
 #include <functional>
 #include <future>
diff --git a/src/security/CMakeLists.txt b/src/connectivity/security/CMakeLists.txt
similarity index 100%
rename from src/security/CMakeLists.txt
rename to src/connectivity/security/CMakeLists.txt
diff --git a/src/connectivity/security/Makefile.am b/src/connectivity/security/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..a140655226a1702c409bd68eef6b893659ee9c0c
--- /dev/null
+++ b/src/connectivity/security/Makefile.am
@@ -0,0 +1,17 @@
+noinst_LTLIBRARIES += libsecurity.la
+
+libsecurity_la_CXXFLAGS = -I$(top_srcdir)/src $(AM_CXXFLAGS)
+
+libsecurity_la_SOURCES = \
+		./connectivity/security/tls_session.cpp \
+		./connectivity/security/tls_session.h \
+		./connectivity/security/tlsvalidator.cpp \
+		./connectivity/security/tlsvalidator.h \
+		./connectivity/security/certstore.cpp \
+		./connectivity/security/certstore.h \
+		./connectivity/security/memory.cpp \
+		./connectivity/security/memory.h \
+		./connectivity/security/diffie-hellman.cpp \
+		./connectivity/security/diffie-hellman.h
+
+libjami_la_LIBADD += libsecurity.la
diff --git a/src/security/certstore.cpp b/src/connectivity/security/certstore.cpp
similarity index 100%
rename from src/security/certstore.cpp
rename to src/connectivity/security/certstore.cpp
diff --git a/src/security/certstore.h b/src/connectivity/security/certstore.h
similarity index 100%
rename from src/security/certstore.h
rename to src/connectivity/security/certstore.h
diff --git a/src/security/diffie-hellman.cpp b/src/connectivity/security/diffie-hellman.cpp
similarity index 100%
rename from src/security/diffie-hellman.cpp
rename to src/connectivity/security/diffie-hellman.cpp
diff --git a/src/security/diffie-hellman.h b/src/connectivity/security/diffie-hellman.h
similarity index 100%
rename from src/security/diffie-hellman.h
rename to src/connectivity/security/diffie-hellman.h
diff --git a/src/security/memory.cpp b/src/connectivity/security/memory.cpp
similarity index 100%
rename from src/security/memory.cpp
rename to src/connectivity/security/memory.cpp
diff --git a/src/security/memory.h b/src/connectivity/security/memory.h
similarity index 100%
rename from src/security/memory.h
rename to src/connectivity/security/memory.h
diff --git a/src/security/tls_session.cpp b/src/connectivity/security/tls_session.cpp
similarity index 99%
rename from src/security/tls_session.cpp
rename to src/connectivity/security/tls_session.cpp
index 86adea023cacfb577db058cf7b5e6a5036091ff4..ee648cb3c8f8478b5e6f9b31821b397a3ef1825c 100644
--- a/src/security/tls_session.cpp
+++ b/src/connectivity/security/tls_session.cpp
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
  */
 
-#include <ip_utils.h> // DO NOT CHANGE ORDER OF THIS INCLUDE OR MINGWIN FAILS TO BUILD
+#include <connectivity/ip_utils.h> // DO NOT CHANGE ORDER OF THIS INCLUDE OR MINGWIN FAILS TO BUILD
 
 #include "tls_session.h"
 
diff --git a/src/security/tls_session.h b/src/connectivity/security/tls_session.h
similarity index 99%
rename from src/security/tls_session.h
rename to src/connectivity/security/tls_session.h
index d93b0758120a08e7b7140366cf1e67662f93c89d..7d7af45324fd095e36b8b955b4a3260afd0917fb 100644
--- a/src/security/tls_session.h
+++ b/src/connectivity/security/tls_session.h
@@ -24,7 +24,7 @@
 #pragma once
 
 #include "noncopyable.h"
-#include "generic_io.h"
+#include "connectivity/generic_io.h"
 #include "diffie-hellman.h"
 
 #include <gnutls/gnutls.h>
diff --git a/src/security/tlsvalidator.cpp b/src/connectivity/security/tlsvalidator.cpp
similarity index 99%
rename from src/security/tlsvalidator.cpp
rename to src/connectivity/security/tlsvalidator.cpp
index 90f994404b19bf9271269131cfb0020d390b76b9..aa58f6520ba15880f9fb570f262b9d4dc222a7ad 100644
--- a/src/security/tlsvalidator.cpp
+++ b/src/connectivity/security/tlsvalidator.cpp
@@ -30,7 +30,6 @@
 #include "certstore.h"
 
 #include "fileutils.h"
-#include "string_utils.h"
 #include "logger.h"
 #include "security_const.h"
 
diff --git a/src/security/tlsvalidator.h b/src/connectivity/security/tlsvalidator.h
similarity index 100%
rename from src/security/tlsvalidator.h
rename to src/connectivity/security/tlsvalidator.h
diff --git a/src/sip/sip_utils.cpp b/src/connectivity/sip_utils.cpp
similarity index 99%
rename from src/sip/sip_utils.cpp
rename to src/connectivity/sip_utils.cpp
index b2fcc2dab64139c560724dea55adb40f744ddcea..5096e5ec960b006ccca62037a5c7a99f9a931f79 100644
--- a/src/sip/sip_utils.cpp
+++ b/src/connectivity/sip_utils.cpp
@@ -18,9 +18,9 @@
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
  */
 
-#include "sip_utils.h"
+#include "connectivity/sip_utils.h"
 #include "logger.h"
-#include "utf8_utils.h"
+#include "connectivity/utf8_utils.h"
 
 #include <pjsip.h>
 #include <pjsip_ua.h>
diff --git a/src/sip/sip_utils.h b/src/connectivity/sip_utils.h
similarity index 99%
rename from src/sip/sip_utils.h
rename to src/connectivity/sip_utils.h
index 5cd9a61a781b6dfdea75f4a2843b4ec2f3f645e1..17891ba51e06903c3594326c49018ddd040c1bd6 100644
--- a/src/sip/sip_utils.h
+++ b/src/connectivity/sip_utils.h
@@ -20,7 +20,7 @@
 
 #pragma once
 
-#include "ip_utils.h"
+#include "connectivity/ip_utils.h"
 #include "media_codec.h"
 #include "media/audio/audiobuffer.h"
 #include "noncopyable.h"
diff --git a/src/transport/peer_channel.h b/src/connectivity/transport/peer_channel.h
similarity index 100%
rename from src/transport/peer_channel.h
rename to src/connectivity/transport/peer_channel.h
diff --git a/src/upnp/CMakeLists.txt b/src/connectivity/upnp/CMakeLists.txt
similarity index 100%
rename from src/upnp/CMakeLists.txt
rename to src/connectivity/upnp/CMakeLists.txt
diff --git a/src/connectivity/upnp/Makefile.am b/src/connectivity/upnp/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..7b13b96099d83455da35dc213ee17f22d89ef2ae
--- /dev/null
+++ b/src/connectivity/upnp/Makefile.am
@@ -0,0 +1,13 @@
+noinst_LTLIBRARIES += libupnpcontrol.la
+
+libupnpcontrol_la_LIBADD=
+
+libupnpcontrol_la_SOURCES = \
+	./connectivity/upnp/upnp_control.cpp \
+	./connectivity/upnp/upnp_control.h \
+	./connectivity/upnp/upnp_context.cpp \
+	./connectivity/upnp/upnp_context.h
+
+include ./connectivity/upnp/protocol/Makefile.am
+
+libjami_la_LIBADD += libupnpcontrol.la
diff --git a/src/upnp/protocol/CMakeLists.txt b/src/connectivity/upnp/protocol/CMakeLists.txt
similarity index 100%
rename from src/upnp/protocol/CMakeLists.txt
rename to src/connectivity/upnp/protocol/CMakeLists.txt
diff --git a/src/connectivity/upnp/protocol/Makefile.am b/src/connectivity/upnp/protocol/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..720d4a6d6407f0aad87dcb20c30749d8a3e8a794
--- /dev/null
+++ b/src/connectivity/upnp/protocol/Makefile.am
@@ -0,0 +1,21 @@
+noinst_LTLIBRARIES += libupnpprotocol.la
+
+libupnpprotocol_la_SOURCES = \
+	./connectivity/upnp/protocol/igd.h \
+	./connectivity/upnp/protocol/igd.cpp \
+	./connectivity/upnp/protocol/mapping.h \
+	./connectivity/upnp/protocol/mapping.cpp \
+	./connectivity/upnp/protocol/global_mapping.h \
+	./connectivity/upnp/protocol/upnp_protocol.h
+
+libupnpprotocol_la_LIBADD =
+
+if BUILD_PUPNP
+include ./connectivity/upnp/protocol/pupnp/Makefile.am
+endif
+
+if BUILD_NATPMP
+include ./connectivity/upnp/protocol/natpmp/Makefile.am
+endif
+
+libupnpcontrol_la_LIBADD += libupnpprotocol.la
diff --git a/src/upnp/protocol/igd.cpp b/src/connectivity/upnp/protocol/igd.cpp
similarity index 100%
rename from src/upnp/protocol/igd.cpp
rename to src/connectivity/upnp/protocol/igd.cpp
diff --git a/src/upnp/protocol/igd.h b/src/connectivity/upnp/protocol/igd.h
similarity index 97%
rename from src/upnp/protocol/igd.h
rename to src/connectivity/upnp/protocol/igd.h
index 4925e57d9ef7fb2b429f80d75965d7b314fbd4b0..66425208cc026381ae9f659cbd2c8cf65aa29e0d 100644
--- a/src/upnp/protocol/igd.h
+++ b/src/connectivity/upnp/protocol/igd.h
@@ -27,10 +27,9 @@
 #endif
 
 #include "noncopyable.h"
-#include "ip_utils.h"
-#include "string_utils.h"
+#include "connectivity/ip_utils.h"
 
-#include "upnp/protocol/mapping.h"
+#include "connectivity/upnp/protocol/mapping.h"
 
 #ifdef _MSC_VER
 typedef uint16_t in_port_t;
diff --git a/src/upnp/protocol/mapping.cpp b/src/connectivity/upnp/protocol/mapping.cpp
similarity index 100%
rename from src/upnp/protocol/mapping.cpp
rename to src/connectivity/upnp/protocol/mapping.cpp
diff --git a/src/upnp/protocol/mapping.h b/src/connectivity/upnp/protocol/mapping.h
similarity index 99%
rename from src/upnp/protocol/mapping.h
rename to src/connectivity/upnp/protocol/mapping.h
index 8445b870cec83de3a094cac69915cdc4d8180533..a3b5bae8f1e6972acc32587b70182d0b91540544 100644
--- a/src/upnp/protocol/mapping.h
+++ b/src/connectivity/upnp/protocol/mapping.h
@@ -26,8 +26,7 @@
 #endif
 
 #include "noncopyable.h"
-#include "ip_utils.h"
-#include "string_utils.h"
+#include "connectivity/ip_utils.h"
 #include "scheduled_executor.h"
 #include "igd.h"
 
diff --git a/src/upnp/protocol/natpmp/CMakeLists.txt b/src/connectivity/upnp/protocol/natpmp/CMakeLists.txt
similarity index 100%
rename from src/upnp/protocol/natpmp/CMakeLists.txt
rename to src/connectivity/upnp/protocol/natpmp/CMakeLists.txt
diff --git a/src/connectivity/upnp/protocol/natpmp/Makefile.am b/src/connectivity/upnp/protocol/natpmp/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..beaa9e9a5a9c040129c3517879463897f297dba7
--- /dev/null
+++ b/src/connectivity/upnp/protocol/natpmp/Makefile.am
@@ -0,0 +1,9 @@
+noinst_LTLIBRARIES += libnat_pmp.la
+
+libnat_pmp_la_SOURCES = \
+	./connectivity/upnp/protocol/natpmp/pmp_igd.h \
+	./connectivity/upnp/protocol/natpmp/pmp_igd.cpp \
+	./connectivity/upnp/protocol/natpmp/nat_pmp.h \
+	./connectivity/upnp/protocol/natpmp/nat_pmp.cpp
+
+libupnpprotocol_la_LIBADD += libnat_pmp.la
diff --git a/src/upnp/protocol/natpmp/nat_pmp.cpp b/src/connectivity/upnp/protocol/natpmp/nat_pmp.cpp
similarity index 100%
rename from src/upnp/protocol/natpmp/nat_pmp.cpp
rename to src/connectivity/upnp/protocol/natpmp/nat_pmp.cpp
diff --git a/src/upnp/protocol/natpmp/nat_pmp.h b/src/connectivity/upnp/protocol/natpmp/nat_pmp.h
similarity index 97%
rename from src/upnp/protocol/natpmp/nat_pmp.h
rename to src/connectivity/upnp/protocol/natpmp/nat_pmp.h
index addd15284978a3e3f56f2f36f92d2df45d7e63b9..c15bd87de08c40687f2efd0fe6165ee1ebd8d32d 100644
--- a/src/upnp/protocol/natpmp/nat_pmp.h
+++ b/src/connectivity/upnp/protocol/natpmp/nat_pmp.h
@@ -25,12 +25,12 @@
 #include "config.h"
 #endif
 
-#include "upnp/protocol/upnp_protocol.h"
-#include "upnp/protocol/igd.h"
+#include "connectivity/upnp/protocol/upnp_protocol.h"
+#include "connectivity/upnp/protocol/igd.h"
 #include "pmp_igd.h"
 
 #include "logger.h"
-#include "ip_utils.h"
+#include "connectivity/ip_utils.h"
 #include "noncopyable.h"
 #include "compiler_intrinsics.h"
 
diff --git a/src/upnp/protocol/natpmp/pmp_igd.cpp b/src/connectivity/upnp/protocol/natpmp/pmp_igd.cpp
similarity index 100%
rename from src/upnp/protocol/natpmp/pmp_igd.cpp
rename to src/connectivity/upnp/protocol/natpmp/pmp_igd.cpp
diff --git a/src/upnp/protocol/natpmp/pmp_igd.h b/src/connectivity/upnp/protocol/natpmp/pmp_igd.h
similarity index 97%
rename from src/upnp/protocol/natpmp/pmp_igd.h
rename to src/connectivity/upnp/protocol/natpmp/pmp_igd.h
index cde174fca4ee6cde81c9ab1ae9adcd813bd4f9ae..d67678d18c12eb7f0ba683637c7412ef3a778f8d 100644
--- a/src/upnp/protocol/natpmp/pmp_igd.h
+++ b/src/connectivity/upnp/protocol/natpmp/pmp_igd.h
@@ -27,7 +27,7 @@
 
 #include "../igd.h"
 #include "noncopyable.h"
-#include "ip_utils.h"
+#include "connectivity/ip_utils.h"
 
 #include <map>
 #include <atomic>
diff --git a/src/upnp/protocol/pupnp/CMakeLists.txt b/src/connectivity/upnp/protocol/pupnp/CMakeLists.txt
similarity index 100%
rename from src/upnp/protocol/pupnp/CMakeLists.txt
rename to src/connectivity/upnp/protocol/pupnp/CMakeLists.txt
diff --git a/src/connectivity/upnp/protocol/pupnp/Makefile.am b/src/connectivity/upnp/protocol/pupnp/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..c74cbf78061cead0167a3566820c7bf2bccaca7c
--- /dev/null
+++ b/src/connectivity/upnp/protocol/pupnp/Makefile.am
@@ -0,0 +1,9 @@
+noinst_LTLIBRARIES += libpupnp.la
+
+libpupnp_la_SOURCES = \
+	./connectivity/upnp/protocol/pupnp/upnp_igd.h \
+	./connectivity/upnp/protocol/pupnp/upnp_igd.cpp \
+	./connectivity/upnp/protocol/pupnp/pupnp.h \
+	./connectivity/upnp/protocol/pupnp/pupnp.cpp
+
+libupnpprotocol_la_LIBADD += libpupnp.la
diff --git a/src/upnp/protocol/pupnp/pupnp.cpp b/src/connectivity/upnp/protocol/pupnp/pupnp.cpp
similarity index 100%
rename from src/upnp/protocol/pupnp/pupnp.cpp
rename to src/connectivity/upnp/protocol/pupnp/pupnp.cpp
diff --git a/src/upnp/protocol/pupnp/pupnp.h b/src/connectivity/upnp/protocol/pupnp/pupnp.h
similarity index 99%
rename from src/upnp/protocol/pupnp/pupnp.h
rename to src/connectivity/upnp/protocol/pupnp/pupnp.h
index a15a9d34a8d97c4019da04c40aa4f348411ad194..4615ba73d79a4072086d443c677bc7d5531d1f60 100644
--- a/src/upnp/protocol/pupnp/pupnp.h
+++ b/src/connectivity/upnp/protocol/pupnp/pupnp.h
@@ -36,7 +36,7 @@
 #include "upnp_igd.h"
 
 #include "logger.h"
-#include "ip_utils.h"
+#include "connectivity/ip_utils.h"
 #include "noncopyable.h"
 #include "compiler_intrinsics.h"
 
diff --git a/src/upnp/protocol/pupnp/upnp_igd.cpp b/src/connectivity/upnp/protocol/pupnp/upnp_igd.cpp
similarity index 100%
rename from src/upnp/protocol/pupnp/upnp_igd.cpp
rename to src/connectivity/upnp/protocol/pupnp/upnp_igd.cpp
diff --git a/src/upnp/protocol/pupnp/upnp_igd.h b/src/connectivity/upnp/protocol/pupnp/upnp_igd.h
similarity index 97%
rename from src/upnp/protocol/pupnp/upnp_igd.h
rename to src/connectivity/upnp/protocol/pupnp/upnp_igd.h
index a952c300fd454112658a1f58069e1ffb4389d8ec..cd92f79d2675fe61410a6fcaaaa38177393d84c3 100644
--- a/src/upnp/protocol/pupnp/upnp_igd.h
+++ b/src/connectivity/upnp/protocol/pupnp/upnp_igd.h
@@ -26,11 +26,10 @@
 #include "config.h"
 #endif
 
-#include "upnp/protocol/igd.h"
+#include "connectivity/upnp/protocol/igd.h"
 
 #include "noncopyable.h"
-#include "ip_utils.h"
-#include "string_utils.h"
+#include "connectivity/ip_utils.h"
 
 #include <map>
 #include <string>
diff --git a/src/upnp/protocol/upnp_protocol.h b/src/connectivity/upnp/protocol/upnp_protocol.h
similarity index 98%
rename from src/upnp/protocol/upnp_protocol.h
rename to src/connectivity/upnp/protocol/upnp_protocol.h
index 6ac591b2504c123ed2f9586596aa005ef6f83e33..a27eefb5a2b7a0bc32799a919c594903766e9031 100644
--- a/src/upnp/protocol/upnp_protocol.h
+++ b/src/connectivity/upnp/protocol/upnp_protocol.h
@@ -31,8 +31,7 @@
 
 #include "logger.h"
 #include "noncopyable.h"
-#include "ip_utils.h"
-#include "string_utils.h"
+#include "connectivity/ip_utils.h"
 
 #include <map>
 #include <string>
@@ -41,7 +40,7 @@
 #include <condition_variable>
 #include <list>
 
-#include "upnp/upnp_thread_util.h"
+#include "connectivity/upnp/upnp_thread_util.h"
 
 namespace jami {
 namespace upnp {
diff --git a/src/upnp/upnp_context.cpp b/src/connectivity/upnp/upnp_context.cpp
similarity index 100%
rename from src/upnp/upnp_context.cpp
rename to src/connectivity/upnp/upnp_context.cpp
diff --git a/src/upnp/upnp_context.h b/src/connectivity/upnp/upnp_context.h
similarity index 99%
rename from src/upnp/upnp_context.h
rename to src/connectivity/upnp/upnp_context.h
index dea96d2fc70b2325a2bd707a2061f58fc7a93092..a860203617a9e2ff5e6285e74af29bcfbbe909a0 100644
--- a/src/upnp/upnp_context.h
+++ b/src/connectivity/upnp/upnp_context.h
@@ -36,7 +36,7 @@
 #include "protocol/igd.h"
 
 #include "logger.h"
-#include "ip_utils.h"
+#include "connectivity/ip_utils.h"
 #include "noncopyable.h"
 
 #include <opendht/rng.h>
diff --git a/src/upnp/upnp_control.cpp b/src/connectivity/upnp/upnp_control.cpp
similarity index 100%
rename from src/upnp/upnp_control.cpp
rename to src/connectivity/upnp/upnp_control.cpp
diff --git a/src/upnp/upnp_control.h b/src/connectivity/upnp/upnp_control.h
similarity index 98%
rename from src/upnp/upnp_control.h
rename to src/connectivity/upnp/upnp_control.h
index c3805d5389e8d81eca977e79bef5e59ee5c8f771..a9c74fcd5bfba5d5d6808a83e4155e414d2ba83d 100644
--- a/src/upnp/upnp_control.h
+++ b/src/connectivity/upnp/upnp_control.h
@@ -30,7 +30,7 @@
 
 #include "noncopyable.h"
 #include "logger.h"
-#include "ip_utils.h"
+#include "connectivity/ip_utils.h"
 
 #include <memory>
 #include <chrono>
diff --git a/src/upnp/upnp_thread_util.h b/src/connectivity/upnp/upnp_thread_util.h
similarity index 100%
rename from src/upnp/upnp_thread_util.h
rename to src/connectivity/upnp/upnp_thread_util.h
diff --git a/src/utf8_utils.cpp b/src/connectivity/utf8_utils.cpp
similarity index 99%
rename from src/utf8_utils.cpp
rename to src/connectivity/utf8_utils.cpp
index 42fd505be98c2b294fd8d83150407f21d8c1f9d7..a58c2cc83b727cdb16db3e084552a003694d8945 100644
--- a/src/utf8_utils.cpp
+++ b/src/connectivity/utf8_utils.cpp
@@ -22,7 +22,7 @@
 
 #include <cstring>
 #include <cassert>
-#include "utf8_utils.h"
+#include "connectivity/utf8_utils.h"
 
 #if defined(_MSC_VER)
 #include <BaseTsd.h>
diff --git a/src/utf8_utils.h b/src/connectivity/utf8_utils.h
similarity index 100%
rename from src/utf8_utils.h
rename to src/connectivity/utf8_utils.h
diff --git a/src/data_transfer.cpp b/src/data_transfer.cpp
index 9256d7450e46d206670940369efc59adb2a057c8..6ee15c1e0abca3130669dc3a0b76f69a5195a948 100644
--- a/src/data_transfer.cpp
+++ b/src/data_transfer.cpp
@@ -27,7 +27,7 @@
 #include "jamidht/p2p.h"
 #include "manager.h"
 #include "map_utils.h"
-#include "peer_connection.h"
+#include "connectivity/peer_connection.h"
 #include "string_utils.h"
 
 #include <thread>
diff --git a/src/data_transfer.h b/src/data_transfer.h
index bea98837822ce1942391b3ccdd7575292d2d1f8e..c3751c5194cfa9566519ae57fe076e2a7fbaeabd 100644
--- a/src/data_transfer.h
+++ b/src/data_transfer.h
@@ -21,7 +21,7 @@
 #pragma once
 
 #include "jami/datatransfer_interface.h"
-#include "jamidht/multiplexed_socket.h"
+#include "connectivity/multiplexed_socket.h"
 #include "noncopyable.h"
 
 #include <memory>
diff --git a/src/ftp_server.h b/src/ftp_server.h
index fc5ab6198b558c76258c7285cb1bb1eabda1ed72..26591fed4fc3126e9fe6379e4d4f5953d355de20 100644
--- a/src/ftp_server.h
+++ b/src/ftp_server.h
@@ -21,7 +21,7 @@
 #pragma once
 
 #include "data_transfer.h"
-#include "peer_connection.h"
+#include "connectivity/peer_connection.h"
 
 #include <vector>
 #include <array>
diff --git a/src/gittransport.cpp b/src/gittransport.cpp
index 57bc10b62eb59eb3361813d267e5d67a75150786..4232e03fb23b66bd987f19b8864bdbeb3fa4cb22 100644
--- a/src/gittransport.cpp
+++ b/src/gittransport.cpp
@@ -18,8 +18,8 @@
 #include "gittransport.h"
 
 #include "manager.h"
-#include "jamidht/multiplexed_socket.h"
-#include "jamidht/connectionmanager.h"
+#include "connectivity/multiplexed_socket.h"
+#include "connectivity/connectionmanager.h"
 
 using namespace std::string_view_literals;
 
diff --git a/src/im/instant_messaging.cpp b/src/im/instant_messaging.cpp
index 52bc4aa37d54a73029c7ad648628ef5f24eabac5..aacffda66fc3425a3b49db959e776cdeb2e1f99f 100644
--- a/src/im/instant_messaging.cpp
+++ b/src/im/instant_messaging.cpp
@@ -23,7 +23,7 @@
 #include "instant_messaging.h"
 
 #include "logger.h"
-#include "sip/sip_utils.h"
+#include "connectivity/sip_utils.h"
 
 #include <pjsip_ua.h>
 #include <pjsip.h>
diff --git a/src/jamidht/CMakeLists.txt b/src/jamidht/CMakeLists.txt
index b2b7812db0cffacfb38781ec45d83060b3fdb074..1c08d51cf3efdeb04b5097380946d5d609b1b601 100644
--- a/src/jamidht/CMakeLists.txt
+++ b/src/jamidht/CMakeLists.txt
@@ -13,8 +13,6 @@ list (APPEND Source_Files__jamidht
       "${CMAKE_CURRENT_SOURCE_DIR}/archive_account_manager.cpp"
       "${CMAKE_CURRENT_SOURCE_DIR}/archive_account_manager.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/configkeys.h"
-      "${CMAKE_CURRENT_SOURCE_DIR}/connectionmanager.cpp"
-      "${CMAKE_CURRENT_SOURCE_DIR}/connectionmanager.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/conversationrepository.cpp"
       "${CMAKE_CURRENT_SOURCE_DIR}/conversationrepository.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/conversation.cpp"
@@ -30,8 +28,6 @@ list (APPEND Source_Files__jamidht
       "${CMAKE_CURRENT_SOURCE_DIR}/jami_contact.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/jamiaccount.cpp"
       "${CMAKE_CURRENT_SOURCE_DIR}/jamiaccount.h"
-      "${CMAKE_CURRENT_SOURCE_DIR}/multiplexed_socket.cpp"
-      "${CMAKE_CURRENT_SOURCE_DIR}/multiplexed_socket.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/channel_handler.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/conversation_channel_handler.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/conversation_channel_handler.cpp"
diff --git a/src/jamidht/Makefile.am b/src/jamidht/Makefile.am
index 79fe3a35a5dc7ff08060e69631cad8557fa0afc4..bd64a47812f6960c4a801800a335f2d1cacefb96 100644
--- a/src/jamidht/Makefile.am
+++ b/src/jamidht/Makefile.am
@@ -8,8 +8,6 @@ libjamiacc_la_SOURCES = \
 	./jamidht/abstract_sip_transport.h \
 	./jamidht/jamiaccount.cpp \
 	./jamidht/jamiaccount.h \
-	./jamidht/connectionmanager.h \
-	./jamidht/connectionmanager.cpp \
 	./jamidht/channeled_transport.h \
 	./jamidht/channeled_transport.cpp \
 	./jamidht/channeled_transfers.h \
@@ -25,8 +23,6 @@ libjamiacc_la_SOURCES = \
 	./jamidht/conversation_channel_handler.cpp \
 	./jamidht/conversation_module.h \
 	./jamidht/conversation_module.cpp \
-	./jamidht/multiplexed_socket.h \
-	./jamidht/multiplexed_socket.cpp \
 	./jamidht/accountarchive.cpp \
 	./jamidht/accountarchive.h \
 	./jamidht/p2p.cpp \
diff --git a/src/jamidht/abstract_sip_transport.h b/src/jamidht/abstract_sip_transport.h
index 337fffc4217eef99fc3b758d5f663436ae96f32d..87a36e00accb55f28cba802b7380f3871cdbf7f0 100644
--- a/src/jamidht/abstract_sip_transport.h
+++ b/src/jamidht/abstract_sip_transport.h
@@ -20,8 +20,8 @@
 
 #pragma once
 
-#include "ip_utils.h"
-#include "sip/sip_utils.h"
+#include "connectivity/ip_utils.h"
+#include "connectivity/sip_utils.h"
 
 #include <pjsip.h>
 #include <pj/pool.h>
diff --git a/src/jamidht/channel_handler.h b/src/jamidht/channel_handler.h
index 9546b2e3a9630507a02a3b4efa16a45704b64c3d..2a457852356cb0e943f9de2c9e831f67d696c7dc 100644
--- a/src/jamidht/channel_handler.h
+++ b/src/jamidht/channel_handler.h
@@ -20,7 +20,7 @@
 
 #pragma once
 
-#include "jamidht/multiplexed_socket.h"
+#include "connectivity/multiplexed_socket.h"
 
 namespace jami {
 
diff --git a/src/jamidht/channeled_transfers.cpp b/src/jamidht/channeled_transfers.cpp
index 490ab629df8f26144284dbedd20613cd2a8d17da..329229c4e0e588ab74f9f9410246b0564d7200d3 100644
--- a/src/jamidht/channeled_transfers.cpp
+++ b/src/jamidht/channeled_transfers.cpp
@@ -21,7 +21,7 @@
 #include "channeled_transfers.h"
 
 #include "ftp_server.h"
-#include "multiplexed_socket.h"
+#include "connectivity/multiplexed_socket.h"
 
 #include <opendht/thread_pool.h>
 
diff --git a/src/jamidht/channeled_transport.cpp b/src/jamidht/channeled_transport.cpp
index 2a8884a073a1f1949bac0a560a2cd40c3e54001a..4fdd58f2743067f7bdc67005c19e27c914d50391 100644
--- a/src/jamidht/channeled_transport.cpp
+++ b/src/jamidht/channeled_transport.cpp
@@ -21,8 +21,8 @@
 #include "channeled_transport.h"
 
 #include "logger.h"
-#include "multiplexed_socket.h"
-#include "sip/sip_utils.h"
+#include "connectivity/multiplexed_socket.h"
+#include "connectivity/sip_utils.h"
 
 #include <pjsip/sip_transport.h>
 #include <pjsip/sip_endpoint.h>
diff --git a/src/jamidht/contact_list.h b/src/jamidht/contact_list.h
index 44b6d4ce2561de55d34a963ed46592cecfbf99fb..84c1466de855bf3e6902b80614bb01e9a4d889af 100644
--- a/src/jamidht/contact_list.h
+++ b/src/jamidht/contact_list.h
@@ -20,7 +20,7 @@
 #pragma once
 
 #include "jami_contact.h"
-#include "security/certstore.h"
+#include "connectivity/security/certstore.h"
 
 #include <opendht/infohash.h>
 #include <opendht/crypto.h>
diff --git a/src/jamidht/conversation_channel_handler.h b/src/jamidht/conversation_channel_handler.h
index 2656202ddfa7646a953c8976456e09c1d7717cf9..50ba7414ef8b5aeed5a2293d65271f7c4ffe2e71 100644
--- a/src/jamidht/conversation_channel_handler.h
+++ b/src/jamidht/conversation_channel_handler.h
@@ -21,7 +21,7 @@
 #pragma once
 
 #include "jamidht/channel_handler.h"
-#include "jamidht/connectionmanager.h"
+#include "connectivity/connectionmanager.h"
 #include "jamidht/jamiaccount.h"
 
 namespace jami {
diff --git a/src/jamidht/gitserver.cpp b/src/jamidht/gitserver.cpp
index 51e15134a56e2c810e5790a489f893b4e28536ff..5371814d02b63d752102555a639d0bf26a0f52e3 100644
--- a/src/jamidht/gitserver.cpp
+++ b/src/jamidht/gitserver.cpp
@@ -21,7 +21,7 @@
 #include "logger.h"
 #include "gittransport.h"
 #include "manager.h"
-#include "multiplexed_socket.h"
+#include "connectivity/multiplexed_socket.h"
 #include "opendht/thread_pool.h"
 
 #include <charconv>
diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp
index bccc2580e98f4a5efb5b239c89ae3e8776ee79f0..d7da1f3325620f747d177ec8e7625b6106854382 100644
--- a/src/jamidht/jamiaccount.cpp
+++ b/src/jamidht/jamiaccount.cpp
@@ -37,7 +37,7 @@
 #include "archive_account_manager.h"
 #include "server_account_manager.h"
 #include "jamidht/channeled_transport.h"
-#include "multiplexed_socket.h"
+#include "connectivity/multiplexed_socket.h"
 #include "conversation_channel_handler.h"
 #include "sync_channel_handler.h"
 #include "transfer_channel_handler.h"
@@ -46,7 +46,7 @@
 #include "sip/sipvoiplink.h"
 #include "sip/sipcall.h"
 #include "sip/siptransport.h"
-#include "sip/sip_utils.h"
+#include "connectivity/sip_utils.h"
 
 #include "p2p.h"
 #include "uri.h"
@@ -55,12 +55,12 @@
 #include "jami/call_const.h"
 #include "jami/account_const.h"
 
-#include "upnp/upnp_control.h"
+#include "connectivity/upnp/upnp_control.h"
 #include "system_codec_container.h"
 
 #include "account_schema.h"
 #include "manager.h"
-#include "utf8_utils.h"
+#include "connectivity/utf8_utils.h"
 
 #ifdef ENABLE_PLUGIN
 #include "plugin/jamipluginmanager.h"
@@ -77,7 +77,7 @@
 #include "conversation.h"
 
 #include "config/yamlparser.h"
-#include "security/certstore.h"
+#include "connectivity/security/certstore.h"
 #include "libdevcrypto/Common.h"
 #include "base64.h"
 #include "vcard.h"
diff --git a/src/jamidht/jamiaccount.h b/src/jamidht/jamiaccount.h
index 3dbc161767236c136d80c1b84d8f1dae95ebfb8c..5469355a0e0648d370672d9fdeed4aae24f8cf73 100644
--- a/src/jamidht/jamiaccount.h
+++ b/src/jamidht/jamiaccount.h
@@ -27,21 +27,21 @@
 #include "config.h"
 #endif
 
-#include "security/tls_session.h"
-#include "security/diffie-hellman.h"
+#include "connectivity/security/tls_session.h"
+#include "connectivity/security/diffie-hellman.h"
 #include "sip/sipaccountbase.h"
 #include "jami/datatransfer_interface.h"
 #include "jamidht/conversation.h"
-#include "multiplexed_socket.h"
+#include "connectivity/multiplexed_socket.h"
 #include "data_transfer.h"
 #include "uri.h"
 
 #include "noncopyable.h"
-#include "ip_utils.h"
+#include "connectivity/ip_utils.h"
 #include "ring_types.h" // enable_if_base_of
-#include "security/certstore.h"
+#include "connectivity/security/certstore.h"
 #include "scheduled_executor.h"
-#include "connectionmanager.h"
+#include "connectivity/connectionmanager.h"
 #include "gitserver.h"
 #include "channel_handler.h"
 #include "conversation_module.h"
@@ -51,7 +51,7 @@
 #include <opendht/dhtrunner.h>
 #include <opendht/default_types.h>
 
-#include "upnp/protocol/mapping.h"
+#include "connectivity/upnp/protocol/mapping.h"
 
 #include <pjsip/sip_types.h>
 
diff --git a/src/jamidht/p2p.cpp b/src/jamidht/p2p.cpp
index 12c0cb9a49b5a5bac888fbe462a10363194daf1c..3a10ccfda9d0cf81e79b33ae82ef8eb5a5180f24 100644
--- a/src/jamidht/p2p.cpp
+++ b/src/jamidht/p2p.cpp
@@ -25,10 +25,10 @@
 #include "jamiaccount.h"
 #include "ftp_server.h"
 #include "manager.h"
-#include "peer_connection.h"
+#include "connectivity/peer_connection.h"
 #include "account_manager.h"
-#include "multiplexed_socket.h"
-#include "connectionmanager.h"
+#include "connectivity/multiplexed_socket.h"
+#include "connectivity/connectionmanager.h"
 #include "fileutils.h"
 
 #include <opendht/default_types.h>
diff --git a/src/jamidht/sync_channel_handler.h b/src/jamidht/sync_channel_handler.h
index e88e168f7f7b228832b96a1a82275ebbee33ddff..2d1adf277698c8a944e0aa60a9fe90bd2788bf51 100644
--- a/src/jamidht/sync_channel_handler.h
+++ b/src/jamidht/sync_channel_handler.h
@@ -21,7 +21,7 @@
 #pragma once
 
 #include "jamidht/channel_handler.h"
-#include "jamidht/connectionmanager.h"
+#include "connectivity/connectionmanager.h"
 #include "jamidht/jamiaccount.h"
 
 namespace jami {
diff --git a/src/jamidht/sync_module.cpp b/src/jamidht/sync_module.cpp
index 348a1d629401fdaead2c484ed9e1dd3a885a9808..137b0a309d03bbead17597e0aaadad9b1bfb1bb7 100644
--- a/src/jamidht/sync_module.cpp
+++ b/src/jamidht/sync_module.cpp
@@ -20,7 +20,7 @@
 
 #include "sync_module.h"
 
-#include "jamidht/multiplexed_socket.h"
+#include "connectivity/multiplexed_socket.h"
 #include "jamidht/conversation_module.h"
 #include "jamidht/archive_account_manager.h"
 
diff --git a/src/jamidht/transfer_channel_handler.h b/src/jamidht/transfer_channel_handler.h
index 790d51e5385e0258c8e62edebc7c93711336ba2c..560df3f1945a5dcbdbdf0d66fd6314993483401d 100644
--- a/src/jamidht/transfer_channel_handler.h
+++ b/src/jamidht/transfer_channel_handler.h
@@ -21,7 +21,7 @@
 #pragma once
 
 #include "jamidht/channel_handler.h"
-#include "jamidht/connectionmanager.h"
+#include "connectivity/connectionmanager.h"
 #include "jamidht/jamiaccount.h"
 
 namespace jami {
diff --git a/src/manager.cpp b/src/manager.cpp
index adc711fcc88218be473f188dddcb135438048e69..1f92858d89fc81ac7b8225041c48db54bd89d8d5 100644
--- a/src/manager.cpp
+++ b/src/manager.cpp
@@ -50,7 +50,7 @@ using random_device = dht::crypto::random_device;
 
 #include "call_factory.h"
 
-#include "sip/sip_utils.h"
+#include "connectivity/sip_utils.h"
 #include "sip/sipvoiplink.h"
 
 #include "im/instant_messaging.h"
@@ -74,7 +74,7 @@ using random_device = dht::crypto::random_device;
 #include "client/videomanager.h"
 
 #include "conference.h"
-#include "ice_transport.h"
+#include "connectivity/ice_transport.h"
 
 #include "client/ring_signal.h"
 #include "jami/call_const.h"
@@ -92,7 +92,7 @@ using random_device = dht::crypto::random_device;
 #include "data_transfer.h"
 #include "jami/media_const.h"
 
-#include "upnp/upnp_context.h"
+#include "connectivity/upnp/upnp_context.h"
 
 #include <libavutil/ffversion.h>
 
diff --git a/src/media/media_codec.h b/src/media/media_codec.h
index e1a2ea554f593f5cb77e94a9e88c4cf514f4a504..005d335b327669ad122e8887f75bc405cdf48e24 100644
--- a/src/media/media_codec.h
+++ b/src/media/media_codec.h
@@ -26,7 +26,7 @@
 #endif
 
 #include "audio/audiobuffer.h" // for AudioFormat
-#include "ip_utils.h"
+#include "connectivity/ip_utils.h"
 
 #include <cctype>
 #include <string>
diff --git a/src/media/rtp_session.h b/src/media/rtp_session.h
index 1f6bb754299e75100d6cb7768a797247f3ead597..182ef3a91f831355c87de15ef57c034a8cd653fe 100644
--- a/src/media/rtp_session.h
+++ b/src/media/rtp_session.h
@@ -23,7 +23,7 @@
 #pragma once
 
 #include "socket_pair.h"
-#include "sip/sip_utils.h"
+#include "connectivity/sip_utils.h"
 #include "media/media_codec.h"
 
 #include <functional>
diff --git a/src/media/socket_pair.cpp b/src/media/socket_pair.cpp
index 9ca32d367ce4365a6fbd387f565a66a4e6195d16..afa779038295b5dba1abfdc00e253d1eb5ceca2d 100644
--- a/src/media/socket_pair.cpp
+++ b/src/media/socket_pair.cpp
@@ -20,14 +20,14 @@
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
  */
 
-#include "ip_utils.h"   // MUST BE INCLUDED FIRST
+#include "connectivity/ip_utils.h"   // MUST BE INCLUDED FIRST
 #include "libav_deps.h" // THEN THIS ONE AFTER
 
 #include "socket_pair.h"
-#include "ice_socket.h"
+#include "connectivity/ice_socket.h"
 #include "libav_utils.h"
 #include "logger.h"
-#include "security/memory.h"
+#include "connectivity/security/memory.h"
 
 #include <iostream>
 #include <string>
diff --git a/src/media/socket_pair.h b/src/media/socket_pair.h
index 037513282b361f5e0683b34bad2c9d60169fcd19..3fcbfbc2eb2167fa14bbe3e312134c76b347b7d8 100644
--- a/src/media/socket_pair.h
+++ b/src/media/socket_pair.h
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "ip_utils.h"
+#include "connectivity/ip_utils.h"
 #include "media_io_handle.h"
 
 #ifndef _WIN32
diff --git a/src/media/srtp.c b/src/media/srtp.c
index ea529460d387782976fc2137389738cdcc3d8a7f..96738d367a197e4514569a97121ab74835af1ae6 100644
--- a/src/media/srtp.c
+++ b/src/media/srtp.c
@@ -29,7 +29,7 @@
 #include <libavutil/log.h>
 #include "srtp.h"
 
-#include "security/memory.h"
+#include "connectivity/security/memory.h"
 
 void ff_srtp_free(struct SRTPContext *s)
 {
diff --git a/src/media/video/video_mixer.cpp b/src/media/video/video_mixer.cpp
index 274a499c8cd03e6d6e914724434853b994c52370..6dceb2003fb0d5fc3b5c32f4e4fca1eda7a8a2a3 100644
--- a/src/media/video/video_mixer.cpp
+++ b/src/media/video/video_mixer.cpp
@@ -32,7 +32,7 @@
 #ifdef RING_ACCEL
 #include "accel.h"
 #endif
-#include "sip/sip_utils.h"
+#include "connectivity/sip_utils.h"
 
 #include <cmath>
 #include <unistd.h>
diff --git a/src/media/video/video_rtp_session.cpp b/src/media/video/video_rtp_session.cpp
index 2957f7772701677079b8853b86a0ae6e032fd809..c3a0d46cd2f7d97c933abbea290797db3be89f0e 100644
--- a/src/media/video/video_rtp_session.cpp
+++ b/src/media/video/video_rtp_session.cpp
@@ -25,7 +25,7 @@
 #include "video_sender.h"
 #include "video_receive_thread.h"
 #include "video_mixer.h"
-#include "ice_socket.h"
+#include "connectivity/ice_socket.h"
 #include "socket_pair.h"
 #include "sip/sipvoiplink.h" // for enqueueKeyframeRequest
 #include "manager.h"
diff --git a/src/meson.build b/src/meson.build
index d637fb5b0a45fc847727fef0544ab9c1c3f58443..86452aea04ecfeb381032daca8ec6c8d952e2d12 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -14,6 +14,22 @@ libjami_sources = files(
     'client/ring_signal.cpp',
     'client/videomanager.cpp',
     'config/yamlparser.cpp',
+    'connectivity/security/certstore.cpp',
+    'connectivity/security/diffie-hellman.cpp',
+    'connectivity/security/memory.cpp',
+    'connectivity/security/tls_session.cpp',
+    'connectivity/security/tlsvalidator.cpp',
+    'connectivity/upnp/protocol/igd.cpp',
+    'connectivity/upnp/protocol/mapping.cpp',
+    'connectivity/upnp/upnp_context.cpp',
+    'connectivity/upnp/upnp_control.cpp',
+    'connectivity/connectionmanager.cpp',
+    'connectivity/ice_transport.cpp',
+    'connectivity/ip_utils.cpp',
+    'connectivity/multiplexed_socket.cpp',
+    'connectivity/peer_connection.cpp',
+    'connectivity/sip_utils.cpp',
+    'connectivity/utf8_utils.cpp',
     'im/instant_messaging.cpp',
     'im/message_engine.cpp',
     'jamidht/eth/libdevcore/Common.cpp',
@@ -26,7 +42,6 @@ libjami_sources = files(
     'jamidht/archive_account_manager.cpp',
     'jamidht/channeled_transfers.cpp',
     'jamidht/channeled_transport.cpp',
-    'jamidht/connectionmanager.cpp',
     'jamidht/contact_list.cpp',
     'jamidht/conversation.cpp',
     'jamidht/conversation_channel_handler.cpp',
@@ -34,7 +49,6 @@ libjami_sources = files(
     'jamidht/conversationrepository.cpp',
     'jamidht/gitserver.cpp',
     'jamidht/jamiaccount.cpp',
-    'jamidht/multiplexed_socket.cpp',
     'jamidht/namedirectory.cpp',
     'jamidht/p2p.cpp',
     'jamidht/server_account_manager.cpp',
@@ -78,26 +92,6 @@ libjami_sources = files(
     'media/socket_pair.cpp',
     'media/srtp.c',
     'media/system_codec_container.cpp',
-    'security/certstore.cpp',
-    'security/diffie-hellman.cpp',
-    'security/memory.cpp',
-    'security/tls_session.cpp',
-    'security/tlsvalidator.cpp',
-    'sip/pres_sub_client.cpp',
-    'sip/pres_sub_server.cpp',
-    'sip/sdes_negotiator.cpp',
-    'sip/sdp.cpp',
-    'sip/sipaccountbase.cpp',
-    'sip/sipaccount.cpp',
-    'sip/sipcall.cpp',
-    'sip/sippresence.cpp',
-    'sip/siptransport.cpp',
-    'sip/sip_utils.cpp',
-    'sip/sipvoiplink.cpp',
-    'upnp/protocol/igd.cpp',
-    'upnp/protocol/mapping.cpp',
-    'upnp/upnp_context.cpp',
-    'upnp/upnp_control.cpp',
     'account.cpp',
     'account_factory.cpp',
     'archiver.cpp',
@@ -111,19 +105,25 @@ libjami_sources = files(
     'fileutils.cpp',
     'ftp_server.cpp',
     'gittransport.cpp',
-    'ice_transport.cpp',
-    'ip_utils.cpp',
     'logger.cpp',
     'manager.cpp',
-    'peer_connection.cpp',
     'preferences.cpp',
     'ring_api.cpp',
+    'sip/pres_sub_client.cpp',
+    'sip/pres_sub_server.cpp',
+    'sip/sdes_negotiator.cpp',
+    'sip/sdp.cpp',
+    'sip/sipaccountbase.cpp',
+    'sip/sipaccount.cpp',
+    'sip/sipcall.cpp',
+    'sip/sippresence.cpp',
+    'sip/siptransport.cpp',
+    'sip/sipvoiplink.cpp',
     'scheduled_executor.cpp',
     'smartools.cpp',
     'string_utils.cpp',
     'threadloop.cpp',
     'uri.cpp',
-    'utf8_utils.cpp',
     'vcard.cpp'
 )
 if host_machine.system() == 'windows'
@@ -207,16 +207,16 @@ endif
 
 if conf.get('HAVE_LIBUPNP') == 1
     libjami_sources += files(
-        'upnp/protocol/pupnp/pupnp.cpp',
-        'upnp/protocol/pupnp/upnp_igd.cpp'
+        'connectivity/upnp/protocol/pupnp/pupnp.cpp',
+        'connectivity/upnp/protocol/pupnp/upnp_igd.cpp'
     )
     libjami_dependencies += deplibupnp
 endif
 
 if conf.get('HAVE_LIBNATPMP') == 1
     libjami_sources += files(
-        'upnp/protocol/natpmp/nat_pmp.cpp',
-        'upnp/protocol/natpmp/pmp_igd.cpp'
+        'connectivity/upnp/protocol/natpmp/nat_pmp.cpp',
+        'connectivity/upnp/protocol/natpmp/pmp_igd.cpp'
     )
     libjami_dependencies += depnatpmp
 endif
diff --git a/src/preferences.cpp b/src/preferences.cpp
index ee148e26ee2c72ce31c79809ccc6f0c4c913ff03..67080035c149f45b528d551af17097ac39ce4be0 100644
--- a/src/preferences.cpp
+++ b/src/preferences.cpp
@@ -64,7 +64,7 @@
 #pragma GCC diagnostic pop
 
 #include "config/yamlparser.h"
-#include "sip/sip_utils.h"
+#include "connectivity/sip_utils.h"
 #include <sstream>
 #include <algorithm>
 #include <stdexcept>
diff --git a/src/security/Makefile.am b/src/security/Makefile.am
deleted file mode 100644
index ccaa114558fcdca886c13aaae2e2586b30cfae11..0000000000000000000000000000000000000000
--- a/src/security/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-noinst_LTLIBRARIES += libsecurity.la
-
-libsecurity_la_CXXFLAGS = -I$(top_srcdir)/src $(AM_CXXFLAGS)
-
-libsecurity_la_SOURCES = \
-		./security/tls_session.cpp \
-		./security/tls_session.h \
-		./security/tlsvalidator.cpp \
-		./security/tlsvalidator.h \
-		./security/certstore.cpp \
-		./security/certstore.h \
-		./security/memory.cpp \
-		./security/memory.h \
-		./security/diffie-hellman.cpp \
-		./security/diffie-hellman.h
-
-libjami_la_LIBADD += libsecurity.la
diff --git a/src/sip/CMakeLists.txt b/src/sip/CMakeLists.txt
index 67f9573d59d26143c6a75223d8dea51a222e155f..329b760d5d409fbc3054ec5ca5469d2d366f1c95 100644
--- a/src/sip/CMakeLists.txt
+++ b/src/sip/CMakeLists.txt
@@ -10,8 +10,6 @@ list (APPEND Source_Files__sip
       "${CMAKE_CURRENT_SOURCE_DIR}/sdes_negotiator.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/sdp.cpp"
       "${CMAKE_CURRENT_SOURCE_DIR}/sdp.h"
-      "${CMAKE_CURRENT_SOURCE_DIR}/sip_utils.cpp"
-      "${CMAKE_CURRENT_SOURCE_DIR}/sip_utils.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/sipaccount.cpp"
       "${CMAKE_CURRENT_SOURCE_DIR}/sipaccount.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/sipaccountbase.cpp"
diff --git a/src/sip/Makefile.am b/src/sip/Makefile.am
index fee0b0918f6ff31ff8ecce01514500516a94fb41..9193ef9ddd8e4ef17d77964c809aebaf2b35af9f 100644
--- a/src/sip/Makefile.am
+++ b/src/sip/Makefile.am
@@ -15,8 +15,6 @@ libsiplink_la_SOURCES = \
 	./sip/sipcall.h \
 	./sip/sipvoiplink.h \
 	./sip/siptransport.h \
-	./sip/sip_utils.cpp \
-	./sip/sip_utils.h \
 	./sip/sippresence.cpp \
 	./sip/sippresence.h \
 	./sip/pres_sub_server.cpp\
diff --git a/src/sip/pres_sub_client.cpp b/src/sip/pres_sub_client.cpp
index 882abc42f304831f8790c602afcc19e2b633e6c4..2562445595725b672025c5817e7970ce31aed191 100644
--- a/src/sip/pres_sub_client.cpp
+++ b/src/sip/pres_sub_client.cpp
@@ -35,10 +35,10 @@
 #include <unistd.h>
 
 #include "pres_sub_client.h"
-#include "sipaccount.h"
-#include "sippresence.h"
-#include "sipvoiplink.h"
-#include "sip_utils.h"
+#include "sip/sipaccount.h"
+#include "sip/sippresence.h"
+#include "sip/sipvoiplink.h"
+#include "connectivity/sip_utils.h"
 #include "manager.h"
 #include "client/ring_signal.h"
 
diff --git a/src/sip/pres_sub_server.cpp b/src/sip/pres_sub_server.cpp
index 847c84436ba86e2fbde3474252bca89d5f975db1..c7012db510f34fcd9b44b2429ace6bcd2927b23b 100644
--- a/src/sip/pres_sub_server.cpp
+++ b/src/sip/pres_sub_server.cpp
@@ -20,14 +20,14 @@
 
 #include "pjsip/sip_multipart.h"
 
-#include "sipaccount.h"
-#include "sipvoiplink.h"
+#include "sip/sipaccount.h"
+#include "sip/sipvoiplink.h"
 #include "manager.h"
-#include "sippresence.h"
+#include "sip/sippresence.h"
 #include "logger.h"
 #include "pres_sub_server.h"
 #include "client/ring_signal.h"
-#include "sip_utils.h"
+#include "connectivity/sip_utils.h"
 #include "compiler_intrinsics.h"
 
 namespace jami {
diff --git a/src/sip/sdp.cpp b/src/sip/sdp.cpp
index 13554edcc0661ebebdcd785f2ca609d9c0933d40..3cd0c6a3988265ec8f9e30e8cf08498250162398 100644
--- a/src/sip/sdp.cpp
+++ b/src/sip/sdp.cpp
@@ -27,8 +27,8 @@
 #include "config.h"
 #endif
 
-#include "sipaccount.h"
-#include "sipvoiplink.h"
+#include "sip/sipaccount.h"
+#include "sip/sipvoiplink.h"
 #include "string_utils.h"
 #include "base64.h"
 
diff --git a/src/sip/sdp.h b/src/sip/sdp.h
index c0faf47f153650b638402b90aaf43604fd55754f..a122f5cbce97b5157ded03d7bd37e4881cb6687d 100644
--- a/src/sip/sdp.h
+++ b/src/sip/sdp.h
@@ -24,12 +24,12 @@
 
 #include "noncopyable.h"
 #include "sdes_negotiator.h"
-#include "sip_utils.h"
-#include "ip_utils.h"
-#include "ice_transport.h"
+#include "connectivity/sip_utils.h"
+#include "connectivity/ip_utils.h"
+#include "connectivity/ice_transport.h"
 #include "media_codec.h"
 #include "media/media_attribute.h"
-#include "sip_utils.h"
+#include "connectivity/sip_utils.h"
 
 #include <pjmedia/sdp.h>
 #include <pjmedia/sdp_neg.h>
diff --git a/src/sip/sipaccount.cpp b/src/sip/sipaccount.cpp
index d83ccccf2617dfc80375b43c04eba7343c24c36b..071511ceb90a313411dbf7d3e67f4fb01e2ddf18 100644
--- a/src/sip/sipaccount.cpp
+++ b/src/sip/sipaccount.cpp
@@ -20,7 +20,7 @@
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
  */
 
-#include "sipaccount.h"
+#include "sip/sipaccount.h"
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -29,13 +29,13 @@
 #include "compiler_intrinsics.h"
 
 #include "sdp.h"
-#include "sipvoiplink.h"
-#include "sipcall.h"
-#include "sip_utils.h"
+#include "sip/sipvoiplink.h"
+#include "sip/sipcall.h"
+#include "connectivity/sip_utils.h"
 
 #include "call_factory.h"
 
-#include "sippresence.h"
+#include "sip/sippresence.h"
 
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
@@ -55,8 +55,8 @@
 
 #include "system_codec_container.h"
 
-#include "upnp/upnp_control.h"
-#include "ip_utils.h"
+#include "connectivity/upnp/upnp_control.h"
+#include "connectivity/ip_utils.h"
 #include "string_utils.h"
 
 #include "im/instant_messaging.h"
diff --git a/src/sip/sipaccount.h b/src/sip/sipaccount.h
index 3ee3dca850ee49ea4b70f21868f64c358e4e9c5a..6b4ddf04b4c901daa22442239cdb1f40791a53f1 100644
--- a/src/sip/sipaccount.h
+++ b/src/sip/sipaccount.h
@@ -27,8 +27,8 @@
 #include "config.h"
 #endif
 
-#include "sipaccountbase.h"
-#include "siptransport.h"
+#include "sip/sipaccountbase.h"
+#include "sip/siptransport.h"
 #include "noncopyable.h"
 #include "ring_types.h" // enable_if_base_of
 
diff --git a/src/sip/sipaccountbase.cpp b/src/sip/sipaccountbase.cpp
index 1e6a79ced520f63ae96f3af0b19c25f2c5e7e0c1..114d3a40b84d159ecf837a25c6dd4a4be7456e30 100644
--- a/src/sip/sipaccountbase.cpp
+++ b/src/sip/sipaccountbase.cpp
@@ -18,8 +18,8 @@
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
  */
 
-#include "sipaccountbase.h"
-#include "sipvoiplink.h"
+#include "sip/sipaccountbase.h"
+#include "sip/sipvoiplink.h"
 
 #ifdef ENABLE_VIDEO
 #include "libav_utils.h"
@@ -27,7 +27,7 @@
 
 #include "account_schema.h"
 #include "manager.h"
-#include "ice_transport.h"
+#include "connectivity/ice_transport.h"
 
 #include "config/yamlparser.h"
 
@@ -35,8 +35,8 @@
 #include "jami/account_const.h"
 #include "string_utils.h"
 #include "fileutils.h"
-#include "sip_utils.h"
-#include "utf8_utils.h"
+#include "connectivity/sip_utils.h"
+#include "connectivity/utf8_utils.h"
 #include "uri.h"
 
 #include "manager.h"
diff --git a/src/sip/sipaccountbase.h b/src/sip/sipaccountbase.h
index 0896b86e5089b20a53a1863627037671fdf8020b..011360606be58cc02337519d33d3f3367984b47d 100644
--- a/src/sip/sipaccountbase.h
+++ b/src/sip/sipaccountbase.h
@@ -26,8 +26,8 @@
 
 #include "account.h"
 
-#include "sip_utils.h"
-#include "ip_utils.h"
+#include "connectivity/sip_utils.h"
+#include "connectivity/ip_utils.h"
 #include "noncopyable.h"
 #include "im/message_engine.h"
 
diff --git a/src/sip/sipcall.cpp b/src/sip/sipcall.cpp
index d4a03f83811471211b2403666c73cb4fbdc506dc..85fb222a8fb0861d4c32974aa041aa65cd4f3eed 100644
--- a/src/sip/sipcall.cpp
+++ b/src/sip/sipcall.cpp
@@ -24,16 +24,16 @@
  */
 
 #include "call_factory.h"
-#include "sipcall.h"
-#include "sipaccount.h"
-#include "sipaccountbase.h"
-#include "sipvoiplink.h"
+#include "sip/sipcall.h"
+#include "sip/sipaccount.h"
+#include "sip/sipaccountbase.h"
+#include "sip/sipvoiplink.h"
 #include "logger.h"
 #include "sdp.h"
 #include "manager.h"
 #include "string_utils.h"
-#include "upnp/upnp_control.h"
-#include "sip_utils.h"
+#include "connectivity/upnp/upnp_control.h"
+#include "connectivity/sip_utils.h"
 #include "audio/audio_rtp_session.h"
 #include "system_codec_container.h"
 #include "im/instant_messaging.h"
diff --git a/src/sip/sipcall.h b/src/sip/sipcall.h
index 182596e2defac0eebfa8c3348c53fbfb30d2d7e2..0b9a6d8288aa52e5b8f404dcf2764dfb7ed60c9c 100644
--- a/src/sip/sipcall.h
+++ b/src/sip/sipcall.h
@@ -29,9 +29,9 @@
 #endif
 
 #include "call.h"
-#include "ice_transport.h"
+#include "connectivity/ice_transport.h"
 #include "media_codec.h" // for MediaType enum
-#include "sip_utils.h"
+#include "connectivity/sip_utils.h"
 #include "sip/sdp.h"
 
 #include "media/rtp_session.h"
diff --git a/src/sip/sippresence.cpp b/src/sip/sippresence.cpp
index 370982e42d3b8a7220a691d896a42f3c6360efd8..125603c2be31be1cff6552ced41210cd3da51e71 100644
--- a/src/sip/sippresence.cpp
+++ b/src/sip/sippresence.cpp
@@ -18,17 +18,17 @@
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
  */
 
-#include "sippresence.h"
+#include "sip/sippresence.h"
 
 #include "logger.h"
 #include "manager.h"
-#include "sipaccount.h"
-#include "sip_utils.h"
+#include "sip/sipaccount.h"
+#include "connectivity/sip_utils.h"
 #include "pres_sub_server.h"
 #include "pres_sub_client.h"
-#include "sipvoiplink.h"
+#include "sip/sipvoiplink.h"
 #include "client/ring_signal.h"
-#include "sip_utils.h"
+#include "connectivity/sip_utils.h"
 
 #include <opendht/crypto.h>
 #include <fmt/core.h>
diff --git a/src/sip/siptransport.cpp b/src/sip/siptransport.cpp
index 17443390ff47a7506a70ccee2dbac533d35ea0cd..897d4b7f31d638a32c50f7619ca344741256b880 100644
--- a/src/sip/siptransport.cpp
+++ b/src/sip/siptransport.cpp
@@ -19,17 +19,17 @@
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
  */
 
-#include "siptransport.h"
-#include "sip_utils.h"
-#include "ip_utils.h"
-#include "security/tls_session.h"
+#include "sip/siptransport.h"
+#include "connectivity/sip_utils.h"
+#include "connectivity/ip_utils.h"
+#include "connectivity/security/tls_session.h"
 
 #include "jamidht/abstract_sip_transport.h"
 #include "jamidht/channeled_transport.h"
-#include "jamidht/multiplexed_socket.h"
+#include "connectivity/multiplexed_socket.h"
 
 #include "compiler_intrinsics.h"
-#include "sipvoiplink.h"
+#include "sip/sipvoiplink.h"
 
 #include <pjsip.h>
 #include <pjsip/sip_types.h>
diff --git a/src/sip/siptransport.h b/src/sip/siptransport.h
index e21cb4d32e7f31dbd5c9169a25112430715b3b11..57e9cbd225cca64b08a27f9c19012b40ab1f0ac0 100644
--- a/src/sip/siptransport.h
+++ b/src/sip/siptransport.h
@@ -25,7 +25,7 @@
 #include "config.h"
 #endif
 
-#include "sip_utils.h"
+#include "connectivity/sip_utils.h"
 
 #include "noncopyable.h"
 #include "logger.h"
diff --git a/src/sip/sipvoiplink.cpp b/src/sip/sipvoiplink.cpp
index 3c19cd5cbf0887ef839a9327a0181dd568d83a05..4afe4dc217a8383240983aa6fe836943518ee219 100644
--- a/src/sip/sipvoiplink.cpp
+++ b/src/sip/sipvoiplink.cpp
@@ -22,15 +22,15 @@
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
  */
 
-#include "sipvoiplink.h"
+#include "sip/sipvoiplink.h"
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 
 #include "sdp.h"
-#include "sipcall.h"
-#include "sipaccount.h"
+#include "sip/sipcall.h"
+#include "sip/sipaccount.h"
 
 #include "jamidht/jamiaccount.h"
 
@@ -47,8 +47,8 @@
 
 #include "pres_sub_server.h"
 
-#include "ip_utils.h"
-#include "sip_utils.h"
+#include "connectivity/ip_utils.h"
+#include "connectivity/sip_utils.h"
 #include "string_utils.h"
 #include "logger.h"
 
diff --git a/src/sip/sipvoiplink.h b/src/sip/sipvoiplink.h
index f44bcc3533544e9da0862fad696f859a5c26e88a..6c7538e7dd65bcf32c2a27255107a3789b4b496f 100644
--- a/src/sip/sipvoiplink.h
+++ b/src/sip/sipvoiplink.h
@@ -29,7 +29,7 @@
 #endif
 
 #include "ring_types.h"
-#include "ip_utils.h"
+#include "connectivity/ip_utils.h"
 #include "noncopyable.h"
 
 #include <pjsip.h>
diff --git a/src/upnp/Makefile.am b/src/upnp/Makefile.am
deleted file mode 100644
index db133eb7dc696a729e4e3fc560c790631d9ad044..0000000000000000000000000000000000000000
--- a/src/upnp/Makefile.am
+++ /dev/null
@@ -1,13 +0,0 @@
-noinst_LTLIBRARIES += libupnpcontrol.la
-
-libupnpcontrol_la_LIBADD=
-
-libupnpcontrol_la_SOURCES = \
-	./upnp/upnp_control.cpp \
-	./upnp/upnp_control.h \
-	./upnp/upnp_context.cpp \
-	./upnp/upnp_context.h
-
-include ./upnp/protocol/Makefile.am
-
-libjami_la_LIBADD += libupnpcontrol.la
diff --git a/src/upnp/protocol/Makefile.am b/src/upnp/protocol/Makefile.am
deleted file mode 100644
index 5db50e1987e6351fd6c136a594ab5675f516cdb8..0000000000000000000000000000000000000000
--- a/src/upnp/protocol/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-noinst_LTLIBRARIES += libupnpprotocol.la
-
-libupnpprotocol_la_SOURCES = \
-	./upnp/protocol/igd.h \
-	./upnp/protocol/igd.cpp \
-	./upnp/protocol/mapping.h \
-	./upnp/protocol/mapping.cpp \
-	./upnp/protocol/global_mapping.h \
-	./upnp/protocol/upnp_protocol.h
-
-libupnpprotocol_la_LIBADD =
-
-if BUILD_PUPNP
-include ./upnp/protocol/pupnp/Makefile.am
-endif
-
-if BUILD_NATPMP
-include ./upnp/protocol/natpmp/Makefile.am
-endif
-
-libupnpcontrol_la_LIBADD += libupnpprotocol.la
diff --git a/src/upnp/protocol/natpmp/Makefile.am b/src/upnp/protocol/natpmp/Makefile.am
deleted file mode 100644
index 8b0309f7858d72ea89d24ee6c293adc89b0cc8e2..0000000000000000000000000000000000000000
--- a/src/upnp/protocol/natpmp/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-noinst_LTLIBRARIES += libnat_pmp.la
-
-libnat_pmp_la_SOURCES = \
-	./upnp/protocol/natpmp/pmp_igd.h \
-	./upnp/protocol/natpmp/pmp_igd.cpp \
-	./upnp/protocol/natpmp/nat_pmp.h \
-	./upnp/protocol/natpmp/nat_pmp.cpp
-
-libupnpprotocol_la_LIBADD += libnat_pmp.la
diff --git a/src/upnp/protocol/pupnp/Makefile.am b/src/upnp/protocol/pupnp/Makefile.am
deleted file mode 100644
index 18a3f6515124144d447be70a92e01ce8ec3ceef2..0000000000000000000000000000000000000000
--- a/src/upnp/protocol/pupnp/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-noinst_LTLIBRARIES += libpupnp.la
-
-libpupnp_la_SOURCES = \
-	./upnp/protocol/pupnp/upnp_igd.h \
-	./upnp/protocol/pupnp/upnp_igd.cpp \
-	./upnp/protocol/pupnp/pupnp.h \
-	./upnp/protocol/pupnp/pupnp.cpp
-
-libupnpprotocol_la_LIBADD += libpupnp.la
diff --git a/test/fuzzing/examples/fuzz-channel-request.cpp b/test/fuzzing/examples/fuzz-channel-request.cpp
index 1783fb295be4730cf90978597b527ce9cd940f53..081d3553e3bcd2a0744b751b4722e7e9ca45b2d4 100644
--- a/test/fuzzing/examples/fuzz-channel-request.cpp
+++ b/test/fuzzing/examples/fuzz-channel-request.cpp
@@ -23,7 +23,7 @@
 
 #include <msgpack.hpp>
 
-#include "jamidht/multiplexed_socket.h"
+#include "connectivity/multiplexed_socket.h"
 
 #include "lib/gnutls.h"
 
diff --git a/test/fuzzing/examples/fuzz-channel.cpp b/test/fuzzing/examples/fuzz-channel.cpp
index d411848cf8a0dbb0f98830894df166c6304c45ba..53a1d68f95868707e3961188a4052c336b92ae3d 100644
--- a/test/fuzzing/examples/fuzz-channel.cpp
+++ b/test/fuzzing/examples/fuzz-channel.cpp
@@ -21,7 +21,7 @@
 #include <cstdlib>
 #include <set>
 
-#include "jamidht/multiplexed_socket.h"
+#include "connectivity/multiplexed_socket.h"
 
 #include "lib/gnutls.h"
 
diff --git a/test/fuzzing/examples/fuzz-jami-version.cpp b/test/fuzzing/examples/fuzz-jami-version.cpp
index 1da8514fcedba9c2a9b7d124046cd2430cd572fc..5e920906e7c14a3d4d30daab4e57257e8b8f11ae 100644
--- a/test/fuzzing/examples/fuzz-jami-version.cpp
+++ b/test/fuzzing/examples/fuzz-jami-version.cpp
@@ -28,7 +28,7 @@
 #include "lib/gnutls.h"
 
 /* Jami */
-#include "jamidht/multiplexed_socket.h"
+#include "connectivity/multiplexed_socket.h"
 
 static gnutls_session_t captured_session = nullptr;
 
diff --git a/test/fuzzing/fuzz-spam-channel-creation.cpp b/test/fuzzing/fuzz-spam-channel-creation.cpp
index b71f3f010238469c1a892bb00f8e7bac0fddc00d..9911445672ca8b093eda159a0645b6bb19bb520f 100644
--- a/test/fuzzing/fuzz-spam-channel-creation.cpp
+++ b/test/fuzzing/fuzz-spam-channel-creation.cpp
@@ -24,7 +24,7 @@
 #include <mutex>
 #include <thread>
 
-#include "jamidht/connectionmanager.h"
+#include "connectivity/connectionmanager.h"
 
 #include "lib/gnutls.h"
 #include "lib/utils.h"
diff --git a/test/fuzzing/scenarios/classic-alice-and-bob.h b/test/fuzzing/scenarios/classic-alice-and-bob.h
index 6895cf449195f989eb35a2644eacd13fa7cf189f..bf0cf633414ff522b9221d13a9da30393921bc84 100644
--- a/test/fuzzing/scenarios/classic-alice-and-bob.h
+++ b/test/fuzzing/scenarios/classic-alice-and-bob.h
@@ -21,7 +21,7 @@
 #include <condition_variable>
 
 #include "manager.h"
-#include "jamidht/connectionmanager.h"
+#include "connectivity/connectionmanager.h"
 #include "jamidht/jamiaccount.h"
 #include "jami.h"
 #include "account_const.h"
diff --git a/test/sip/test_SIP.h b/test/sip/test_SIP.h
index 70cfeb00db41d1aafc11dcec95a0543db7cf3251..3bebe2619e5865bbff246855e54af8fde68bf337 100644
--- a/test/sip/test_SIP.h
+++ b/test/sip/test_SIP.h
@@ -31,7 +31,7 @@
 #include "manager.h"
 
 #include "sip/sipvoiplink.h"
-#include "sip/sip_utils.h"
+#include "connectivity/sip_utils.h"
 
 #include <atomic>
 
diff --git a/test/unitTest/account_archive/account_archive.cpp b/test/unitTest/account_archive/account_archive.cpp
index e8a11fdc5736a6070adab0890d51ce2998ab6327..dd8976b3a55d99674d5456ed31c7605df02a7c4c 100644
--- a/test/unitTest/account_archive/account_archive.cpp
+++ b/test/unitTest/account_archive/account_archive.cpp
@@ -27,7 +27,7 @@
 
 #include "manager.h"
 #include "jamidht/conversationrepository.h"
-#include "jamidht/connectionmanager.h"
+#include "connectivity/connectionmanager.h"
 #include "jamidht/gitserver.h"
 #include "jamidht/jamiaccount.h"
 #include "../../test_runner.h"
diff --git a/test/unitTest/call/call.cpp b/test/unitTest/call/call.cpp
index 8a76962510d292038a4e997b5ef6f40eb95f1930..4e6f24965d4c93a434dbe30e3e0295b98901795e 100644
--- a/test/unitTest/call/call.cpp
+++ b/test/unitTest/call/call.cpp
@@ -25,7 +25,7 @@
 #include <string>
 
 #include "manager.h"
-#include "jamidht/connectionmanager.h"
+#include "connectivity/connectionmanager.h"
 #include "jamidht/jamiaccount.h"
 #include "sip/sipcall.h"
 #include "sip/siptransport.h"
diff --git a/test/unitTest/call/conference.cpp b/test/unitTest/call/conference.cpp
index f138eb522c57165cfdf95b1030676765299ce51a..c28f03ad3203b3a8535b61798e1547f3540ef12b 100644
--- a/test/unitTest/call/conference.cpp
+++ b/test/unitTest/call/conference.cpp
@@ -25,7 +25,7 @@
 
 #include "manager.h"
 #include "client/videomanager.h"
-#include "jamidht/connectionmanager.h"
+#include "connectivity/connectionmanager.h"
 #include "jamidht/jamiaccount.h"
 #include "../../test_runner.h"
 #include "jami.h"
diff --git a/test/unitTest/certstore.cpp b/test/unitTest/certstore.cpp
index 13e2fe42aa1d3671f486d12e2c95feac1cdfa10c..9fbb4b5827ac20f6bdfc2b3811c803d2ca46acc2 100644
--- a/test/unitTest/certstore.cpp
+++ b/test/unitTest/certstore.cpp
@@ -24,7 +24,7 @@
 
 #include "test_runner.h"
 
-#include "security/certstore.h"
+#include "connectivity/security/certstore.h"
 
 namespace jami {
 namespace test {
diff --git a/test/unitTest/connectionManager/connectionManager.cpp b/test/unitTest/connectionManager/connectionManager.cpp
index efdb17f28a716b0a8cee5448066b444513c00cc5..2b4728e2c75a768f053cadea700374994cefc7db 100644
--- a/test/unitTest/connectionManager/connectionManager.cpp
+++ b/test/unitTest/connectionManager/connectionManager.cpp
@@ -23,8 +23,8 @@
 #include <condition_variable>
 
 #include "manager.h"
-#include "jamidht/connectionmanager.h"
-#include "jamidht/multiplexed_socket.h"
+#include "connectivity/connectionmanager.h"
+#include "connectivity/multiplexed_socket.h"
 #include "jamidht/jamiaccount.h"
 #include "../../test_runner.h"
 #include "jami.h"
diff --git a/test/unitTest/conversation/conversation.cpp b/test/unitTest/conversation/conversation.cpp
index 644f70e243057e4d7c70ebe610d167ddc8664310..fa8d07b2af13ac82bde426528b05ee0d710f3816 100644
--- a/test/unitTest/conversation/conversation.cpp
+++ b/test/unitTest/conversation/conversation.cpp
@@ -37,7 +37,7 @@
 #include "fileutils.h"
 #include "jami.h"
 #include "manager.h"
-#include "security/certstore.h"
+#include "connectivity/security/certstore.h"
 
 using namespace std::string_literals;
 using namespace std::literals::chrono_literals;
diff --git a/test/unitTest/conversationRepository/conversationRepository.cpp b/test/unitTest/conversationRepository/conversationRepository.cpp
index a263e627e81ccf9629a6b87e6fce481f42663251..78e47bc26d591f6dfbee575f885b8dc0980ab5d1 100644
--- a/test/unitTest/conversationRepository/conversationRepository.cpp
+++ b/test/unitTest/conversationRepository/conversationRepository.cpp
@@ -27,7 +27,7 @@
 
 #include "manager.h"
 #include "jamidht/conversationrepository.h"
-#include "jamidht/connectionmanager.h"
+#include "connectivity/connectionmanager.h"
 #include "jamidht/gitserver.h"
 #include "jamidht/jamiaccount.h"
 #include "../../test_runner.h"
diff --git a/test/unitTest/fileTransfer/fileTransfer.cpp b/test/unitTest/fileTransfer/fileTransfer.cpp
index 365aa5e9c35f95d2c5e16cd8cb0e10388cc21109..698a5f91bdcf00322b578486f1fe231553c02207 100644
--- a/test/unitTest/fileTransfer/fileTransfer.cpp
+++ b/test/unitTest/fileTransfer/fileTransfer.cpp
@@ -26,7 +26,7 @@
 
 #include "fileutils.h"
 #include "manager.h"
-#include "jamidht/connectionmanager.h"
+#include "connectivity/connectionmanager.h"
 #include "jamidht/jamiaccount.h"
 #include "../../test_runner.h"
 #include "jami.h"
diff --git a/test/unitTest/ice/ice.cpp b/test/unitTest/ice/ice.cpp
index a64c51e077e8c12c203f17dfbeb9f7964d4ee37f..c53c326b9e87b884e68b6fd674040a55ec86ce97 100644
--- a/test/unitTest/ice/ice.cpp
+++ b/test/unitTest/ice/ice.cpp
@@ -25,7 +25,7 @@
 #include "manager.h"
 #include "opendht/dhtrunner.h"
 #include "opendht/thread_pool.h"
-#include "src/ice_transport.h"
+#include "connectivity/ice_transport.h"
 #include "../../test_runner.h"
 #include "jami.h"
 #include "account_const.h"
diff --git a/test/unitTest/ice/ice_media_cand_exchange.cpp b/test/unitTest/ice/ice_media_cand_exchange.cpp
index 885ac62e10b8be730fc2e4566e44f766fd2e3cd0..47d24078ef55bc80427e026d762df23d6c665459 100644
--- a/test/unitTest/ice/ice_media_cand_exchange.cpp
+++ b/test/unitTest/ice/ice_media_cand_exchange.cpp
@@ -35,7 +35,7 @@
 #include "account_const.h"
 #include "sip/sipcall.h"
 
-#include "upnp/upnp_control.h"
+#include "connectivity/upnp/upnp_control.h"
 
 #include "common.h"
 
diff --git a/test/unitTest/media_negotiation/auto_answer.cpp b/test/unitTest/media_negotiation/auto_answer.cpp
index a706ce2f17ae6c93d2fb0f9a769529a2efee4d8e..d8a15a0d366fe7a382b16b434f0a27c3b4416089 100644
--- a/test/unitTest/media_negotiation/auto_answer.cpp
+++ b/test/unitTest/media_negotiation/auto_answer.cpp
@@ -27,7 +27,7 @@
 #include "../../test_runner.h"
 
 #include "manager.h"
-#include "jamidht/connectionmanager.h"
+#include "connectivity/connectionmanager.h"
 #include "account.h"
 #include "sip/sipaccount.h"
 #include "jami.h"
diff --git a/test/unitTest/media_negotiation/hold_resume.cpp b/test/unitTest/media_negotiation/hold_resume.cpp
index 398f547b1c6f708b64623e329f78da13c13651d9..d19c402c57af556657dcc4a36467f8ad6d09fb65 100644
--- a/test/unitTest/media_negotiation/hold_resume.cpp
+++ b/test/unitTest/media_negotiation/hold_resume.cpp
@@ -25,7 +25,7 @@
 #include <string>
 
 #include "manager.h"
-#include "jamidht/connectionmanager.h"
+#include "connectivity/connectionmanager.h"
 #include "jamidht/jamiaccount.h"
 #include "../../test_runner.h"
 #include "jami.h"
diff --git a/test/unitTest/media_negotiation/media_negotiation.cpp b/test/unitTest/media_negotiation/media_negotiation.cpp
index 098bf1e6b97e94b118794ac93e8fa9ca516d4049..52ff0ceac318f21c986a402030ee96312e155b99 100644
--- a/test/unitTest/media_negotiation/media_negotiation.cpp
+++ b/test/unitTest/media_negotiation/media_negotiation.cpp
@@ -25,7 +25,7 @@
 #include <string>
 
 #include "manager.h"
-#include "jamidht/connectionmanager.h"
+#include "connectivity/connectionmanager.h"
 #include "jamidht/jamiaccount.h"
 #include "sip/sipaccount.h"
 #include "../../test_runner.h"
diff --git a/test/unitTest/syncHistory/syncHistory.cpp b/test/unitTest/syncHistory/syncHistory.cpp
index 01feade7148cc925a071b9c2fbccb2c5b91f4f22..2aacb3b6449c075c49bd95727664a0064c37cda0 100644
--- a/test/unitTest/syncHistory/syncHistory.cpp
+++ b/test/unitTest/syncHistory/syncHistory.cpp
@@ -26,8 +26,8 @@
 
 #include "fileutils.h"
 #include "manager.h"
-#include "jamidht/connectionmanager.h"
-#include "jamidht/multiplexed_socket.h"
+#include "connectivity/connectionmanager.h"
+#include "connectivity/multiplexed_socket.h"
 #include "jamidht/jamiaccount.h"
 #include "../../test_runner.h"
 #include "jami.h"
diff --git a/test/unitTest/utf8_utils/testUtf8_utils.cpp b/test/unitTest/utf8_utils/testUtf8_utils.cpp
index cc823c04ee5f9998162fba9835f87da4be589d31..00d06bbbaef3f358e6c966ff95b026772e8ce6cf 100644
--- a/test/unitTest/utf8_utils/testUtf8_utils.cpp
+++ b/test/unitTest/utf8_utils/testUtf8_utils.cpp
@@ -23,7 +23,7 @@
 
 #include <string>
 
-#include "utf8_utils.h"
+#include "connectivity/utf8_utils.h"
 #include "../../test_runner.h"