diff --git a/src/ringdht/ringaccount.cpp b/src/ringdht/ringaccount.cpp
index 110b9c4b644665da808bdc592a72a1a49f4d15bc..a5d84e69d22f1c389b86f479f9fc59788d022c08 100644
--- a/src/ringdht/ringaccount.cpp
+++ b/src/ringdht/ringaccount.cpp
@@ -3457,5 +3457,14 @@ void RingAccount::pushNotificationReceived(const std::string& from, const std::m
     dht_.pushNotificationReceived(data);
 }
 
+std::string
+RingAccount::getUserUri() const
+{
+#ifdef HAVE_RINGNS
+    if (not registeredName_.empty())
+        return RING_URI_PREFIX + registeredName_;
+#endif
+    return username_;
+}
 
 } // namespace ring
diff --git a/src/ringdht/ringaccount.h b/src/ringdht/ringaccount.h
index 5d9c8907ab51c50cbcabff171bda7f6127c214ec..d6021a78c43608a0226025a07aa368b6b724362f 100644
--- a/src/ringdht/ringaccount.h
+++ b/src/ringdht/ringaccount.h
@@ -376,6 +376,8 @@ class RingAccount : public SIPAccountBase {
          */
         void pushNotificationReceived(const std::string& from, const std::map<std::string, std::string>& data);
 
+        std::string getUserUri() const override;
+
     private:
         NON_COPYABLE(RingAccount);
 
diff --git a/src/sip/sipaccount.cpp b/src/sip/sipaccount.cpp
index 73f64ae6f7a5528cc007369165a98a38fa9786ef..7f94a6c8d5e8268e25ea3f549ec2e07a51178960 100644
--- a/src/sip/sipaccount.cpp
+++ b/src/sip/sipaccount.cpp
@@ -2101,4 +2101,10 @@ SIPAccount::sendTextMessage(const std::string& to, const std::map<std::string, s
     }
 }
 
+std::string
+SIPAccount::getUserUri() const
+{
+    return getFromUri();
+}
+
 } // namespace ring
diff --git a/src/sip/sipaccount.h b/src/sip/sipaccount.h
index e6f594d99264ebbb70001ce4b88032c2f4e540c2..7f5d2d57ff50e01be6b7e42ffe73b3c39e2eee31 100644
--- a/src/sip/sipaccount.h
+++ b/src/sip/sipaccount.h
@@ -494,6 +494,8 @@ class SIPAccount : public SIPAccountBase {
 
         void connectivityChanged() override;
 
+        std::string getUserUri() const override;
+
     private:
         void doRegister1_();
         void doRegister2_();
diff --git a/src/sip/sipaccountbase.h b/src/sip/sipaccountbase.h
index 4b1e9e568655b5a144843dfc82d0a98d72c3f7a2..a1ecedcb30591d259b810037b1f421e6f8af9c46 100644
--- a/src/sip/sipaccountbase.h
+++ b/src/sip/sipaccountbase.h
@@ -274,6 +274,8 @@ public:
 
     void connectivityChanged() override {};
 
+    virtual std::string getUserUri() const = 0;
+
 public: // overloaded methods
     virtual void flush() override;