@brocaar Please guide
By creating a multicast-group, it is possible to send a single downlink payload to a group of devices (the multicast-group). All these devices share the same multicast-address, session-keys and frame-counter.
After creating a multicast-group, it is possible to assign devices to the group. Please note that the device must already created (see Devices. Only devices that share the same Service Profile as the multicast-group can be added.
I have read this in Chirpstack Document. In some of posts replies @brocaar clearly mentioned : however the multicast configuration is not part of the LoRaWAN protocol. You basically need to setup a multicast “node” in LoRa (App) Server (ABP) and configure all your nodes with this multicast configuration (DevAddr, NwkSKey, AppSKey, frame-counters etc…). Also, your nodes must be operating in Class-C.
So is there any way that we can test our device for multicast setup using Chirpstack Integrated Muticast Group support without Devices on ABP. As for our project requirement we are using OTA Activation so the session keys and devAddress being recieved from End-node instead of configuration that can be done while communicating through ABP.
@brocaar pls guide on the issue
In this case, your device would need to support the multicast setup commands so the multicast parameters (DevAddr, NwkSKey, AppSKey, etc) can first be sent to each device (while still in unicast mode), then told when to enter that multicast mode.
See: https://lora-alliance.org/wp-content/uploads/2020/11/remote_multicast_setup_v1.0.0.pdf for details on how the server application would configure the devices multicast settings.
Fundamentally this is a 2 step process:
- Using the
McGroupSetupReq command, send a packet to each device that needs to be part of the multicast group. This command tells each device the (DevAddr, NwkSKey, AppSKey, etc) it will use for this multicast group when it is told to do so. Note, the device firmware must support multicast in this fashion.
- When you want to send downlinks to the group (assuming all devices in the group have been configured per the above command), the application can then send the
McClassCSessionReq packet to each device. This tells the device when to enter multicast mode and which multicast group should be used. Devices must be time synced per time sync protocol or other means
- At the time configured by the
McClassCSessionReq, all devices will switch to class c multicast mode, and take on the identity from the
McGroupSetupReq command, and be listening. At that time you can send a downlink packet to the multicast group and the devices will receive.
I suggest looking into the LoRaWAN fuota specification (https://lora-alliance.org/wp-content/uploads/2020/11/tr002-fuota_process_summary-v1.0.0.pdf) to see how it uses the multicast setup and session parameters