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 Coding | Charset |
---|---|
0 | SMSC Default (ASCII/IA5) |
1 | ASCII/IA5 |
4 | GSM 03.38 |
8 | UCS2 (ISO/IEC-10646) |
GSM Default
Data Coding | Charset |
---|---|
0 | GSM 03.38 |
1 | ASCII/IA5 |
8 | UCS2 (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 Option | Description | Setting |
---|---|---|
NONE | Sends no delivery receipts | xxx0xx00 |
Result | Sends only the final delivery receipt (success or failure) | xxx0xx01 |
ALL | Sends all delivery receipts | xxx1xx01 |
ERROR | Sends delivery receipts for all failures | xxxxxx10 |
SMSC_ALL | Sends all delivery receipts resulting from the carrier attempting to send the message to the handset | xxx1xx00 |
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.