I found that the MulticastGroupService.AddGateway and MulticastGroupService.RemoveGateway operations are missing from the gRPC API.
Also, there is no operation to read gateways currently associated with a MulticastGroup, neither in REST nor gRPC. This prevents proper management of these associations by API.
I checked in 4.3.2, but it seems to be missing in 4.9 as well.
Can the missing listing operation be added to the API (REST and gRPC) and can the other 2 methods be reflected in gRPC?
Thanks for pointing it out, it helped me realize that I’m using the 4.2.0 API client code along with a Chirpstack 4.3.2 installation. And indeed, the AddGateway and RemoveGateway operations are not yet available in 4.2.0, but only in 4.3.0.
But the second question remains: what about not having a gateway/multicast-group associations list operation? Looks like it does not exist even in version 4.9. Could that be added to the API?
None of the MulticastGroup (from GetMulticastGroupResponse) and MulticastGroupListItem (from ListMulticastGroupsResponse) objects include a list of associated gateways.
Include this gateways list in the MulticastGroup object could be an alternative to create a new operation.
That’s it, I think this MulticastGroup filter in ListGatewaysRequest is what I’m looking for. I didn’t find it before because I was looking at API version 4.2.0.
Filtering Gateways by Tenant instead of Application is not a problem because MulticastGroups are already associated with an Application. So filtering Gateways by a MulticastGroup implicitly filters by Application as well.
In fact, managing these associations can be a bit confusing because listing is in GatewayService, but adding and removing are in MulticastGroupService. Something that can be improved in the future. But the current API (from 4.3.0 to now) is able to manage it.
So nothing else is needed by the moment. Thanks for your support!
I’m currently working on integrating the ChirpStack gRPC API into my application, specifically to list multicast groups. I have the relevant message structures, but I’ve encountered some challenges in implementing the code correctly.
What I’ve Tried
I set up a gRPC client to connect to the ChirpStack server and attempted to use the ListMulticastGroupsRequest to retrieve multicast groups. Here’s a brief overview of what my code looks like:
Client Setup: I created a gRPC client using @grpc/grpc-js and connected it to the ChirpStack server.
Request Creation: I constructed a ListMulticastGroupsRequest object and set parameters like limit, offset, and application_id.
Method Call: I called the list method on the client to fetch the multicast groups.
Error Encountered
However, when I attempt to run my code, I receive the following error:
subunit
Copy
Error: 13 INTERNAL: Received RST_STREAM with code 2 triggered by internal client error: Protocol error
Request for Help
I would greatly appreciate any guidance on how to properly implement this functionality. Specifically:
How should I structure the request correctly?
Are there any common pitfalls or issues I should be aware of?
If anyone has example code or further insights into how to handle the response effectively, that would be incredibly helpful.
Thank you for your time and assistance! I’m looking forward to your suggestions.