3 ms·
Back around 2000, shortly after The Matrix came out and everyone was buying "those" Nokia phones, I was tasked with writing a couple of applets for a certain UK
by robert_tweed 8y ago
Back around 2000, shortly after The Matrix came out and everyone was buying "those" Nokia phones, I was tasked with writing a couple of applets for a certain UK mobile phone operator.
One applet was to design operator logos. The other was to compose ringtones. Both popular things at the time. I was given access to an SMS gateway, a PDF of the Nokia message format and a deadline.
The exact UI was phone-dependent, but typically these updates would pop up a confirm box saying "Accept new ringtone?" or something similar. I was surprised to discover that this was triggered by sending an SMS, because there was usually no indication that a message had been received. If you were lucky you would be told where the file had come from, but often the phone just assumed it was an update from the network. On some phones there wasn't even an alert, it would just obey, silently.
The message just had to start with "//SCKL", followed by a code, followed by some data. That's it. On first reading I assumed the "header" part would require direct access to the SMS gateway, like the SMTP HELO or similar.
Nope. First thing I tried once I had some PoC data was to send a message from my phone directly to a colleague. It worked.
Over the course of that project I sent so many of those text messages I still can't get the code //SCKL1581 out of my head. JFTR, sending someone a really awful ringtone (a single diminished fifth or something) is way more annoying than sending them "0" as an operator logo, especially if their phone only has one ringtone.
https://www.activexperts.com/sms-component/sms/sckl/ https://www.activexperts.com/sms-component/sms/sckl/
- kuschku 8y agoDo you know if it’s possible to change the displayed operator name with this, and if yes, how? Every since a few years ago my SIM believes its operator to be a random sequence of characters that’s definitely not the operator, and I’d love to fix that.
- robert_tweed 8y agoDepends on the phone. I don’t think any modern phones support this, but you could try. The prefix for the logo is //SCKL1581 and IIRC all you need is an unencoded bitmap in hex. I.e., “0” is 4 black pixels and “f” is 4 white (or vice versa). The data format for ringtones is a lot more complicated. In theory you can just hex dump a monochrome bmp file of the correct size, although the byte order may be wrong and you’ll need to strip the headers. However you also need to know the codes for the network/country. If the first link doesn’t cover it I found another one here: https://www.csoft.co.uk/archive/sckl#an-operator-logo https://www.csoft.co.uk/archive/sckl#an-operator-logo IIRC images are zero-padded automatically so you can send in a single message as long as it’s not full size. The other problem is that modern phones handle multipart SMS automatically, so it might mangle the preamble. You might have more luck sending from an ancient phone or going via an SMS gateway API directly.
- kuschku 8y agoI meant the actual operator name. It’s displayed as text either Netz (German for "network", which is... not the actual name) or as something like ⅛£⅜±⅛°%).
- robert_tweed 8y agoOften the operator name is a bitmap logo, but they probably have a text version now as well. That looks like a unicode encoding error to me, might require a firmware update on your phone. I have’t looked at any of this for years so I can’t give any up to date information unfortunately.
- jfim 8y agoIt's been a while since I've done any telecom work, but from what I recall, the SIM card just sends a message to your phone with the operator name. The origin of that string could either be baked in the default app running on the SIM card or come from a message received from the network (eg. for a multi carrier SIM card).