diff --git a/pkg/config/config.go b/pkg/config/config.go index 8e2dc354..c86b8a5c 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -80,6 +80,7 @@ type Config struct { NAT1To1IP string `yaml:"nat_1_to_1_ip"` ListenIP string `yaml:"listen_ip"` + UDPMaxPayload int `yaml:"udp_max_payload"` // if different from signaling IP MediaUseExternalIP bool `yaml:"media_use_external_ip"` MediaNAT1To1IP string `yaml:"media_nat_1_to_1_ip"` diff --git a/pkg/sip/service.go b/pkg/sip/service.go index 09ff5575..bab8fe8a 100644 --- a/pkg/sip/service.go +++ b/pkg/sip/service.go @@ -29,6 +29,8 @@ import ( "sync/atomic" "time" + "github.com/livekit/sipgo/transport" + "google.golang.org/protobuf/types/known/emptypb" msdk "github.com/livekit/media-sdk" @@ -73,6 +75,9 @@ func NewService(region string, conf *config.Config, mon *stats.Monitor, log logg if log == nil { log = logger.GetLogger() } + if conf.UDPMaxPayload > 0 { + transport.UDPMTUSize = conf.UDPMaxPayload + } if conf.MediaTimeout <= 0 { conf.MediaTimeout = defaultMediaTimeout }