3

I am new to sending SMSs and I have a requirement to build an SMS gateway that doesn't need to integrate with any SMS providers or Mobile Operators. However, I don't know if that's possible.

Someone recommended two libraries that they claim to be able to do that. Those libraries are based on SMPP. Here are the links:

Inetlab.SMPP JamaaSMPP

However, in my little knowledge about SMS, I don't think it's possible to be able to bypass Providers and Operators and send SMSs directly to phone numbers. If I'm mistaken please tell me.

Thanks in advance

Kenchi
  • 191
  • 1
  • 3
  • 18

4 Answers4

4

It is not possible with no integration. Think about it... at some point your messages must be injected into the mobile network to be routed to the user's phone. That requires that you have a connection or a gateway on that mobile network. The messages cannot get onto the network without some kind of integration.

There are three main options

  1. Use the providers' SMS gateways. Many providers have publicly available SMS gateways that will route messages to/from their customers. You send your message to their gateways and they store and route the message. Think of it as a mail server, which in many cases is in fact true as the gateway often processes SMTP traffic. You will need to track your user's phone number and carrier, and map the carrier data they enter to an SMS gateway for delivery. There is a limited number of carriers, however you will need to be prepared for users to show up with a phone on a carrier you've never heard of - so a mad scramble to look up the carrier's endpoint.

  2. Use your own SMS gateway appliance. This is a piece of hardware (usually LAN connected) which contains one or more SIM cards from one or more mobile network providers in your area. You send your message to your gateway and it sends the SMS to your recipients using the normal SMS services of the carrier(s). Think of it as a programmable cell phone if you like. Each SIM card is subject to the pricing and limits imposed by your agreements with the providers, and you will effectively be paying for a texting plan.

  3. Use an aggregator. This is probably the option you have been asked to avoid. The aggregator will run a platform similar to the options above. Take a really long look at how many messages you plan to send and receive. Many aggregators charge under $0.01 per message. This can be a tremendous cost savings for small volumes, or a tremendous expense for large volumes. It's what they do for business, so chances are a managed service will be better than anything you brew up yourself.

Other variations exist, but the fundamental piece is that you need to have a way onto the mobile networks so you have to integrate in some fashion with them.

Doug
  • 484
  • 2
  • 8
3

The phone number is stored in a service provider, it is like a symbolink link to an IMSI. The IMSI is the code (unique) of the SIM card. Without the provider or a service to translate the IMSI to a phone number you cant address the SMS.

However if you know the IMSI number you can send an SMS by using a SDR (within the radio range) with the GSM or LTE stack. You need to check your country laws to do that.

2

If you don't want to integrate with any SMS providers or APIs, simply you can send SMS with a mobile phone or GSM modem connected to a PC. This is done using the AT commands. AT commands are instructions used to control a modem. AT is the abbreviation of ATtention. Every command line starts with "AT" or "at".

Sample AT command to send a SMS looks like this.

AT
OK
AT+CMGF=1
OK
AT+CMGW="+85291234567"
> A simple demo of SMS text messaging.
+CMGW: 1

OK
AT+CMSS=1
+CMSS: 20

OK

Here is an application with sample codes to send/receive SMS. https://www.codeproject.com/Articles/38705/Send-and-Read-SMS-through-a-GSM-Modem-using-AT-Com

Read this article to find more ways of sending SMS with a PC. https://www.developershome.com/sms/howToSendSMSFromPC.asp

DinushaNT
  • 1,137
  • 6
  • 17
  • Upvoted, as a phone is of course the cheapest SMS gateway appliance you can get for my answer option 2. – Doug Mar 02 '20 at 22:28
0

There is a way around it sort of, but it's not "SMS" so to speak but MMS and is a solution/workaround I'm working on for a small church app. You can very often send an e-mail to a phone, you simply need to know the domains for the carriers and I'm sure there's a list out there somewhere. As an example: 619123456@tmomail.net.

Word of warning: Some people may incur charges, things can get blocked and not all carriers may have this ability, but that's all in the legal department of things I'm not going to get into.

Beeker
  • 383
  • 4
  • 20