 pjlib/src/pj/ip_helper_generic.c | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/pjlib/src/pj/ip_helper_generic.c b/pjlib/src/pj/ip_helper_generic.c
index 7a4d85447..bf0c1c46f 100644
--- a/pjlib/src/pj/ip_helper_generic.c
+++ b/pjlib/src/pj/ip_helper_generic.c
@@ -101,6 +101,13 @@ static pj_status_t if_enum_by_af(int af,
             continue; /* Skip when interface is not running */
         }
 
+#if defined(__APPLE__)
+	if (it->ifa_flags & IFF_POINTOPOINT) {
+	    TRACE_((THIS_FILE, "  point to point interface"));
+	    continue; /* Skip point to point interface */
+	}
+#endif
+
 #if PJ_IP_HELPER_IGNORE_LOOPBACK_IF
         if (it->ifa_flags & IFF_LOOPBACK) {
             TRACE_((THIS_FILE, "  loopback interface"));
@@ -230,6 +237,13 @@ static pj_status_t if_enum_by_af(int af,
             continue; /* Skip when interface is not running */
         }
 
+#if defined(__APPLE__)
+	if (iff.ifr_flags & IFF_POINTOPOINT) {
+	    TRACE_((THIS_FILE, "  point to point interface"));
+	    continue; /* Skip point to point interface */
+	}
+#endif
+
 #if PJ_IP_HELPER_IGNORE_LOOPBACK_IF
         if (iff.ifr_flags & IFF_LOOPBACK) {
             TRACE_((THIS_FILE, "  loopback interface"));
@@ -321,11 +335,18 @@ static pj_status_t if_enum_by_af(int af, unsigned *p_cnt, pj_sockaddr ifs[])
             continue; /* Skip when interface is down */
         }
 
-        if ((ifreq.ifr_flags & IFF_RUNNING)==0) {
+	if ((ifreq.ifr_flags & IFF_RUNNING)==0) {
             TRACE_((THIS_FILE, "  interface is not running"));
             continue; /* Skip when interface is not running */
         }
 
+#if defined(__APPLE__)
+	if (ifreq.ifr_flags & IFF_POINTOPOINT) {
+	    TRACE_((THIS_FILE, "  point to point interface"));
+	    continue; /* Skip point to point interface */
+	}
+#endif
+
 #if PJ_IP_HELPER_IGNORE_LOOPBACK_IF
         if (ifreq.ifr_flags & IFF_LOOPBACK) {
             TRACE_((THIS_FILE, "  loopback interface"));
-- 
2.34.1

