SMPP-C Messages

Introduction

Any application may use an SMPP-C-... message to the SMPP Application to request that an outbound SMPP message be sent to an external SMPP entity.

The following applications from the core n2svcd module send SMPP-C-... messages to the SMPP Application:

The following LuaApp agents from the core n2svcd module send SMPP-C-... messages to the SMPP Application:

The internal SMPP-C-... messages are:

SMPP-C-REQUEST

The SMPP-C-REQUEST message is sent to the SMPP Application by any application that wishes to perform an outbound SMPP request.

Refer to the SMPP Application Configuration documentation for more information on configuring application parameters.

The attributes of the SMPP-C-REQUEST message are:

Field Type Description
smpp Object [Required] Container for the parameters of the SMPP request that we are to send.
.pdu String [Required] The name of the SMPP operation to send, either submit_sm or deliver_sm.
.fields String [Required] Container for the fields of the SMPP operation to send.
.service_type String Can be used to indicate the SMS Application service associated with the message.
(Default = null).
.source_addr_ton Integer The type of number for the source address of the message. Possible values are:
  • 0 - Unknown
  • 1 - International
  • 2 - National
  • 3 - Network Specific
  • 4 - Subscriber Number
  • 5 - Alphanumeric
  • 6 - Abbreviated
(Default = 0, Unknown).
.source_addr_npi Integer The numbering plan for the source address of the message. Possible values are:
  • 0 - Unknown
  • 1 - ISDN (E163/E164)
  • 3 - Data (X.121)
  • 4 - Telex (F.69)
  • 6 - Land Mobile (E.212)
  • 8 - National
  • 9 - Private
  • 10 - ERMES
  • 14 - Internet (IP)
  • 18 - WAP Client Id
(Default = 0, Unknown).
.source_addr String Address of the SME from which the message originated.
(Default = '', empty).
.dest_addr_ton Integer The type of number for the destination address of the message. Possible values are as for the source_addr_ton parameter.
(Default = 0, Unknown).
.dest_addr_npi Integer The numbering plan for the destination address of the message. Possible values are as for the source_addr_npi parameter.
(Default = 0, Unknown).
.destination_addr String Destination address of the short message.
(Default = '', empty).
.esm_class Integer Bitmask to indicate special message parameters in the range 0..255. Refer to the SMPP standard for details of the bitmask format. This parameter should only be used when specific behaviours are intended, as it can lead to non-decodable messages if specified incorrectly.
(Default = 0, no specific features, default message type, default SMSC mode).
.protocol_id Integer Bitmask to indicate higher-level network protocol in the range 0..255. Refer to information on the TP-Protocol-Identifier parameter in GSM 03.30 for details of the bitmask format.
(Default = 0, implicit).
.priority_flag Integer The priority of the short message. Possible values (for GSM / ANSI-136 / IS-95 respectively) are:
  • 0 - Level 0 (lowest) priority (Non-priority / Bulk / Normal)
  • 1 - Level 1 priority (Priority / Normal / Interactive)
  • 2 - Level 2 priority (Priority / Urgent / Urgent)
  • 3 - Level 3 (highest) priority (Priority / Very Urgent / Emergency)
(Default = 0, lowest priority).
.schedule_delivery_time String Defines the scheduled delivery time of the short message, in Absolute or Relative time format, as per SMPP 3.4 specification section 7.1.1.
(Default = null, not scheduled).
.validity_period String The validity period of the short message, in Absolute or Relative time format, as per SMPP 3.4 specification section 7.1.1.
(Default = null, no validity period).
.registered_delivery Integer Bitmask to indicate the SMSC delivery receipt mode in the range 0..16. Refer to the SMPP standard for details of the bitmask format.
(Default = 0, no intermediate notification, no recipient acknowledgement, no delivery receipt).
.replace_if_present_flag Integer Set to 1 to replace an existing message. Set to 0 for no replacement.
(Default = 0, do not replace).
.flash Integer Set to 1 to set the message class as flash (i.e. display without storage). Set to 0 for normal messages. Refer to the Outbound Flash Message Encoding configuration documentation for details on how this flag is expressed in the constructed message. This parameter is ignored if data_coding is specified.
(Default = 0, normal message).
.data_coding Integer [Conditionally Required] The data coding value to use in the constructed message. This parameter should only be used when specific behaviours are intended, as it can lead to non-decodable messages if specified incorrectly. If this parameter is specified, short_message (or the SMPP message_payload TLV, tag 0x0424) must also be specified.
(Default = determined by SMPP Application configuration).
.sm_default_msg_id Integer The identifier for a per-SMSC prebuilt message in the range 1..254.
(Default = 0, no prebuilt message).
.short_message Binary String [Conditionally Required] The encoded bytes of message content as binary data to send in the constructed message, with a maximum length of 255 bytes. This parameter should only be used when specific behaviours are intended, as it can lead to non-decodable messages if specified incorrectly. If this parameter is specified, data_coding must also be specified.To specify the non-encoded text, use the short_message_text field.
(Default = null, not used).
.short_message_text String The non-encoded message text. This will be automatically encoded when the message is constructed using the data_coding parameter.
(Default = '', empty).
.tlvs Object Container for the TLVs to send in the SMPP operation.
(numeric TLV tag value) String or Integer A tag-value pair. For each TLV to send in the message, one instance must be present in the tlvs object. Only TLVs supported by the N2SVCD SMPP Application may be sent.

SMPP-C-SENT

The SMPP-C-SENT message is sent by the SMPP Application to the requesting application when the constructed SMPP-C-REQUEST is sent.

The attributes of the SMPP-C-SENT message are:

Field Type Description
bytes Object [Always Present] The raw constructed SMPP request bytes.
smpp Object [Always Present] The request fields of the SMPP message, as encoded. This will also contain any field values that were populated by the SMPP Application itself.

SMPP-C-RESPONSE

The SMPP-C-RESPONSE message is sent by the SMPP Application to the requesting application when an SMPP response is received for the original SMPP-C-REQUEST, or if a failure occurs such that no SMPP response will be received.

The attributes of the SMPP-C-RESPONSE message are:

Field Type Description
success 0/1 [Always Present] Indicates if the request was successful (1) or not (0).
error String Indicates the reason why the request failed. Only present if success is 0.
bytes Object The raw returned SMPP response bytes. Present only if success is 1.
smpp Object [Conditionally Present] Container for the SMPP response parameters received. Present only if success is 1.
.pdu String [Always Present] The type of the received response, either deliver_sm_resp or submit_sm_resp.
.command_id Integer [Always Present] The SMPP header command_id for the received response.
.sequence_number Integer [Always Present] The SMPP header sequence_number for the received response.
.command_status String [Always Present] The SMPP command_status for the received response. Refer to the SMPP specification for possible values.
.fields Object Container for the fields received in the SMPP response. Only present if the response contained fields.
.message_id String The returned SMSC-generated message ID. Only present when the sent message was a submit_sm.