The Jasmin Open source SMS gateway¶
Jasmin is an open-source SMS Gateway with many enterprise-class features, Jasmin is built to be easily customized to meet the specific needs of messaging exchange growing business.
Based on strong message routing algorithms, Jasmin provides flexibility to define rule based routing based on various criteria: sender ID, source, destination and many combinations. Auto reconnection and re-routing mechanism managing peak hours or link failover for high availability services.
Jasmin is written in Python and Twisted framework for serving highly scalable applications, SMS message delivery can be done through HTTP and SMPP protocols, intelligent routing can be configured in real-time through an API, cli interface or a web backend .
- SMPP Client / Server
- HTTP Client / Server
- Based on AMQP broker for store&forward mechanisms
- Advanced message routing : Simple & static, Roundrobin, Failover, Leastcost ..
- Standard message filtering: TransparentFilter, ConnectorFilter, UserFilter ..
- Advanced message filtering: EvalPyFilter
- Flexible billing support
- Supports Unicode (UTF-8 / 16) for sending out multilingual SMS
- Supports easy creation and sending of specialized/binary SMS like mono Ringtones, WAP Push, Vcards
- Supports concatenated (multipart) SMS contents (long SMS)
Jasmin is designed for performance, high traffic loads and full in-memory execution.
- Architecture overview
- RESTful API
- HTTP API
- SMPP Server API
- The message router
- Programming examples
- Management CLI overview
- Management CLI Modules
- Messaging flows
- User FAQ
- Could not find a version that satisfies the requirement jasmin
- Cannot connect to telnet console after starting Jasmin
- Should i expose my SMPP Server & HTTP API to the public internet for remote users ?
- Does Jasmin persist its configuration to disk ?
- When receiving a DLR: Got a DLR for an unknown message id
- Developer FAQ
- How to ‘log’ messages in a third party database ?
- How to directly access the Perspective Broker API ?
- Can you provide an example of how to use EvalPyFilter ?
- How to log events inside an EvalPyFilter ?
- How to set an EvalPyFilter for a MT Route ?
- PDU params keep resetting to connector defaults even after interception ?