This is an ESME Implementation Using SMPP protocol.
Learing Project Where you can find steps in developing this BULKSMS project.
- Just Simple Sending SMS usin submitsm pdu
- Made Application Recive Deliversm pdu for Delivery report
- Made Application to support unicode and flash sms concept
- Made Application to fetch smses from mysql database
- Changed logic of updating sms status directly to mysql
- Made Application to support multiple campaign
- Made Application to support multiple SMPP clients/multibind
- used std::map for storing intermediate states
- added thereadpool concept to get high performance
- mysql is performing low (AS I am not good in mysql concepts)
- POSIX message queues (Good But Required to change OS limits and permissions)
- In my test setup i am able to get 100 sms/sec with single connection to my test setup (no network latency)
- with 2 tx binds i am able to get 200 sms/sec
- with 5 tx binds I am able to get 500 sms/sec but memory usage touching 800Mb almost, If I am not getting delivery reports from SMSC Application is crashing after 25,00,000 submitsm. which is not good.
IN ALL SENARIO CPU USAGE IS VERY LESS BELOW 10%. (I have 4 core i5 4th gen CPU with 8Gb RAM)
- INSTALL REQUIRED PACKAGES (UBUNTU)
- FORTESTING
- Generate Configure
- Make Project
- Install Project
Application need configuration file from where application will get important informations. Sample configuration files also included.
- Main Applicatio config file (src/MySmsAppConfig.xml)
- SMPP Connection config file (src/SmppConnection.xml)
STEP 1: MODIFY Configfiles according to your testsetup STEP 2: myesme
ex: sudo /usr/bin/myesme /usr/etc/MySmsAppConfig.xml&PATH: you can set path in main app config file it can be like /var/log/myesme/xxxxxx.log