Every provider owns its own numbering

The architectural turn the whole platform rests on. Numbers, extensions, call flows and outgoing caller IDs used to live in the core, which quietly assumed a single provider. They now live in per-provider namespaces — connect.twilio.number, connect.twilio.callflow and their siblings — owned by the module that knows how to route them.

What stays in the core is what is genuinely shared: calls, messages, recordings, users, and the settings around them. The core no longer imports a provider, and a provider never imports another, which is exactly what lets a Twilio number, a FreeSWITCH server and an existing Asterisk PBX run in one database without stepping on each other.