SMS Gateway Project study notes

Active today
Viewed 33 times

For a personal project, I’d like to use an MF920V modem. It’s a mobile 4G modem made by ZTE. (Not to be confused with USB dongles).

The idea is to code an api with Python or Nodejs to remote control the Raspberry PI 3B+ through SMS. Using the same modem cell number. That could be used as a workaround for global network problems (IP, DNS…) and perform remote actions like rebooting the PI or rebooting the Modem itself… The pi would check sms messages received on the modem line and react based on instructions found in a preset sms models.

Remote network control using modem cell

Anybody tried working on that layer of communication with those modems? I’m sure it’s possible because their Android app ZTE Link displays received sms and capable of other settings functions like rebooting, managing wifi settings… What protocol you think is being used to sync the App to the modem? SSH is possible but HTTP API is also possible like a manufacturer API right?

My first approach, was trying to use the SMSsync app on an old GalaxyS4. That network expects the phone to be both an SMS Gateway and an IR transmitter. It’s a plus but with more equipments.

Remote network using another mobile cell

[UPDATE] I’m getting close! just by using Developer Console with the modem WebInterface, using their server built-in “server”, I found some interesting data in clear jSon format:

enter image description here

And when I googled “goform/goform_get_cmd_process”, I found this interesting project who used a similar project with a similar modem from ZTE !

And now, I received the same Data on terminal by using CURL. I could check new sms… 🙂

curl -s "http://<MODEMIP>/goform/goform_get_cmd_process?isTest=false&cmd=sms_capacity_info" -H "Host: <MODEMIP>" -H "Referer: http://<MODEMIP>/index.html#home" --compressed

What’s missing now is those SMS in readable format, because when I do the command to fetch all sms :

curl -s "http://<MODEMIP>/goform/goform_get_cmd_process?isTest=false&cmd=sms_data_total&page=0&data_per_page=500&mem_store=1&tags=10&order_by=order+by+id+desc"  -H "Host: <MODEMIP>" -H "Referer: http://<MODEMIP>/index.html#home" --compressed

I receive them in an encrypted format:

enter image description here

It’s a start ! I’ll keep working on that… Any idea of what encryption is being used here?

 New contributor
  • (1) I don’t know nothing about 4G modem, not to mention ZTE. But I like your cartoons very much, it is so newbie friendly. (2) Neither do I know “curl”. I am a Windows GUI guy and only know “pip”. I remember when using Rpi1 a couple of years ago, a guy told me to use “wget” to download something. At that time, I never heard of “wget” before. So I went to my Windows to “wget”, but then I did not know how to “detar” because I only knew “zip”. Then I need to “physically” transfer the software using an USB stick to Rpi. – tlfong01 7 hours ago   
  • At Rpi, the “install” command looked easy, I didn’t know how to use the commands or symbols “~”, “./”, and I knew nothing about the thing called “symbolic name/link” which you cannot “cd” or “ls”. So I struggled for 3 hours and finally gave up. I do know roughly “IP”, “DNS”, but I got confused with “hot-spot” and “access point” and “bridge”, “repeater” etc. So I am happy to see your comic like tutorial. Add Oil! – tlfong01 7 hours ago   
  • I heard about SIM800/900 and I know only the AT commands to talk to them, but that is about all I know about them. Now I know there is another thing called ZTE 4G modem. I think I need to catch up, because 5G is coming to my town, and the young guys will more LOL at me, the old dog, trying hard to learn new 5G tricks. Good luck to your project. – tlfong01 7 hours ago   
  • I’m a programmer and more active on Stackoverflow.com and there I’ve got used to contributors posting confusing Nonexplanatory questions ! I know the drill 😉 It’s my first post here, greetings to everyone and to the community Patrol editors. – Bilel 7 hours ago
  • Thank you ! And By the way, you can use bash and basic linux commands on windows. CMDER is the best terminal for that medium.com/@sithum/… You can use also Cygwin with cmder. – Bilel 7 hours ago
  • CURL is multiprotocol, it has more controls than wget and is more domotics friendly 😉 It’s being used also in php or via lib-curl in many other languages like C++… honestly, I use wget just to download things to a cloud server! – Bilel 7 hours ago
  • @billel, I am interested (curious) as to what the device will control. Please consider commenting or adding the use case to the original post. BTW, Tunisian beaches are exceptionally beautiful. – gatorback 7 hours ago
  • Yes I’m Djerba island. Such a mobile project, I can take to the beach 🙂 and Well the new project is not ready yet ! SMS GATEWAY is meant to troubleshoot during network issue. It’s mainly for Home domotic usage… It’s wireless and with less equipments attached to the PI. I used a Hometheater icon here… because I recently broke my LG HT’ remote control. So yes IR should be taken care of too 🙂 Sure, I’ll share the code and the final design when it’s ready ! – Bilel 6 hours ago
  • 1
    @Bilel, I like your remark of “contributors posting confusing Nonexplanatory questions”. So you know why I “like” your manga on the ZTE goody. I was so pleased some years ago I learned, from reading long hours of enjoyable manga series the scene in the cruel Japanese IT industry wars in the specific sector of “Internet social media system integration”. My day dream is to start a manga on newbie 5G survival tips, starting with ZTE MiFi: imgur.com/gallery/63cWJwQ. – tlfong01 6 hours ago   
  • A good sketch is better than a long speech 😉 Good luck for drawing inspiration – Bilel 6 hours ago
  • @Bilel I look forward to your demonstration of your successful project on youTube 🙂 – gatorback 6 hours ago
  • @Bilel, Many thanks for explaining the non-explanable term “CURL” to me. Me using CURL the first time is a CRUEL experience to me (like wget, I wasted me another three hours and finally gave up, when trying to install python 3.6.x in my Rpi with defult python 3.5.3. My lesson learnt was I found one reason taht I found things unexplainable was that I did not have the necessary prerequisite knowledge and skill at that time. It is the for same reason that I found it hard to explain to newbies who often found my answers unexplainable. / to continue, … – tlfong01 6 hours ago   
  • Anyway, this time to starting playing with 5G, I must read some warming ups : (1) ZTE > Home/Modem (MiFi) > MF920V: ztedevices.com.my/index.php/2018/03/21/mf920v, (2) ZTE MF920V Catalog – AliExpress: aliexpress.com/w/wholesale-zte-mf920v.html, (3) ZTE MF920V – AliExpress US$40 fr.aliexpress.com/item/… – tlfong01 6 hours ago   
  • Now I am doing some 5G window shopping. I read that the fake news yesterday the Brexit guys didn’t listen to the Great President and decided to go for HuaWei, I guess they would also go ZTE. So I should now forget Erricson and Nokia (I was once a huge fan of Nokia smart phone!). References: (1) ZTE Tmall FlagShip Store zte.tmall.com/search.htm, /to continue, … – tlfong01 4 hours ago   
  • (2) ZTE 5G Amart Phone Axon 10 Pro 5G – ¥5,000 detail.tmall.com/… (3) ZTE 5G CPE WiFi Home Router (King of wall penetration) – ¥3,000 detail.tmall.com/…. – tlfong01 4 hours ago   
  • So I read the OP’s question a second time, to get a rough idea of what he wants to do, and then started reading the ZTE MF920V user manual, to guess the OP can do what he want to do using the “Modem” and Galaxy S4 smart phone with the app called SMSsync. Then I immediately understand why to me, the WiFi newbie, the OP’s question is “Nonexplanatory”. There are two reasons: (1) I know what is WiFi, but the OP is talking about “MiFi”, the term which I never heard of, until this morning, (2) The OP uses new terms like “gateway” which I don’t exactly know what it is doing, / to continue, … – tlfong01 2 hours ago   
  • (3) The OP’s uses very old terms like “Modem” and “SMS” which me the old dog, can no longer precisely define. In those were the days I knew very well the inside out of the 1200 baud “Hayes smart modem”, and the “AT” command set. Nowadays SIM800/900 etc still uses AT commands and RS232 UART, but everything else is entirely different, 🙂 So I guess I must unlearn old things before learning new things, and start from the beginning: What is a “Modem”, what does acronym “SMS” stand for? References: (1) Modem: en.wikipedia.org/wiki/Modem. (2) SMS – en.wikipedia.org/wiki/SMS. – tlfong01 2 hours ago   
  • The more I think about it, the more I understand why the OP’s question is unexplanable, because of my lack of prerequisite. The question title starts with “SMS gateway” which I cannot explain. I know what is a “door”, and Ithink I know what is a “door way” But I know what is a “gate”, but I don’t know what is a “gateway”. I guess it might be a computer jargon, but I don’t know what exactly the jargon means. / … – tlfong01 1 hour ago   
  • Now I am reading one SMS Gateway called Twilo:(1) twilio.com/docs/glossary/what-is-a-sms-gateway An SMS Gateway enables a computer to send and receive SMS text messages to and from a SMS capable device over the global telecomunications network (normally to a mobile phone). The SMS Gateway translates the message sent, and makes it compatible for delivery over the network to … reach the recipient. … SMPP, or Short Message Peer-to-Peer, is a protocol for exchanging SMS messages between Short Message Service Centers (SMSCs) and/or External Short Messaging Entities (ESMEs). – tlfong01 19 mins ago   
  • I found it a bit hard to understand Twilo. So I wiked further: SMS gateway – Wikipedia: en.wikipedia.org/wiki/SMS_gateway. I am surprised to find that the following can do SMS gateway: AOL IM, ICQ, MS Outlook, Skype, AOL IM, Win Live Msngr, Twilio, MSN Msngr, Yahoo! Msngr, … An SMS gateway allows computer to send/receive SMS or MMS. Most messages are eventually routed to mobile phone networks. Many SMS gateways support media conversion from email and other formats. There is quite a lot to read. So I will go slowly and in the mean time checking out my 4.5G provider. 🙂 – tlfong01 2 mins ago    Edit   


If the content of the message comprises only characters 0-9 A-F then the message is in all likeliness encoded in hexadecimal.

If you copy and paste the message payload into a utility that translate hexadecimal to ASCII you might be pleasantly surprised with a message.

  • Thanks ! I just came from this to announce the same result onlineutf8tools.com/convert-hexadecimal-to-utf8 ! Yep it was just Hexadecimal code with no hash and no encryption… Me going through those USSD, UCS2 and mobile codes was just complicating things!!! I need to go back to primary school 🙂 Thank you – Bilel 7 hours ago
  • Please consider marking the answer as correct. You may also wish to consider using a SMS service like Twilio if you wish to reduce the complexity / part count (enables removal of SMS gateway from your design) – gatorback 7 hours ago
  • Thanks for the suggestion… But in this design, SMS could work independently from global internet. I do remember mentioning that 🙂 When internet fails, commands go through Global GSM network and local Wifi network. I started to think about that after DynDns and ISP cache issues… This API just adds an “Indoor” in case of failure 🙂 – Bilel 6 hours ago

Categories: Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: