Как сделать микро-АТС размером с мыльницу

Работа 3CX v16 на Raspberry Pi 3B+ - АТС размером с мыльницу

Разработка первоклассной телефонной системы для бизнеса – это интересный вызов, когда речь идет о крупных или быстрорастущих компаниях. Но качество архитектуры продукта определяется как раз на системах с минимальными аппаратными возможностями. При разработке 3CX v16 мы решили узнать, насколько получится сделать ее нетребовательной к “железу” – и запустили ее на Raspberry Pi. Да, все верно – мы запустили не урезанный 3CX SBC, а полноценную АТС. Система прошла все тесты и успешно работает на устройстве размером с мыльницу – Raspberry Pi 3B+! А сейчас мы хотим поделиться замечательными результатами наших тестов.

Чем меньше – тем круче

Работа 3CX v16 на Raspberry Pi 3B+ - собираем устройство

Когда мы адаптировали код АТС для работы на Debian Linux, мы понимали, что получим еще одно стратегическое преимущество – работу на Raspbian – ОС Raspberry Pi для архитектуры ARM 64-bit, основанную на Debian Linux. Установка v16 Raspberry Pi на весьма несложна и описана в нашем руководстве. Итак, берем Raspberry Pi и запускаем на ней v16. Для этого вам потребуется:

  • Устройство – Raspberry Pi 3B+
  • Карта памяти – 32+GB Class 10 Micro SD
  • Корпус – совместимый с Raspberry Pi, желательно с радиатором и  вентиляторным охлаждением.
  • Блок питания – совместимый с Raspberry Pi, 2.5 A, Micro USB.

Работает как по маслу

Работа 3CX v16 на Raspberry Pi 3B+ - тесты производительности

Мы немного переживали, приступая к тестированию – ведь запуск серьезной UC-системы на минимальном “железе” Raspberry Pi – задача нетривиальная. Но 3CX v16 отлично справилась!

  • Нагрузка на ЦПУ – от 4% при бездействии до 46% в пике, при средней нагрузке на процессор Pi’s в районе ~23.7%. Это говорит об отлично оптимизированном коде 3CX.
  • Потребление памяти – от 32% при бездействии до умеренных 38% под нагрузкой. Еще одно подтверждение отличного качества кода.
  • Нагрузка на сеть – в новой версии Pi установлен улучшенный гигабитный LAN-контроллер с эффективной скоростью ~224 Мбит/с. Средний поток при 8 одновременных вызовах ~1.5 Мбит/с, т.е. нагрузка составляет менее 1%. Разумеется это зависит от качества сети в целом и используемых кодеков.
  • Энергопотребление – если средний сервер на архитектуре Intel ежедневно потребляет примерно 20.4 киловатт / час, Raspberry Pi потребляет столько же – но в год!
  • Температурный режим – без использования радиатора или вентилятора датчик температуры Pi показал 47.2°C при бездействии и до 59.5°C при полной нагрузке. Средняя рабочая температура – 52.5°C.

Немного об очевидном. Поскольку АТС коммутирует цифровые потоки, очевидно, что длительная работа с приличной сетевой нагрузкой нежелательно разогреет устройство, особенно, если используются “тяжелые” кодеки (например, G729 или OPUS). Поэтому, если ожидается активная работа АТС, обязательно оснастите устройство радиатором или активным вентилятором.

Где можно использовать АТС за 50$?

Работа 3CX v16 на Raspberry Pi 3B+ - Где можно использовать АТС

Тесты нашего R&D отдела показали, что эта малышка прослужит вам верой и правдой долгие годы. Рекомендуемый сценарий использования – система на 8 одновременных вызовов и 16+ пользователей. У каждого пользователя может быть настроено, в среднем, до 8 BLF-индикаторов. Такая система будет стабильно работать даже при максимальной нагрузке. Давайте представим, где может она может пригодиться:

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

Расскажите нам, как вы используете 3CX v16 на Raspberry Pi!

Да, настало время, когда АТС можно просто положить в карман и унести с собой. И не одну, а несколько сразу!

Видеоурок по установке 3CX v16 на Raspberry Pi.

Известные проблемы и ограничения

  • По результатам тестов в настоящий момент для Raspberry Pi 3B+ рекомендуется инсталляция до 8 одновременных вызовов.
  • Установите минимальное логирование (или отключите его) для повышения производительности SD-карты.
  • С этой же целью отключите запись разговоров.
  • Используйте только производительную SD-карту Class 10 Micro SD со скоростью доступа не менее 10 Мб/с.
  • Используемый аудиокодек существенно влияет на загрузку ЦПУ и нагрев устройства. По возможности не используйте кодек OPUS.

Установка v16 Beta на Pi 3B+

Следуйте подробному руководству Установка 3CX на Raspberry Pi и в процессе установки выберите “testing” (Beta) релиз.

См. полный журнал изменений для этой версии и поделитесь своим мнением на нашем форуме.

Внимание: Не устанавливайте эту Beta-версию в рабочем окружении. Используйте ее только для тестирования новых возможностей. Резервные копии, сделанные на Alpha-версиях не будут работать. Кроме того, на нее не распространяется регламент технической поддержки.