Reduce RRC connected duration with MQTT

Hi,

I'm developing a system which needs to have near real time control (downlinks) and uplinks. I've into these 2 issues. Please note that I'm still a beginner with LTE hence these questions, although I haven't been able to find a solution on this forum.

1. Setting the network connection periodicity

The device is running the MQTT control sample. It checks the network each 2.56 seconds. I'm not sure where is this setting coming from, since neither eDRX or PSM are enabled. The MQTT keepalive interval is 60 seconds, where the device connects for an extended period of time. What is this connection interval called, how can I change it through the SDK?

2. Reducing time in the RRC connected state

When I sent data to/from the MQTT server, the device processes it in around 1-2 seconds. Then it stays in the RRC connected state for an extra 10 seconds, consuming unwanted power:

By enabling CONFIG_LTE_LC_RAI_MODULE and CONFIG_LTE_RAI_REQ and setting the socket RAI flag to RAI_LAST together with MQTT_QOS_0_AT_MOST_ONCE I've been able to reduce the time in the RRC connected state to around 1.2s, reducing power consumption 5x. But this is only for transmissions/uplinks.

Is there something similar I can do for downlinks/reception? I know that RAI is intended more for UDP/CoAP but right now developing the application around that seems more complex, especially because of the downlink requirements.

Note that I need low latency, so I cannot use eDRX or PSM, but I still think it should be possible to shorten the time the device is in RRC connected state.

Thank you!

Related