Skip to main content

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

Project description

Python version Current version Build status Documentation status Downloads through pypi Development status


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.


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


The documentation is at:

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.


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


  • 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



  • 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

Project details

Release history Release notifications

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page