3

I have a SMS API that supports JSON via HTTP protocol. It receives SMS request from clients in JSON format and forward it to Gateway/SMSC using my own script. Now I am trying to develop a SMPP Server for one of our client where the client can connect to us using SMPP protocol.

I am planning to submit the messages to gateways/SMSC using the existing HTTP API. Basically HTTP api inside SMPP server. In that case I don't need to write any addition code for credit management.

It should work like,

  1. Receive request from the client via SMPP

  2. Validate client information

  3. Forward the message to the HTTP API

  4. Get the status of message using HTTP API

  5. Send status response to the client using SMPP.

My questions are,

  1. How do I create a SMPP server so that other client could connect to my application using SMPP?

  2. How can I manage multiple clients binding to the server?

  3. Is there any open source SMPP Server?

1 Answers1

1

Actually doing it in vice versa way would be more easier for your ESME applications to work; external applications send SMS via HTTP API to your SMPP Gateway, your SMPP Gateway validates external application and message, returns either ACK or NACK with message tracking Id, then forwards it to SMSC using SMPP protocol. Regarding your questions:

  1. You need to choose SMPP API implementation, there are many as open source with samples.

  2. If you investigate the source code I provided above, for each successful session creation new SMPP session handler object is created. This handler object has the callback methods that are fired when SMPP message is received from the client. API itself is managing multiple socket connections on behalf of you and you should take care the validating SMPP bind parameters in sessionBindRequested , SMPP messages you get(firePduRequestReceived) and responses Server should sent using the API. There are many other SMPP APIs so it is required to investigate the messaging model of them with the user application.

  3. There are many open source SMPP API implementations but as a complete custom solution you would like to have I don't think you can find as open source.

Kemal Atik
  • 307
  • 3
  • 12