What is the maximum length of concatenated SMS in SMPP?
Asked Answered
S

2

10

I'm working on an SMSC service, which is supposed to join the messages (if it finds the PDU header) and then pass that message to the next service which uses different protocols (not just SMPP) to actually deliver the message. Now, I'm a little puzzled about the max length of the message.

I have been searching, and the only thing I found about it is this, where they mention that:

Note: In theory it is possible to utilize 255 messages (39,015 characters) for a Concatenated SMS. However, 3 SMS (or 459 characters), is generally considered to be the longest length message that will be displayed on the majority of mobile handsets. CardBoardFish limit Concatenated SMS to 459 characters to ensure maximum compatibility.

Is there any official documentation speaking of this maximum limit of 3 SMS?
What kind of limits mobile OSes actually have?
And finally, what maximum length should I allow in my service?

Spoke answered 11/5, 2015 at 8:15 Comment(9)
Sidenote: a single SMS length is 128 bytes, so 160 characters in latin, but half in chinese or arabic.Harness
@Harness I am aware of the length of a single SMS (and how encoding affects that length). I'm asking about multipart/concatenated messages and what maximum length actual mobile OSes support (if they have a limit at all).Spoke
Sadly this limits should have more to do with carriers than OSes, don't you think? Anyway, I see no official official statements about it... Interesting question here sir :)Harness
@Paulius: just in case, shkschneider is wrong about message length. A single SMS is 140 bytes, which is 160 characters in GSM 7-bit encoding or 70 in UCS-2 encoding. Which becomes 153 and 67 for multipart messages when concatenated with UDH.Brume
3 SMS parts is a very safe and conservative value. I've seen operators that permit 7, 11, or even more SMS parts. Anyway, I'm guessing that the limitation will be with the mobile operator rather than with the handset, unfortunately I don't have any real sources for it now.Brume
but why would it be a limit enforced by operator? I mean, the operator simply sends 20 sms that may or may not be 20 parts of a single message. It is the phone OS that does all the joining and displaying of the message, so that is why I assume it would be an OS limit.Spoke
@pilsetnieks: yes, I'm well aware of the GSM7, ANSI and UCS2. :)Spoke
@Spoke That was more for the benefit of others that might stumble upon this page and come to the wrong conclusions. As for the operator limits - I don't really know the inner workings but I'm guessing that they reassemble and process the messages for various reasons, e.g. spam or malware filters, and don't just blindly forward them.Brume
I haven't thought about spam filters... Also, they probably need to store it in a nice joined form for the NSA... Yeah, that makes sense now... :PSpoke
C
7

Theoretically, the maximum payload can be 64k, or approximately 256 message parts. Practically, though, it depends on supplier. At Clickatell, for example, we split the messages into 35 message part parts before sending it on to our suppliers. Officially, though, there isn't a standard that would answer your questions.

Cephalalgia answered 11/5, 2015 at 12:19 Comment(2)
So, basically, what you're saying is - I should just pick a number that I consider high enough to cover most needs of my clients and low enough to not cause problems for my chosen storage and just stick with it?Spoke
Pretty much, yeah. Also make that number configurable per client and supplier, picking the lowest common denominator, and you should be set. One thing to be said for standards: it is at least easier to know whether someone is conforming or not :PCephalalgia
A
1

Short answer is there is no official documentation. As you mentioned yourself there are theoretical limits set but that is all.

Long answer is that it depends on multiple factors:

1) Operator / SMS Aggregator

Following the store and forward principle some operators / aggregators decode and re-encode. There are a lot of implementations of SMSC's and also many more configurations. Some operators / aggregators are better than others in dealing with complex issues such as concatenated SMS. More commonly like many say around 3 parts is pretty safe these days.

2) Mobile handset GSM spec implementations

Some handset manufacturers are better than others with implementations of GSM specifications for SMS handling and have their own way of storing / decoding them. Again the less parts the better to be honest.

To conclude you should be primarily more concerned about what operators / aggregators do with your messages than the mobile OS.

As a side note beware of large concatenated messages. These parts are stored on your mobile phones SIM card and if parts are missing from a large message then these will take up space on your users phones which they cannot delete. So beware as you can very easily trash your SIM card with large concatenated messages.

Adelaideadelaja answered 11/5, 2015 at 16:49 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.