diff --git a/talk/app/webrtc/umametrics.h b/talk/app/webrtc/umametrics.h
index 37e7b6d..8eaed6d 100644
--- a/talk/app/webrtc/umametrics.h
+++ b/talk/app/webrtc/umametrics.h
@@ -95,6 +95,8 @@
 // type of candidate pair used when the PeerConnection first goes to a completed
 // state. When BUNDLE is enabled, only the first transport gets recorded.
 enum IceCandidatePairType {
+  // HostHost is deprecated. It was replaced with the set of types at the bottom
+  // to report private or public host IP address.
   kIceCandidatePairHostHost,
   kIceCandidatePairHostSrflx,
   kIceCandidatePairHostRelay,
@@ -110,6 +112,13 @@
   kIceCandidatePairPrflxHost,
   kIceCandidatePairPrflxSrflx,
   kIceCandidatePairPrflxRelay,
+
+  // The following 4 types tell whether local and remote hosts have private or
+  // public IP addresses.
+  kIceCandidatePairHostPrivateHostPrivate,
+  kIceCandidatePairHostPrivateHostPublic,
+  kIceCandidatePairHostPublicHostPrivate,
+  kIceCandidatePairHostPublicHostPublic,
   kIceCandidatePairMax
 };
 
diff --git a/talk/app/webrtc/webrtcsession.cc b/talk/app/webrtc/webrtcsession.cc
index 9102e78..6a761e6 100644
--- a/talk/app/webrtc/webrtcsession.cc
+++ b/talk/app/webrtc/webrtcsession.cc
@@ -97,8 +97,23 @@
   const auto& srflx = STUN_PORT_TYPE;
   const auto& relay = RELAY_PORT_TYPE;
   const auto& prflx = PRFLX_PORT_TYPE;
-  if (l == host && r == host)
-    return kIceCandidatePairHostHost;
+  if (l == host && r == host) {
+    bool local_private = IPIsPrivate(local.address().ipaddr());
+    bool remote_private = IPIsPrivate(remote.address().ipaddr());
+    if (local_private) {
+      if (remote_private) {
+        return kIceCandidatePairHostPrivateHostPrivate;
+      } else {
+        return kIceCandidatePairHostPrivateHostPublic;
+      }
+    } else {
+      if (remote_private) {
+        return kIceCandidatePairHostPublicHostPrivate;
+      } else {
+        return kIceCandidatePairHostPublicHostPublic;
+      }
+    }
+  }
   if (l == host && r == srflx)
     return kIceCandidatePairHostSrflx;
   if (l == host && r == relay)
diff --git a/talk/app/webrtc/webrtcsession_unittest.cc b/talk/app/webrtc/webrtcsession_unittest.cc
index 0322eff..582bdc6 100644
--- a/talk/app/webrtc/webrtcsession_unittest.cc
+++ b/talk/app/webrtc/webrtcsession_unittest.cc
@@ -1043,6 +1043,10 @@
       EXPECT_EQ(metrics_observer->GetEnumCounter(
                     webrtc::kEnumCounterIceCandidatePairTypeUdp,
                     webrtc::kIceCandidatePairHostHost),
+                0);
+      EXPECT_EQ(metrics_observer->GetEnumCounter(
+                    webrtc::kEnumCounterIceCandidatePairTypeUdp,
+                    webrtc::kIceCandidatePairHostPublicHostPublic),
                 1);
     }
   };
