Почему все, кто спрашивает про Астериск хотят обслуживать одним сервером именно четыре разные компании? Это что, флеш-моб какой-то?
Дайте, я угадаю - все входящие номера у вас мобильные, из сетей GSM...
Теперь, по сути вопроса:
Теоретически, один Астериск имеет возможность обслуживать неограниченное количество компаний, причем, ничего не подозревающих друг о друге. Лишь бы мощности хватило.
Вы весело описываете Астериску всю периферию всех компаний и приступаете к плетению хитрых диалпланов, т.е. программ маршрутизации поступившего запроса на соединение. Они, как правило, пишутся на специализированном скриптовом языке.
Обособленной структурной частью диалплана, является контекст. Он может быть один, а возможно, что диалплан состоит из нескольких контекстов, связанных по некоей логике.
У каждого периферийного устройства (терминала) задан контекст, в кот. он может отправить свой запрос на соединение. И никуда более.
Если Вы не запутались в иерархиях вложений контекстов, то вызов никогда не увидит те, о которых ему знать не положено. И пройдет по цепочке маршрутизации конкретного вызова, которая описывают именно его компанию. Или подразделение.