Skip to main content

Jasmin is a very complete open source SMS Gateway with many enterprise-class features.

Project description

Jasmin - Open source SMS gateway
################################

|python_ver| |current_version| |ci| |docs| |downloads| |status|

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, 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.

Architecture
************

.. figure:: https://github.com/jookies/jasmin/raw/master/misc/doc/sources/resources/architecture/hld.png
:alt: HLD Architecture
:align: Center
:figwidth: 100%

Jasmin core and its external connectors (used for AMQP, Redis, SMPP, HTTP, Telnet ...) are written in Python
and are mainly based on `Twisted matrix <https://twistedmatrix.com/>`_, an event-driven networking engine.

Getting started
***************
Refer to `Installation steps <http://docs.jasminsms.com/en/latest/installation/index.html>`_ 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 <http://www.jasminsms.com>`_
* `Documentation <http://docs.jasminsms.com>`_
* `Support <https://groups.google.com/forum/#!forum/jasmin-sms-gateway>`_
* `Source code <http://github.com/jookies/jasmin>`_
* `Travis CI <https://travis-ci.org/jookies/jasmin>`_

License
*******
Jasmin is released under the terms of the [Apache License Version 2]. See **`LICENSE`** file for details.

Credits
*******

* 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

Change Log
**********

0.6 (*under development*)
=========================

* 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

0.5
===

* 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

0.4.0
=====

* Setuptools command support
* Documentation hosted on http://docs.jasminsms.com
* Updated documentation
* Various fixes

0.3.0
=====

* Routing for MO and MT flows between HTTP and SMPP connectors
* Management through jCli console
* Updated documentation
* Various fixes

0.2.0
=====

* HTTP Server (for SMS MT sending)
* HTTP Client (for SMS MO and delivery receipts)

0.1.0
=====

* SMPP Client API

.. |python_ver| image:: https://pypip.in/py_versions/jasmin/badge.svg
:alt: Python version
:scale: 100%
:target: https://pypi.python.org/pypi/jasmin

.. |current_version| image:: https://pypip.in/v/jasmin/badge.png?text=version
:alt: Current version
:scale: 100%
:target: https://pypi.python.org/pypi/jasmin

.. |ci| image:: https://api.travis-ci.org/jookies/jasmin.png
:alt: Build status
:scale: 100%
:target: https://travis-ci.org/jookies/jasmin

.. |docs| image:: https://readthedocs.org/projects/jasmin/badge/?version=latest
:alt: Documentation status
:scale: 100%
:target: http://docs.jasminsms.com

.. |downloads| image:: https://pypip.in/download/jasmin/badge.svg
:alt: Downloads through pypi
:scale: 100%
:target: https://pypi.python.org/pypi/jasmin

.. |status| image:: https://pypip.in/status/jasmin/badge.svg
:alt: Development status
:scale: 100%
:target: https://pypi.python.org/pypi/jasmin

Project details


Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page