The “multicast control” package

The “multicast control” package can be used to:
• Remotely create a multicast group security context inside a group of end-devices
• Report the list of multicast context existing in the end-device
• Remotely delete a multicast security context.
• Program a classC multicast session
• Program a classB multicast session

How to use this feature? Is it provisioned in Lora-App-Server?
If not how to create “Multicast Control Message” mac commands.
I,ve seen :-
You can do so using the API. Please see: .

How to manage the mac command sets with the on going communications?

LoRa App Server provides an experimental implementation of this to support FUOTA. The control packages are note exposed as an API. But, these are application-layer payloads, so you can send these commands like any other device downlink :slight_smile:


As from the
I see these as Mac-commands :

How can I send Mac commands that too in sync with the loraserver and network controller?
How do I add these mac commands as app-payload? As I know Mac-commands are inside fCtrl as fOpts there If i want to use McGroupStatusReq, how can I make the multicast mac commands alongside the downlink payload?

These are not mac-commands. These commands are sent as regular application payload downlinks. See page 5:

All messages described in this document are transported as application layer messages.

1 Like

Oh, my bad.
Still I am unsure to send these commands a payload. Because I don’t think that the device firmware is capable of identifying these commands from the received downlink buffer. Do I have to take care of this at the firmware side?

These specifications (remote multicast setup, fragmentation session setup and clock sync) use dedicated fPorts.


I haven’t tried this on dedicated ports; I’ll try these on specific dedicated ports (200 for multicast package). Hope it will work fine.

Hi Yash_Pahwa,

Did you get any idea how to send these commands as a downlink payload?

could you help me how to send these commands as a downlink payload i.e like what type of parameters we need to send and downlink payload format.

Hi brocaar,

could you help me how to send these commands as a downlink payload i.e like what type of parameters we need to send and downlink payload format.

In the next ChirpStack Application Server version, FUOTA is going to be decoupled. Please see: for an implementation which sends these commands.

1 Like

Can I use this FUOTA server implementation for Class C Multicast Downlinks ? Like early earthquake notification. I dont want firmware updates.

If you want to simply use multicasting, you need to use the gRPC API: Protocol documentation - ChirpStack open-source LoRaWAN® Network Server documentation

The Chirpstack Rest/Grpc API dont have Multicast Group Setup and Class C Multicast Session requests.

Please note that remote multicast setup is an application layer protocol. Therefore you can assemble these packages yourself and enqueue them as normal downlinks. That is exactly what the FUOTA Server is doing. Then it creates the related multicast-group using the gRPC API and once the session starts, it starts enqueueing multicast messages.