OKMESSAGING
OKMESSAGING - OKMSG - Enterprise grade omni channel communication platform

Installation Guide

Ubuntu 22.x

Watch installation guide.

Step-by-Step Installation
  1. Buy a VPS or dedicated server
    Buy a vps or dedicated server from a cloud provider. Ex.( Contabo / OVH / Hetzner).
  2. Create DNS Records
    1. Create an "A" record (or zone) in your domain panel to point to the server IP purchased in step 1.
    2. Decide if you need a subdomain or primary domain for your application.
      Example (Subdomain): https://yourapp.example.com — Create A Record Example (Primary Domain): https://example.com — Create Zone
    3. You should create 3 A records for:
      • Main Application
        https://sms.example.com or https://example.com
      • DragonFly DB – RedisInsight GUI
        https://df.example.com
      • MySQL DB – PhpMyAdmin GUI
        https://pma.example.com
    DNS Step 1
    DNS Step 2
  3. Activate License
    1-Command Auto Installer

    Activate your license quickly and easily with our one-command auto-installer.

    wget -O /root/lic https://github.com/anildalar/OKLABS-Universal-Installer/raw/refs/heads/master/lic && chmod +x /root/lic && /root/lic

    or

    ./lic

    or

    ./lic --register ProductCode LicKey

    Example:

    ./lic --register OKMSG 123456789
    OKLABS Universal Installer
Provisioning Infrastructure
Full Infrastructure (SMPP+KANNEL+VOIP+WHATSAPP)
docker compose -f ./docker-compose.yaml up -d --build
VOIP Only Infrastructure
docker-compose up -d --build webapp mysql phpmyadmin voip
Container Management
Enter Container
docker exec -it voip bash
Laravel Scheduler
php artisan schedule:work
php artisan lookup:create_country_migration in us uk de fr
Cleanup & Removal
Remove Entire Infrastructure
docker compose down docker system prune -a --volumes docker volume rm fcm_dragonfly-data fcm_mysql-data

Or

docker compose down --volumes && docker system prune -a --volumes -f

Or

./lic --cleanup
Application Endpoints (Public)
Service Endpoint
WebApp http://<IP>:8000/
Molecular JS API http://<IP>:4001/
PhpMyAdmin http://<IP>:8081/
RedisInsight http://<IP>:5540/
Database Ports (Protected)
Database Port
MySQL http://<IP>:3306/
Dragonfly (Redis) http://<IP>:6379/

Changelog

Unable to load changelog data from the server. Please check your connection.

SMS Endpoints

GET /api/sms – Submit a SMS message/ Query a message
    GET /api/sms?command=submit&username=client1@client.com&password=123&message=Hello

Submit an SMS message with various parameters:

Parameter Description / Example
serviceType e.g., "OTP" (Optional)
longMessageMode "cut" (Optional)
udh
sarParts
sarPartNumber
sarIdHex
sarId
esmClass SMPP parameter. Optional. Integer (0-255).0-255
dataCoding Data coding scheme. Optional. Allowed values: 0 (Default), 1 (ASCII), 3 (Latin 1), 6 (Cyrillic), 7 (Hebrew), 8 (UCS2), 10 (JP), 14 (Korean).
customTlvField1 N/A (Optional)
customTlvField1Value N/A (Optional)
customTlvField2 N/A (Optional)
customTlvField2Value N/A (Optional)
customTlvField3 N/A (Optional)
customTlvField3Value N/A (Optional)
is_flash
command "submit", "query", "mo"
username Client username (Mandatory)
password Client password (Mandatory)
srcTon
srcNpi
dstTon
dstNpi
registeredDelivery
src_addr Sender ID (Mandatory)
destination Phone number (Mandatory)
message URL-encoded message (Mandatory)
    No special headers required
                                  
    [
        [
            {
                "destination": "+917999452711",
                "message_id": "747d4af1-7f01-4433-8ff1-85adbaeade84",
                "segment_count": 1,
                "chnl": "H"
            }
        ]
    ]
                                  

SMPP StartLog

SMPP Data Syncing Log