46

We run a remote system and would like the servers to be able to alert us to their status via SMS. Is it possible to setup our own SMS gateway (or our own GSM network) so we DO NOT have to pay for an SMS provider?

Is this possible? if so, please let us know what are the required hardwares and how we get started..

I'm sure this is possible, because when the operator A want to send an SMS to the operator B, it do not pay any cent to the operator B. also, there are ton of online services like: Atompark.com, clickatell, ...etc

please Note: we know how to build an sms gateway using Linux system, a Modem GSM and a valid SIM, but we are looking a way that we do not have to pay any cent for sending sms messages...

  • 1
    Don't be discouraged, its a behemoth task no doubt about that , GSM SMS is so old school, now a days people are connected to internet, Why don't you come up with a Messaging protocol of your own and open source it, so implementer's over android and IOS can implement this, send your message Via Internet, (This is already done by people at Telegram). of people who do not have internet or message not being delivered in 5 seconds switch back to paid SMS services, in due process, more and more people will switch and you would have kicked a trillion dollar business in Nut sack. – Sandeep Nagaraj Jan 22 '16 at 07:42
  • For IP addresses, there are defined processes that [anyone](https://twitter.com/gexcolo/status/1048959363564666880) can follow to get an ASN. This question is asking after **the process** to do the same for becoming a mobile operator. How is that not "focused"? – JamesTheAwesomeDude May 21 '21 at 16:38

4 Answers4

42

Here's How It Works

You >>> Forwarding Aggregator >>> SMS Aggregator >>> Mobile Operator >>> Mobile Company >>> Your Customer

3 Major Parties Are Involved in the Whole Process:

1. Mobile Operators: They Manage SMSC (Short Message Service Centers). AT&T, Sprint/NEXTEL, T-Mobile USA, U.S.Cellular and Verizon Wireless are few of the major mobile operators in the whole world. They have deep connections with all major mobile phone companies. Most of them have 800 to 950 telecommunication/mobile companies in their pannel. All of your messages came to them via SMS Aggregators and they forward them to reciever's Mobile Company which send it to receiver in the end.

Cost of becoming a Mobile Operator: Billion Dollar Business if not Trillion.

2. SMS Aggregators: mBlox, air2web and motricity are few of them. They have deep connections with Mobile operators.

Cost of becoming SMS Aggregator: in Millions

3. Forwarding Aggregators/SMS Gateways: Clickatell, Twilio and esendex and few others are providing SMS Gateway APIs and most of the developers are using Clickatell to integrate its SMS API with their app. They charge different rates for different countries (NO FIXED RATE FOR ALL COUNTRIES). It would cost you rougly around $600-$700 for 100,000 messages (internationally).

Cost of becoming Forwarding Aggregator: May be in Millions

Bottom Line: I'm working on a FREE solution but till today there are no FREE reliable solution in the whole world to send Bulk Messages for FREE internationally. So stop wasting your time on searching for a FREE solution. You have to come up with a new technology in order to achive this.

Though there are many options to send Bulk messages within your country for FREE or by spending little money but you simply can't achieve this if you're planning to send messages internationally.

ChrisF
  • 134,786
  • 31
  • 255
  • 325
Junaid K.
  • 439
  • 5
  • 7
  • 2
    Then what about the opposite? Are there free, reliable, SMS gateways for non-bulk domestic (USA) SMSs, that are machine accessible (not human friendly websites). – Joe C May 29 '15 at 14:38
  • What if only in the US? Is there then a free solution? – most venerable sir May 31 '18 at 01:06
  • 3
    So basically you're saying "Big Global Telecom has a monopoly on this hustle and unless you're a big player, forget about it!" right? – lacostenycoder Nov 03 '18 at 16:52
  • 1
    I agree with @lacostenycoder here; I also wonder [and came here in the process of discovering] what it would take to become an SMSC peer (which seems to be the meat of the original question.) – JamesTheAwesomeDude Oct 28 '19 at 14:38
  • `Billion Dollar Business if not Trillion` isn't very actionable; **whereas** (e.g.,) *for IP space* there are defined protocols to get an ASN and [random schmucks](https://twitter.com/gexcolo/status/1048959363564666880) do it all the time. So, what IS the corollary process *for the [US] telephony infrastructure space*? (Even if the processes are, truly, insurmountable, surely they're listed *somewhere*, no? I can't even [yet] find *pointers* in the right direction, however; much less an actual citation to the relevant documents...) – JamesTheAwesomeDude Oct 28 '19 at 14:39
7

Aside from any operator provided email-to-sms system there is no "free" way to do this.

A want to send an SMS to the operator B, it do not pay any cent to the operator B

This is balanced by the fact that B will not pay A for messages going in the other direction. Internationally they often do pay SMS interconnect fees.

... setup our own SMS gateway

Yes, but you need access to an SMSC on a GSM network to send the messages either directly or via a device with a SIM, thats what you pay for.

or our own GSM network

Not practically, no.

Alex K.
  • 171,639
  • 30
  • 264
  • 288
7

You can use a raspberry pi or Orange pi with a Dongle.Then we can use AT commands.

We can connect the dongle and check whether It is connecting as a right mode using this command.

sudo lsusb 

Then we can use python code execute AT commands..

sending sms we can use this code

def sendsms(number,text):
    ser.flushInput()
    ser.flushOutput()
    ser.write('AT+CMGF=1\r\n')
    sleep(1)
    ser.write(f'AT+CMGS="{number}"\r\n')
    sleep(1)
    ser.write(f'{text}')
    sleep(1)
    ser.write(ascii.ctrl('z'))
    sleep(1)
    ser.flushInput()
    ser.flushOutput()
    print f"Text: {text}  \nhas been sent to: {number}"

read unread sms

def read_unread_sms():
ser.write('AT+CMGF=1\r\n')
sleep(2)
ser.write('AT+CMGL="ALL"\r\n')
sleep(5)
a = ser.readlines()
z=[]
y=[]
for x in a:
    if x.startswith('+CMGL:'):
        r=a.index(x)
        t=r+1
        z.append(r)
        z.append(t)
for x in z:
    y.append(a[x])
##Following line changed modem back to PDU mode
ser.write('AT+CMGF=0\r\n')
return y 

we can use "logger" for if you want create a logger file for the sms gateway.If you want to send the unread message to api, we can use "request" module for that.

Community
  • 1
  • 1
  • But still anyone will have same question and will search for answers. am I right? – Sachira Sudarshana Oct 10 '17 at 16:23
  • 2
    Yes, if you think that your answer gives some additional value to the question this is of course possible. But your answer is very general. If I have a PI and a Dongel, how can I do it? Where are the details? What software / configuration is required? Show us the Code! What are the possible limitations and /or prerequisites for your solution? – Webdesigner Oct 10 '17 at 16:50
  • 1
    Please Update you answer – Webdesigner Oct 10 '17 at 17:34
  • 1
    I updated the answer.Thanks for giving the advice to do the right thing right way. – Sachira Sudarshana Oct 10 '17 at 17:44
  • 4
    OP specifically asked `our own SMS gateway`, `our own GSM network`, `so we DO NOT have to pay for an SMS provider`. Even if [OP didn't actually mean this](http://www.google.com/search?q=xy+problem), this still seems like a blatant non-answer to the question as stated, given that **any "dongle" usable with a raspberry pi will simply be a GSM client to an existing cellular network**, and not a privileged SMSC peer. Am I missing something? – JamesTheAwesomeDude Oct 30 '19 at 16:04
5

While there are no free ways to send proper text messages, you might be better off buying an GSM module for a server (usb in racks would not be ideal, but there should be proper hw expansion buses). You would query the module itself rather then relying on a 3rd party middle server to send those messages, saving a notable portion of money.

Though I have not realized this per se, I created this plan for sending text messages for a service of mine. It was by far the cheapest option.

Mikulas Dite
  • 7,790
  • 9
  • 59
  • 99