Наконец руки дошли отписаться по результатам. Возможно кому-то поможет.
Что имеем:
1. Asterisk 11.10.2 (поставлен из офф. сборки FreePBX Distro Stable-5.211.65-15 Release Date-07-25-14 FreePBX 2.11, Linux 6.5)
2. Доставлен модуль Custom Context из репозитория и модуль Config Edit (
https://sites.google.com/site/nvthanhsh ... sk/freepbx)
3. Созданы 3 контекста (Comp1, Comp2 и Comp3). Для того чтобы в рамках одного контекста ходили только звонки между внутренними абонентами одной компании в поле Dial Rules задал шаблоны 00X1XXX (например для контекста Comp1 с планом румерации 001100-199 шаблон получился 0011XX)
4. Для того, чтобы пользователи в рамках одного контекста могли дозваниваться друг другу по трехзначным номерам 100, 101 и т. п. в файле extensions_custom.conf через модуль Config Edit прописал для контекстов:
[from-internal-custom]
include => comp1
[comp1]
exten => _1XX,1,Set(COMP=001)
exten => _1XX,n,Dial(SIP/${COMP}${EXTEN},30)
exten => _1XX,n,Hangup()
ну и по аналогии для других custom context
5. Далее создаем ext - 001100, 001101... 002100, 002101... 003100, 003101..
и привязываем их к нужным контекстам.
6. Настройки custom context делал по ссылке которую наверняка многие читали -
http://www.lynks.ru/blog/rabota-s-custo ... vo-freepbx. Для каждого контекста прописывал своих маршруты для исходящих звонков
Вот как-то так и получилась псевдо multi-tenancy структура.