The CPaaS (Communications Platform as a Service) is a multi-tenant, multi-channel messaging platform that enables businesses to send SMS, WhatsApp, RCS, and Voice messages at scale.
| Service | Port | Purpose |
|---|---|---|
| Admin Dashboard | 8087 | Platform administration and configuration |
| User Portal | 8088 | Customer-facing messaging interface |
| Core API | 8081 | Central business logic and database |
| SMS Service | 8082 | SMPP/HTTP SMS gateway |
| WhatsApp Service | 8083 | WhatsApp Business API gateway |
| RCS Service | 8084 | RCS messaging via Virtuoso RBM |
Navigate to http://localhost:8087 in your browser.
Enter your admin username and password. Admin accounts have role = ADMIN in the system.
Sessions are maintained with secure HTTP-only cookies. Logout using the user menu in the top navigation bar.
The dashboard is the first screen after login. It provides a real-time, platform-wide view of messaging activity.
| Metric | Description |
|---|---|
| Total Messages (Today) | Count of all messages sent across all accounts today |
| Success Rate | Percentage of delivered messages out of total submitted |
| Active Users | Number of user accounts with activity today |
| Revenue | Total billing revenue generated today |
The dashboard includes AI-powered insights (via Ollama) that analyze:
Navigate to Users in the left sidebar to view and manage all customer accounts.
Use the button at the top right of the Users table.
Enter username, email, phone, and a temporary password. The user must change it on first login.
Choose USER for standard customer accounts.
The account is created in the system. It is active by default.
Click the Edit button next to any user to open the full account editor. Key sections include:
| Section | Fields |
|---|---|
| Basic Info | Username, email, phone, active status, whitelisted IPs |
| API Credentials | API Key (auto-generated), regenerate button |
| DLR Webhook | URL where delivery receipt webhooks are sent |
| Channel Enablement | Toggle SMS / WhatsApp / RCS / Voice per account |
| SMS Compliance | Telemarketer ID, PE ID for DLT compliance |
| Route Assignment | Assign specific routes per channel (SMS, WA, RCS) |
Each user has independent per-channel pricing set by the admin. These rates are charged per message sent.
| Channel | Pricing Fields |
|---|---|
| SMS | SMS Price per unit |
| UIC, MIC, SIC, Auth, Auth INT (5 category prices) | |
| RCS | RCS Price per message |
| Voice | Voice Price per minute/call |
Navigate to User Channels to assign WhatsApp WABA accounts and RCS Bots to users.
Navigate to Templates in the sidebar. This screen shows all template requests from users that require admin approval (WhatsApp and RCS templates).
Check template name, channel, type, and content. For media templates, verify the media URL is valid.
Use the Approve (green) or Reject (red) button. Rejected templates cannot be used until re-submitted.
The template status updates to APPROVED or REJECTED. The user sees the status change in their portal.
| Channel | Types | Approval |
|---|---|---|
| SMS | Text | Auto-Approved |
| Text, Media (image/video/document) | Manual Review | |
| RCS | Text Only, Rich Card (image/video + buttons) | Manual Review |
Navigate to Sender Requests to manage sender ID approvals. Sender IDs are the alphanumeric strings that appear as the "From" name on SMS messages.
MYBRAND)Verify the sender ID format and PE ID validity.
Click the status toggle. Approved sender IDs become available for the user to use in messages.
Routes define how messages are delivered to end-users through carrier gateways. Routing rules determine which route is selected for each message.
Navigate to Routes to manage carrier/gateway route configurations.
| Field | Description |
|---|---|
| Route Name | Unique identifier used for queue naming (e.g., smpp1 → queue submit_smpp1) |
| Channel | SMS / WhatsApp / RCS / Voice |
| Host / Port | SMPP or API gateway connection details |
| Credentials | System ID, password, or API key for the upstream gateway |
| Active | Only active routes can receive messages |
Navigate to Routing Rules to configure how messages are routed per account and channel.
| Field | Description |
|---|---|
| Account | Which user account this rule applies to (or ALL) |
| Channel | SMS / WhatsApp / RCS |
| Route | The route (gateway) to send messages through |
| Priority | Lower number = higher priority when multiple rules match |
| Active | Enable or disable the rule |
The system evaluates rules in priority order. The first matching active rule determines the route for a message.
Navigate to Strategies to configure advanced routing algorithms, such as:
Navigate to Campaigns to view all bulk campaigns across all user accounts.
| Column | Description |
|---|---|
| Campaign Name | User-defined campaign identifier |
| Account | The user account that created this campaign |
| Channel | SMS / WhatsApp / RCS |
| Status | CREATED / QUEUED / PROCESSING / COMPLETED / FAILED |
| Total Records | Total phone numbers in the uploaded CSV |
| Processed | Records successfully submitted to the gateway |
| Failed | Records that encountered errors |
Navigate to Reports to access all message logs across the entire platform.
| Field | Description |
|---|---|
| Recipient | Destination phone number |
| Channel | Messaging channel used |
| Status | Current delivery status |
| Provider Message ID | ID assigned by the upstream gateway (for DLR tracking) |
| Cost | Amount charged for this message |
| Sent At / Delivered At | Timestamps for key delivery events |
| Error Code | Error code if delivery failed |
| Campaign | Associated campaign (for bulk sends) |
Navigate to Report Summary for aggregated analytics charts per account or time period.
Navigate to Monitoring for real-time visibility into all platform services.
The monitoring page shows the status of each microservice:
| Service | Status Indicators |
|---|---|
| cpaas-core | UP / DOWN with ping latency |
| cpaas-sms | UP / DOWN |
| cpaas-whatsapp | UP / DOWN |
| cpaas-rcs | UP / DOWN |
| RabbitMQ | Queue depths for all message queues |
View message counts for all queues:
cpaas.sms.submit — SMS ingest queuesubmit_smpp1 — SMPP gateway queue (name varies by route)submit_wa — WhatsApp gateway queuecpaas.rcs.submit — RCS gateway queueFrom the monitoring page, you can start or stop individual microservices using the control buttons. Use with caution — stopping a service will halt message processing for that channel.
Navigate to Blacklist to manage globally blocked phone numbers.
Phone numbers on the global blacklist are blocked across all accounts. Messages to these numbers are silently dropped at submission time.
Admins can also view per-account blacklists by filtering by account. Users can manage their own blacklists from the User Portal.
Enter the full international format number (e.g., +919876543210).
Choose Global (all accounts) or a specific account.
The number is immediately blocked. Future messages to this number are rejected at the submission layer.
Navigate to Audit Logs to view a complete history of all system actions and changes.
Navigate to Admins to manage administrator accounts. Only existing admins can create new admin accounts.
Opens the admin creation form.
Enter username, email, and a strong password.
Admin accounts have full platform access.
The new admin can log in immediately at http://localhost:8087.
| Term | Definition |
|---|---|
| DLT | Distributed Ledger Technology — India's regulatory system for commercial SMS |
| PE ID | Principal Entity ID — The sender's registered ID on the DLT portal |
| WABA | WhatsApp Business Account — Required for sending WhatsApp messages |
| RCS | Rich Communication Services — Next-generation SMS with rich media support |
| SMPP | Short Message Peer-to-Peer — Protocol used by SMS gateways |
| DLR | Delivery Receipt — Notification from the carrier confirming message delivery |
| UIC/MIC/SIC | Utility/Marketing/Service category for WhatsApp message pricing |
| Fallback | Automatic re-routing to a secondary channel when primary delivery fails |
| Queue | RabbitMQ message queue holding pending messages for a gateway service |
| Route | Configuration connecting the platform to an upstream carrier gateway |
| Strategy | Algorithm that selects which route to use for a given message |
| Provider Message ID | Unique ID returned by the upstream gateway for tracking delivery |