Protocol Considerations

Connection Monitoring

SMPP enquire_link message are automatically handled by the internal connection management systems of the SMPP application.

SMPP Fields

The SMPP specification defines SMPP messages as having:

  1. A fixed length header.
  2. A fixed length fixed field section, whose field list and field sizes is dependent on the message and protocol version.
  3. An optional list of TLVs (tag/length/value).

Within the optional list of TLVs, many tags are defined by the protocol, however custom TLVs may also be used by vendors as required. If required, the JSLEE SMPP service may be made aware of any TLV that may be used as decoding the TLV requires application knowledge of the TLV type (the type is not encoded into the data sent within the protocol).

TLV Configuration

The list of TLVs are stored as text files in the resources/smpp directory within the JSLEE JAR file. There are two files present in this location:

  1. smpp_v5.0_tlvs.csv
  2. smpp_v5_fixed_fields.csv

The fixed fields file should not be changed, as the fixed fields within the protocol cannot change, however the TLV file may be adjusted as required.

TLV File Format

This file smpp_v5.0_tlvs.csv is a simple CSV file, with the following columns:

  1. Name - The name of the TLV field. This is important if code needs to look up the TLV by name.

  2. Tag - The value of the TLV in decimal or hexidecimal.

  3. Type - The data format to decode the TLV as. This must be one of the known SMPP data formats:

    1. Unsigned8 for an SMPP integer type of length 1.
    2. Unsigned16 for an SMPP integer type of length 2.
    3. Unsigned32 for an SMPP integer type of length 4.
    4. COctetString for an SMPP C-Octet String.
    5. OctetString for an SMPP Octet String.