The Route of a Text Message
scottbot.net
scottbot.net
One section caught my eye, and I wanted to add some detail:
>In order to efficiently send and receive signals, antennas should be no smaller than half the size of the radio waves they’re dealing with. If cell waves are 6 to 14 inches, their antennas need to be 3-7 inches. Now stop and think about the average height of a mobile phone, and why they never seem to get much smaller.
A common neat trick is to take advantage of the fact that this is only true in air, and the wavelength depends on the material around the antenna. Some modern antennas (especially common in GPS and Bluetooth) are built as a metal foil around a ceramic element, which has a much shorter wavelength and allows them to be shrunk[1].
You can also "fold" the antenna a bit, and hence get away with a quarter wavelength in return for reduced performance in other areas. A common example in phones is the Inverted F antenna [2].
Finally, a large "invisible" component of many antennas is the size of the ground plane attached. Shrinking this can affect antenna performance a lot. Generally, this is an internal copper layer of the PCB that is used by other components too, but it's important to realise its an important part of the RF performance. Therefore, you can't judge how good an antenna is from the visible size of it alone, the form of the whole device matters.
Personally I find it a fascinating hobby and never run out of fun things to research/build/test.
over the last few years, phones have gotten a lot larger on average... maybe we'll get to one wavelength soon...
>Through some digital gymnastics that would take entirely too long to explain, suddenly my wife’s phone shoots a 279-byte information packet containing “I love you” at the speed of light in every direction, eventually fizzling into nothing after about 30 miles.
is the biggest understatement in the whole article. It omits the entire baseband!
Within the baseband, even the channel coding process itself is insanely complex, involving convolutional codes, CRCs, weird interleaving schemes... and then there's the modulation, and all the L1 signalling to support it all... I could go on.
https://en.wikipedia.org/wiki/EMI_(protocol)
And an old blog post of mine on why MMS failed but still managed to delay actual mobile internet by 10 years:
https://gyrovague.com/2014/06/27/how-sms-set-back-the-mobile...
https://en.wikipedia.org/wiki/Multimedia_Messaging_Service
Here's the technical spec, which manages to combine the single bit level detail of old school telco with the enterprisey goodness of SOAP.
http://www.qtc.jp/3GPP/Specs/23140-6g0.pdf
For example, this is how you say "OK" in MM7:
HTTP/1.1 200 OK
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
<?xml version="1.0" ?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header>
<mm7:TransactionID xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-3" env:mustUnderstand="1"> vas00001-sub</mm7:TransactionID>
</env:Header>
<env:Body>
<SubmitRsp xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-3">
<MM7Version>5.6.0</MM7Version><Status>
<StatusCode>1000</StatusCode>
<StatusText>Success</StatusText></Status>
<MessageID>041502073667</MessageID>
</SubmitRsp>
</env:Body></env:Envelope>Your blog post above was also a good read. Thanks.
Or as is frequently mentioned on HN, sell the product before there is a product - to see how many people would become customers.
I wrote algorithms to convert 8bit to 7bit and back as some our customers require that.
One thing that strikes me about SMS is that most people think SMS is secure and offer great privacy. It is not. The messages are not encrypted, and from the technical perspective there is no way to prevent SMSC from reading your messages.
This article reads like the most immense answer to that question might.
I think most of the time when people ask this question, they're really only looking for a protocol level answer, they're not looking at you getting into the nitty gritty of comms signals and the 7 layer OSI model and BGP and frame relay protocols. Some layers are more fascinating than others...and depending on who you're talking to, the level of focus you give each layer can vary. But you could quite easily drown someone with information.
The tragedy of this is that you kind of need to understand the big picture before any of the details become clear. In much the same way you learn the detail of math without ever understanding the big picture and consequently a lot of people fail to feel good at math because they just don't get it. It's not until you have sufficient vocabulary until the grammar becomes clear.
It's easier to learn the web than math from the top down because all the pieces are reasonably easy to interact with and there are easy to obtain tools to allow you to pick apart just about everything to help you understand what is going on under the covers... except for the BaseBand radio on your cell phone, that's a virtual black box that the phone manufacturers don't want you picking apart. Tools for this are beginning to become available as hackers manage to find ways to reverse engineer them too.
The base station doesn't know or care about phone numbers. (Kinda like L2 and L3 in networking - MAC vs IP addresses.)
The article glosses over how the resulting message structure is actually sent over the radio interface and the SS7 network. In all it involves establishing (somewhat TCP-like) connection between your phone and SMSC across the signalling paths. The fact that this process is somewhat involved and consumes significant amount of radio resources is probably at least partially the reason why SMSes aren't particularly cheap.
On the other hand on native LTE sending or receiving SMS could in theory consist of two UDP packets, but I'm not sure how widely is this deployed.
1: https://en.wikipedia.org/wiki/Rich_Communication_Services
Great article, thank you very much!
And this phrase kills me (in a good way):
"The process isn’t entirely frictionless, which is why my phone vibrates lightly upon delivery"
Except the value judgments about endianness in encoding. All of the decisions in this system were made in a broader context. When you see something weird, it's tempting to say, that is inane, but it is enlightening to ask, what am I missing?
Is this actually true? I thought this was mostly because this was a convenient size for phones to be, and that antennas were often internally folded anyways.
> You know that every point of light, like the Christian God or Musketeers (minus d’Artagnan), is always a three-for-one sort of deal. Red, green, and blue combine to form white light in a single pixel.
Doesn't Samsung use PenTile displays, which has the normal number of green subpixels and but with fewer red and blue ones?
I'd love to know more about this line: "There’s also a little flag in the DCS byte that tells the phone whether to self-destruct the message after sending it"
And also, how do towers deconvolute all those signals?