
“Ah, in Africa the rivers are so wide!
and in Africa the mountains are so high! ”
These lines take us back to our distant childhood and remind us of the adventures of Little Red Riding Hood from the fairy tale of the same name. But today we’ll talk not about the artistic part of this work, but about how we implemented
Bitrix24 into one large company in the
Republic of South Africa. We started with identifying customer needs - before us, they had 3 companies providing CRM systems integration services, but, as we understood, 1 company - just installed a box version for them on their server, 2 - did something there, but I did not finish it, but the third company simply did not understand what the customer wants.
')
The customer is a large consulting company working in the field of assistance with the receivables of the population. 60 people work in their
call center , and the whole team is about 150 people. The company, although relatively small, but they help to gain financial independence for hundreds of thousands of South Africans.
Basically, the company works on “
cold ” calls, and for this they used to use a lot of different software. Let's start in order. The list of
leads was loaded into Bitrix24, the calls came from another service, and as a result, the manager had to send the same lists several times to and from. As a result, the call center manager, on average, spent 3 minutes on adding and changing information in all systems for only one lead, that is, the
manager's efficiency was low.Having looked at how Bitrix24 arranged them, namely on the server part, we decided to reinstall it, having previously removed the
backup . We carried out this action in the late evening, due to the difference in time zones. After removing the backup, we began our work.
Bitrix24 was installed on the provider's server, which means that the customer would have to constantly refer to it in order to increase the amount of memory and change other various characteristics. To address these issues, we installed Bitrix24 on a server within the company, and, as recommended by the developers, installed it on the
CentOS 7 platform.
Deployed, watched, checked, tested and voila - no one noticed the substitution!
The efficiency of the system was at a good level, so we started urgent business. Since this is a large
call-center , it was necessary to solve the issue with telephony. Increasing employee
efficiency is an important aspect that concerns every leader of any organization. For telephony in Bitrix24, we decided to use
Asterisk with the
FreePBX control panel.
In order not to be mistaken with the version of Asterisk we need, we decided to install it from the source codes; we chose the thirteenth version, since it was the freshest on the market at the time of installation; so, for starters, we installed the necessary dependencies for building Asterisk.
We installed on
Centos 7 , and here
Installation instructions for this software:
1 - Install system updates.
For the system to work correctly, you need to log in as root and update the system. This is done through the following command:
[root@centos-7 ~]# yum update
2 - Next, you need to install the required packages.
After updating the system, you need to install the necessary packages and dependencies, through the command:
[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

You need to check the packages, and if these are the ones that are needed, click on 'Y', and continue the action. On average, the download takes about 125-130 MB, depending on what has been installed previously. If everything was done correctly, then a list of installed packages, updates and dependencies will appear.
3 - Customize MariaDB
MariaDB is needed here without fail - without it, work with databases will be complicated several times.
To install it, you need to run the following command:
sudo yum install mariadb-server
Next, run the daemon
sudo systemctl start mariadb
Customize:
[root@centos-7 ~]
After that, you need:
4 - Install libjansson
Download:
[root@centos-7 ~]# wget http://www.digip.org/jansson/releases/jansson-2.7.tar.gz
Unpack:
[root@centos-7 ~]# tar -zxvf jansson-2.7.tar.gz
Configuring:
[root@centos-7 ~]

And compile the customized package:
[root@centos-7 jansson-2.7]
Next, we installed Asterisk and set up the FreePBX control panel.
We installed it from the source code, namely:
[root@centos-7 ~]# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13.5.0.tar.gz

After unpacking the archive, you need to configure it before building by going to the appropriate folder:
[root@centos-7 ~]

When properly performing this operation, we will see the Asterisk logo in ASCII Art style:

Further, a very important point: Asterisk itself can work, and works quite well, but it is inconvenient in terms of management, so we connected several modules.
1 - Settings menu
To get into it, you need to run the following command:
[root@centos-7 asterisk-13.5.0]# make menuselect
In principle, some modules are already connected, but we can choose from them that are suitable for each individual case.
Next you had to configure
IVR for our customer. It must be said that the customer approached this issue very seriously - he prescribed the text for each menu item himself, rented a
recording studio , and asked them to make high-quality tracks, in general, he was confused, and well done!
Here’s how we plugged in the .mp3 support module. To do this, you must select "
format_mp3 "

Then go to the section
Core Sound Packages and mark the audio packages we need.
We set up the voice control well, and we were delighted with the result.
After that we installed FreePBX.
To do this, you need to slightly modify
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
Download and run
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
And you're done!
However, for experienced system administrators - this is not a difficult job.
In theory, almost all of us have done, but now one of the main questions remains - the connection of the operator.
2 telephony providers were provided, and both needed to be connected. The name was decided not to sound, so as not to make hidden advertising. We connected the telephony operator via
SIP and set up the interaction between Asterisk and Bitrix24.
Connecting 2 SIP trunks does not seem to be a very difficult task, but sometimes there are problems - I’ll tell you how to do this. When connecting, in the web interface, in the
Trunks section of FreePBX, operators are added with the data they provide. Usually these are: login, password and server address. Add this data and you have 2, 3, or even 10 trunks in your
PBX .
By the way, for quick exchange of information and good communication, we recommend that you install Bitrix24 and Asterisk on one server - in any case, it is safer and faster.
And if you, like us, decide to connect a SIP, then do not forget that to work telephony in Bitrix24, you need to buy a license for a SIP connector, and this, in turn, is a monthly payment.
As always, there should always be a spoon of tar in a barrel of honey. And there were 3 spoons.
And the first is for the full-fledged operation of the widget telephony in Bitrix24 in separate browsers (for example, Chrome ), you must use the HTTPS protocol on the Bitrix24 portal, otherwise the browser will not give permission to use the microphone and headphones. As a result, calls will not work.
The task is - there is a solution. Yes, many can now say that Bitriks24 always works in
HTTPS , but not here - for the boxed version, you need to install an
SSL certificate , which we did. Rechecked, and it all worked!
Everything began to work, the process started and we noticed a very interesting feature - the time to work with the
CRM card decreased significantly, since the manager no longer had to switch between different programs. Sometimes, it wasn’t spent at all, compensating for the talk time with the lead. Well, we can say that the
efficiency of the manager has grown significantly!
But not everything is so smooth. And here it is - the second fly in the ointment.
The work went well, but the
SIP connector module (which is used to integrate telephony) worked without buying a license, and, subsequently, telephony stopped working. We warned you had to buy a license in advance. So here is another tip of ours:
- you need to purchase a license immediately after testing, otherwise it may take time to find a problem with a non-working telephony.
As time went on, the project earned well and nothing foreshadowed trouble. Everyone was happy (at least the customer) in the hot sun of Africa and the cries of elephants in the safari park. But it was the calm before the storm.
The customer decided to change the provider himself without telling us anything. The customer is always right, but not in this case. There was a flurry of screaming for help! Does not work!!!
Began to look for the cause. We sinned on Bitrix24, then on Asterisk, and later on the server itself - we conducted a full diagnosis of the equipment. But nothing helped. You know, I like peculiar system administrators in the companies themselves - we don’t want to shed a shadow on the quality of their knowledge and experience, but if you want to change something in the system, then everyone who tuned it should know about this, “finished ”And worked on it. We were not informed about the change of provider. Moreover, the failure occurred a day after the incident - of course, there was a conflict of parameters. The search for the cause and its clarification took a decent amount of working hours of our employees. And the customer to the last was
Zoya Kosmodemyanskaya and did not want us to talk about the true causes of the problem.
So, it turned out that some SIP telephony providers use a binding to the
ip-address of the connection. Therefore, when transferring the telephony server to another server, there may be a problem in the absence of
SIP trunk registration. And here is another one of our advice - specify information about such a restriction in advance at the telecom operator.
Now, as for the Bitrix platform itself.
And here's another bonus using Bitrix24. Everyone knows that Bitrix24 is a large set of tools for doing business. At the very beginning, users worked only with CRM modules, tasks, projects and groups. But, after some time, users became more and more, and from the working space of Bitrix24 it turned into a functioning corporate internal social network!
Recently, requests regarding the speed of Bitrix24 have become frequent. They used a
Dell PowerEdge T20 raid array with standard configurations. We checked performance - in principle, the speed of data processing was part of the minimum requirements for this software, but these are only numbers. In fact, the speed of the entire system has decreased. Began to look for a solution.
Looking at how they started using
Bitrix24 , we were, frankly, a little surprised - if you look at
Buzz , you will notice that it has turned into a
Facebook tape - there are many interesting pictures, funny stories, posts, and so on. Chat, both general and personal, began to resemble
Telegram ,
WhatsApp or
Facebook Messenger - a lot of messages on completely different topics. The same applies to calls inside Bitriks24 - people began to call each other not using the services of an ordinary mobile or landline phone.
All this, of course, was reflected in the speed of data processing, since the boxed version of the
Bitrix24-Enterprise was used here. When viewing the data on the health and analytics of the site, we noticed that the number of SQL queries increased by
70% , the speed of writing
SQL data remained the same. They used 2
HDDs of 1 TB per 7200 rpm, 16 GB of RAM and
Xeon 3.0 . Since The processor is used good, we did not touch it. Bitrix24 requires 8GB of RAM, and Asterisk requires 2, and therefore, it was not necessary to increase the RAM in principle. Moreover, only one parameter was lame - the speed of database recording.
After watching a bunch of different videos about the servers, they came to the conclusion that you need to add 1
SSD for 250 GB in test mode. This
SSD kept in itself the system,
Bitrix24 and
Asterisk , and we left all the files that were uploaded by users and Asterisk files on the
HDD . The result - the write speed increased, respectively, all systems began to work even better. For this reason, we recommend that you install the system files on the
SSD right away - yes, it will be more expensive, but your nerves, it seems to me, are much more important than the hours spent waiting for the system to work. And this concerns not only Bitrix24, or Asterisk - this concerns any software that can be installed on the server.
During the transfer of information, we conducted a small test of
HDD and
SSD , and here is a table with the results:

The data was encouraging, and we replaced everything. And really - the system worked like a clock! Now, our South African friends do not have any problems with Bitrix24 and Asterisk
And now the main advice - do not be afraid to go to Africa for a walk - crocodiles are not as scary as they are described.