Inbound routing
From a DID on a shared trunk to an extension inside the right tenant.
Outbound routing
Ordered dial-pattern routes with digit manipulation, a tenant-then-global fallback, and a default trunk.
Inter-tenant calling
Letting one tenant dial another's extensions directly, and why it takes two switches.