Африканский эксперимент Битрикс24

в 8:01, , рубрики: 1С-Битрикс, asterisk, CRM, CRM-системы, cross-platform, ERP-системы, ip-телефония, php, Битрикс24

Африканский эксперимент Битрикс24 - 1

“А-а в Африке реки вот такой ширины!
а-а в Африке горы вот такой вышины!”

Эти строки уносят нас в далекое детство и напоминают нам о приключениях Красной шапочки из одноименной сказки. Но поговорим мы сегодня не о художественной части этого произведения, а о том, как мы внедряли Битрикс24 в одну крупную компанию в Южно-Африканской Республике.

Начали мы с выявления потребностей заказчика — до нас, у них было 3 компаний, предоставляющие услуги интеграции CRM систем, но, как мы поняли, 1 компания — просто установила им коробочную версию на их сервер, 2 — что то там делала, но так и не доделала, а третья компания — просто не поняла, чего хочет заказчик.

Заказчик — крупная консалтинговая компания, работающая в сфере помощи при дебиторской задолженности населения. В их call центре работает 60 человек, а весь коллектив составляет порядка 150 человек. Компания, хоть и относительно небольшая, но они помогают обрести финансовую независимость сотням тысяч южноафриканцев.

В основном, компания работает на “холодных” звонках, и для этого раньше они использовали очень много различного софта. Начнем по порядку. Список лидов загружался в Битрикс24, звонки происходили из другого сервиса, и в итоге, менеджеру приходилось по несколько раз отправлять одни и те же списки туда — сюда. В итоге, менеджер call-центра в среднем тратил 3 минуты на добавление и изменение информации во всех системах только на одного лида, т.е., КПД менеджера было низкое.

Посмотрев на то, как устроен их Битрикс24, а именно на серверную часть, мы решили переустановить ее, предварительно сняв бэкап. Проводили мы это действие поздним вечером, из-за разницы в часовых поясах. Сняв резервную копию, мы начали свою работу.

Битрикс24 был установлен на сервере провайдера, а это значит, что заказчику приходилось бы постоянно обращаться к нему, для того, чтобы увеличить объем памяти и изменения других различных характеристик. Для решения этих вопросов, мы установили Битрикс24 на сервер внутри компании, и, как рекомендуют разработчики, установили его на платформу CentOS 7.

Развернули, посмотрели, проверили, протестировали и вуаля — никто и не заметил подмены!

Работоспособность системы была на хорошем уровне, поэтому мы приступили к делам насущным. Так как это крупный call-центр, то нужно было решать вопрос с телефонией. Увеличение КПД сотрудника — это важный аспект, который касается каждого руководителя любой организации. Для телефонии в Битрикс24, мы приняли решение об использовании Asterisk с панелью управления FreePBX.

Чтобы не ошибиться с нужной нам версией Asterisk, мы решили установить его из исходных кодов, версию выбрали тринадцатую, так как она была самой свежей из представленных на рынке на момент установки; а значит, для начала мы установили необходимые зависимости для сборки Asterisk.

Устанавливали мы на Centos 7, и вот

Инструкция по установке данного софта:

1 — Установить обновления системы.

Для корректной работы системы, нужно зайти от имени root и обновить систему. Делается это посредством следующей команды:

[root@centos-7 ~]# yum update

2 — Далее нужно установить требуемые пакеты.

После обновления системы, необходимо установить нужные пакеты и зависимости, посредством команды:

[root@centos-7 ~]# yum install gcc gcc-c++ php-xml php php-mysql php-pear php-mbstring mariadb-devel mariadb-server mariadb sqlite-devel lynx bison gmime-devel psmisc tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel uuid-devel libtool libuuid-devel subversion kernel-devel kernel-devel-$(uname -r) git subversion kernel-devel php-process crontabs cronie cronie-anacron wget vim

Установка пакетов

Нужно проверить пакеты, и, если это те, которые необходимы, нажимаем на ‘Y’, и продолжаем действие. В среднем, загрузка занимает порядка 125-130 мб, в зависимости от того, что было установлено ранее. Если все было сделано правильно — то далее появится список установленных пакетов, обновлений и зависимостей.

3 — Настроить MariaDB

MariaDB здесь нужна в обязательном порядке — без нее работа с базами данных будет усложнена в несколько раз.

Для ее установки, нужно запустить вот такую команду:

sudo yum install mariadb-server

Далее запускаем демона

sudo systemctl start mariadb

Настраиваем:

[root@centos-7 ~]# systemctl enable mariadb
[root@centos-7 ~]# systemctl start mariadb
[root@centos-7 ~]# systemctl status mariadb

После этого, нужно:

4 — Установить libjansson

Скачиваем:

[root@centos-7 ~]# wget http://www.digip.org/jansson/releases/jansson-2.7.tar.gz

Распаковываем:

[root@centos-7 ~]# tar -zxvf jansson-2.7.tar.gz

Конфигурируем:

[root@centos-7 ~]# cd jansson-2.7
[root@centos-7 ~]# ./configure --prefix=/usr

Конфигурируем

И компилируем настроенный пакет:

[root@centos-7 jansson-2.7]# make clean
[root@centos-7 jansson-2.7]# make & make install
[root@centos-7 jansson-2.7]# ldconfig

Далее мы установили Asterisk и настроили панель управления FreePBX.

Установили мы его из исходных кодов, а именно:

[root@centos-7 ~]# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13.5.0.tar.gz

Установка из исходных кодов

После распаковки архива, нужно сконфигурировать перед сборкой, перейдя в соответствующую папку:

[root@centos-7 ~]# tar -zxvf asterisk-13.5.0.tar.gz
[root@centos-7 ~]# cd asterisk-13.5.0
[root@centos-7 asterisk-13.5.0]# ./configure --libdir=/usr/lib64

image

При правильном выполнении данной операции, мы увидим логотип Asterisk в стиле ASCII Art:
логотип Asterisk в стиле ASCII Art

Далее очень важный момент: сам Asterisk может работать, и работает вполне неплохо, но он неудобен в плане управления, поэтому мы подключили несколько модулей.

1 — Меню настроек

Чтобы в него попасть, нужно выполнить следующую команду:

[root@centos-7 asterisk-13.5.0]# make menuselect

В принципе, некоторые модули уже подключены, но мы можем выбрать из них подходящие для каждого отдельного случая.

Далее нужно было настроить IVR для нашего заказчика. Надо сказать, что заказчик подошел к этому вопросу очень серьезно — прописал текста для каждого пункта меню сам, арендовал студию звукозаписи, и попросил их сделать качественные треки, в общем, заморочился, и молодец!

Вот как мы подключили модуль поддержки .mp3. Чтобы это сделать, необходимо выбрать "format_mp3"
Вот как мы подключили модуль поддержки .mp3

Затем переходим в секцию Core Sound Packages и отмечаем аудио-пакеты, необходимые нам.

Настроили голосовое управление мы хорошо, и, от результата остались в сладком восторге.

После этого мы установили FreePBX.

Для этого нужно немного модифицировать Apache

sed -i 's/(^upload_max_filesize = ).*/120M/' /etc/php.ini
sed -i 's/^(User|Group).*/1 asterisk/' /etc/httpd/conf/httpd.conf
sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf
systemctl restart httpd.service

Загружаем и запускаем

cd /usr/src
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz
tar xfz freepbx-13.0-latest.tgz
rm -f freepbx-13.0-latest.tgz
cd freepbx
./start_asterisk start
./install -n

И готово!

Впрочем, для опытных сисадминов — это не сложная работа.

По идее, практически все мы выполнили, но теперь остался один из главных вопросов — подключение оператора. Было предоставлено 2 провайдера телефонии, и обоих нужно было подключить. Название решили не озвучивать, чтобы не делать скрытую рекламу. Подключили оператора телефонии через SIP и настроили взаимодействие Asterisk и Битрикс24.

Подключить 2 SIP транка кажется не очень сложным заданием, но порой встречаются проблемы — сейчас расскажу, как это делается. При подключении, в веб-интерфейсе, в разделе Trunks во FreePBX, добавляются операторы с данными, которые они предоставили. Обычно это: логин, пароль и адрес сервера. Добавляете эти данные и у вас становится 2, 3, или даже 10 транков в вашей АТС.

Кстати, для быстрого обмена информацией и хорошей коммуникации, рекомендуем вам установить Битрикс24 и Asterisk на одном сервере — в любом случае — это надежнее и быстрее.

А если Вы, так-же как и мы, решите подключить SIP, то не забудьте, что для работы телефонии в Битрикс24, необходимо купить лицензию на SIP коннектор, а это, в свою очередь, ежемесячная оплата.

Как всегда, в бочке мёда всегда должна быть ложка дёгтя. А ложек было 3.

И вот первая — для полноценной работы виджета телефонии в Битрикс24 в отдельных браузерах (например Chrome), необходимо использование протокола HTTPS на портале Битрикс24, иначе браузер не даст разрешение использовать микрофон и наушники. Как следствие звонки не будут работать.

Задача есть — есть решение. Да многие могут сейчас сказать, что Битрикс24 всегда работает в HTTPS, а вот и нет — для коробочной версии нужно устанавливать SSL-сертификат, что мы и сделали. Перепроверили, и все заработало!

Все начало работать, процесс пошел и мы заметили очень интересную особенность — время на работу с карточкой CRM уменьшилось в разы, так как менеджеру более не приходилось переключаться между различными программами. Порой, оно не тратилось вообще, компенсируя временем разговора с лидом. Ну, можем сказать что КПД менеджера вырос в разы!

Но не все так гладко. И вот она — вторая ложка дегтя.

Работа шла хорошо, но модуль SIP-коннектор (с помощью которого осуществляется интеграция телефонии) работал без покупки лицензии, и, впоследствии, телефония перестала работать. Мы предупреждали, что нужно было заранее покупать лицензию. Так вот еще один наш совет:

— необходимо приобрести лицензию сразу после тестирования, иначе может понадобиться время для поиска проблемы с неработающей телефонией.

Время шло, проект заработал хорошо и ничего не предвещало беды. Все радовались (по крайней мере заказчик) жаркому солнцу Африки и крикам слонов в сафари-парке. Но это было затишье перед бурей.

Заказчик решил сам сменить провайдера, ничего нам при этом не сказав. Клиент всегда прав, но не в этом случае. Тут посыпался шквал криков о помощи! Не работает!!!

Стали искать причину. Грешили на Битрикс24, потом на Asterisk, позже на сам сервер — провели полную диагностику оборудования. Но, ничего не помогло. Знаете, люблю я своеобразных сисадминов в самих компаниях — мы не хотим пролить и каплю тени на качество их знаний и опыт работы, но, если Вы хотите что-то поменять в системе — то об этом должны знать все, кто ее настраивал, “допиливал” и работал над ней. О смене провайдера нам не сообщили. Причем, сбой произошел через день после инцидента — естественно, что возник конфликт параметров. На поиск причины и ее выяснение ушло приличное количество рабочих часов наших сотрудников. Причем заказчик до последнего был Зоей Космодемьянской и не хотел нам говорить о истинных причин проблемы.

Так вот, выяснилось, что некоторые провайдеры SIP телефонии используют привязку к ip-адресу подключения. Поэтому, при переносе сервера телефонии на другой сервер, может возникнуть проблема в отсутствии регистрации SIP транка. И вот еще один наш совет — уточняйте информацию о таком ограничении заранее у оператора связи.

Теперь, что касается самой платформы Битрикс24.

И вот вам еще один бонус использования Битрикс24. Всем известно, что Битрикс24 это большой набор инструментов для ведения бизнеса. В самом начале, пользователи работали только с модулями CRM, задачами, проектами и группами. Но, по истечении некоторого времени, пользователей становилось все больше и больше, и из рабочего пространства Битрикс24 превратился в действующую корпоративную внутреннюю социальную сеть!

Недавно участились запросы, касаемые скорости работы Битрикс24. Использовали они raid-массив Dell PowerEdge T20 со стандартными конфигурациями. Мы проверили работоспособность — в принципе, скорость обработки данных входила в минимальные требования для этого программного обеспечения, но это только цифры. По факту, скорость работы всей системы снизилась. Начали искать решение.

Посмотрев на то, как они начали использовать Битрикс24, мы, откровенно говоря, немного удивились — если посмотреть на Живую ленту, то можно заметить, что она превратилась в ленту Facebook — стало много интересных картинок, смешных историй, постов и так далее. Чат, как общий, так и личный, стал напоминать Telegram, WhatsApp или Facebook Messenger — очень много сообщений на абсолютно разные темы. То же касается и звонков внутри Битрикс24 — люди стали звонить друг другу не прибегаю к услугам обычного мобильного или стационарного телефона.

Все это, конечно, отразилось на скорости обработки данных, так как здесь использовалась коробочная версия продукта Битрикс24 — Энтерпрайз. При просмотре данных о работоспособности и аналитики сайта, мы заметили, что количество запросов SQL выросло на 70%, скорость записи данных SQL осталось той же. Они использовали 2 HDD по 1 Тб на 7200 об, 16 Гб ОЗУ и Xeon 3.0. Т.к. процессор используется хороший, мы не стали его трогать. Битрикс24 требует 8Гб ОЗУ, а Asterisk — 2, и поэтому, увеличивать оперативную память в принципе не требовалось. Тем более, что хромал только один параметр — скорость записи базы данных.

Посмотрев кучу различного видео о работе серверов, пришли к выводу, что надо добавить 1 SSD на 250 Гб в тестовом режиме. Этот SSD хранил в себе систему, Битрикс24 и Asterisk, а все файлы, которые были загружены пользователями, и файлы Asterisk мы оставили на HDD. Результат — скорость записи увеличилась, соответственно, все системы начали работать еще лучше. По этой причине рекомендуем — системные файлы сразу устанавливать на SSD — да, это будет дороже, но Ваши нервы, как мне кажется, намного важнее просиженных без дела часов ожидания работы системы. И это касается не только Битрикс24, или Asterisk — это касается любого софта, который может быть установлен на сервер.

Во время переноса информации, мы провели небольшое тестирование HDD и SSD, и вот таблица с результатами:

Таблица с результатами тестирования SSD и HDD

Данные были обнадеживающими, и мы заменили все. И действительно — система заработала как часы! Сейчас же, наши южноафриканские друзья не испытывают каких-либо проблем с Битрикс24 и Asterisk

А теперь главный совет — не надо бояться ходить в Африку гулять — крокодилы не настолько страшны, как их описывают.

Автор: Алекс

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js