diff --git a/daemon/src/ip_utils.cpp b/daemon/src/ip_utils.cpp
index 38edb40de751ac94889626a683b4f7f0cf2bbf46..59e5d3e12016602dddf2dfe15162b8e4debf86a6 100644
--- a/daemon/src/ip_utils.cpp
+++ b/daemon/src/ip_utils.cpp
@@ -104,12 +104,12 @@ ip_utils::addrToStr(const std::string& ip_str, bool include_port, bool force_ipv
 }
 
 pj_sockaddr
-ip_utils::strToAddr(const std::string& str)
+ip_utils::strToAddr(const std::string& str, pj_uint16_t family)
 {
     pj_str_t pjstring;
     pj_cstr(&pjstring, str.c_str());
     pj_sockaddr ip;
-    auto status = pj_sockaddr_parse(pj_AF_UNSPEC(), 0, &pjstring, &ip);
+    auto status = pj_sockaddr_parse(family, 0, &pjstring, &ip);
     if (status != PJ_SUCCESS)
         ip.addr.sa_family = pj_AF_UNSPEC();
     return ip;
diff --git a/daemon/src/ip_utils.h b/daemon/src/ip_utils.h
index d48da727227856796aeb47469bff8e3a6d940e2e..0f9fa82fe2789cf9cd478abaaf026d815452297b 100644
--- a/daemon/src/ip_utils.h
+++ b/daemon/src/ip_utils.h
@@ -59,10 +59,10 @@ namespace ip_utils {
     /**
      * Convert a string representation of an IP adress to its binary counterpart.
      *
-     * Performs hostname resolution if necessary.
+     * Performs hostname resolution if necessary (with given address family).
      * If conversion fails, returned adress will have its family set to PJ_AF_UNSPEC.
      */
-    pj_sockaddr strToAddr(const std::string& str);
+    pj_sockaddr strToAddr(const std::string& str, pj_uint16_t family = pj_AF_UNSPEC());
 
     /**
      * Return the generic "any host" IP address of the specified family.