API send downlink messages accepted but never received
I am trying to send downlink messages through the API and get the response:
But at the device, the message is not received. If a downlink message is send through the portal with ‘action’ -> ‘send downlink message’ the message is received correctly.
I have double-checked the correct IMEI and that the messages are the same. Why can I not receive the messages through the API on my devices?
@GrandPep Did you send an uplink message from the device after you posted a downlink message?
Downlink messages are not delivered immediately to the device. They are queued in the middleware.
Queued downlink messages are delivered to the device after the device has sent an uplink message.
The middleware queues up to 10 messages.
@roalnd-baldin Yes indeed, as of normal (like in the same way we do with sending downlinks through the platform) we wait until our Quectel BG95-M3 receives a +QIURC: “recv”,0 after sending an uplink message and receive it with AT+QIRD=0.
Only when using the API to send downlink messages, the API response that everything was send good, however, no messages are waiting for the device so a +QIURC: “recv”,0 is never responded.
@grandpep The API response “Accepted” with code “1002” doesn’t mean that the downlink message has been delivered to the device. It means the the message has been accepted and queued by the protocol specific IoT adapter.
Can you please send the IMEI of the device for which you try to send a downlink message with the API to our support box email@example.com?
@roalnd-baldin Thank you and I have send the IMEI to the support mail. And indeed, the code 1002 indeed means that it is queued and ready to be received for the device it is meant to. The following steps were used:
- through the Iotcreators platform, send a downlink message to device A.
- device A sends an uplink messages and receives a +QIURC: “recv”,0 meaning there is a downlink message waiting.
- use AT+QIRD=0 to get the downlink message for device A.
- through the API, send a downlink message to device A and receive the API response: accepted, code 1002
- device A sends an uplink message, however, device A does not repond with a +QIURC: “recv”,0 : there is no downlink waiting
(6. still check it with AT+QIRD=0 but really there is no downlink message…)
@GrandPep I had a look to your configurations. I saw that you registered for your API account an application URL but I cannot see any subscriptions. I will verify it and come back to you…