General

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.

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.