SMS Input

Overview

The SMS Gateway may receive input in the following scenarios:

  1. As a terminating submission for delivery from the Redis service.
  2. As an originating delivery receipt, usually from the SMPP service.

SMS Submission

The SMS Gateway supports JSON documents for delivery to handsets with the following syntax:

{
  "sms_input": {
    "source_address": "<message source address>",
    "destination_address": "<message destination address>",
    "message_text": "<message text>",
    "message_class": "<message class>",
    "schedule_delivery_time":"<date for delivery",
    "validity_period": "<validity period of message>",
    "udh_port_addressing_size", <number of bits for UDH ports>
    "udh_source_port": "<userdata source port>",
    "udh_destination_port": "<userdata destination port>",
    "encoding_scheme": "<message encoding scheme>",
    "tlvs": [
      // TLV definitions
    ] 
}

The content of these fields is as below.

Field Type Required? Default Description
source_address String Yes - The source party identifier.
destination_address String Yes - The destination party identifier.
message_text String Yes - The message text to send.
message_class String No normal The message class, either normal or flash.
schedule_delivery_time String No (none) The date for message delivery. Specified in SMPP format, e.g. 191220230000012+
validity_period String No (none) Validity period of message. Specified in SMPP format, e.g. 191220230000012+
udh_port_address_size Integer No 16 The number of bits used for userdata port addressing addresses, either 8 or 16.
udh_source_port Integer No (from configuration) The source port in the userdata header for application port messaging. If specified, udh_destination_port must also be specified.
udh_destination_port Integer No (from configuration) The destination port in the userdata header for application port messaging. If specified, udh_source_port must also be specified.
encoding_schemes Array of String No (from configuration) The allowable encoding scheme(s) to use for the message_text, as set out below. Inferred from the SMPP service’s configuration output route(s) if not provided. If provided, route addresses that do not support any of the supplied encoding schemes will not be used.
tlvs Array No (empty) The TLVs for this message. Each array entry may be:
  • A String, in which case all TLV details will be retrieved from the SMPP service TLV configuration, matching on name, or
  • An Object, in which case the fields may be specified as per the SMPP JSON input. If a TLV with a matching name is found, its details will be used as a base, with any input fields overriding any configured values.

Delivery Receipts

Delivery receipts for prior message submissions must be SMPP JSON for deliver messages.