| Index: talk/app/webrtc/webrtcsession.cc
|
| diff --git a/talk/app/webrtc/webrtcsession.cc b/talk/app/webrtc/webrtcsession.cc
|
| index 9102e78eeac9affa903fc5c5f8c148c3d6f231c7..6a761e6ab95a75d80fec9c2dd741860a2f99d967 100644
|
| --- a/talk/app/webrtc/webrtcsession.cc
|
| +++ b/talk/app/webrtc/webrtcsession.cc
|
| @@ -97,8 +97,23 @@ IceCandidatePairType GetIceCandidatePairCounter(
|
| 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)
|
|
|