ActiveXperts
SMS & MMS Toolkit


 Product Overview

 Supported Protocols:
 
 How to use

 Online Samples

 Download (.exe)

 Brochure (.pdf)

 Manual (.htm)

 Release Notes


Support

 Knowledge Base

 Forum

 Contact Support


Purchase

 Licensing

 Pricing

 Order now


Providers

 SMPP Providers

 MMS Providers

 TAP/UCP Providers

 SNPP Providers


Related documents

 Case studies

 SMS Documents

 GSM Network Codes

 TAPI Documents

 About Mobile
 Communications


 AT Commands

 RFC's


  Download ActiveXperts SMS and MMS Toolkit 5.1  (6826 KB - .exe file)
  Download Manual  (623 KB - .htm file)

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.


Using SMPP TLV Parameters

The ActiveXperts SMS and MMS toolkit supports the sending and receiving of TLV parameters.
There are 5 types of TLV Parameters defined:

asSMPP_TLV_1BYTE 8 Bit Integer Value
asSMPP_TLV_2BYTE 16 Bit Integer Value
asSMPP_TLV_4BYTE 32 Bit Integer Value
asSMPP_TLV_OCTET Zero terminated String Value
asSMPP_TLV_COCTET Variable Data

You have to use the 'SetTLVParameter' and 'GetTLVParameter' functions to send and/or receive TLV parameter values.
The following examples demonstrates how to use these functions:

SetTLVValue

Set objSmpp      = CreateObject ( "ActiveXperts.SmsProtocolSmpp" )
Set objMessage   = CreateObject ( "ActiveXperts.SmsMessage" )
Set objConstants = CreateObject ( "ActiveXperts.SmsConstants" )

...

objSmpp.SetTLVValue objConstants.asSMPP_TLV_1BYTE, &H0501, 2              ' Set TLV 0x0501, Integer Value '2'
objSmpp.SetTLVValue objConstants.asSMPP_TLV_OCTET, &H060B, "A4D7E"        ' Set TLV 0x060B, String Value 'A4D7E'

...

objSmpp.Send ( objMessage )

GetTLVValue

Set objSmpp      = CreateObject ( "ActiveXperts.SmsProtocolSmpp" )
Set objConstants = CreateObject ( "ActiveXperts.SmsConstants" )

...

objSmpp.Connect

...

WScript.Echo objSmpp.GetTLVValue ( &H0210 )                               ' Retrieve value of TLV 0x0210 (sc_interface_version)


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: 0x001D TLV Parameter Type: 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: 0x130C TLV Parameter Type: 1BYTE



billing_identification

Billing information passed from ESME to MC

TLV Parameter Tag: 0x060B TLV Parameter Type: 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: 0x0605 TLV Parameter Type: OCTET



broadcast_area_identifier

The broadcast_area_identifier defines the Broadcast Area in terms of a geographical descriptor.

TLV Parameter Tag: 0x0606 TLV Parameter Type: 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: 0x0608 TLV Parameter Type: 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: 0x0600 TLV Parameter Type: 1BYTE



broadcast_content_type

The broadcast_content_type parameter specifies the content_type of the message content.

TLV Parameter Tag: 0x0601 TLV Parameter Type: OCTET



broadcast_content_type_info

The broadcast_content_type_info parameter contains additional information specific to the broadcast_content_type.

TLV Parameter Tag: 0x0602 TLV Parameter Type: 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: 0x0609 TLV Parameter Type: 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: 0x0607 TLV Parameter Type: 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: 0x0603 TLV Parameter Type: 1BYTE



broadcast_rep_num

This field indicates the number of repeated broadcasts requested by the Submitter.

TLV Parameter Tag: 0x0604 TLV Parameter Type: 2BYTE



broadcast_service_group

The broadcast_service_group parameter is used to specify special target groups for broadcast information.

TLV Parameter Tag: 0x060A TLV Parameter Type: 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: 0x0381 TLV Parameter Type: OCTET



callback_num_atag

The callback_num_atag parameter associates an alphanumeric display with the call back number.

TLV Parameter Tag: 0x0303 TLV Parameter Type: 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: 0x0302 TLV Parameter Type: 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: 0x0428 TLV Parameter Type: 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: 0x0425 TLV Parameter Type: 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: 0x0613 TLV Parameter Type: 4BYTE



dest_addr_np_information

The dest_addr_np_information TLV is used to carry number portability information.

TLV Parameter Tag: 0x0612 TLV Parameter Type: 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: 0x0611 TLV Parameter Type: 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: 0x0005 TLV Parameter Type: 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: 0x0007 TLV Parameter Type: 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: 0x060E TLV Parameter Type: 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: 0x0006 TLV Parameter Type: 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: 0x0610 TLV Parameter Type: 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: 0x020B TLV Parameter Type: 2BYTE



dest_subaddress

The dest_subaddress parameter specifies a subaddress associated with the destination of the message.

TLV Parameter Tag: 0x0203 TLV Parameter Type: 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: 0x0008 TLV Parameter Type: 2BYTE



display_time

The display_time parameter is used to associate a display time of the short message on the MS.

TLV Parameter Tag: 0x1201 TLV Parameter Type: 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: 0x0420 TLV Parameter Type: 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: 0x1380 TLV Parameter Type: 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: 0x1383 TLV Parameter Type: OCTET



language_indicator

The language_indicator parameter is used to indicate the language of the short message.

TLV Parameter Tag: 0x020D TLV Parameter Type: 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: 0x0424 TLV Parameter Type: 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: 0x0427 TLV Parameter Type: 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: 0x0426 TLV Parameter Type: 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: 0x0422 TLV Parameter Type: 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: 0x0030 TLV Parameter Type: 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: 0x1204 TLV Parameter Type: 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: 0x0423 TLV Parameter Type: OCTET



number_of_messages

The number_of_messages parameter is used to indicate the number of messages stored in a mailbox.

TLV Parameter Tag: 0x0304 TLV Parameter Type: 1BYTE



payload_type

The payload_type parameter defines the higher layer PDU type contained in the message payload.

TLV Parameter Tag: 0x0019 TLV Parameter Type: 1BYTE



privacy_indicator

The privacy_indicator indicates the privacy level of the message.

TLV Parameter Tag: 0x0201 TLV Parameter Type: 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: 0x0017 TLV Parameter Type: 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: 0x001E TLV Parameter Type: 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: 0x020C TLV Parameter Type: 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: 0x020F TLV Parameter Type: 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: 0x020E TLV Parameter Type: 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: 0x0210 TLV Parameter Type: 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: 0x0421 TLV Parameter Type: 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: 0x1203 TLV Parameter Type: 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: 0x000D TLV Parameter Type: 1BYTE



source_bearer_type

The source_bearer_type parameter indicates the wireless bearer over which the message originated.

TLV Parameter Tag: 0X000F TLV Parameter Type: 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: 0x060D TLV Parameter Type: 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: 0x000E TLV Parameter Type: 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: 0x060F TLV Parameter Type: 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: 0x020A TLV Parameter Type: 2BYTE



source_subaddress

The source_subaddress parameter specifies a subaddress associated with the originator of the message. Field Size

TLV Parameter Tag: 0x0202 TLV Parameter Type: OCTET



source_telematics_id

The source_telematics_id parameter indicates the type of telematics interface over which the message originated.

TLV Parameter Tag: 0x0010 TLV Parameter Type: 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: 0x0204 TLV Parameter Type: 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: 0x0205 TLV Parameter Type: 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: 0x0501 TLV Parameter Type: 1BYTE






The ActiveXperts SMS and MMS Toolkit is a SMS development component (SDK). This control can be used by any Windows development platform, including Visual Basic .NET, Visual CSharp .NET, ASP .NET (VB,CS), ASP, Visual Basic, Visual Basic for Applications (VBA), Visual Studio/Visual C++, Borland Delphi and C++ Builder, PHP, ColdFusion, HTML, VBScript and any other ActiveX/COM compliant platform. The SMS and MMS Toolkit is an ActiveXperts Software B.V. Product.

Copyright ©1999-2007 ActiveXperts Software. All rights reserved.