Table of Contents
what is sms mms?
We tend to think of sms as simply a synonym for texting. In reality texting has been multiple protocols over the years. SMS was the early days, text only, limited to 160 characters. MMS (multimedia messaging service) added the ability to send photos, and today RCS (rich communication service) has been continually rolling out since ~2017.
Anatomy of messaging:
There is all the typical cell infrastructure used to make calls, in addition we have messaging service centers that improve the network's ability to deliver messages by saving the data and resending it in the case that a target phone does not acknowledge receipt of the message. These service centers can have different forwarding policies and make no guarantee of transmission since texting is a "best effort" service. We also have sms/mms/rcs gateways that enable interoperability between communication formats/devices for example: email to text conversion. This is also how we can send a text without a mobile handset. Each gateway has one or more SIM numbers that it can use to send messages along the network on behalf of its users. Occasionally a particular business can make a contract with a network provider to connect directly to their messaging center as a gateway rather than using an intermediary, this is really only done in the case of extreme message volumes. There is also the Home Location Registry which is a central database of every SIM and its service information, including its current service area.
Gateway options
There are many SMS gateway options, but not all of them are suitable for every purpose. For example: JMP offers an XMPP to SMS gateway as part of their service, but that their network contract restricts that gateway to purely personal use, no automated messages. There are also tools that allow you to connect to your phone and use it as an sms gateway. If a target number's carrier is known, many carriers offer a free email gateway that we can use.
The options we'll examine are:
- kannel
- playsms
- jasmin
The above tools let us run a server that we can connect to in order to forward messages (the gateway) but they themselves are unable to send an sms directly, they need a connections to some sort of smsc/gsm modem. To use any of these we may need to obtain a gsm modem, it looks like we can find one online for less than $20, though we probably still need to pay for a SIM plan. Ideally I'd like to use a pre-existing phone as the smsc/modem.
Other tools
- gammu
Some other commercial products that could be used:
- google messages
- apple message sync
- twilio
- plivo
- infobip
- maybe kde connect
- mautrix-imessage
- straight up ios shortcuts has texting capabilities
try looking some stuff in the app store too. twilio charges per message and is about 1 cent.
Avoiding spam flagging
Maybe you can send messages staggered to avoid filters. Action network is a tool used for text-banking.