Eh, jika saja orang ini membaca sedikit dokumentasi OpenSMPP dan reference SMPP, maka hal ini ngga akan terjadi. Sedikit overview mengenai SMPP dan OpenSMPP bisa anda baca di Wikipedia. Ini adalah snippet code untuk menghandle delivery report dengan menggunakan OpenSMPP. Hebatnya lagi, ini adalah production code.

int a;
int b;
String message;
String sourceAddr;
String destAddr = "";
String store = pdu.debugString();

if (store.startsWith("(deliver:"))
{
    a = store.indexOf("sm: msg:");    
    a +=8;
    b = store.indexOf(")  (opt:",a);
    message = store.substring(a,b);
    message = message.trim();

    a = store.indexOf("(addr:");
    a += 11;
    b = store.indexOf(")",a);
    sourceAddr = store.substring(a,b);
    sourceAddr = sourceAddr.trim();

    a = store.indexOf("(addr:",b);
    a +=11;
    b = store.indexOf(")",a);    

    destAddr = store.substring(a,b);
    destAddr = destAddr.trim();
    
    String msg = new String(message.trim());
    
    if (msg.startsWith("id:")) //* Delivery Receipt
    {
        // .. do something
    }
    else //* Regular Delivery
    {
        // do another stuff
    }
}
else if (store.startsWith("(enquirelink:"))
{
    // do something
}

Bisa di rewrite dengan dengan:

if (pdu instanceof DeliverSM) {
    DeliverSM deliverSM = (DeliverSM)pdu;
    if (0x04 == (deliverSM.getEsmClass() & 0x04)) {
        // delivery notification processing;
    } else {
        // must be regular message;
    }
}

Moral: RTFM