Stop telling people to add the text provider they already added

FixVOIPService
Shipped
September 7, 2026 at 1:38 AM UTC
Author
Kamo
Commit
3f031d1

Reported from a real setup, and the report was right. An organization running FreePBX added Telnyx as a text provider, opened the SMS window, and was shown FreePBX's static sentence: "This phone server is a FreePBX PBX, which carries calls but not text messages. An administrator can add a text provider under Settings → Phone → Providers…" They had just done that. The message sent them back to a screen where the provider they had created was sitting there, working. A refusal that has not noticed the tenant's own configuration reads as the product not paying attention, and it costs somebody real time to discover the missing step was somewhere else. smsUnavailableReason() is a statement about a PROVIDER and knows nothing about the organization reading it. That is fine for what it was written for and wrong as a final answer, so the gateway now composes the refusal from what the org actually has: when a carrier exists, it names that carrier and points at the step genuinely missing — pointing a number at it — instead of the step already done. The provider's own words survive for the case they were written for: an organization with nothing to fall back on. And the lookup fails toward them, so a refusal can never become an exception.

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