diff --git a/include/ice_options.h b/include/ice_options.h
index c26b83e..e7aee6d 100644
--- a/include/ice_options.h
+++ b/include/ice_options.h
@@ -8,6 +8,10 @@
 
 namespace jami {
 
+namespace upnp {
+class UPnPContext;
+}
+
 class IceTransportFactory;
 using IceTransportCompleteCb = std::function<void(bool)>;
 
@@ -61,6 +65,7 @@
     // Addresses used by the account owning the transport instance.
     IpAddr accountLocalAddr {};
     IpAddr accountPublicAddr {};
+    std::shared_ptr<upnp::UPnPContext> upnpContext {};
 };
 
 }
diff --git a/include/upnp/upnp_context.h b/include/upnp/upnp_context.h
index a85db51..b9a5d26 100644
--- a/include/upnp/upnp_context.h
+++ b/include/upnp/upnp_context.h
@@ -37,6 +37,7 @@
 #include "upnp/mapping.h"
 
 #include <opendht/rng.h>
+#include <opendht/logger.h>
 #include <asio/steady_timer.hpp>
 
 #include <set>
@@ -110,11 +111,11 @@
     };
 
 public:
-    UPnPContext();
+    UPnPContext(std::shared_ptr<asio::io_context> ctx, std::shared_ptr<dht::log::Logger> logger);
     ~UPnPContext();
 
     // Retrieve the UPnPContext singleton.
-    static std::shared_ptr<UPnPContext> getUPnPContext();
+    // static std::shared_ptr<UPnPContext> getUPnPContext();
 
     // Terminate the instance.
     void shutdown();
diff --git a/include/upnp/upnp_control.h b/include/upnp/upnp_control.h
index 10e44e3..e68cada 100644
--- a/include/upnp/upnp_control.h
+++ b/include/upnp/upnp_control.h
@@ -40,7 +40,7 @@
 class Controller
 {
 public:
-    Controller();
+    Controller(const std::shared_ptr<UPnPContext>& ctx);
     ~Controller();
 
     // Set known public address
diff --git a/include/upnp/upnp_thread_util.h b/include/upnp/upnp_thread_util.h
index 6c7f97b..6bc5271 100644
--- a/include/upnp/upnp_thread_util.h
+++ b/include/upnp/upnp_thread_util.h
@@ -3,12 +3,13 @@
 #include <thread>
 #include <memory>
 #include <asio/io_context.hpp>
+#include <fmt/format.h>
 
 // This macro is used to validate that a code is executed from the expected
 // thread. It's useful to detect unexpected race on data members.
 #define CHECK_VALID_THREAD() \
     if (not isValidThread()) \
-        printf("The calling thread %d is not the expected thread: %d", getCurrentThread(), threadId_);
+        fmt::print("The calling thread {} is not the expected thread: {}\n", getCurrentThread(), threadId_);
         /*JAMI_ERR() << "The calling thread " << getCurrentThread() \
                    << " is not the expected thread: " << threadId_;*/
 
