Commit Graph

173 Commits

Author SHA1 Message Date
286d8b33b2 Generate API code. 2024-03-26 16:47:55 +00:00
c71b856c78 Align multicast class-b ping-slot config.
This aligns the multicast class-b ping-slot configuration with the way
how it is configured in the device-profile. This deprecates the
class_b_ping_slot_period field in favor of the class_b_ping_slot_nb_k
field, which should be a value between 0 - 7 (this is defined and
explained by the LoRaWAN specification).

Closes #255.
2024-03-26 16:45:24 +00:00
f970e94cca Show version in UI (for admin users).
Closes #73 and #158.
2024-03-26 09:01:21 +00:00
9de0354f13 api: Update dependencies. 2024-03-19 10:57:29 +00:00
7e0c18cf00 Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /api/go (#379)
Bumps google.golang.org/protobuf from 1.31.0 to 1.33.0.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-19 10:39:55 +00:00
06bcca147c Update tonic. 2024-03-19 10:38:08 +00:00
8c875c3bf1 Bump version to 4.7.0 2024-03-13 10:44:21 +00:00
5f72db234f Updated docker-compose to docker compose (#377) 2024-03-12 11:27:27 +00:00
519f53940e Bump version to 4.7.0-test.4 2024-02-27 16:48:40 +00:00
f816ca469b Update generated api code. 2024-02-27 16:34:31 +00:00
098f8db4c6 Migrate device-sessions from Redis to PostgreSQL.
This migrates the device-sessions from Redis into PostgreSQL. This fixes
a performance issue in case the same DevAddr is reused many times
(e.g. devices rejoining very often or a NetID with small DevAddr space).

There were two issues:

The Redis key containing the DevAddr -> DevEUIs mapping could contain
DevEUIs that no longer used the DevAddr. This mapping would only expire
from the Redis database after none of the devices would use the DevAddr
for more than the configured device_session_ttl.

The other issue with the previous approach was that on for example a
Type 7 NetID, a single DevAddr could be re-used multiple times. As each
device-session could be stored on a different Redis Cluster instance,
there was no option to retrieve all device-sessions at once. Thus a high
re-usage of a single DevAddr would cause an increase in Redis queries.

Both issues are solved by moving the device-session into PostgreSQL
as the DevAddr is a column of the device record and thus filtering on
this DevAddr would always result in the devices using that DevAddr, as
well all device-sessions for a DevAddr can be retrieved by a single
query.

Note that to migrate the device-sessions, you must run:

chirpstack -c path/to/config migrate-device-sessions-to-postgres

A nice side-effect is that a PostgreSQL backup / restore will also
restore the device connectivity.

Closes #362 and #74.
2024-02-27 16:17:15 +00:00
d599e7a276 Add js context to get_activation api method. 2024-02-06 13:16:26 +00:00
be26e60111 Bump version to 4.7.0-test.3 2024-01-12 09:19:50 +00:00
e1334f647d Bump version to 4.7.0-test.2 2024-01-11 15:42:16 +00:00
cc47958839 Bump version to 4.7.0-test.1 2024-01-11 12:48:18 +00:00
9f67b9c221 Implement direct redirect for OIDC and OAuth login. 2023-12-19 14:31:21 +00:00
9198d7d51b Implement Clerk as authentication backend (OAuth2). 2023-12-19 13:49:16 +00:00
f647949c05 Bump version to 4.6.0 2023-12-07 09:13:36 +00:00
20e28407d0 Bump version to 4.6.0-test.4 2023-11-28 13:01:40 +00:00
3538145e3d Add allow roaming option to device-profile. 2023-11-23 08:53:47 +00:00
f13a5f492c Bump version to 4.6.0-test.3 2023-11-22 11:28:00 +00:00
5fd56e7e3c Bump version to 4.6.0-test.2 2023-11-20 12:33:52 +00:00
07a6ce8c60 api: Update Go dependencies. 2023-11-02 14:23:31 +00:00
6931e9adb5 api: Add BackendInterfacesRequest stream message. 2023-11-02 08:36:57 +00:00
36e6d5ccb9 api: Change streams > stream to be consistent. 2023-10-31 14:03:31 +00:00
1d38ae2544 api: Refactor api/request_log.proto to streams/api_requests.proto. 2023-10-31 11:59:07 +00:00
a4da4ab784 api: Refactor api/frame_log.proto into streams/frames.proto. 2023-10-31 11:21:43 +00:00
ec0ecf2044 api: Refactor meta/meta.proto to streams/meta.proto. 2023-10-31 10:19:38 +00:00
091909e8ea Bump version to 4.6.0-test.1 2023-10-26 15:38:37 +01:00
fefa4f8be9 Re-generate API code. 2023-10-26 15:38:37 +01:00
d38062aebd Add preamble and no_crc fields to LoraModulationInfo. 2023-10-26 15:38:37 +01:00
dc5be942d4 api: Re-generate API code. 2023-10-19 17:12:19 +01:00
a087c4c18b Add tags to tenants and applications.
Note that the integration events will contain the application +
device-profile + device tags. Integration events will NOT contain the
tenant tags. Most likely tenant tags will be used to store information
about the tenant, data that is unrelated to the integration events.

Fixes #211.
2023-10-19 17:11:50 +01:00
1f64212923 api: Regenerate API SDKs. 2023-10-16 12:25:53 +01:00
b4845b5613 api: Rename time to gw_time. Add ns_time.
The gw_time defines the RX time by the gateway, the ns_time defines when
it was received by the NS. The latter could for example help to debug
latency between the GW <> NS.
2023-10-16 12:11:57 +01:00
31ffb30201 api: Update build image to Rust 1.73.0. 2023-10-16 11:43:31 +01:00
c82bfa5a72 api: Ignore unknown fields (Rust JSON decode).
The JSON encoding should only be used for debugging purposes! However
this change avoids showing errors in case there are unknown fields in the
JSON payload. This would happen when for example the MQTT Forwarder
and ChirpStack uses a different API version (which in case of Protobuf
would be fine, as long as the major version remains the same).
2023-10-16 10:51:29 +01:00
5e63c5efe0 Make it explicit that tx power is in EIRP + fixes.
Historically, the tx power was defined as ERP. The Semtech UDP Packet
Forwarder protocol was never explicit if the "powe" field was in ERP or
EIRP. However, as the antenna gain in the Semtech UDP Packet Forwarder
is documented as dBi and is deducted from the "powe" field, this means
that "powe" is in EIRP.

This commit corrects all values to EIRP, to make sure that if the
antenna gain is properly configured (which should be), that the correct
rf_power is used by the gateway.
2023-10-12 15:36:11 +01:00
99561f2e47 Reset uplink_adr_history in case of DR / TxPower / NbTrans change. 2023-10-09 11:33:04 +01:00
41d00cb651 Implement end-to-end app payload encryption.
This implements end-to-end encryption between the end-device and
end-application. The encrypted AppSKey or SessionKeyID is forwarded to
the end-application which should be able to decrypt or request the
AppSKey to decrypt the uplink payload. As well the end-application will
be able to enqueue encrypted application payloads.

Using this mechanism, ChirpStack will never have access to the uplink
and downlink application-payloads.
2023-10-05 13:06:09 +01:00
503beaa2fd Bump version to 4.5.1 2023-10-05 10:20:32 +01:00
fe131c070a api: Re-export prost dependency. (#285) 2023-10-03 15:29:49 +01:00
a402b487f8 Update dependencies. 2023-09-18 16:22:05 +01:00
4ebee8d614 Bump version to 4.5.0 2023-09-11 16:58:25 +01:00
81ac49ff8f Bump version to 4.5.0-test.3 2023-09-07 16:53:20 +01:00
f06f11334e Bump version to 4.5.0-test.2 2023-09-05 12:14:35 +01:00
295cd5e4b1 Bump version to 4.5.0-test.1 2023-09-04 15:06:38 +01:00
cd57929b43 Update dependencies. 2023-09-04 14:10:27 +01:00
582df0dc8f api: Update js dependencies. 2023-08-08 12:22:45 +01:00
5ce2b636ca api: Update grpc-web dependencies. 2023-08-08 12:17:58 +01:00