A computer-implemented method for reliable Internet-Of-Thing, IOT, communication across a plurality of IOT devices , the method comprising: identifying device information of a source-IOT-device upon synchronization of the source-IOT-device with a Narrow Band IOT evolved nodeB, NB-IOT eNB, in an IOT network, wherein the device information comprises one or more IOT applications running on the source-IOT-device , one or more communication mechanisms that operate on different communication protocols for supporting the one or more IOT applications, and a device type of the source-IOT-device ; generating a control-packet at the NB-IOT eNB based on the device information of the source-IOT-device during Random Access Channel, RACH, procedure, for enabling automatic pairing and connecting processes of the source-IOT-device with a target-IOT-device ; initiating a device discovery scheme associated with a short-distance communication link in the source IOT device and the target IOT device , based on the control-packet received at a predefined time interval from the NB-IOT eNB ; determining that the first target-IOT-device is discoverable to the source-IOT-device , by the NB-IOT eNB , for establishing a first IOT session from the source-IOT-device to the target-IOT-device , upon (i) activating a first IOT application of the source-IOT-device and (ii) initiating the device discovery scheme of the short-distance communication link; selecting a first communication link as one of the short-distance communication link and a NB-IOT communication link, for the first IOT session based on the device information of the source-IOT-device , the discoverability of the first target-IOT-device , and the first IOT application activated on the source-IOT-device ; and dynamically allocating a Physical Resource Block, PRB, for a plurality of packets transmitted using the first communication link based on a buffer occupancy associated with the first IOT application of the source-IOT-device . identifying device information of a source-IOT-device upon synchronization of the source-IOT-device with a Narrow Band IOT evolved nodeB, NB-IOT eNB, in an IOT network, wherein the device information comprises one or more IOT applications running on the source-IOT-device , one or more communication mechanisms that operate on different communication protocols for supporting the one or more IOT applications, and a device type of the source-IOT-device ; generating a control-packet at the NB-IOT eNB based on the device information of the source-IOT-device during Random Access Channel, RACH, procedure, for enabling automatic pairing and connecting processes of the source-IOT-device with a target-IOT-device ; initiating a device discovery scheme associated with a short-distance communication link in the source IOT device and the target IOT device , based on the control-packet received at a predefined time interval from the NB-IOT eNB ; determining that the first target-IOT-device is discoverable to the source-IOT-device , by the NB-IOT eNB , for establishing a first IOT session from the source-IOT-device to the target-IOT-device , upon (i) activating a first IOT application of the source-IOT-device and (ii) initiating the device discovery scheme of the short-distance communication link; selecting a first communication link as one of the short-distance communication link and a NB-IOT communication link, for the first IOT session based on the device information of the source-IOT-device , the discoverability of the first target-IOT-device , and the first IOT application activated on the source-IOT-device ; and dynamically allocating a Physical Resource Block, PRB, for a plurality of packets transmitted using the first communication link based on a buffer occupancy associated with the first IOT application of the source-IOT-device . <EOS>