The order a call is decided in
1
A rule that covers the number
The most specific pattern wins —
+9192 beats +91 beats * — and an
organisation’s own rule beats a shared one for the same pattern. Only the
winning rule’s carriers are tried: a call never falls back onto another
rule’s.2
…otherwise the organisation's own carriers
A number no rule covers goes out only through a carrier the organisation
owns. The operator’s shared carriers are never used without a rule.
3
…otherwise the call is refused
The caller hears that the call cannot be completed, and the daemon logs
which rule was tried and which carriers were passed over.
* is therefore the organisation’s default carrier, and an
organisation with neither a * rule nor a carrier of its own can call only the
numbers its other rules cover.
What a rule is
A rule is a pattern and the carriers it names. Each entry is a carrier at a service level — the same carrier may appear twice at two levels, which are priced separately. A level’s tech prefix replaces the carrier’s own dial prefix for that call; an entry with no level sends no prefix. Patterns are stored with the+: type +91, or 91, and both are kept as
+91. * is the only wildcard; +9* is refused.
The three kinds
Least cost compares what each carrier charges you, per minute, for that
number at that service level. So one rule can send India through one carrier and
Australia through another, and can choose between two service levels of a single
carrier. A carrier nobody has priced is tried last, never first: an
unknown price is not a low one.
The kind belongs to the whole rule. Adding a second carrier asks which it
becomes; the rule’s editor changes it afterwards.
firetonectl doctor reports a
rule whose entries ever disagree (outbound-rule-mixed-kind), because then the
order depends on which entry is read first.
Try a number
At the top of the screen, and worth using before anything else: it runs the same code a real call runs and says what happened — the rule that matched, the carriers tried, and the ones passed over, with why. A carrier is passed over when:- its price list does not cover the number. A carrier’s deck is also the list of where it can send a call, so a trunk with a list of its own is not offered a number the list leaves out. Add the destination under Trunks → the carrier → Destinations & pricing, or clear that list to fall back to the shared cost card.
- this organisation cannot use it — it is disabled, not a SIP trunk, or it belongs to another organisation.
Until 2026-09-21 it said the same sentence for both, so a rule that had matched
was reported as a rule that did not exist. If you remember the screen telling
you “no outbound rule covers this number” about a number you had just written a
rule for, that was this.