diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0de52232451ec22ce3f535e2b711957cab2474a4..a663d8035c02fce2e0e3384532d5eede444d4430 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -120,24 +120,6 @@ endif()
 
 if(NOT MSVC)
     include(FindPkgConfig)
-    if (JAMI_NATPMP)
-        pkg_search_module (natpmp IMPORTED_TARGET natpmp)
-        if (NOT natpmp_FOUND)
-            find_library(natpmp_LIBRARIES natpmp)
-            if (NOT natpmp_LIBRARIES)
-                message("NAT-PMP not found: disabling")
-                set(JAMI_NATPMP Off)
-            else()
-                message("NAT-PMP found: ${natpmp_LIBRARIES}")
-            endif()
-        endif()
-    endif()
-    if (JAMI_PUPNP)
-        pkg_search_module (upnp IMPORTED_TARGET upnp libupnp)
-        if (NOT upnp_FOUND)
-            set(JAMI_PUPNP Off)
-        endif()
-    endif()
     if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
         pkg_search_module (udev REQUIRED IMPORTED_TARGET libudev)
         pkg_search_module (pulseaudio REQUIRED IMPORTED_TARGET libpulse)
@@ -160,10 +142,6 @@ 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})
@@ -206,15 +184,7 @@ list (APPEND ALL_FILES
       ${Source_Files__media__video}
       ${Source_Files__security}
       ${Source_Files__sip}
-      ${Source_Files__upnp}
-      ${Source_Files__upnp__protocol}
 )
-if (JAMI_NATPMP)
-    list (APPEND ALL_FILES ${Source_Files__upnp__protocol__natpmp})
-endif()
-if (JAMI_PUPNP)
-    list (APPEND ALL_FILES ${Source_Files__upnp__protocol__pupnp})
-endif()
 if (JAMI_PLUGIN)
     list (APPEND ALL_FILES ${Source_Files__plugin})
 endif()
@@ -304,10 +274,6 @@ target_include_directories(${PROJECT_NAME} PRIVATE
     "${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/client;"
     "${CMAKE_CURRENT_SOURCE_DIR}/src/hooks;"
     "${CMAKE_CURRENT_SOURCE_DIR}/src/im;"
@@ -365,7 +331,6 @@ if(MSVC)
            "${CMAKE_CURRENT_SOURCE_DIR}/compat/msvc;"
            "${CMAKE_CURRENT_SOURCE_DIR}/contrib/msvc;"
            "${CMAKE_CURRENT_SOURCE_DIR}/contrib/msvc/include;"
-           "${CMAKE_CURRENT_SOURCE_DIR}/contrib/msvc/include/upnp;"
            "${CMAKE_CURRENT_SOURCE_DIR}/contrib/build/ffmpeg/Build/win32/x64/include;"
            "${CMAKE_CURRENT_SOURCE_DIR}/contrib/build/sndfile/src;"
            "${CMAKE_CURRENT_SOURCE_DIR}/contrib/build/openssl/include;"
@@ -579,16 +544,6 @@ else()
     elseif (APPLE)
         target_link_libraries(${PROJECT_NAME} PRIVATE resolv)
     endif()
-    if (JAMI_NATPMP)
-        if (natpmp_FOUND)
-            target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::natpmp)
-        elseif (natpmp_LIBRARIES)
-            target_link_libraries(${PROJECT_NAME} PRIVATE ${natpmp_LIBRARIES})
-        endif()
-    endif()
-    if (JAMI_PUPNP)
-        target_link_libraries(${PROJECT_NAME} PRIVATE upnp)
-    endif()
     if (JAMI_PLUGIN)
         target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::archive)
     endif()
diff --git a/contrib/src/dhtnet/package.json b/contrib/src/dhtnet/package.json
index a45b1ded538ff3b374b6ad6901244beaa09362fa..aecb5cf3f3ba9eebafbdd273c740a11fb321c88d 100644
--- a/contrib/src/dhtnet/package.json
+++ b/contrib/src/dhtnet/package.json
@@ -1,6 +1,6 @@
 {
     "name": "dhtnet",
-    "version": "c161aaa5e36cc2027ecdfb1c717d7131a669f7f5",
+    "version": "95219efbf7300fb680a35ca8f5b007e845d58730",
     "url": "https://review.jami.net/plugins/gitiles/dhtnet/+archive/__VERSION__.tar.gz",
     "deps": [
         "opendht",
diff --git a/contrib/src/dhtnet/rules.mak b/contrib/src/dhtnet/rules.mak
index bdfd613f3446f1b218d548567da68c8ed1f8809c..943f40c1236aae90c509813099f3cc18744f8b3f 100644
--- a/contrib/src/dhtnet/rules.mak
+++ b/contrib/src/dhtnet/rules.mak
@@ -1,5 +1,5 @@
 # DHTNET
-DHTNET_VERSION := c161aaa5e36cc2027ecdfb1c717d7131a669f7f5
+DHTNET_VERSION := 95219efbf7300fb680a35ca8f5b007e845d58730
 DHTNET_URL := https://review.jami.net/plugins/gitiles/dhtnet/+archive/$(DHTNET_VERSION).tar.gz
 
 PKGS += dhtnet
@@ -7,8 +7,7 @@ PKGS += dhtnet
 DEPS_dhtnet += opendht pjproject asio
 
 DHTNET_CONF = -DBUILD_SHARED_LIBS=Off \
-	-DBUILD_TESTING=Off \
-	-DCMAKE_BUILD_TYPE=Debug
+	-DBUILD_TESTING=Off
 
 $(TARBALLS)/dhtnet-$(DHTNET_VERSION).tar.gz:
 	$(call download,$(DHTNET_URL))
diff --git a/src/manager.cpp b/src/manager.cpp
index 670636a7ee612a508f4d66095eb0a7d2f343ac7d..69dac8cc875cf1d7010434011c401e05f95db988 100644
--- a/src/manager.cpp
+++ b/src/manager.cpp
@@ -452,7 +452,7 @@ struct Manager::ManagerPimpl
 Manager::ManagerPimpl::ManagerPimpl(Manager& base)
     : base_(base)
     , ioContext_(std::make_shared<asio::io_context>())
-    , upnpContext_(std::make_shared<dhtnet::upnp::UPnPContext>(ioContext_, Logger::dhtLogger()))
+    , upnpContext_(std::make_shared<dhtnet::upnp::UPnPContext>(nullptr, Logger::dhtLogger()))
     , toneCtrl_(base.preferences)
     , dtmfBuf_(0, AudioFormat::MONO())
     , ringbufferpool_(new RingBufferPool)