SMS gateway – system description

The gateway configuration table, provider-specific normalisation, handling of secret fields, connection test and test SMS; no regular sending.

SMS gateway configuration per client and provider (android, traccar, smsmobileapi) with provider-specific fields, masked secrets, a default flag and the last test result. Module under development.

Data model

Table names carry the installation's own prefix in the database.

TableRole
sms_gatewaycompany, name, provider, configuration, default flag, test result, status (0/1/9)
companycontent scope

Process

  1. List: filter by name, provider, status, company group/company; filter_allowed_ids; trash with canSeeDeleted(); per row the endpoint URL, default flag and test result.
  2. Save: known provider, name, client required and in scope; the SMS library's normalize() validates the configuration (errors per field); a masked secret keeps the old value; with is_default the client's other gateways lose the default flag.
  3. test: testConnection() with the saved or the typed configuration; the result is written to the row (setTestResult); incomplete configuration gives error_sms_incomplete.
  4. testsms: sendTest() to the given number and text; result stored on the row.
  5. Delete: in scope, physical with delete, status = 9 with statusdelete only.

Permissions

  • Function rights: list; form/save canSave(); status edit; test; testsms; delete; statusdelete; debug. The keys have a catalogue seed.
  • Content scope: the gateway's company in every operation (getGateway with the allowed companies).

Known limitations

Regular sending, retries and receiving inbound messages are not implemented; only configuration and testing work.

Related topics: sms gateway permissions