FreePBX with multiple Companies

Here are said screenshots.

Separate trunks because accounting wanted fully separate billing.

Specific inbound routing by full DID

Various outbound routes

Specifying the Called ID with a pattern match to the extensions for each outbound route.
Office 1: ext range 5100 - 5199
Office 2: ext range 5200 - 5299
Etc.
(that 891 prefix is for testing purposes user have no idea it exists).