Since message settings can vary, we recommend you read through the following article to understand how Vibes handles encoding, TON, NPI, and more.
Vibes utilizes SMPP 3.4, and our default data encoding is ASCII/IA5. However, Vibes accepts also supports GSM 7 bit and UCS2. See our chart below to see the data code that maps to each charset:
|0||SMSC Default (ASCII/IA5)|
|4||GSM 7 bit|
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.
Currently only ASCII is supported across all carriers. However, ASCII is limited in its character support which means some characters may not be able to be rendered. We recommend testing all your SMS sends on a variety of carriers to ensure your characters show up as expected.
The SMSC supports the following formats:
- National (10 digits)
- International (11 digits)
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.
|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.|
The following are additional Type Length Value (TLV) parameters that could be set on incoming and outgoing messages. Please see Optional Vibes TLVsfor the complete specification of each TLV.
|Carrier Code||Yes||Used to identify the carrier on a message.|
It will always be set on incoming messages and is optional on outgoing messages.
|Alternate Message Delivery||Yes||Used to specify if alternate message delivery should be used upon message failure.|
This feature is not supported for concatenated messages.
|Message Payload||Yes||Used to send a long message greater than 140 bytes. This should be used whenever possible for long messages as it is a better option than UDH headers for multipart SMS.|
The SMSC supports concatenated MO and MT messages via the User Data Header (UDH).
The User Data Header Indicator bit should be set to 1 in the ESM class for concatenated messages. Refer to Wikipedia for more information on how to construct the User Data Header.