routr icon indicating copy to clipboard operation
routr copied to clipboard

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

Open psanders opened this issue 1 year ago • 1 comments

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 avatar Mar 01 '24 17:03 psanders

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

psanders avatar Mar 03 '24 04:03 psanders