This message was deleted.
# helpdesk
s
This message was deleted.
m
Locally everything works fine as well.
Also, when connecting to the same livekit server from my local machine with Go SDK everything works fine as well. Must be some weird issue with SDK in certain environments I guess 🤔
d
My guess is how your server is configured.. Go SDK probably isn't able to connect due to configuration
m
Thanks for your reply @dry-elephant-14928! Interesting 🤔 I wonder why lower resolution video tracks and audio are received just fine in that case. Is there something that can throttle certain clients? I tried disabling congestion control without results.
But just in case, here is the config to the server.
d
Ah, maybe I've misunderstood what you meant. If it does connect and then stops receiving.. something seems wrong. I don't recall ever seeing that happen in the past. How does your Go receiver code work?
m
Indeed, interesting case. The same code with the SDK works perfectly fine when running on my local machine so I guess it has to do something with connectivity between server and the process running the SDK. I just don't understand enough about webrtc to be able to debug this 🫠 Here is the code that records tracks. Sorry for a complex example. I'm working on isolating a simpler one. It hangs here on
packet, _, err := track.ReadRTP()
after receiving a handful of RTPs and just sends out PLIs until the track ends.
d
hmm, interesting. Do you have any logs indicating connection disruption? You might need to set up the SDK logger in order to see them. typically if the read has failed, it'll timeout and return an error. The other thing to check is if the connection is made via TCP or UDP. (the server logs should print
selected ice candidate
). It's possible for it to hang if it was TCP (due to some nuances of how the stack is implemented).
m
Good leads! Thank you, I will try those steps 🙇
I was also thinking maybe DigitalOcean has some limits on the UDP size in the internal network but then it should just timeout, right?
d
it shouldn't be. some of our cloud regions run on DigitalOcean
though.. it is a question of how are you publishing these tracks? browser clients would fragment them to be within MTU ~1400
I believe Go/Pion publishers would do the same.. but I don't recall exactly
m
The tracks are published from the browser. Here is the code for reference. I'll come back after testing your suggestions in a few days :)