Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
30 lines (25 sloc) 1.87 KB

Architecture overview

Jasmin is composed of several components with scoped responsibilities:

HLD Architecture

Jasmin SMS Gateway high level design

  1. jCli: Telnet management console, refer to :doc:`/management/jcli/index` for more details,
  2. SMPP Client Manager PB: A PerspectBroker providing facilities to manage (add, remove, list, start, stop ...) SMPP client connectors,
  3. Router: A PerspectBroker providing facilities to manage message routes, groups, users, http connectors and filters,
  4. DLR Thrower: A service for delivering acknowledgement receipts back to third party applications through HTTP, refer to :doc:`/apis/ja-http/index` for more details,
  5. DeliverSM Thrower: A service for delivering MO SMS (Mobile originated) to third party applications through HTTP, refer to :doc:`/apis/ja-http/index` for more details,
  6. Restful API: A Restful API to be used by third party application to send MT SMS (Mobile Terminated) and launch batches, refer to :doc:`/apis/rest/index` for more details.
  7. HTTP API: A HTTP Server to be used by third party application to send MT SMS (Mobile Terminated), refer to :doc:`/apis/ja-http/index` for more details.
  8. SMPP Server API: A SMPP Server to be used by third party application to send and receive SMS through a stateful tcp protocol, refer to :doc:`/apis/smpp-server/index` for more details.

Jasmin core and its external connectors (used for AMQP, Redis, SMPP, HTTP, Telnet ...) are written in Python and are mainly based on Twisted matrix, a event-driven networking engine.