Configuration
Configuration for SLBP is stored in the slbp.conf
file on the file system of the SLBP host.
If using the AWS Marketplace version of the SLBP, the credentials for using the API and GUI default to “slbpuser” for the client ID and the AWS EC2 instance ID for the password (e.g. i-092bxxe40xxc1f2xx
).
The configuration file is in JSON format:
{
"base": {
"_product": "SLBP",
"auth.client_id": "",
"auth.client_secret": "",
"log.audit": false,
"mod.sar_reduction_method": "truncate",
"smpp.max_connections_per_ip": 250,
"smpp.port": 2775
},
"targets": [
{"name":"smsc1","host":"smsc1.xyz.com","port":2775},
{"name":"smsc2","host":"smsc2.xyz.com","port":2775},
{"name":"smsc3","host":"smsc3.xyz.com","port":2775},
{"name":"smsc4","host":"smsc4.xyz.com","port":2775}
],
"customers": [
{
"systemid": "default",
"reducesarmessageref": true,
"targets": [
{"name":"smsc1","weight":1},
{"name":"smsc2","weight":1}
],
"sourceaddr": [
{
"regex": "^(.*)(-AD)$",
"targets": [
{"name":"smsc3","weight":1},
{"name":"smsc4","weight":1}
]
},
{
"address": "Acme",
"targets": [
{"name":"smsc3","weight":1},
{"name":"smsc4","weight":5}
]
}
],
"modifier" : [
{"regex":"/\r\n/g","sub":"\r"},
{"regex":"Hello world!","sub":"HELLO WORLD!"}
]
},
{
"systemid": "abcdef",
"targets": [
{"name":"smsc3","weight":2},
{"name":"smsc4","weight":1}
]
}
]
}
If the configuration file contains invalid JSON, then the configuration will not be loaded. When reloading configuration, existing configuration will continue to be used if the new configuration cannot be loaded.
Targets section
“targets
"
This mandatory section of the configuration defines the upstream platforms that the SLBP may connect to. These targets are referenced by their “name”.
Each entry in the targets
section contains:
Field | Description | Example |
---|---|---|
| Identifier of target String of up to 16 characters and comprised of a-z, A-Z, 0-9, -, . and _. mandatory | “smsc1” |
| IP or hostname mandatory | “smsc1.xyz.com“ |
| TCP port number optional Default: 2775 | 2775 |
Customers section
“customers
"
This optional section of the configuration defines the routing of messages submitted by customers connecting to the SLBP. Customers are identified by the SMPP system ID in the SMPP bind request they issue after connecting to the platform. No passwords are configured in the SLBP as authorisation is performed by the upstream platforms.
If present, the entry with the system ID of “default
" is used by the SLBP for connections to the platform when no other entry matching the system ID is configured.
Each entry in the customers
section identifies a system ID ("systemid
") and the associated targets ("targets
").
Field | Description | Example |
---|---|---|
| Customer’s SMPP system ID mandatory | “abcdef” |
| List of targets over which to load balance customer submissions, and from where DLRs and MO are received. mandatory | [{"name":"smsc3","weight":2},{"name":"smsc4","weight":1}] |
| List of source addresses and corresponding list of target names to be used for load balancing based on source address. Availability: on-premises only optional | |
| Used to reduce UDH 16-bit SAR reference numbers to 8-bits. Availability: on-premises only optional | true |
| Regular expressions for modifying short message field of submit_sm PDU. Availability: on-premises only optional |
Replaces \r\n with \r in short message |
Each entry in customers > targets
contains:
Field | Description | Example |
---|---|---|
| Identifier of target from top-level String of up to 16 characters and comprised of a-z, A-Z, 0-9, -, . and _. mandatory | “smsc3“ |
| Weighting to be used when load balancing traffic. If a customer’s traffic is load balanced over two targets, target A with a weight of 2 and target B with a weight of 3, target A will receive 2/5 (40%) of the traffic. Numeric value of 0 or higher. optional Default: 1 | 2 |
If this section is not specified or is empty, all SMPP connections made to the SLBP will result in upstream connections to all platforms contained in the top-level targets
section.
Changes to the weight of a target for an existing customer SMPP session will take effect immediately. However, changes that involve adding or removing targets for a customer require the customer to re-connect (i.e. rebind) to the SLBP.