Message & Encoding Settings

Since message settings can vary, we recommend you read through the following article to understand how Vibes handles encoding, TON, NPI, and more.

TON, NPI and Other Settings

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.

Encoding

Vibes utilizes SMPP 3.4, and we have two different data encoding sets to choose from. See our chart below to see the data code that maps to each charset:

ASCII Default

Data CodingCharset
0SMSC Default (ASCII/IA5)
1ASCII/IA5
4GSM 03.38
8UCS2 (ISO/IEC-10646)

GSM Default

Data CodingCharset
0GSM 03.38
1ASCII/IA5
8UCS2 (ISO/IEC-10646)

Choosing an encoding language

Each carrier is different in their encoding support, which may seem like a potential problem for those sending encoded messages. However, as an aggregator, Vibes makes our best effort to translate a message from one encoding language to another, if necessary.

However, translating a message from one encoding system to another may change the number of bytes (size) of the message. The maximum size of a message is 140 bytes, and not all messages can be re-encoded and still fit within the 140 bytes. In that case, Vibes will use the carrier’s default encoding and replace any unrenderable characters with placeholders.

To maximize success of message encodings, we recommend that you authorize messages to be split into multiple messages when necessary. For our HTTP API, the flag is splitLongMessages=true. In SMPP, utilize the message_payload custom header, which allows messages to exceed 140 bytes. Note that multiple messages may incur additional fees.

All character sets may not be supported across all carriers. We recommend testing all your SMS sends on a variety of carriers to ensure your characters show up as expected.

Phone Number / MSISDN Formant

The SMSC supports the following formats:

  • National (10 digits)
  • International (11 digits)
  • E.164

Outgoing messages to mobile numbers in the US and Canada can be set in any of the previous formats. Outgoing messages to international numbers should be set in the E.164 format.

Incoming messages from US and Canada will default to the National format, however, they can be changed, if required, to any of the other supported formats during the set up process. Incoming messages from international numbers will always be in the E164 format.

registered_delivery (DLRs)

Vibes supports a variety of delivery receipt options that can be set using the registered_delivery parameter. The table below displays your options:

DLR OptionDescriptionSetting
NONESends no delivery receiptsxxx0xx00
ResultSends only the final delivery receipt (success or failure)xxx0xx01
ALLSends all delivery receiptsxxx1xx01
ERRORSends delivery receipts for all failuresxxxxxx10
SMSC_ALLSends all delivery receipts resulting from the carrier attempting to send the message to the handsetxxx1xx00

TLV Parameters

Please see Optional Vibes TLVs for the complete specification of optional TLVs.

Concatenated Messages

The SMSC supports concatenated MO and MT messages via the User Data Header (UDH). Note that Vibes only supports messages up to 900 characters. Messages over 900 characters may be truncated.

The User Data Header Indicator bit should be set to 1 in the ESM class for concatenated messages. Refer to the full SMPP specifications for more information on how to construct the User Data Header.