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
    Serial.println(retmcu);
    BG96UART.println(retmcu);
    while(BG96SerialRead() == '>') {                    //Wait until the opened this symbol
      Serial.print(buf);                                          //You can write your data 
    }
    Serial.print(buf);
    BG96UART.println(buf);
    BG96SerialRead();
}

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.

Hi!

What shield did you use?

for communications on nb I recommend the LWM2M protocol!

other (easy) way

tube