Jasmin is a very complete open source SMS Gateway with many enterprise-class features such as:
- SMPP Client / Server
- HTTP Client / Server
- Console-based configuration, no service restart required
- Based on AMQP broker for store&forward mechanisms and other queuing systems
- Using Redis for in-memory DLR tracking and billing
- Advanced message routing/filtering (Simple, Roundrobin, Failover, Leastcost ...)
- Web and console ui for management
- Supports Unicode (UTF-8) for sending out multilingual SMS
- Supports easy creation and sending of specialized/binary SMS like mono Ringtones, WAP Push, Vcards
- Supports concatenated SMS strings (long SMS)
Jasmin relies heavily on message queuing through message brokers (Using AMQP), it is designed for performance, high traffic loads and full in-memory execution.
Jasmin core and its external connectors (used for AMQP, Redis, SMPP, HTTP, Telnet ...) are written in Python and are mainly based on Twisted matrix, an event-driven networking engine.
Refer to Installation steps to get Jasmin gateway up and running quickly with a simple SMS sending scenario.
The documentation is at: http://docs.jasminsms.com
If you still need to build it locally:
$ cd misc/doc $ make html ... ... Build finished. The HTML pages are in build/html.
Jasmin is released under the terms of the [Apache License Version 2]. See `LICENSE` file for details.
- SMPP PDU parsing based on smpp.pdu: https://github.com/mozes/smpp.pdu
- SMPP 3.4 Client based on smpp.twisted: https://github.com/mozes/smpp.twisted
- GSMP 3.38 based on Python messaging: https://github.com/pmarti/python-messaging
- SMPP Server API #49
- Basic statistics in user-level #77
- Delivery retrial on specific/configurable errors #60
- Better User credentials: expiry and QoS #50, #51
- Easier installation procedure through Linux packages #78
- User credentials: validation, default/fallback values and balance/quota management
- Changed system service startup script from twisted tap plugin to bin/jasmind
- Rated routes (for billing purpose)
- Prepaid billing including asynchronous mode
- jCli supports user credentials management
- Updated documentation
- Various fixes
- Setuptools command support
- Documentation hosted on http://docs.jasminsms.com
- Updated documentation
- Various fixes
- Routing for MO and MT flows between HTTP and SMPP connectors
- Management through jCli console
- Updated documentation
- Various fixes
- HTTP Server (for SMS MT sending)
- HTTP Client (for SMS MO and delivery receipts)
- SMPP Client API