Sendium Documentation Map

June 15, 2026 ยท View on GitHub

This page is the main documentation entry point for Sendium users, operators, and contributors.

Sendium is an open-source, headless SMS gateway for high-throughput messaging. It sits between internal applications such as CRMs, websites, and IoT platforms and SMS connectivity such as carriers or SMPP providers. It is designed to help teams avoid vendor lock-in, control routing logic, and scale messaging across on-premise or cloud environments.

Start Here

If you want to...Read this
Understand the runtime architecture01. Architecture Overview
Run Sendium quickly with Docker02. Docker Deployment
Configure users and passwords03. Authentication and Security
Configure SMPP server or carrier binds04. SMPP Configuration
Build routing and failover rules05. Routing Engine
Submit SMS over HTTP06. HTTP API
Receive DLR or MO callbacks07. Webhooks
Monitor runtime metrics08. Monitoring And Observability
Look up configuration properties09. Configuration Reference
Diagnose common problems10. Troubleshooting
Start migrating from Kannel configKannel migration converter
Understand releases and publishing11. Release Process
Review current features and roadmap12. Features And Roadmap
Contribute code or docsContributing

Core Concepts

ConceptDescription
HTTP APIKannel-compatible GET /sendsms endpoint for outbound message submission.
SMPP ServerAccepts SMPP binds from downstream clients and applications.
SMPP ClientConnects to upstream SMSCs, carriers, or SMPP providers.
Routing EngineEvaluates routingTable.conf rules and sends messages to workers or routing chains.
DLR ForwardingSends delivery receipt status updates back to the originating HTTP system.
MO ForwardingSends incoming mobile-originated messages to HTTP webhooks.
Hot ReloadCredentials and routing files are monitored and reloaded without restarting the service.

Runtime Files

Sendium expects these files in the configured conf directory. The Docker quick start maps this directory to /work/conf.

FilePurpose
credentials.ymlDefines HTTP and SMPP authentication profiles.
smsg.propertiesDefines workers, SMPP server settings, SMPP client binds, logging, and forwarding options.
routingTable.confDefines routing tables, rule conditions, and fallback behavior.

Existing Documentation

DocumentDescription
01. Architecture OverviewRuntime components, queues, routing flow, worker lifecycle, DLR/MO handling, and Mermaid diagrams.
02. Docker DeploymentContainer setup, image variants, volumes, ports, startup checks, and operational notes.
03. Authentication and SecurityCredential file format, validation rules, IP allowlisting, and reload behavior.
04. SMPP ConfigurationSMPP server, SMPP client, worker, retry, TLS, logging, and MO settings.
05. Routing EngineRouting table syntax, operators, message attributes, and routing examples.
06. HTTP APIKannel-compatible HTTP submission endpoint, parameters, and response codes.
07. WebhooksDLR callback URLs and MO forwarding behavior.
08. Monitoring And ObservabilityPrometheus metrics endpoint, Prometheus scrape configuration, Grafana setup, and troubleshooting.
09. Configuration ReferenceApplication paths, Docker image tags, environment variables, logging, and OpenAPI endpoints.
10. TroubleshootingCommon startup, authentication, routing, SMPP, webhook, and logging issues.
11. Release ProcessRelease Please flow, Conventional Commit rules, release PR handling, GitHub Packages, and Docker publishing.
12. Features And RoadmapCurrent product capabilities, planned roadmap phases, and related feature documentation.
Kannel migration converterBrowser-only helper for turning a legacy kannel.conf into Sendium starter files.

API Discovery

When Sendium is running, the HTTP API can be inspected through:

EndpointDescription
/sendsmsKannel-compatible SMS submission endpoint.
/swagger-uiInteractive Swagger UI.
/openapi.jsonOpenAPI specification.
/q/metricsPrometheus-compatible Micrometer metrics endpoint.

Community And Project Files

FileDescription
READMEProject overview, capabilities, and quick start.
ContributingLocal setup, tests, style, and pull request process.
Code of ConductCommunity behavior expectations and reporting process.
SupportWhere to ask questions, report bugs, and request features.
SecurityPrivate vulnerability reporting policy.
LicenseGPL-3.0 license.

Suggested Reading Order

  1. Read the README for the project overview.
  2. Read Architecture Overview to understand the runtime components and message flow.
  3. Follow Docker Deployment to start a local gateway.
  4. Configure access in Authentication and Security.
  5. Configure binds in SMPP Configuration.
  6. Configure message flow in Routing Engine.
  7. Submit a test message using HTTP API.
  8. Add delivery callbacks using Webhooks.
  9. Monitor the service using Monitoring And Observability.
  10. Review current and planned product scope in Features And Roadmap.
  11. Learn how releases are created and published in Release Process.

Documentation Gaps To Improve Next

These are useful follow-up docs for future contributors:

Proposed TopicWhy it matters
Production operations guideCovers sizing, persistence, upgrades, backups, alerting, and maintenance.
Configuration examples directoryGives copy-paste examples for common SMPP and routing scenarios.
Message encoding guideExplains GSM, Latin-1, UCS-2, binary messages, UDH, and multipart SMS.
SMPP error-code mapping guideHelps operators map provider-specific errors to Sendium retry/fail behavior.