I want to implement a simple client application in java to connect and send messages using an SMS Gateway. The service provider has configured the gateway and I have it's IP, Port, Username & Password. I have downloaded SMPP API.
Question is there is not enough documentation. So is there any good examples or some documentation..?
Thank you.
There is a good pdf documentation.
This document defines version 3.4 of the SMPP protocol and specifies the command and response format to be used when implementing an SMPP v3.4 protocol interface.
It is intended for designers and implementers of an SMPP v3.4 interface between an SMSC and an External Short Message Entity (ESME), as illustrated in Figure 1.1
Related
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.
my question is following up from this question:
Simple Protocol Concept in Java for this setup
The idea is exactly the same i.e client will send request and server respond with some information:
However i want a well known protocol implemtation such that the server/client can be implemented in any programming langguage. So that client Running java can communicate over TCP/IP sockets to remote app written in C e.g.
for this reason, can you recommend any well known opensource implementation?
Just few tips:
Rest interface: http://en.wikipedia.org/wiki/Representational_state_transfer
Corba: http://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture
Apache Thrift: http://thrift.apache.org/
Google Protocol Buffers: https://developers.google.com/protocol-buffers/
your own implementation over tcp...
it depend on your architecture and your requirement, you can use TCP protocol directly, Http is another choice, if your server deployed on a http server, i recommend using web service. i hope my answer will give you some ideas.
I'm making client-server app and we've chosen Netty as a connection management framework. We use SSL TCP connections. As of now, the client is also being made on Java. But in future the project should support mobile devices: Android and iOS.
The question is: how painful is to implement C++ or Objective C client connecting to Java server on Netty?
You could use CocoaAsyncSocket, I have used it as a client with server that implemented in Netty using a protocol I have defined that will send and receive data as JSON and it's as good as Netty.
It really depends on what protocol you are using. If you define a protocol where you are sending serialised java objects as binary like this then you will trouble writing a client in a non JVM language. If you use a text based protocol (see here) or a HTTP based web-service then it will be easy.
If creating an IM platform in Java, which would be a better way to implement communications between the clients and server?
I was thinking either RMI or just a socket connection...
Advice please,
Thanks
I would use straight socket connection, using a well known protocol such as XMPP. You can use a library (like smack) to avoid implementing the whole protocol yourself.
The main advantage of XMPP over RMI or your self-made protocol is that is a well established protocol used for exactly that purpose: IM.
Some chat services already using XMPP include Google Chat (GTALK) and Facebook.
I already did this using Smack API, using XMPP protocol.
CometD has been specifically designed for use cases such as Chatrooms. Differently from other protocols, it works over HTTP port 80, which means (nearly) no hassles with Firewalls.
Listen to a recent podcast with Greg Wilkins about the project, which goes into some details of issues with implementing Chatrooms and how it gets handled by CometD.
I believe there is a Java client for CometD if you need to have client on both sides of conversation (normally frontend is JavaScript).
I am building a web application that has to be able to do the following:
Send emails to the (external) addresses registered by the users (say, Gmail, Yahoo Mail, etc).
Send/receive emails to local mailboxes that live in the application. These are more "messages" in that sense.
What are the potential open source technologies I could integrate with here? Thanks for your inputs.
So, you want a SMTP server? If you want to have it in Java, then I can suggest to pick Apache James. But in fact every decent SMTP server would suffice. You can just use JavaMail API, or the more convenienced Apache Commons Email which is built on top of JavaMail API, to talk with any SMTP server to send/read emails.
If you didn't already realize, you can also just make use of an existing SMTP server provided by your ISP or the web hosting. In this case only JavaMail or Commons Email would have been sufficient.
While Commons Email will help you get the sending part done, receiving email will require that you access mailboxes via IMAP or POP through the Java Mail API.
Java Mail is a little cumbersome to use, but this Stackoverflow question has a working IMAP sample to help you get started.
There is a JCA (Java Connector Architecture) adapter that makes your Java EE server open port 25 for receiving mails.
http://sourceforge.net/projects/mailra/
A quite old tutorial which is incomplete with some examples for IMAP watching can be found here:
https://community.jboss.org/wiki/InboundJavaMail
A general introduction to JCA can be found here:
http://www.adam-bien.com/roller/abien/entry/a_simple_transactional_file_jca