You are here:

SMSSolutions.net > Tutorials > SMPP Tutorials > TLV Parameters

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