Tell a member the number is missing, not that their PBX cannot text

FixVOIPService
Shipped
September 7, 2026 at 1:31 AM UTC
Author
Kamo
Commit
1271c6b

Reported from a real setup: an organization added Telnyx as a text provider, opened the SMS window, and was told "This phone server is a FreePBX PBX, which carries calls but not text messages. An administrator can add a text provider…" — which sent them to add the provider they had just added. Both things were wrong at once and the wrong half was reported. /capability only mentioned the missing number when the provider was otherwise able to text: reason = availability.canSend() ? "no number yet" : availability.reason(); so whenever the phone server ALSO could not text — which is the entire case this routing layer exists for — the provider's limitation won and the actual blocker went unmentioned. That organization had no number anywhere: no row on the Numbers screen, no member from-number, and no main number on the phone server. No number now wins, and both messages point at Settings → Phone → Numbers rather than at Settings → Phone generally. That is the screen that fixes it, and it fixes BOTH: a number assigned there gives the member a from-number and carries its own text route, so one action clears the missing number and the missing route together. Also exposes numbersRouted on a text provider. Adding a provider does nothing on its own — a number has to point at it — and nothing on that screen said so, so an administrator could complete the form, see a healthy provider, and have every text refused with a message about a different provider entirely.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing