Class SMSSubmitReportAck

  • All Implemented Interfaces:
    DataObject, FastSerializable, Serializable

    public final class SMSSubmitReportAck
    extends SMSSubmitReport
    implements FastSerializable
    Representation of a SMS-SUBMIT-REPORT TPDU in a RP-ACK.

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

     SMSSubmitReportAck ::= SEQUENCE {
         userDataHeaderIndicator UserDataHeaderIndicator,
         serviceCentreTimeStamp  SMSTimeStamp,
         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.2a part (ii) pp59-60
    76543210
    1 octet0User data header indicator0000Message type
    01
    1 octet00000Has user data length?Has data coding scheme?Has protocol identifier?
    7 octetsService center time stamp
    0-1 octetsProtocol id
    0-1 octetsData coding scheme
    0-1 octetsUser data length
    0-152 octetsUser data

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

      • SMSSubmitReportAck

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

        public SMSSubmitReportAck​(byte[] data)
        Constructs a new SMSSubmitReportAck 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
      • SMSSubmitReportAck

        public SMSSubmitReportAck​(byte[] data,
                                  int start,
                                  int len)
        Constructs a new SMSSubmitReportAck 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
      • SMSSubmitReportAck

        public SMSSubmitReportAck​(DataInput in)
                           throws IOException
        Constructs a new SMSSubmitReportAck 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