# SMPP-HTTP \[DLR, MO\] Release: Dynamic Worker Scaling and Multi-Host Support (1aa87f9)

**URL:** <https://community.melroselabs.com/t/smpp-http-dlr-mo-release-dynamic-worker-scaling-and-multi-host-support-1aa87f9/67>\
**Category:** Announcements\
**Created:** [7 July 2025 22:29 UTC](https://community.melroselabs.com/t/smpp-http-dlr-mo-release-dynamic-worker-scaling-and-multi-host-support-1aa87f9/67 "2025-07-07T22:29:03Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mlsupport](https://dub1.discourse-cdn.com/flex014/user_avatar/community.melroselabs.com/mlsupport/32/16_2.png) [@mlsupport](https://community.melroselabs.com/u/mlsupport)\
**Post date:** [7 July 2025 22:29 UTC](https://community.melroselabs.com/t/smpp-http-dlr-mo-release-dynamic-worker-scaling-and-multi-host-support-1aa87f9/67/1 "2025-07-07T22:29:03Z")

</div>

### **🧩 SMPP-HTTP [DLR, MO]:**

### **opMLSMPPHTTP\_1aa87f9**

We are pleased to make available this first public build of the **SMPP-HTTP** application: opMLSMPPHTTP\_1aa87f9. This binary is suitable for Debian-based platforms and includes high performance relaying of DLRs (and MO messages) to webhook endpoints.

#### **Key Features**

- Supports **multiple SMPP accounts** and **multi-host connectivity**.
- Configurable **HTTP worker pool for DLR processing** that auto-scales between a defined minimum and maximum depending on queue load.
- HTTP requests are performed **non-persistently** —one HTTP session per DLR.
- Fully compatible with existing cloud and on-prem SSG deployments using SMPP-HTTP for webhook delivery. Compatible with SMS platforms from other vendors.

#### **How It Works**

On receiving a DeliverSM from the SSG or other vendor’s SMS platform, an HTTP POST containing DLR fields is sent to the configured webhook. A DeliverSMResp is only returned to the SSG / SMS platform once the HTTP request completes. This ensures reliable delivery semantics. The diagram below illustrates the flow:

 ![image](https://europe1.discourse-cdn.com/flex014/uploads/mlsmpp/original/1X/a0420368dffd3df31e1bca8bcf74b71b035ce035.png)

* * *

### **🛠 Running SMPP-HTTP**

```auto
./opMLSMPPHTTP_1aa87f9 --config smpphttp.conf

```

Example smpphttp.conf:

```auto
{
  "base": {
    "_product": "SMPPHTTP"
  },
  "config": {
    "dlrWorkersMin": 2,
    "dlrWorkersMax": 16,
    "dlrWorkersInitial": 4,
    "dlrQueueThreshold": 10,
    "dlrScalingIntervalMs": 10000
  },
  "hosts": [
    "eu-uk.mlsmpp.net", "eu-de.mlsmpp.net", "ap-sg.mlsmpp.net",
    "ap-au.mlsmpp.net", "na-us.mlsmpp.net", "sa-br.mlsmpp.net"
  ],
  "accounts": [
    {
      "systemId": "ABC2iFipiqOQDEF",
      "password": "DEF5eABC",
      "bindQuantityRxMin": 4,
      "webhookMo": {
        "url": "http://127.0.0.1:8780/mo",
        "sourceAddress": "src",
        "destinationAddr": "dst",
        "shortMessage": "msg",
        "headers": [{ "Authorization": "Bearer abc123" }]
      },
      "webhookDlr": {
        "url": "http://127.0.0.1:8780/dlr",
        "sourceAddress": "src",
        "destinationAddr": "dst",
        "completionTs": "done",
        "msgId": "id",
        "statusNum": "status",
        "statusTxt": "status_text",
        "errorNum": "error",
        "headers": [{ "Authorization": "Bearer xyz456" }]
      }
    }
  ]
}

```

DLR webhook configuration is as described in the SSG’s documentation at [SMPP accounts](https://ssgdocs.melroselabs.com/docs/smpp-accounts#webhooks) - DLR webhook (JSON).

* * *

### **📈 Performance Considerations**

DLR throughput to your webhook is governed by:

- HTTP latency per request
- Number of worker threads
- Number of SMPP RX binds
- DeliverSM window size per SMPP account

For example, 16 workers handling requests in 0.2s each = 80 DLRs/sec. Reducing processing time to 0.1s doubles that throughput to 160 DLRs/sec.

* * *

### **🔐 Licensing**

The binary includes bundled licence files valid until **1st September 2025**.

* * *

### **🔗 Download**

[https://melroselabs.com/repo/smpphttp/opMLSMPPHTTP\_1aa87f9.tar.gz](https://melroselabs.com/repo/smpphttp/opMLSMPPHTTP_1aa87f9.tar.gz)

* * *

### **🔄 Deployment Notes**

Although this version is not yet used in the live SSG stack, you are encouraged to evaluate it for improving DLR delivery performance to webhooks whether you use the SSG or other platforms.

We recommend you conduct testing in your environment before production deployment.

* * *

### **📩 Questions or Feedback?**

Please reach out if you have any questions, encounter issues, or would like to share feedback. We’re here to help.
