Инструменты пользователя

Инструменты сайта


mp_doc:main_inside_v1

Как устроена miniPbx

Изначально система проектировалась для работы как на крошечных системах (например, SOHO роутер), так и в больших много серверных конфигурациях. Конечно, на маленьких системах, не возможно обеспечить полный набор функционала, но кому то, кто делает первые шаги к корпоративной связи, бывает изначально достаточен набор очень простых функций. В дальнейшем, маленькую систему легко расширить и начать пользоваться полным набором возможностей.

Итак каким путем это достигается? Функционально систему можно разделить на 5 частей (типов узлов):

  1. сервер управления
  2. сервер личного кабинета
  3. сервер балансировки нагрузки и резервирования
  4. сервер телефонии
  5. сервер статистики

Первые 3 существуют всегда в единственном экземпляре. Серверов телефонии может быть столько сколько нужно. Сервер статистики обычно располагается вместе с сервером телефонии, хотя может быть вынесен на отдельную платформу. Тем самым мы можем легко распределять клиентов по рабочим серверам балансируя нагрузку, создавать резервные сервера. Не обязательно располагать все части на разных серверах - в простейшем виде они могут работать на одном сервере и НЕ мешать друг другу. Однако, выбор конфигурации определятся планируемой нагрузкой.

Несколько примеров конфигураций:

  • Все в одном - поставим все части на один сервер, настроим безопасность и для небольшой конфигурации (~300 абонентов, до 100 одновременных вызовов) все будет работать прекрасно.
  • Микро - развернем сервер телефонии на роутере (см. пример), для ведения конфигурации воспользуемся нашим сервисом. При минимальных затратах получим сервер для 50 абонентов и 10-25 одновременных звонков
  • Сервис провайдер - развернем каждую часть на отдельном сервере. Для БОЛЬШИХ клиентов поставим отдельные узлы с сервером телефонии, мелких будем распределять по нескольким сервера телефонии, с помощью сервер балансировки нагрузки и резервирования будем осуществлять, распределение нагрузки и резервирование на случай отказов. Суммарная нагрузка в этом случае можно оценить как примерно 200-300 одновременных вызовов на один сервер телефонии (возможно добиться и большего, но нужен грамотный тюнинг системы под asterisk).

Как мы видим, архитектура системы легко позволяет расширять емкость (количество обслуживаемых пользователей и одновременных вызовов). Давайте рассмотрим другой аспект системы miniPbx - разделение на домены.

Разбивка на домены позволяет предоставлять услуги арендованных ip-АТС. А может пригодится и в корпоративной сфере, когда одной технической службе приходится обслуживать несколько организаций, входящих в 1 холдинг и\или принадлежащих одному владельцу. Развертывать, настраивать и поддерживать одну систему не сравнимо проще, чем несколько да еще и в разных версиях, а возможно в разных системах. Для вас может быть полезной возможность создать тестовый домен, и тестировать какие то схемы не тревожась что это может затронуть основную, рабочую систему.

Здесь мы логически приходим к следующей интересной возможности системы - независимости сервера телефонии. Да, действительно, связь БУДЕТ работать пока работает сервер(а) телефонии и ни какие проблемы с любыми другими узлами системы не могут на это повлиять (кроме, конечно, сервера балансировки нагрузки и резервирования, но не во всех конфигурациях он необходим и если возникает действительно, в нем необходимость, то резервирование его необходимо выполнять на уровне операционной системы). Сервер телефонии обладает всей необходимой информацией, для регистрации абонентов, приема и распределения внешних вызовов, осуществления исходящих вызовов. На мой взгляд это серьезное преимущество над другими системами где например выход из строя сервера БД приводит к полной неработоспособности системы.

Если Вам интересно и Вы хорошо разбираетесь в asterisk прочитайте следующую статью. Всем остальным предлагаю перейти к статье Модели работы с miniPbx или перейти к изучению базовых функций.

mp_doc/main_inside_v1.txt · Последнее изменение: 2024/03/31 22:03 — 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki