chirpstack-network-server

ChirpStack Network Server is an open-source LoRaWAN network-server.

MIT License

Stars
1.5K
Committers
41

Bot releases are hidden (Show)

chirpstack-network-server - v3.12.3

Published by brocaar over 3 years ago

v3.12.3

Improvements

  • Add downlink TxInfo in TxAck message. (#523)
  • Add option to configure Redis key-prefix.
chirpstack-network-server - v3.12.2

Published by brocaar over 3 years ago

v3.12.2

Improvements

  • Update LinkADRAns handling for devices with ADR disabled to align with 4.3.1.1 of LoRaWAN 1.0.4 specs.

Bugfixes

  • Fix max. supported TxPower index which was introduced after ADR refactor.
  • Fix counting uplink history so that only items with same TxPowerIndex are counted.
chirpstack-network-server - v3.12.1

Published by brocaar over 3 years ago

ChirpStack Network Server v3.12.1

Improvements

  • Don't run Docker container as root. (#520)
  • Extend ADR HandleRequest with Region, MACVersion and RegParamsRevision fields.

Bugfixes

  • Clear UplinkHistory table for ADR on DR change.
chirpstack-network-server - v3.12.0

Published by brocaar over 3 years ago

v3.12.0

Features

Private gateways

This adds the option to add a service-profile to a gateway and a service-profile flag to make all gateways under that service-profile private. It also adds a global configuration option to make all gateways private. When a gateway is private, only devices under the same service-profile will be able to use the gateway.

Pluggable ADR algorithms

This adds the option to configure custom ADR algorithms through a plugin system. See the examples/adr-plugin directory for an example plugin skeleton.

Improvements

  • Implement uplink frame counter for Prometheus. (#507)
chirpstack-network-server -

Published by brocaar over 3 years ago

chirpstack-network-server -

Published by brocaar over 3 years ago

chirpstack-network-server - v3.11.0

Published by brocaar almost 4 years ago

v3.11.0

Features

Passive roaming

This release provides an experimental implementation of the Passive Roaming implementation as specified by the LoRaWAN Backend Interfaces v1.0.0 specification.

Improvements

Improve uplink de-duplication

This removes the de-duplication that was also performed by the MQTT backend. It also updates the current deduplication function to include the full TXInfo within the de-duplication key. Uplinks received on multiple channels will therefore be processed (and MIC validated) separately.

Add stats interval to gateway profile

This makes it possible to set the gateway stats interval when supported by the gateway (currently only Concentratord is supported).

Internal join-server cleanup

This removes old join-server code on favor of the client code which is also used for Passive Roaming (as both are based on the LoRaWAN Backend Interfaces specification).

Expose gateway expiration date

When creating a gateway certificate, the expiration is now exposed in the API response.

Join-server DNS resolving

When no join-server is pre-configured, DNS resolving is enabled and the JoinEUI does resolve, the the same certificate configuration will be used as when connecting to the default join-server.

Add tls_enabled option to Redis config.

In earlier releases, it was possible to configure the Redis endpoint by URL, which allowed to enable TLS. The configuration changed when support for Redis Sentinel and Redis Cluster was implemented. This adds back the option to enable TLS.

Bugfixes

  • Always respond to RXParamSetupAns requests. (#493)
  • Fix healthcheck -> health log line. (#505)
chirpstack-network-server - v3.11.0-test.1

Published by brocaar about 4 years ago

chirpstack-network-server - v3.10.0

Published by brocaar over 4 years ago

ChirpStack Network Server v3.10.0

Features

Multi-downlink commands and ACKs

With this feature, ChirpStack Network Server will send all downlink opportunities (e.g. RX1 and RX2) at once to the gateway, reducing the number of roundtrip in case of failures. Previously ChirpStack Network Server would send the next downlink opportunity on a received nACK. In case of a retry, this saves one roundtrip reducing the risk of a failed downlink due to network latency. The gateway will always send at most one downlink.

Note: This feature requires ChirpStack Gateway Bridge v3.9 or later, but is backwards compatible with previous versions, in which case ChirpStack Network Server will fallback into the old behavior. This backwards compatibility has some overhead, which can be controlled by the multi_downlink_feature configuration variable.

Disable device

This feature makes it possible to (temporarily) disable a device, in which case uplinks are ignored.

Join Server integration

The Join Server integration has been updated, so that it is no longer required to rely on DNS resolving of the Join Server. It is now possible to configure a per JoinEUI endpoint of the Join Server.

Geolocation cleanup

This removes the Geolocation Server integration (relying on LoRa Cloud) from ChirpStack Network Server. The reason for this is that there are various options for geolocation, some of them relying on the decrypted FRMPayload, e.g. in case of Wifi and GNSS sniffing. To provide one unified integration, this integration has been moved to ChirpStack Application Server.

Note: This will deprecate ChirpStack Geolocation Server as v3.11 will provide a per-application configurable LoRa Cloud integration.

Gateway client-certificates

This makes it possible to generate per-gateway client-certificates which can be used to implement gateway authentication and authorization. For example a MQTT broker can be configured to validate the client-certificate against a pre-configured CA certificate and if valid it can use the CommonName of the certificate (which contains the gateway ID) to authorize publish / subscribe to certain topics.

Improvements

  • Expose to Application Server if received uplink was confirmed or unconfirmed.
  • Improve error handling and ignore uplink when uplink is received through unknown gateway.
  • Avoid downlink mac-commands for ABP devices when factory frequencies have been correctly setup and are in sync with network channels.
  • Support multiple Redis addresses for clustering. (#491)

Upgrading

Important note:

This version improves the error handling when an uplink is received through an unknown gateway. Previously this was logged as an error, this has changed to a warning. Uplinks received through unknown gateways will be ignored. Make sure that all gateways in your network are configured in ChirpStack!

chirpstack-network-server -

Published by brocaar over 4 years ago

chirpstack-network-server -

Published by brocaar over 4 years ago

chirpstack-network-server -

Published by brocaar over 4 years ago

chirpstack-network-server - v3.9.0

Published by brocaar over 4 years ago

v3.9.0

Features

Redis Cluster and Sentinel

This release introduces the support for Redis Cluster and Redis Sentinel.

Rejected uplink callback to Network Controller

A new API method has been added to the (optional) Network Controller called HandleRejectedUplinkFrameSet. When ChirpStack Network Server rejects an uplink (e.g. when the device is not known to the network, or the activation is missing), it will call this method (when the Network Controller is configured).

Improvements

  • Change ISM band names to their common name. (#477)
chirpstack-network-server -

Published by brocaar over 4 years ago

chirpstack-network-server - v3.8.1

Published by brocaar over 4 years ago

v3.8.1

Bugfixes

  • Fix AMQP re-connect issue.
chirpstack-network-server - v3.8.0

Published by brocaar over 4 years ago

v3.8.0

Features

Downlink gateway randomization

When sending a downlink response, ChirpStack Network Server will select from the list of gateways with a given (configurable) margin, a random gateway for the downlink. This should result in a better downlink distribution across gateways. In case non of the gateways are within the configured margin, the best gateway is selected (old behavior).

Monitoring

The monitoring configuration has been updated so that it is possible to configure both a Prometheus endpoint at /metrics and healthcheck endpoint at /health. This change is backwards compatible, but to use the /health endpoint you must update your configuration.

Forward gateway metadata to AS

By forwarding gateway metadata to the (ChirpStack) Application Server, information like serial number, temperature, ... could be stored by the Application Server for various use-cases. The configuration of metadata is covered by the ChirpStack Gateway Bridge.

Improvements

Downlink LoRaWAN frame logging

Previously the first downlink scheduling attempt was logged (visible in the ChirpStack Application Server under the Gateway / Device LoRaWAN frames). This has been changed so that the scheduling attempt acknowledged by the gateway is logged. E.g. when RX1 fails, but RX2 succeeds this will log the RX2 attempt.

Bugfixes

  • Update gRPC dependency to fix 'DNS name does not exist' error. (#426)
chirpstack-network-server - v3.7.0

Published by brocaar over 4 years ago

v3.7.0

Features

Improve frame-counter validation

The refactored frame-counter validation makes it possible to report different types of errors to the Application Server which will make it easier to debug frame-counter related issues.

OTAA error event

OTAA related errors will now be pushed to the Application Server to make it easier to debug OTAA related issues.

Downlink tx acknowledgements

Downlink TX acknowledgements (by the gateway) are now forwarded to the Application Server. Please note that this is the TX acknowledgement by the gateway, indicating that it was enqueued for transmission.

Syslog output

When log_to_syslog is enabled in the configuration file, the log output will be written to syslog.

Improvements

  • Implement setting max reconnect interval for MQTT gateway backend.
  • Implement getting the device queue size only (instead of fetching the complete queue).
  • Implement DNS round-robin load-balancing for gRPC.
  • Cleanup old api package (the API definitions have been moved to chirpstack-api).
  • Add uplink IDs to geolocation events for correlation.
  • Remove legacy (and broken) device-session migration code.
  • Cleanup (unused) gateway statistics code.
  • Include 500KHz channels in US915 config examples. (#462)
chirpstack-network-server -

Published by brocaar over 4 years ago

chirpstack-network-server - v3.6.0

Published by brocaar almost 5 years ago

v3.6.0

Features

RabbitMQ / AMQP backend

This backend uses RabbitMQ for gateway communication. See the AMQP / RabbitMQ gateway backend documentation for more information. Please note that this backend does not replace the default MQTT backend.

chirpstack-network-server - v3.5.0

Published by brocaar almost 5 years ago

v3.5.0

Features

RX1 / RX2 selection logic

New configuration options have been added for RX1 / RX2 selection for downlink. (#429)

  • Using rx2_prefer_on_rx1_dr_lt it is possible to prefer RX2 for downlink, when the RX1 data-rate is less than the configured value.
  • Using rx2_prefer_on_link_budget it is possible to prefer RX2 for downlink when RX2 provides a better link budget than RX1.

Mac-command error handling

A new configuration option has been added to limit the number of mac-command errors (per device). This resolves the issue where the Network Server keeps trying to send a downlink mac-command to a malfunctioning device.

RPM packaging

This is the first release providing .rpm packages for CentOS and RedHat. (#454)

Improvements

Update lorawan package

The updated version contains logic for the EU868 band to either use 14 dBm or 27 dBm based on used frequency.

gRPC / Protobuf cleanup

All definitions are now imported from github.com/brocaar/chirpstack-api/go. When using the gRPC API, you must update your imports.

Environment variable configuration

Deprecate use of dots (.) in environment variable names, use double understore (__) instead. (#451)

Antenna diversity

Update lock key of MQTT gateway backend for handling of antenna diversity.

Internal improvements

The (re)usage of Redis connections has been improved.