From 182a0733533b02af9a39e41f1ced7599f0055fdb Mon Sep 17 00:00:00 2001 From: Raja Subramanian Date: Fri, 18 Oct 2024 23:32:18 +0530 Subject: [PATCH] Log ICE reconnected when selected pair changes. (#3117) Logging selected pair when ICE connection state changed could have picked up previous selected pair. Also, log shortened remote IP and remote port. --- pkg/rtc/transport.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/rtc/transport.go b/pkg/rtc/transport.go index dd02dda16..d23e80c8b 100644 --- a/pkg/rtc/transport.go +++ b/pkg/rtc/transport.go @@ -150,6 +150,8 @@ func (w wrappedICECandidatePairLogger) MarshalLogObject(e zapcore.ObjectEncoder) if w.pair.Remote != nil { e.AddString("remoteProtocol", w.pair.Remote.Protocol.String()) e.AddString("remoteCandidateType", w.pair.Remote.Typ.String()) + e.AddString("remoteAdddress", w.pair.Remote.Address[:len(w.pair.Remote.Address)-3]+"...") + e.AddUint16("remotePort", w.pair.Remote.Port) } return nil } @@ -468,6 +470,9 @@ func (t *PCTransport) createPeerConnection() error { t.pc.SCTP().Transport().ICETransport().OnSelectedCandidatePairChange(func(pair *webrtc.ICECandidatePair) { t.params.Logger.Debugw("selected ICE candidate pair changed", "pair", wrappedICECandidatePairLogger{pair}) t.connectionDetails.SetSelectedPair(pair) + if t.selectedPair.Load() != nil { + t.params.Logger.Infow("ice reconnected or switched pair", "pair", wrappedICECandidatePairLogger{pair}) + } t.selectedPair.Store(pair) }) @@ -648,8 +653,6 @@ func (t *PCTransport) onPeerConnectionStateChange(state webrtc.PeerConnectionSta t.params.Handler.OnInitialConnected() t.maybeNotifyFullyEstablished() - } else { - t.params.Logger.Infow("ice reconnected", "pair", wrappedICECandidatePairLogger{t.selectedPair.Load()}) } case webrtc.PeerConnectionStateFailed: t.clearConnTimer()