This implements the (optional) logging of uplink and downlink frames for gateways and devices to a Redis Stream for external logging and monitoring purposes. By default this option is disabled, it can be enabled in the Configuration.
This adds the
ISM2400 band to ChirpStack for LoRaWAN 2.4 GHz support.
This includes the following changes:
A downlink queue-item will only be deleted when it has been successfully acknowledged for transmission by the gateway. In case the gateway was unable to transmit the downlink, then the downlink will stay in the queue and the downlink frame-counter is not incremented. Note that the multicast frame-counter is incremented on scheduling, not after a txack, as a multicast downlink can be transmitted by multiple gateways in order to reach all devices in the multicast-group.
As per LoRaWAN 1.0.4 specifications, mac-commands must be prioritized over application payloads, this mean than when there is an
application payload in the queue with frame-counter N, but the downlink with frame-counter N will be a mac-command only downlink
(because of max. payload-size restrictions), the NS will request the AS to re-encrypt the application payload using frame-counter N+1 so
that it can be sent to the device at the next downlink opportunity.
This updates the Go import path to
github.com/brocaar/chirpstack-network-server/v3. This fixes the
go get issue, when importing
github.com/brocaar/chirpstack-network-server/v3/adr when implementing a custom ADR algorithm.
This adds ns precision to the log timestamp.
This adds a configurable HTTP authorization header for roaming. (#528)
- Lock Class-C downlink scheduling for device when a Class-A uplink is received, to avoid that the Class-C scheduler schedules a downlink within Class-A receive-window.
- Add config option to lock gateway for a given time after a Class-C downlink, to avoid continuously sending Class-C downlinks and therefore not being able to receive any uplink (responses).
- Do not try to lookup NetID of unknown devices when roaming is disabled.