Сервер телефонии состоит из сервера Asterisk и специальной программы mpbxd. Для чего нужен Asterisk, что он делает и как, мне кажется объяснять не надо. Служба mpbxd занимается создание конфигурации asterisk и обработкой статистики, также именно она изолирует разные домены друг от друга при подключении по протоколу AMI (важно для CRM систем).
Конфигурация asterisk, который работает в составе системы miniPbx имеет следующую структуру: в каталоге /etc/asterisk есть подкаталог include в нем лежат файлы:
и подкаталоги:
Все это подключается из главных файлов (extensions.conf, sip.conf, queues.conf) директивой #include.
Что это может дать администратору?
Обработка статистики в asterisk - это отдельная большая тема, но могу сказать точно, что на сложных сценариях прохождения вызова, таких как перевод (особенно сопровождаемый), переадресация и некоторых других, стандартный механизм (управляется из cdr.conf), работает не правильно. Официально разработчики предлагают решать эту проблему используя CEL - Channel Event Logging (я бы перевел как протокол событий канала). Учет статистики в miniPbx реализован именно с использованием CEL, что дает например возможность не только видеть вызов, но и проследить его путь (call tracking).
Еще одна отличительная особенность статистики miniPbx - для уменьшения размера базы статистики некоторые поля попадают в кэш. Кэш это набор значений вида код - значение. Поэтому вместо полной строки в БД будут сохранятся не сами значения, а их индексы. Использование кэша дает еще один любопытный и полезный эффект, допустим номер 202 был закреплен за пользователем Иванов. Через некоторое время, он уволился, а теперь на его месте теперь работает Петрова и естественно, использует номер 202. Статистика по номеру 202 выведет нам звонки как Иванова так и Петровой, но нам будет видно, что до какого то времени номером пользовался один человек, а сейчас - другой.
Далее предлагаю перейти к статье Модели работы с miniPbx или перейти к изучению базовых функций.