Quectel NB-IoT BG96 Receive UDP Data

I am using Quectel NB-IoT BG96 shield with Arduino Uno. For sending data, as most of these NB-IoT users are doing is quite straight forward. I am sending UDP messages as such:

void BG96SendUDPData(float data, int connectID, char *ip, int port) {
    String buf;
    buf = ConvertFloat2String(data);
    snprintf(retmcu, sizeof(retmcu), "AT+QISEND=%d,%d,\"%s\",%d", connectID, buf.length(), ip, port);    //After send this command it will open a text window
    while(BG96SerialRead() == '>') {                    //Wait until the opened this symbol
      Serial.print(buf);                                          //You can write your data 

However, I would like to receive the UDP data. For instance, if a trigger command is sent to turn on the LED. Has anyone does this or something similar to receive the UDP messages or TCP/IP to control devices?
Would be glad if someone could point me in the right direction or some code snippets to achieve this.


What shield did you use?

for communications on nb I recommend the LWM2M protocol!

other (easy) way