diff --git a/daemon/src/ringdht/ringaccount.cpp b/daemon/src/ringdht/ringaccount.cpp
index 173c7a890a1f5744eeae612c711ee6700b0226d5..e405c0a4b715637e127615bb41eed382df21d16f 100644
--- a/daemon/src/ringdht/ringaccount.cpp
+++ b/daemon/src/ringdht/ringaccount.cpp
@@ -920,7 +920,7 @@ RingAccount::getContactHeader(pjsip_transport* t)
         return contact_;
     }
 
-    auto ice = reinterpret_cast<SipIceTransport*>(t)->getIceTransport();
+    auto ice = reinterpret_cast<SipIceTransport*>(t);
 
     // The transport type must be specified, in our case START_OTHER refers to stun transport
     /*pjsip_transport_type_e transportType = transportType_;
@@ -933,7 +933,7 @@ RingAccount::getContactHeader(pjsip_transport* t)
     //pj_uint16_t port = getTlsListenerPort();
 
     //link_->sipTransport->findLocalAddressFromTransport(t, transportType, hostname_, address, port);
-    auto address = ice->getDefaultLocalAddress();
+    auto address = ice->getLocalAddress();
     /*if (addr) {
         address = addr;
         port =
diff --git a/daemon/src/ringdht/sip_transport_ice.cpp b/daemon/src/ringdht/sip_transport_ice.cpp
index 31e448ce451f4dd83f42c9b7db62e28d461c610a..daa4ea5b36dcdbdab56789fb4251530dfc4fbf25 100644
--- a/daemon/src/ringdht/sip_transport_ice.cpp
+++ b/daemon/src/ringdht/sip_transport_ice.cpp
@@ -171,6 +171,12 @@ SipIceTransport::start()
     ice_->setOnRecv(comp_id_, std::bind(&SipIceTransport::onRecv, this, _1, _2));
 }
 
+IpAddr
+SipIceTransport::getLocalAddress() const
+{
+    return ice_->getLocalAddress(comp_id_);
+}
+
 pj_status_t
 SipIceTransport::send(pjsip_tx_data *tdata, const pj_sockaddr_t *rem_addr,
                       int addr_len, void *token,
diff --git a/daemon/src/ringdht/sip_transport_ice.h b/daemon/src/ringdht/sip_transport_ice.h
index c8b2fb93b159928814d1efede101ba45f4486122..2adccd3a13393d5a21ab21f844fa63858efca0b1 100644
--- a/daemon/src/ringdht/sip_transport_ice.h
+++ b/daemon/src/ringdht/sip_transport_ice.h
@@ -31,6 +31,8 @@
 
 #pragma once
 
+#include "ip_utils.h"
+
 #include <pjsip.h>
 #include <pj/pool.h>
 #include <memory>
@@ -51,6 +53,8 @@ struct SipIceTransport
          */
         void start();
 
+        IpAddr getLocalAddress() const;
+
         std::shared_ptr<sfl::IceTransport> getIceTransport() const {
             return ice_;
         }