Skip to main content
FireFlo is commercially licensed. From 0.8.5 every gateway carries a licence and checks it itself.
A lapsed licence does not stop your traffic. Messages keep being accepted, routed, priced, billed and delivered. There is no licence check anywhere on the message path, and there is not going to be one — a fault in licensing must never take an SMS carrier off the air.

What a lapsed licence stops

Configuration changes being adopted. The gateway keeps running on the configuration it last read, and a routing rule, rate, vendor or credential you change stops taking effect until the licence is current again. So a lapse costs you the ability to reconfigure and costs your customers nothing. Two supporting effects, both minor by comparison:
  • the operational endpoints answer 402, except the licence routes and the health endpoint;
  • the control panel shows a banner pointing at /cp/verify.
The gateway still starts when unlicensed and still carries traffic. It never refuses to boot.

Nothing changes on the day you upgrade

An install that has never held a licence works normally for 14 days from the moment it first starts. That applies to an upgrade as well as to a new install, so an estate can move to 0.8.5 without anything changing on the day. The window is measured from a durable record. Restarting does not renew it.

Activating

Open /cp/verify, paste the licence key, press Activate.The gateway keeps the key and renews itself from then on. A new licence takes effect on the next configuration poll — no restart is needed.

Verifying a licence

The one command

It names one of six states, and exits 0 while configuration is being adopted and 1 otherwise — so it can be used as a check in a script or a monitor without parsing the text.

From the control panel

/cp/verify shows the same state, with the installation id, the address the licence was issued against, the date it stays current until, and the date configuration would freeze. Check again re-reads it without changing anything.

From a monitor

The gateway’s health endpoint carries the same state and keeps answering when unlicensed — so “the panel says the gateway is unreachable” is never the diagnosis for a licence problem.
Every field there is safe to log and to alarm on — it carries no licence key and no secret. The two worth watching are verdict and days_until_frozen: the countdown reaches zero at the moment configuration changes stop being adopted, and configuration_adopted says whether they still are.

Proving a freeze is a freeze

If you suspect configuration has stopped being adopted, the honest check is to change something and look at what the gateway believes, rather than at what the panel shows:
  1. fireflo license status — expect expired.
  2. Change a routing rule in the panel and save it.
  3. Ask the gateway to explain a message that rule would match. It still names the old rule.
  4. Send a real message. It is still submitted, priced and billed exactly as before.
Steps 3 and 4 together are the whole design: configuration is frozen, traffic is not.

How long you have

Both numbers are carried inside the licence, so they can be extended for one customer without a release. This is also the revocation window: a suspended licence keeps working until its current one lapses, at most 21 days. That is the cost of a gateway that does not have to ask anyone’s permission to run, and it is why the licence is a fortnight rather than a year.

When the licence server is contacted

Two moments, and no background poller. Plus one renewal attempt in the last few days before expiry, so an install nobody restarts and nobody looks at does not freeze without warning. The state is worked out continuously from what is already on disk. Only the network is event-driven, which is why the licence server being unreachable is survivable.

Identity: the address, and the installation

A licence is keyed on the server’s IP address, which the licence server observes from the connection. The gateway never sends one. Each install also has a stable installation id. It is what distinguishes “my server moved address” from “my licence is on a second box”.
If you rebuild a server, release the licence in your account first. The rebuilt install has a new identity and would otherwise read as a copy.
An offline licence is bound to the installation rather than to an address, because the request reaches the licence server from a browser on a different network.

Settings

The server URL is ordinary configuration, not a secret. Pointing it elsewhere gains nothing: a substitute server cannot produce anything a gateway accepts, and the gateway simply never renews. The licence file is 0600 — it holds the licence key, which is a bearer credential. The record is also kept in the database, so an install that loses its data directory recovers its licence and its identity without anyone re-pasting a key.

If something is wrong

Run fireflo license status first; the table above names the next step for each state. If the state is active and configuration still is not being adopted, the cause is not licensing — start at First checks. Anything else: support@fireflo.au, quoting the installation id from /cp/verify.