Send & Receive Messages

Sending a Message

To send a message with SMPP, you’ll use the submit_sm operation, which will submit an SMS to the SMSC to be send to the destination. Note that Vibes only supports messages up to 900 characters. Messages over 900 characters may be truncated.

📘

The submit_sm protocol does not support the transaction message mode.

TON/NPI & Other Settings

TON and NPI values may change from aggregator to aggregator, so we’ve created the below table to help you properly set the TON and NPI values on your message sends.

Source TON

0 - for messages sent via Shortcode or Longcode 5 - for messages sent via Alphanumeric Code (non-US)

Source NPI

Always 0

Destination TON

Always 0 - Non-US/Canada MDNs must be sent in E.164 format.

Destination NPI

Always 0

System Type

Not used - Leave blank.

Service Type

Not used - Leave blank.

Validity Period

Not used - Leave blank.


For more on the required message settings, please see Encoding & Message Settings.

For optional Optional Vibes TLVs.

Receiving a message

The deliver_sm operation is sent by the SMSC to your ESME, which your ESME can then route for delivery, if applicable.

In addition to sending messages, the SMSC uses the deliver_sm operation to transfer the following types of short messages to the ESME:

  • SMSC Delivery Receipt: A delivery receipt relating to a message which had been previously submitted with the submit_sm operation. This will only be sent if the ESME had requested a delivery receipt via the registered_delivery parameter. The delivery receipt data relating to the original short message will be included in the short_message field of the deliver_sm.
  • SME Delivery Acknowledgement: The user data of the SME delivery acknowledgement is included in the short_message field of the deliver_sm.
  • SME Manual/User Acknowledgement: The user data of the SME delivery acknowledgement is included in the short_message field of the deliver_sm.
  • Intermediate Notification: The user data of the SME delivery acknowledgement is included in the short_message field of the deliver_sm.