From a9c48511137f75ef4d54e33ca5fb53c5e8a379f7 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Wed, 28 Jul 2021 21:33:34 -0700 Subject: [PATCH] Fix external IP discovery. fix LeaveRequest during server disconnect (#72) --- pkg/config/ip.go | 6 +++++- pkg/service/roommanager.go | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/config/ip.go b/pkg/config/ip.go index c95f80a00..0cbb41a56 100644 --- a/pkg/config/ip.go +++ b/pkg/config/ip.go @@ -13,7 +13,11 @@ import ( func (conf *Config) determineIP() (string, error) { if conf.RTC.UseExternalIP { - ip, err := GetExternalIP(conf.RTC.StunServers) + stunServers := conf.RTC.StunServers + if len(stunServers) == 0 { + stunServers = DEFAULT_STUN_SERVERS + } + ip, err := GetExternalIP(stunServers) if err == nil { return ip, nil } else { diff --git a/pkg/service/roommanager.go b/pkg/service/roommanager.go index 7ba050153..f0590b84e 100644 --- a/pkg/service/roommanager.go +++ b/pkg/service/roommanager.go @@ -255,8 +255,8 @@ func (r *RoomManager) StartSession(roomName string, pi routing.ParticipantInit, } } else if pi.Reconnect { // send leave request if participant is trying to reconnect but missing from the room - if err = responseSink.WriteMessage(&livekit.SignalRequest{ - Message: &livekit.SignalRequest_Leave{ + if err = responseSink.WriteMessage(&livekit.SignalResponse{ + Message: &livekit.SignalResponse_Leave{ Leave: &livekit.LeaveRequest{ CanReconnect: true, },