Some links on sending SMS and the protocols/types involved
Posted by jpluimers on 2022/02/16
So I can find them back later:
- SMS: Short Message Service. Messages limited to 140 octet (160 7-bit characers, 140 8-bit characters or 70 16-bit characters) sent mainly over the GSM or UMTS mobile networks.
- Concatenated SMS or Multipart SMS. Does work on most devices and most operators. Way to send messages longer than 140 octets. Each part is billed separately.
- MSISDN a number uniquely identifying a subscription in a GSM or a UMTS mobile network. Always starts with country code. Never includes a prefix (like 00 or +).
- SMPP: Short Message Peer-to-Peer.
- HLR: Home Location Register.
An interesting party with some public SMS APIs is MessageBird. You can compare their old and new ones:
- New REST based APIs: [Wayback] Developers – MessageBird.
- Old APIs: [Wayback] The APIs of MessageBird – MessageBird.
- Repository: [Wayback] https://github.com/mobiletulip
SMS
via: Short Message Service – Wikipedia, the free encyclopedia.
SMS as used on modern handsets originated from radio telegraphy in radio memo pagers using standardized phone protocols. These were defined in 1985 as part of the Global System for Mobile Communications (GSM) series of standards as a means of sending messages of up to 160 characters to and from GSM mobile handsets. Though most SMS messages are mobile-to-mobile text messages, support for the service has expanded to include other mobile technologies, such as ANSI CDMA networks and Digital AMPS, as well as satellite and landline networks.
Transmission of short messages between the SMSC and the handset is done whenever using the Mobile Application Part (MAP) of the SS7 protocol. Messages are sent with the MAP MO- and MT-ForwardSM operations, whose payload length is limited by the constraints of the signaling protocol to precisely 140 octets (140 octets * 8 bits / octet = 1120 bits). Short messages can be encoded using a variety of alphabets: the default GSM 7-bit alphabet, the 8-bitdata alphabet, and the 16-bit UCS-2 alphabet. Depending on which alphabet the subscriber has configured in the handset, this leads to the maximum individual short message sizes of 160 7-bit characters, 140 8-bit characters, or 70 16-bit characters. GSM 7-bit alphabet support is mandatory for GSM handsets and network elements, but characters in languages such as Arabic, Chinese, Korean, Japanese, or Cyrillic alphabet languages (e.g., Russian, Serbian, Bulgarian, etc.) must be encoded using the 16-bit UCS-2 character encoding (see Unicode). Routing data and other metadata is additional to the payload size.
Larger content (concatenated SMS, multipart or segmented SMS, or “long SMS”) can be sent using multiple messages, in which case each message will start with a User Data Header (UDH) containing segmentation information. Since UDH is part of the payload, the number of available characters per segment is lower: 153 for 7-bit encoding, 134 for 8-bit encoding and 67 for 16-bit encoding. The receiving handset is then responsible for reassembling the message and presenting it to the user as one long message. While the standard theoretically permits up to 255 segments, 6 to 8 segment messages are the practical maximum, and long messages are often billed as equivalent to multiple SMS messages. Some providers have offered length-oriented pricing schemes for messages, however, the phenomenon is disappearing.
Concatenated SMS or Multipart SMS
via: Concatenated SMS – Wikipedia, the free encyclopedia.
mobile phones and their networks sometimes support concatenated short message service (or concatenated SMS) to overcome the limitation on the number of characters that can be sent in a single SMS text message transmission (which is usually 160). Using this method, long messages are split into smaller messages by the sending device and recombined at the receiving end. Each message is then billed separately. When the feature works properly, it is nearly transparent to the user, appearing as a single long text message.
MSISDN
via: MSISDN – Wikipedia, the free encyclopedia.
MSISDN is a number uniquely identifying a subscription in a GSM or a UMTS mobile network.
The ITU-T recommendation E.164 limits the maximum length of an MSISDN to 15 digits. 1-3 digits are reserved for country code. Prefixes are not included (no 00 or +). Minimum length of the MSISDN is not specified by ITU-T but is instead specified in the national numbering plans by the telecommunications regulator in each country. Practical minimum length is 3 (as CC, NDC and SN each need to be at least 1 digit long).
In GSM and its variant DCS 1800, MSISDN is built up as
MSISDN = CC + NDC + SN CC = Country Code NDC = National Destination Code, identifies one or part of a PLMN SN = Subscriber Number
In the GSM variant PCS 1900, MSISDN is built up as
MSISDN = CC + NPA + SN CC = Country Code NPA = Number Planning Area SN = Subscriber Number
The Country Code identifies a country or geographical area, and may be between 1-3 digits. The ITU defines and maintains the list of assigned country codes.
SMPP
via: Short Message Peer-to-Peer – Wikipedia, the free encyclopedia.
The Short Message Peer-to-Peer (SMPP) in the telecommunications industry is an open, industry standard protocol designed to provide a flexible data communication interface for the transfer of short message data between External Short Messaging Entities (ESME), Routing Entities (RE) and Message Centres. It is often used to allow third parties (e.g. value-added service providers like news organizations) to submit messages, often in bulk. Because of its support for non-GSM SMS protocols, like UMTS, IS-95 (CDMA), CDMA2000, ANSI-136 (TDMA) and iDEN, the SMPP is the most commonly used protocol for short message exchange outside SS7 networks.
HLR: Home Location Register
via: Network switching subsystem – Wikipedia, the free encyclopedia.
–jeroen
Leave a Reply