Jasmin - Open source SMS gateway
Introduction
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, HLR lookup, Leastcost ...)
- 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.
Architecture
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.
Getting started
Refer to Installation steps to get Jasmin gateway up and running quickly with a simple SMS sending scenario.
Documentation
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.
Links
- Project home page
- Documentation
- Support
- Continuous Integration
- Source code
- Kubernetes deployment or /Experimental/ Deploy to Heroku
Contributors
License
Jasmin is released under the terms of the [Apache License Version 2]. See `LICENSE` file for details.
Credits
- Supported by DigitalOcean
- Dominic Amato for the extraordinary effort porting Jasmin to Python3: https://github.com/DomAmato
- 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