# System requirements

## 1. Asterisk requirements

{% hint style="success" %}
The requirements can be checked automatically using our script itgrix\_checker\\

Download the check script

`curl -OJLk "https://itgrix.ru/download/itgrix_checker"`

Run the script

`bash itgrix_checker`
{% endhint %}

Setup is performed from a user account with the following permissions:

* Viewing and editing configuration files Asterisk;
* Installing additional software on the server, configuring its operation as a service.

| Necessary requirements                                                                                                                                                                                                                                                          | How to check                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 1. Asterisk 13.0 and higher                                                                                                                                                                                                                                                     | <p><code>asterisk -V</code></p><p>Answer: Asterisk 13, FreePBX 14 and similar<br>Will do Asterisk, and FreePBX, Elastix, Issabel...</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 2. AMI is enabled and configured in Asterisk                                                                                                                                                                                                                                    | <p><code>asterisk -rx 'manager show settings'</code></p><p>Answer:</p><p><code>Manager (AMI): Yes</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| <p>3. <strong>Important</strong>: Asterisk has enabled logging of calls to the CEL table, which is located in MySQL.<br><br>List of required events:</p><p>CHAN\_START<br>CHAN\_END<br>ANSWER<br>LINKEDID\_END</p><p>BLINDTRANSFER<br>ATTENDEDTRANSFER</p><p>PICKUP<br><br></p> | <p>1. Checking the work status CEL:</p><p><code>asterisk -rx 'cel show status'</code></p><p>Ответ:</p><p><code>CEL Logging: Enabled</code></p><p><code>CEL Tracking Event: CHAN\_START</code><br><code>CEL Tracking Event: CHAN\_END</code><br><code>CEL Tracking Event: ANSWER</code></p><p><code>CEL Tracking Event: BLINDTRANSFER</code></p><p><code>CEL Tracking Event: ATTENDEDTRANSFER</code></p><p><code>CEL Tracking Event: LINKEDID\_END</code></p><p><code>CEL Tracking Event: PICKUP</code></p><p><code>...</code></p><p><code>CEL Event Subscriber: ODBC CEL backend</code></p><p>2. Checking information about recent events:</p><p><code>mysql</code><br><code>use asteriskcdrdb;</code></p><p><code>select id, eventtype, eventtime, cid\_num, exten, uniqueid, linkedid, channame from cel order by id desc limit 10;</code><br>The table should not be empty, it should display the call events.</p><p>Login/Password to connect to mysql can usually be found in the <code>/etc/asterisk/res\_odbc\_additional.conf</code></p> |
| 4. Conversation recording is enabled and the CDR has information about the recording file name                                                                                                                                                                                  | <p><code>select recordingfile from cdr order by calldate desc limit 10;</code><br>If there were calls through the PBX, the last 10 record file names should be in the response.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| <p>5. For the customizer to work,</p><p>PHP 5.3 or higher is required</p>                                                                                                                                                                                                       | <p><code>php -v</code></p><p>Example output:</p><p><code>PHP 5.6.40 (cli) (built: Jan 22 2019 23:51:52)</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 5.1. The **php-json** package is required ( necessary, customizations will work without it)                                                                                                                                                                                     | <p><code>php -r 'var\_dump(function\_exists("json\_decode"));'</code><br>Expected output:<br><code>bool(true)</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 5.2. To run requests in CRM from the customizer php-curl package is required (optional, without it the customizer will execute everything except **HTTP** requests)                                                                                                             | <p><code>php -r 'echo curl\_version()\["version"];'</code></p><p>Example output:</p><p><code>7.47.0</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 6. Converting records to mp3 with path update requires UPDATE permission on the CDR table                                                                                                                                                                                       | <p>Check rights:<br><code>SHOW GRANTS FOR '\<user>'@'\<host>';</code></p><p>Add permission UPDATE:<br><code>GRANT UPDATE ON asteriskcdrdb.cdr TO '\<user>'@'\<host>';</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |

## 2. Bitrix24 requirements <a href="#docs-internal-guid-9d46af43-7fff-31ff-24f2-2b136496f533" id="docs-internal-guid-9d46af43-7fff-31ff-24f2-2b136496f533"></a>

Portal configuration should be done by user with administrative rights.

For the self-hosted Bitrix24:

1. Main module version 16.5.11 and higher
2. REST API (rest)
3. "Telephony" module
4. "CRM"
5. “Push\&Pull”

Application supports any Bitrix24 cloud version with any limitations.

{% hint style="info" %}
The self-hosted portal must have a current valid license. In demo mode and with an expired license, these modules do not work.
{% endhint %}

### Network requirements

You should allow outgoing connections on the server where connector installed (it’s Asterisk server usually) to:

1. Your Bitrix24 (cloud or on-premise) with http or https protocols.
2. Bitrix24 authorization server: <https://oauth.bitrix.info>.
3. Connector license server: <https://lk.bx24asterisk.ru>.
4. To the application server: <https://iw.bx24asterisk.ru>.

Outer network access (8077 and 8078 port forwarding) is required for full functionality: click-to-call functionality and call records listening by link.

## 3. Kommo requirements

{% hint style="info" %}
In the Itgrix widget settings, in the 'External module address for Click-to-Call requests' field, the address should be specified with **https** protocol.

<img src="/files/JQVQzJfz10H9Y3cofk69" alt="" data-size="original">
{% endhint %}

### **Network** requirement&#x73;**:**

You should allow outgoing connections on the server where connector installed (it’s Asterisk server usually) to:

* Your Kommo with http or https protocols.
* Kommo authorization server: <https://kommo.com>
* Connector license server: <https://lk.bx24asterisk.ru>
* Our click-to-call sever (if used) <https://apix.itgrix.ru>

Outer network access (8077 and 8078 port forwarding) is required for full functionality: click-to-call (if not using our c2c server) functionality and call records listening by link.

Starting from version [3.0.0](https://docs.itgrix.com/setup/pages/-MMxIPE6UHF2-ZMPlD9A#3.0.0), the [call card](/setup/itgrix-setup-kommo-asterisk/call-card.md) function requires to set up and ensure the ability for users to connect to the integration module via the WSS protocol. The new Kommo REST API does not provide the ability to display/hide a call card anymore, so it is done through a Web Socket.

The connection address is in the format `wss://<Asterisk IP>:8078/crm/cardws`. It can be configured in the application widget in the Kommo interface. The necessary conditions for a proper operation are as follows.

* The address is accessible from user's computer. It can be a local network address, a VPN-accessible address, or (not recommended) an external address.
* Settings of all nodes in the route between a user and the card socket address allow connections via the WSS protocol. This may require additional configuration of an existing Nginx server or another proxy server.
* The server where the integration module is installed has a valid SSL certificate that is successfully verified by the user's browser, and this certificate is specified in the module's configuration interface `http://<Asterisk IP>:8077/config/module`.
* The server where the integration module is installed and all intermediate network nodes in the route are configured to support the required number of connections, one for each browser tab with the Kommo CRM interface open for each user.

If this is not configured, the base functionality of the integration module will work, but the call card will not be displayed.

## 4. Minimal system requirements

* Processor with 2 cores or more.
* RAM of 2GB or more.
* From 500 MB of free hard disk space (Connector + backup + log).

## 5. Operating system requirements

{% hint style="danger" %}
The OpenSSL library version 1.0.2k or higher must be installed on the system.

**Older versions of OpenSSL may make it impossible to perform necessary queries, for example, when obtaining a license.**

To check the version, in the console, type the command:

`openssl version`
{% endhint %}

To test it, enter at the command line `uname -a` .

Connector installation is made without problems for:

* CentOS 7 and higher.
* Debian 7 and higher.

{% hint style="danger" %}
On CentOS 6 the OpenSSL library version 1.0.1e is installed by default, Itgrix will only work with an updated version of OpenSSL 1.0.2k or higher.

Integration failed on this operating systems:

* CentOS 5
* Debian 6
* Gentoo
  {% endhint %}

If you have another OS, then there should be such packages in OS repositories: unixODBC, mysql-connector-odbc, mysql-server. If that packages already installed, it will simplify connector installation.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.itgrix.com/setup/system-requirements.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
