I am developing a Java web application . I will need to send SMS to a mobile user from the application . How do I achieve this without using a mobile phone for sending SMS?.
I am relatively new to Networks . Please advice .
If you are in the US you could use Twilio. It costs 1 cent per SMS and you can send the messages through their REST API. They also have Java libraries.
http://sourceforge.net/projects/java-sms-api/
http://www.ozekisms.com/index.php?owpn=581
https://www.google.com/search?gcx=w&sourceid=chrome&ie=UTF-8&q=java+sms&safe=images
You should use SMS gateway. See here some gateways
Did you make a decision of what protocol has to be used for sms sending? A lot of SMS centers provide REST or SOAP API to send SMS messages. SOAP and REST are much more simpler than SMPP protocol (that is rather low-level) to my mind.
If you will decide to use SMPP protocol, there is SMPPSim tool which is SMSC (Short Message Service Centre) simulator and allows to test SMS sending functionality in a simple way. So you don't need access to any of real SMSCs.
If your SMS provider allows to use SOAP to send SMS messages, you can use SoapUI Service Mocking that also allows to develop a client for a SOAP service without access to the real one.
Related
i'm trying to create a web application that sends and receive SMS. I've already contacted a local SMS gateway and the connection is working.
I'm using Jsmpp as the library and i'm able to send and receive SMS through a sample application i build using Java SE.
Now i need to migrate this feature to web application. Sending SMS should be ok. But how can i add a listener to listen to the SMSC through my web application ? I'm using Spring and j2ee.
The SMSC doesnt expose a web api and dont have the ability to send sms to a api i expose. The only way they allow is the communicate through the SMPP protocol.
Thanks In Advance.
did you try the program in the link - http://www.java-samples.com/showtutorial.php?tutorialid=22?
If you are looking for any Bulk SMS Solution, You can use APIs provided by vendors such as https://www.textlocal.in/ or any other vendor whichever is feasible.
If you are looking to setup a gateway for yourself, you can check a solution like http://www.ozekisms.com/
Earlier there were Network Vendor provided Gateway which you can freely use, now there are no such gateway you can use freely.
More links,
https://www.quora.com/How-can-I-send-a-SMS-with-a-Java-code
http://www.airtel.in/aes/Global+Business/Global+Voice/Enterprise+Voice+Solutions/Mobility+Solutions/Enterprise+VAS/Bulk+SMS+Solutions
After lots of trial and error i managed to find a solution for the question.
The way i implemented it was to run a standalone java application as a Linux service that would listen to the SMSC. I used the sample project SMSRouter (https://smsrouter.org/) as the basis. Apache camel smpp component was used in this sample project to handle sms sending and receiving.
I then created queues inside Jboss application server for inbox and outbox to store incoming and outgoing sms messages.
Once a SMS is received by SMSRouter it will use JMS to add the SMS message to the inbox queue inside Jboss which will trigger a Message Driven bean that would keep listening to the inbox queue.
When the Web Application needs to send a SMS it will add a JMS message to the outbox queue which will then trigger the SMSRouter which is listening to the outbox queue. SMSRouter will use Apache Camel to send the SMS to the SMSC.
I am new to SMPP protocol. Please kindly advice me what are needed to build java project to send sms via SMPP protocol. How to setup SMPP server and SMPP clients? Need to setup SMS Gateway? If so how to install it? What is OpenSMPPBox?
Loot at this Twitter's Java project https://github.com/twitter/cloudhopper-smpp. It has both server and client parts.
SMPPSim http://www.seleniumsoftware.com/user-guide.htm is a great simple SMPP simulator. Written in Java.
smppsink https://github.com/PowerMeMobile/smppsink is also a simulator, but allows to give instructions to the simulator, for example what submit or delivery status to return. Written in Erlang.
I want to use SMSLib in a Java application in order to send an SMS to my iPhone without using an external gateway, So, i want to deal with the phone as the gateway and make it receive the message, node that I'm considering the GSM of the mobile as the modem.
You can't access any of iOS SMS settings nor the messages. Java is also not support natively on iOS. It is also not possible to do any low level GSM calls like SMS.
If you want to send a SMS in iOS you will need to use the MFMessageComposeViewController
I need to implement a use case in which I need to auto-generate message to a new user to verify his mobile number by asking him to enter a number sent to his mobile in an SMS.
Does Spring Framework provide any integration support to implement such a use case?
Could someone suggest me how to do that?
Any suggestions are appreciated.
Thanks.
Sending SMS messages requires a gateway provider, e.g. Clickatell or Twilio or whatever. You then implement that provider's SDK to send messages.
It costs about $5k to setup a short code, and about $1500 per month to maintain it. Some providers, like Twilio, let you share a development short code for sending messages, but you can't receive any.
What I've done for verification is send a message via email to a phone, asking for the phone number and the provider. Then convert that into the phone's email address, e.g. 9785551234#vtext.com.
We developed application written in Java/J2EE using which send and receives SMS from service provider and presently we are facing problem that there is some delay in messages and it cost's more for us.
by considering above situation we planned to move to GPRS technology (which is more cheaper and considerably fast).
So please suggest a course of action I can start with and post any sample application for GPRS-enabled system in Java.
With GPRS you would need a client application running in the mobile device. This means a lot of headaches for developing, deploying and supporting. Also, although it would be trivial for the clients to send messages, receiving won't be so straightforward. You would need to implement some kind of a "push" service. One of the problems would be that the client application should be always running.
In general, it isn't easy to replace SMS messages with GPRS communication. You may need to considerably change the architecture of your system.
To make a GPRS application using java you have to need GPRS Modem. First of all you have to make one container which handle request and replay of GPRS modem and your API. API contain private ip and port number wich send the request to container and container then send request to modelm and modem will give response to container and it send back to API.
By using methd Socket("IP Address", port number) you can connect with container and modem .
You have to need a public Ip Address andPort Number, it create virtual pipline between modem and container like as a telnet.
Using GPRS instead of GSM to send an SMS will not cause the SMS to be delivered any faster. You're barking up the wrong tree.