Skip to main content
Worker definitions and their settings, plus the gateway-wide smsg.* properties.

Declaring a worker

Every worker is a set of outSms.instance.<name>.* properties. The type decides what it is:
smppclient and smppserver are the configuration values. This site and the control panel call them vendor and server everywhere else — see Concepts.
Every key available on each is listed at Listener settings, Vendor settings and Base settings.

Three tiers

Resolution is instance → outSms.default.* → the coded default in the prms table. Full explanation at Paths and property tiers.
The doubled word in outSms.default.default.tlvs.submit is correct. The first default is the fallback tier; the second is part of the property name default.tlvs.submit.

Gateway-wide properties

Everything under smsg.* also lives here — rating, CDR, credit, whitelisting, queue limits, webhook egress, the operational tokens. They are catalogued by task under Configuration keys.

The one file still read in database mode

In db mode every file watcher stands down and credentials.yml, routingTable.conf and rates.conf are not read after startup.
smsg.properties is still read at startup, because smsg.config.source and the datasource have to come from somewhere before the database can be consulted.That means the source switch and the connection details stay in this file even on a fully database-driven deployment — and a change to either still needs a restart.
Once running in db mode, worker settings come from app_worker_property and gateway properties from app_config, both projected onto the same key names. If a key is defined in both the worker table and app_config, the worker table wins and the duplicate is logged.

Routing and message-trace properties

message.trace.mode is global only. Despite appearing in per-instance tables, an outSms.instance.<name>.message.trace.mode is never read. Set it unprefixed.