Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Build an SMS Forwarder with Raspberry Pi Zero W and Waveshare SIM7000E Hat (mete.dev)
120 points by mtrcn on Feb 21, 2021 | hide | past | favorite | 54 comments


If you can't purchase the GNSS HAT, use an old Android phone and install Termux on it. Then run some bash scripts on the phone that will do the job.

The phone will communicate with your network over wifi, and replaces both the Raspberry PI and the HAT.


Also important to note that the Android approach is more likely to continue to work. In many places (certainly Manhattan, where I am), everything but LTE (and I gues 5G) has long been turned off such that GSM/Edge/UMTS/etc no longer work.


What? I'd think lots of IoT and other automated data service relies on cheap and less-than-bleeding-edge technology. 3G coverage seems to include Manhattan (and most of the USA): https://www.whistleout.com/CellPhones/United-States/New-York


Cell site visualization tool featured on HN front page a few days ago shows thousands of 2g and 3g sites in NYC

https://alpercinar.com/open-cell-id/


I wonder how this data is collected and how long it takes for a tower to not be be seen before it drops off the map.

Carriers may be keeping a small (relative) amount of capacity up and running, but in the meantime prevent new activations (ATT does this with there 3G network for example), so "coverage" is a bit misleading in many cases.


> everything but LTE (and I gues 5G)

Oh wow. Various types of monitoring use cellular, house alarms etc.

Are those things just using LTE now?


In the states, LTE Cat M1 is most frequently what's used / available from my experience for IoT. In other places NB-IoT is more prevalent (which is way slower, but also way simpler)


You could also install am app like Tasker or Macrodroid and set up triggers for handling incoming SMS (e.g. If SMS received, forward using another mechanism)

For outgoing SMS, have Tasker or Macrodroid watch an email inbox and send emails to that inbox with a format like email subject line = recipient phone number, email message body = SMS body. Then parse it through those automation apps and have it send the SMS for you.

I did something like this before and it worked decently well but I haven't had the best luck with getting Android apps to run stable for long periods of time without manual intervention. Not sure if it was battery optimization settings or what.


I wonder if anyone tried running virtualized Android with an eSIM with VoWiFi? This way you could completely give up the need of having any hardware at all.


For solving a problem always there are millions of ways..


It's likely that this one is cheaper and more accessible to many, many people, including those in developing countries, since it doesn't rely on sourcing quasi-obscure hardware like the HAT


Can someone please explain to me the appeal of telegram (as opposed to signal)? Maybe I don’t understand something or am too old but how is it a safe haven compared to WhatsApp in the wake of the WhatsApp debecle. I just fail to understand.


Telegram is not at all secure compared to Signal (in theory). However it has an awesome UI and lots of nice features (most of which are lost using secret chats).

For the longest time these were exclusive features to telegram compared to Signal:

* Delete messages at other party ("undo"), critical for deleting accidentally sent nudes. * Username only communication * Stickers (silly, but well kinda fun) * Bots (very easy to make your computer talk to your phone or a group this way) * link preview * Self messages as easy link/file sharing between devices. Super useful.

Signal is slowly catching up, but it's so buggy at times, I am starting to really hate it/distrust it (I also dislike MM's personality/opinions). Matrix seems to move at a better pace, with more useful features already (e.g edit, markdown, some fun things). I am happy to get rid of telegram for Matrix. One feature better then the other already: resync of lost messages from the distributed network and no reliance on telephone numbers as UID.


The "note to self" has been there since I started using signal I think three years ago. Stickers are available since one and a half years, even though discovery could be better. Things have improved a lot in the last 2 years and I haven't encountered any breaking bugs.

Edit: and now with the New Groups you can send people a group link so that they can add themselves. Haven't tried that out yet but that seems pretty cool


The APIs for bot programming for telegram are great - good documentation, stable, lots of options/libraries for different languages, and possible to do much more complex bots than other messaging platforms.


It feels to me that Telegram is the closest thing to old school IRC that we "have"* right now. You can have public/private channels, you don't see other peoples phone numbers for no reason (you see their chosen nicks), you have bots, broadcasts and more.

* That has any reach beyond the people who would scoff at this sentence.


telegram is not secure, but it has secure secret chats feature it works, but nobody uses telegram for it's secret chats telegram is superior in 2 ways, ui/ux polishness and having an open api and native open source clients for all platforms the only potential competitior in that regard is matrix, but it's not there yet


> Can someone please explain to me the appeal of telegram (as opposed

Or Slack?


Does anyone know if you could you this combo to creat some kind of VoIP gateway that could forward calls to an app on an iPhone over the Internet?


There is something for Asterisk called chan_dongle.

Then you can use any SIP client on your iPhone to connect to that Asterisk and make/recieve calls.


You could probably develop one if you want. This is exactly what ride-hailing app Grab did in their app to make a call without exposing their phone numbers by forwarding calls to their server instead.


I'm pretty certain they wouldn't have used a raspberry pi for that


Back in the day we use to call such devices gateways.


They would be hooked up to a Nokia 6110 with a serial data cable and use Gammu :D

Edit: I just noticed that Gammu is still a thing and even used in this article.


Why isn't there something that turns a rooted Android phone into a VOIP <-> Cell network gateway? Something that allows incoming calls to be forwarded to SIP, and vice versa?

I haven't found something like that.


Maybe because nobody had a strong enough use case to feel compelled to implement it. There are very cheap GSM to SIP gateways, that are way less expensive than a mobile phone.


Do you have any links for those? I can't imagine them being much cheaper than a free used smartphone that many people have lying around or the price of a used phone from a pawnshop or ebay -- $50.


Maybe not as cheap as an used phone, but close: https://a.aliexpress.com/_mK1XuTt


Not possible with most devices. I wanted something similar, no result. Seemed like a hardware restriction that phone calls go to either the speaker or Bluetooth.


Nice I guess?

The hat itself is somewhat expensive (for only GSM), especially compares to LTE USB sticks which can do the same (and more). But of course not as compact and nice looking.


When would you use this SMS gateway versus something like Twilio, Plivo, or Bandwidth.com terminating a DID for SMS service?


Lots of businesses really, really want a mobile number from me for some reason, don’t accept VoIP numbers, and I don’t want to give them my real mobile number.

So instead I have a stack of SIM cards plugged into GSM USB sticks (like this mostly is) and get the inbound messages sent to me via Pushover notification.


Do you have a recommendation for gsm usb sticks? Where do you get them?

Do you use just one SIM card at a time, or do you have a usb stick that can hold (and operate) multiple SIM cards simultaneously?


I look for them on eBay but I don't have any current recommendations. In fact, I'm digging around for LTE replacements at the moment since T-Mobile is ending their GSM-only service rather soon.

I have a few USB sticks plugged into a powered USB hub and Gammu watches all of them for inbound messages.


Do you have dozens of phone bills to pay every month?


robotmay who also replied to you is correct for what I do, I have multiple prepaid US SIMs with PAYGO rate plans. It's trivial to get many of these and register them in bulk to get "real" mobile numbers.

(This is why I laugh and laugh at people who insist that VoIP numbers are more "fraudulent" because of whatever. Right now, breaking no rules whatsoever, I can get a hundred mobile numbers that any service will accept, and they'll go for a year without needing any more money. Stop using phone numbers as identity verifiers, people. All you're doing is making it harder for the people who aren't technically savvy and accomplishing nothing to prevent actual fraud.)


It's been a while since I looked, but the cheapest US paygo plans are still at least $3/mo (eg H2O wireless), and probably double that if you want more convenient billing. Have you found something better, or are you deriving that much utility from scaling to many devices or what? I'd think if the goal is signing up a bunch of accounts, one would be content with a single plan or maybe two, and just periodically swapping their phone numbers.

It seems like it would be easy enough to change your setup to hide your actual location by locating the gateway elsewhere and backhauling with its own IP connection.

BTW are there any standard interoperable formats for transmitting/presenting/archiving text messages, akin to Maildir for email or SIP for voice? If not, maybe Maildir is the right answer.


With all those sims, you still have a RSSI from physical cell phone tower(s), so its still serving its purpose for fraud prevention


How so? None of the fraud prevention APIs I've seen tell you if a given number is connected to a base station, only whether it's theoretically GSM, landline, VoIP, or something else. With the ability to tunnel LTE over an unstructured Internet connection ("wifi calling,") I don't have to be within range of a single US-based base station to "appear" like I am in the US to the mobile network.

And everyone tells me that only accepting "real" mobile phone numbers means they're just piggybacking on the identity checks that mobile carriers do. Which, if true, I'd like to introduce you to Constable George Crabtree and his nineteen perfectly valid mobile numbers, all of them with his name in the CNAM field.

All this does is prevent someone who's not tech savvy and who might be trying to save a bit of cash by using a Republic Wireless or TextNow or some other "free calls and texts!" service from fully participating in this new app-based reality we've constructed. Someone who actually wants to commit fraud will step right over these dumb speed humps and do whatever they like.

I'm not saying don't do fraud detection, I'm saying don't do fraud detection that is so screamingly trivial to bypass.


You might check out yoursecretnumber.com as their phone numbers show up as Cellular/PCS rather than landline.

That being said short code support is middling, not quite as good as VoIP numbers that use Bandwidth.com (Google Voice uses them) or Onvoy.


In the UK you can get a SIM for free from most networks as pay-as-you-go (i.e. you add credit to it instead of getting a monthly bill). With most of those you can happily receive messages on it without ever spending a penny.


When you want to have telemetry from somewhere without access to a wifi network.

The last I looked, SMS was also cheaper and lower power than mobile data.


The problem is that fixed part of most plans’ pricing make the cost prohibitive, not the pay-as-you-go component (eg the cost of a sim and phone number).

We were able to use a LoRa-like layer to forward to a base station that then uses a VoIP provider to do the brunt of the communication work.


I hardly use more than a couple hundred from my 5 000 monthly budget to external networks, on the same network they are free.


I think I failed to convey my point clearly. My point is that if you need a separate sim per IoT device, the (possibly monthly) cost of a sim and number will greatly exceed the cost of messages sent.


About 15 € every couple of months, maximum 3 months allowed without charging, is the cheapest pre-paid I can remember around here.


That makes sense. The provider incurs an ongoing (trivial to them in bulk) cost for leasing you the number so they can’t let them go stale - although three months is definitely more than lining their pockets. My VoIP provider charges a fixed 99c/month for each unique phone number. 15 € for three months is cheap for personal purposes when you have just a few in the field but isn’t sustainable for large scale deployment. I continue to be impressed by what can be accomplished in the 915 MHz ISM band; it’s not LoRaWan proper but you can achieve non-line-of-sight communication over a hundred and fifty miles (at obviously incredibly slow bitrates) with some signal conditioning magic. It would be amazing to spread a network of these around the world to enable constant low-bitrate communication without a base rate for pure pay-as-you-go options.


True, but that's using SMS for telemetry (totally valid for use cases where power or connectivity are challenges) or remote control, not brokering SMS between another medium; this use case is forwarding SMS messages to Telegram. Maybe if you had a SIM for a geography that wasn't supported by a VoIP provider for programmatic access?


Think of this as much about being a learning exercise as anything else. The project doesn't need to stand on it's own - the creator gets to learn something about both sides.

It's like seeing that M.2 is PCI-E, and wondering if they can plug a regular video card into it. :)

Although for this project, I can construct systems in my head where this would be useful, centered around non-US mobile plans which are "calling party pays", with free on-net SMS. The US is "bill and keep", which makes sending SMS off-net largely the same as on-net from the carrier's point of view.

In "calling party pays", having a device on the same network as the controlled device is about avoiding per-SMS charges.

Author is in the UK, and UK is CPP.

https://www.researchgate.net/publication/227426633_Mobile_te...


I imagine they mean this specific use case where you need ip connectivity to Telegram anyway. If it were bridging to something local, it would make more sense.


Why does any engineer/developer do something from scratch when existing solutions exist?

For fun


I use gammu-smsd and forward it to iOS using Pushover.

For the serial AT modem I use random Huawei LTE USB stick that I bought for 15 EUR years ago.

It was so cheap because it was provider locked, but there are keygens floating around internet that allow unlocking it to work on any network.


I'm not sure I understand. Does this thing do a man in the middle. Do you have to configure your phone to use it?


It has a separate SIM card.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: