Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Known issue with Routr UDP connections in DigitalOcean Kubernetes (DOKS) #262

Open
psanders opened this issue Mar 1, 2024 · 1 comment

Comments

@psanders
Copy link
Member

psanders commented Mar 1, 2024

This thread documents a known issue and workaround for using Routr with UDP connections in DOKS.

Issue:

The DOKS load balancer prematurely closes UDP connections, impacting applications relying on long-lived UDP sessions. This leads to clients becoming unreachable despite having a valid registration time.

Example:

An SIP Agent sending a REGISTER request with a 60-second expiry will become unreachable within 15 seconds due to the closed connection.

Workaround:

Currently, the only known workaround is to set the expiry time for UDP registrations to a significantly lower value, such as around 10 seconds.

Additional Notes:

While this issue happens with DOKS it is possible it is present with other vendors, and further research will be needed.

@psanders psanders pinned this issue Mar 1, 2024
@psanders
Copy link
Member Author

psanders commented Mar 3, 2024

Notes to self:

  • externalTrafficPolicyUDP = Local with NodePort: This approach might offer progress for issue # [number]. We'll need to provide the nodePort configuration via the chart.
  • sessionAffinity = ClientIP: This setting didn't improve the situation.
  • internalTrafficPolicy to Local: Changing this setting had no effect on the issue.
  • TCP connection: This works perfectly every time.
  • Using NodePort as the service type works perfectly for UDP which makes m believe the issue is with the load-balancer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant