SMPP TLV Parameters intro
TLV stands for Tag Length Value. These extra parameters were added to the SMPP protocol in version 3.4.
The parameters can be used to extend the SMPP protocol with more advanced features.
TLV's are also called 'optional fields'.
TLV's are simply added as byte stream at the end of the standard SMPP pdu's.
The first two bytes are used to identify the parameter, the firth and fourth byte indicate the length of the actual data which follows directly after these bytes.
Supported SMPP TLV Parameters
Below you can find a list of all TLV parameters defined in SMPP versions 3.4 and 5.0.
Some providers are also using some vendor specific SMPP TLV Parameters.
additional_status_info_text |
The additional_status_info_text parameter gives an ASCII textual description of the meaning
of a response PDU. It is to be used by an implementation to allow easy diagnosis of
problems. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x001D |
COCTET |
alert_on_msg_delivery |
The alert_on_message_delivery parameter is set to instruct a MS to alert the user (in a MS
implementation specific manner) when the short message arrives at the MS. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x130C |
1BYTE |
billing_identification |
Billing information passed from ESME to MC |
TLV Parameter Tag: |
TLV Parameter Type: |
0x060B |
OCTET |
broadcast _frequency _interval |
The broadcast_frequency_interval parameter specifies the frequency interval at which the
broadcasts of a message should be repeated. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0605 |
OCTET |
broadcast_area_identifier |
The broadcast_area_identifier defines the Broadcast Area in terms of a geographical
descriptor. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0606 |
OCTET |
broadcast_area_success |
The broadcast_area_success parameter is a success rate indicator, defined as the ratio of
the number of BTSs who accepted the message and the total number of BTSs who should
accept the message, for a particular broadcast_area_identifier. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0608 |
1BYTE |
broadcast_channel_indicator |
The broadcast_channel_indicator parameter specifies the Cell Broadcast channel that should
be used for broadcasting the message. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0600 |
1BYTE |
broadcast_content_type |
The broadcast_content_type parameter specifies the content_type of the message content. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0601 |
OCTET |
broadcast_content_type_info |
The broadcast_content_type_info parameter contains additional information specific to the
broadcast_content_type. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0602 |
OCTET |
broadcast_end_time |
The broadcast_end_time parameter indicates the date and time at which the broadcasting
state of this message was set to terminated in the Message Centre. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0609 |
COCTET |
broadcast_error_status |
The broadcast_error_status parameter specifies the nature of the failure associated with a
particular broadcast_area_identifier specified in a broadcast request. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0607 |
4BYTE |
broadcast_message_class |
The broadcast_message_class parameter is used to route messages when received by a
mobile station to user-defined destinations or to Terminal Equipment. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0603 |
1BYTE |
broadcast_rep_num |
This field indicates the number of repeated broadcasts requested by the Submitter. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0604 |
2BYTE |
broadcast_service_group |
The broadcast_service_group parameter is used to specify special target groups for
broadcast information. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x060A |
OCTET |
callback_num |
A call-back number associated with the short message. This parameter can be included a number of times for multiple call-back addresses |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0381 |
OCTET |
callback_num_atag |
The callback_num_atag parameter associates an alphanumeric display with the call back
number. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0303 |
OCTET |
callback_num_pres_ind |
This parameter controls the presentation indication
and screening of the CallBackNumber at the mobile
station. If present, the callback_num parameter must
also be present. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0302 |
1BYTE |
congestion_state |
The congestion_state parameter is used to pass congestion status information between
ESME and MC as a means of providing flow control and congestion avoidance capabilities to
the sending peer. The TLV can be used in any SMPP operation response PDU as a means
of passing congestion status from one peer to another. Typical uses of this would be in
submit_sm/submit_sm_resp sequences where an ESME would drive a batch of submissions
at a high rate and use continual tracking of the returned congestion_state values as a means
of gauging the congestion. Reaction to a variation in congestion_state would involve
increasing/decreasing the rate as required to maintain the balance in the Optimum range. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0428 |
1BYTE |
delivery_failure_reason |
The delivery_failure_reason parameter is used in the data_sm_resp operation to indicate the
outcome of the message delivery attempt (only applicable for transaction message mode). If
a delivery failure due to a network error is indicated, the ESME may check the
network_error_code parameter (if present) for the actual network error code. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0425 |
1BYTE |
dest_addr_np_country |
The dest_addr_np_country TLV is used to carry E.164 information relating to the operator
country code. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0613 |
4BYTE |
dest_addr_np_information |
The dest_addr_np_information TLV is used to carry number portability information. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0612 |
OCTET |
dest_addr_np_resolution |
The dest_addr_np_resolution TLV is used to pass an indicator relating to a number portability
query. If this TLV is omitted, the default value is assumed. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0611 |
1BYTE |
dest_addr_subunit |
The dest_addr_subunit parameter is used to route messages when received by a mobile
station, for example to a smart card in the mobile station or to an external device connected
to the mobile station. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0005 |
1BYTE |
dest_bearer_type |
The dest_bearer_type parameter is used to request the desired bearer for delivery of the
message to the destination address. In the case that the receiving system (e.g. MC) does not
support the indicated bearer type, it may treat this a failure and return a response PDU
reporting a failure. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0007 |
1BYTE |
dest_network_id |
The dest_network_id assigned to a wireless network operator or ESME operator is a unique
address that may be derived and assigned by the node owner without establishing a central
assignment and management authority. When this TLV is specified, it must be accompanied
with a dest_node_id TLV Ref.4.8.4.27. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x060E |
COCTET |
dest_network_type |
The dest_network_type parameter is used to indicate a network type associated with the
destination address of a message. In the case that the receiving system (e.g. MC) does not
support the indicated network type, it may treat this a failure and return a response PDU
reporting a failure. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0006 |
1BYTE |
dest_node_id |
The dest_node_id is a unique number assigned within a single ESME or MC network and
must uniquely identify a destination node within the context of the MC or ESME. The content
of a dest_node_id is comprised of decimal digits and is at the discretion of the owning ESME
or MC. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0610 |
OCTET |
dest_port |
The dest_port parameter is used to indicate the application port number associated with the
destination address of the message. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x020B |
2BYTE |
dest_subaddress |
The dest_subaddress parameter specifies a subaddress associated with the destination of
the message. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0203 |
OCTET |
dest_telematics_id |
This parameter defines the telematic interworking to be used by the delivering system for the
destination address. This is only useful when a specific dest_bearer_type parameter has also
been specified, as the value is bearer dependent. In the case that the receiving system (e.g.
MC) does not support the indicated telematic interworking, it may treat this a failure and
return a response PDU reporting a failure. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0008 |
2BYTE |
display_time |
The display_time parameter is used to associate a display time of the short message on the
MS. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x1201 |
1BYTE |
dpf_result |
The dpf_result parameter is used to indicate if delivery pending flag (DPF) was set for a
delivery failure of a short message. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0420 |
1BYTE |
its_reply_type |
The its_reply_type parameter is a required parameter for the CDMA Interactive Teleservice
as defined by the Korean PCS carriers [KORITS]. It indicates and controls the MS user’s
reply method to an SMS delivery message received from the ESME. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x1380 |
1BYTE |
its_session_info |
The its_session_info parameter is a required parameter for the CDMA Interactive Teleservice
as defined by the Korean PCS carriers [KORITS]. It contains control information for the
interactive session between an MS and an ESME. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x1383 |
OCTET |
language_indicator |
The language_indicator parameter is used to indicate the language of the short message. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x020D |
1BYTE |
message_payload |
The message_payload parameter contains the user data. Its function is to provide an
alternative means of carrying text lengths above the 255 octet limit of the short_message
field.
Applications, which need to send messages longer than 255 octets, should use the
message_payload TLV. When used in the context of a submit_sm PDU, the sm_length field
should be set to zero. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0424 |
OCTET |
message_state |
The message_state TLV is used by the MC in the deliver_sm and data_sm PDUs to indicate
to the ESME the final message state for a MC Delivery Receipt. The message_state TLV is
also returned by the MC to the ESME as part of the query_broadcast_sm_resp PDU. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0427 |
1BYTE |
more_messages_to_send |
The more_messages_to_send parameter is used by the ESME in the submit_sm and
data_sm operations to indicate to the MC that there are further messages for the same
destination SME. The MC may use this setting for network resource optimisation. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0426 |
1BYTE |
ms_availability_status |
The ms_availability_status parameter is used in the alert_notification operation to indicate the
availability state of the MS to the ESME.
If the MC does not include the parameter in the alert_notification operation, the ESME should
assume that the MS is in an “available” state. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0422 |
1BYTE |
ms_msg_wait_facilities |
The ms_msg_wait_facilities parameter allows an indication to be provided to an MS that
there are messages waiting for the subscriber on systems on the PLMN. The indication can
be an icon on the MS screen or other MMI indication. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0030 |
1BYTE |
ms_validity |
The ms_validity parameter is used to provide an MS with validity information associated with
the received short message. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x1204 |
4BYTE |
network_error_code |
The network_error_code parameter is used to indicate the actual network error code for a
delivery failure. The network error code is technology specific. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0423 |
OCTET |
number_of_messages |
The number_of_messages parameter is used to indicate the number of messages stored in a
mailbox. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0304 |
1BYTE |
payload_type |
The payload_type parameter defines the higher layer PDU type contained in the message
payload. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0019 |
1BYTE |
privacy_indicator |
The privacy_indicator indicates the privacy level of the message. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0201 |
1BYTE |
qos_time_to_live |
This parameter defines the number of seconds which the sender requests the MC to keep
the message if undelivered before it is deemed expired. If the parameter is not present, the
MC may apply a default value. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0017 |
4BYTE |
receipted_message_id |
The receipted_message_id parameter indicates the ID of the message being receipted in a
MC Delivery Receipt. This is the opaque MC message identifier that was returned in the
message_id parameter of the SMPP response PDU that acknowledged the submission of the
original message. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x001E |
COCTET |
sar_msg_refnum |
The sar_msg_ref_num parameter is used to indicate the reference number for a particular
concatenated short message. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x020C |
2BYTE |
sar_segment_seqnum |
The sar_segment_seqnum parameter is used to indicate the sequence number of a particular
short message within the concatenated short message. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x020F |
1BYTE |
sar_total_segments |
The sar_total_segments parameter is used to indicate the total number of short messages
within the concatenated short message. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x020E |
1BYTE |
sc_interface_version |
The sc_interface_version parameter is used to indicate the SMPP version supported by the
MC. It is returned in the bind response PDUs. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0210 |
1BYTE |
set_dpf |
An ESME may use the set_dpf parameter to request the setting of a delivery pending flag
(DPF) for certain delivery failure scenarios, such as MS unavailability (as indicated by the
HLR).
The MC should respond to such a request with an alert_notification PDU when it detects that
the destination MS has become available. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0421 |
1BYTE |
sms_signal |
The sms_signal parameter is used to provide a TDMA MS with alert tone information
associated with the received short message. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x1203 |
2BYTE |
source_addr_subunit |
The source_addr_subunit parameter is used to indicate where a message originated in the
mobile station, for example a smart card in the mobile station or an external device
connected to the mobile station. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x000D |
1BYTE |
source_bearer_type |
The source_bearer_type parameter indicates the wireless bearer over which the message
originated. |
TLV Parameter Tag: |
TLV Parameter Type: |
0X000F |
1BYTE |
source_network_id |
The source_network_id assigned to a wireless network operator or ESME operator is a
unique address that may be derived and assigned by the node owner without establishing a
central assignment and management authority. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x060D |
COCTET |
source_network_type |
The source_network_type parameter is used to indicate the network type associated with the
device that originated the message. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x000E |
1BYTE |
source_node_id |
The source_node_id is a unique number assigned within a single ESME or MC network and must
uniquely identify an originating node within the context of the MC or ESME. The content of a
source_node_id is comprised of decimal digits and is at the discretion of the owning ESME or MC. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x060F |
OCTET |
source_port |
The source_port parameter is used to indicate the application port number associated with
the source address of the message. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x020A |
2BYTE |
source_subaddress |
The source_subaddress parameter specifies a subaddress associated with the originator of
the message.
Field Size |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0202 |
OCTET |
source_telematics_id |
The source_telematics_id parameter indicates the type of telematics interface over which the
message originated. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0010 |
1BYTE |
user_message_reference |
A reference assigned by the originating SME to the short message. Depending on the
destination network technology, this field may be passed directly to the mobile device. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0204 |
2BYTE |
user_response_code |
A response code set by the user in a User Acknowledgement/Reply message. The response
codes are application specific. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0205 |
1BYTE |
ussd_service_op |
The ussd_service_op parameter is required to define the USSD service operation when
SMPP is being used as an interface to a (GSM) USSD system. |
TLV Parameter Tag: |
TLV Parameter Type: |
0x0501 |
1BYTE |