Table of optional parameters (TLVs).
TLV stands for Tag/Length/Value and was a capability added to SMPP version 3.4. It is an extensible means of adding new parameter types to SMPP packets. Each optional parameter has a 2-byte tag, which is a unique identifier of that parameter, a 2-byte length, which is an integer value representing the length of the value of the parameter and a value. The value may be of various types including integers, C Strings, octet strings, bit masks etc. The tag defines the type of the value.
This class holds a mapping of tags to values. Each SMPP packet holds a TLV table which holds that packet's set of current optional parameters. Upon serializing the packet to an output stream or byte array, the format of the serialized packet is:
+-------------------------+ | SMPP Packet | | +----------------------+| | | SMPP Header || | +----------------------+| | | || | | || | | Mandatory parameters || | | || | | || | +----------------------+| | | Optional parameters || | | +------------------+ || | | | Tag/Length/Value | || | | +------------------+ || | | | ... | || | | +------------------+ || | +----------------------+| +-------------------------+
@author Oran Kelly
@version $Id: TLVTable.java 466 2009-06-16 12:26:57Z orank $