Class SMSDeliverReportAck

  • All Implemented Interfaces:
    DataObject, FastSerializable, Serializable

    public final class SMSDeliverReportAck
    extends SMSDeliverReport
    implements FastSerializable
    Representation of a SMS-DELIVER-REPORT TPDU in a RP-ACK.

    The API offered by this class is as if the type were specified in ASN.1 as follows.

     SMSDeliverReportAck ::= SEQUENCE {
         userDataHeaderIndicator UserDataHeaderIndicator,
         protocolId              SMSProtocolId            OPTIONAL,
         dataCodingScheme        SMSDataCodingScheme      OPTIONAL,
         userDataLength          INTEGER                  OPTIONAL,
         userData                OCTET STRING
     }
    The class takes care of encoding the field values into a byte-array and decoding field values from a byte-array, the encoded representation being as tabulated below.

    Data Encoding - based on 3GPP TS 23.040 V9.0.0 (2009-06) §9.2.2.1a part (ii) p54
    76543210
    1 octet0User data header indicator0000Message type
    00
    1 octet00000User data has length?Has data coding scheme?Has protocol identifier?
    0-1 octetsProtocol id
    0-1 octetsData coding scheme
    0-1 octetsUser data length
    0-159 octetsUser data

    In the above table, field names ending in ? are booleans: 1 for true, 0 for false.
    See Also:
    Serialized Form
    • Constructor Detail

      • SMSDeliverReportAck

        public SMSDeliverReportAck()
        Constructs a new SMSDeliverReportAck object with no fields set.
      • SMSDeliverReportAck

        public SMSDeliverReportAck​(byte[] data)
        Constructs a new SMSDeliverReportAck object from network-encoded data. The data is not decoded and might not be decodable.
        Parameters:
        data - network-encoded data
        Throws:
        NullPointerException - if data is null
      • SMSDeliverReportAck

        public SMSDeliverReportAck​(byte[] data,
                                   int start,
                                   int len)
        Constructs a new SMSDeliverReportAck object from part of network-encoded data. The part starts at index start and is len bytes long. The data is not decoded and might not be decodable.
        Parameters:
        data - network-encoded data
        start - starting offset of network-encoded data in byte array
        len - default length if not predictable
        Throws:
        NullPointerException - if data is null
        IllegalArgumentException - if len is negative
      • SMSDeliverReportAck

        public SMSDeliverReportAck​(DataInput in)
                            throws IOException
        Constructs a new SMSDeliverReportAck object from data deserialized from a stream that was written by toStream(DataOutput).
        Parameters:
        in - the stream to read from
        Throws:
        EOFException - if reading is pre-empted by end-of-file
        IOException - if the data cannot be read