Ask whether THIS NUMBER can text, not whether the org can

FixVOIPService
Shipped
September 6, 2026 at 11:31 PM UTC
Author
Kamo
Commit
1ad7216

SmsGateway grew a number-aware availability() when routing moved onto the number, and then nothing called it with a number — both SmsController call sites used the two-argument form, so the answer stayed org-level and the overload was decoration. It matters because the browser gates its entire texting surface on this endpoint. A member can hold a Telnyx line that texts and a voice-only DID that deliberately does not, and an org-level "yes" for the second puts a composer in front of them that can never work — which is the failure this whole area keeps producing, one layer up from where it was fixed. The capability endpoint resolves the from-number before asking, rather than after, because the from-number is now part of the question. Also says out loud that DISCOVERED_FROM_INSTANCE_ID is written and never read on purpose. It is provenance for somebody reading the table, the same job PHONE_RAW does next door and is likewise read by nothing — but an undocumented write-only column reads as an oversight, and the next person to tidy up would be right to delete it. The availability test was probed by making the overload ignore its number; it named the failure.

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