UDP packet ACK not received with AKS

Hello, on Azure AKS, we have deployed Chirpstack V4.

AKS Configuration

  • LoadBalancer (Nginx Ingress Controller with UPD Port 1700 configured)
  • Ingress from DNS on port 1700
  • Chirpstack Gateway Bridge service
  • Chirpstack Gateway Bridge pod

The gateways communicates with the bridge because we receive the pullData but the pullACK is not received by the gateway.

There is the Chirpstack Gateway Bridge pod logs:

time=“2023-10-12T14:13:27.054824386Z” level=debug msg=“backend/semtechudp: received udp packet from gateway” addr=“10.244.4.xx:43056” protocol_version=2 type=PullData
time=“2023-10-12T14:13:27.054918487Z” level=debug msg=“backend/semtechudp: sending udp packet to gateway” addr=“10.244.4.xx:43056” protocol_version=2 type=PullACK
time=“2023-10-12T14:13:27.054953087Z” level=debug msg=“integration/mqtt: set gateway subscription” gateway_id=008000000001a9xx subscribe=true

Have you ever had the problem ?
Thank you

You need to ensure that UDP hole-punching can work. This means that all firewalls & load-balancers (the Nginx included) must keep the “session” alive. I remember that Nginx needs to have settings to tell it that the session hasn’t ended, but I cannot remember the exact attributes. Otherwise, the responses cannot be routed back.

The GWMP protocol involves the LNS normally replying to every heartbeat message, so this can be used to keep the session alive. If the GW will send heartbeat every 10s, then the session must be alive for longer than that in order for downlinks to also work.

Thank you, this confirms what I was thinking. I will try to update the ingress nginx controller configuration to do that.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.