# Требования к системе

## 1. Требования к телефонии Asterisk

{% hint style="success" %}
Требования можно проверить автоматически, с помощью нашего скрипта itgrix\_checker\\

Скачиваем скрипт проверки

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

Запускаем скрипт

`bash itgrix_checker`
{% endhint %}

Настройка производится с аккаунта пользователя со следующими правами:

* Просмотр и редактирование конфигурационных файлов Asterisk;
* Установка дополнительного ПО на сервере, настройка его работы в качестве сервиса.

| Обязательные требования                                                                                                                                                                                                                                                                                                   | Как проверить                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1. Asterisk 13.0 и выше                                                                                                                                                                                                                                                                                                   | <p><code>asterisk -V</code></p><p>Ответ: Asterisk 13, FreePBX 14 и аналоги<br>Подойдет как Asterisk, так и FreePBX, Elastix, Issabel...</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 2. В Asterisk включен и настроен AMI                                                                                                                                                                                                                                                                                      | <p><code>asterisk -rx 'manager show settings'</code></p><p>Ответ:</p><p><code>Manager (AMI): Yes</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| <p>3. <strong>Важно!</strong> В Asterisk включено логирование звонков в таблицу CEL, которая находится в MySQL.<br><br>Список необходимых ивентов:</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. Проверяем статус работы 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. Проверяем информацию о последних событиях:</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>Таблица должна быть не пустая, в ней должны отображаться события звонка.</p><p>Логин/Пароль для подключения к mysql обычно можно найти в <code>/etc/asterisk/res\_odbc\_additional.conf</code></p> |
| 4. Включена запись разговоров и в CDR есть информация об имени файла записи                                                                                                                                                                                                                                               | <p><code>select recordingfile from cdr order by calldate desc limit 10;</code><br>Если через АТС были звонки, то в ответе должны быть последние 10 названий файлов записей.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| <p>5. Для работы кастомизатора необходим<br>PHP 5.3 и выше</p>                                                                                                                                                                                                                                                            | <p><code>php -v</code></p><p>Пример вывода:</p><p><code>PHP 5.6.40 (cli) (built: Jan 22 2019 23:51:52)</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 5.1. Необходим пакет **php-json** (обязательно, без него никакие кастомизации работать не будут)                                                                                                                                                                                                                          | <p><code>php -r 'var\_dump(function\_exists("json\_decode"));'</code><br>Ожидаемый вывод:<br><code>bool(true)</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 5.2. Для работы запросов в CRM из кастомизатора ([Битрикс24](https://docs.itgrix.ru/custom_bx/zaprosy-v-bitriks-iz-kastomizacii), [amoCRM](https://docs.itgrix.ru/custom_amo/zaprosy-v-amocrm-iz-kastomizacii)) необходим пакет **php-curl** (опционально, без него кастомизатор будет выполнять всё кроме HTTP-запросов) | <p><code>php -r 'echo curl\_version()\["version"];'</code></p><p>Пример вывода:</p><p><code>7.47.0</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 6. Для конвертации записей в mp3 с обновлением пути требуется разрешение UPDATE на таблицу CDR                                                                                                                                                                                                                            | <p>Проверить права:<br><code>SHOW GRANTS FOR '\<user>'@'\<host>';</code></p><p>Добавить разрешение UPDATE:<br><code>GRANT UPDATE ON asteriskcdrdb.cdr TO '\<user>'@'\<host>';</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

## 2. Требования к CRM-системам

### Битрикс24

Настройка портала производится пользователем, обладающим административными правами.

{% hint style="warning" %}
С 9.12.24 для РФ и РБ использовать приложения на облачном и коробочном портале Битрикс24 возможно только при включенном триале либо **оплаченной подписке на Маркетплейс**
{% endhint %}

#### Коробочная версия

Для коробочной версии 1С-Битрикс24 должны быть установлены и иметь актуальную версию следующие модули:\
\- Главный модуль Битрикс24 версии 16.5.11 и выше;\
\- Модуль “REST API (rest)”;\
\- Модуль “Телефония”;\
\- Модуль “CRM”;\
\- Модуль “Push\&Pull”.

{% hint style="info" %}
Коробочный портал должен иметь **актуальную действующую лицензию**. В демо режиме и с истекшей лицензией указанные модули не работают.
{% endhint %}

#### Облачная версия

Активная платная лицензия на Битрикс24 любого тарифа.

### amoCRM / Kommo

Особых требований к конфигурации amoCRM и Kommo нет.

## 3. Требования к сети

На сервере с модулем (обычно это сервер Asterisk), нужно разрешить **исходящие запросы** к:

1. Вашему порталу Битрикс24 (облачному или локальному) по протоколу https или http;
2. Серверу авторизации Битрикс24 <https://oauth.bitrix.info> (не важно, облачный у вас Битрикс24 или коробочный!);
3. Серверу лицензирования модуля <https://lk.bx24asterisk.ru>;
4. Серверу приложения <https://iw.bx24asterisk.ru>.

Для реализации полного функционала (click-to-call и прослушивание записей) из Битрикс24 должен быть доступ на сервер с модулем (проброшен порт 8077 и 8078).

{% hint style="info" %}
Для прослушивания разговоров - должен быть доступ на сервер с модулем с использованием протокола HTTPS: [проброшен порт 8078](https://docs.itgrix.ru/how-to-fix/ssl-certificate) и установлены корректные ssl сертификаты.

* Битрикс24: если используется загрузка файлов записей напрямую на портал - настройка порта 8078 не требуется.
* amoCRM: для прослушивания записей настройка порта 8078 обязательна.

Это связано с [запретом браузерами смешанного содержимого](https://docs.itgrix.ru/how-to-fix/mixed-content-v-google-chrome).
{% endhint %}

### amoCRM / Kommo

{% hint style="info" %}
В настройках виджета Itgrix, в поле 'Внешний адрес модуля для запросов Click-to-Call', адрес должен быть указан с протоколом **https.** \\

<img src="https://349598197-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M-rywOcELBwBcmtSBHS%2Fuploads%2FkGsBNLxNLSZKgLcJl49l%2FvidgethttpsAmo.png?alt=media&#x26;token=0882cb2a-3289-4914-bbf8-489e3bf238f3" alt="" data-size="original">
{% endhint %}

Начиная с версии модуля интеграции [3.0.0](https://docs.itgrix.ru/changelog-amo#3.0.0), для показа и скрытия [карточки звонка](https://docs.itgrix.ru/ustanovka-modulya/itgrix-amo-setup/kartochka-zvonka-v-amocrm) необходимо настроить и обеспечить возможность подключения пользователей к модулю интеграции по протоколу WSS. Адрес для подключения имеет вид `wss://<Asterisk IP>:8078/crm/cardws`. Его можно настроить в виджете приложения в интерфейсе amoCRM. Необходимые условия для корректной работы:

* адрес доступен с компьютера пользователя, это может быть адрес в локальной сети, адрес доступный через VPN или (не рекомендуется) внешний адрес;
* настройки всех узлов маршрута между пользователем и адресом сокета карточки разрешают устанавливать соединение по протоколу WSS, это может потребовать дополнительной настройки имеющегося сервера Nginx или другого прокси-сервера;
* на сервере где установлен модуль интеграции настроен валидный SSL-сертификат, который успешно верифицируется браузером пользователя, и этот сертификат указан в интерфейсе настройки модуля интеграции `http://<Asterisk IP>:8077/config/module`;
* сервер на котором установлен модуль интеграции и промежуточные узлы маршрута настроены для одновременной поддержки необходимого количества соединений, по одному на браузер с открытым интерфейсом amoCRM.

Без этой настройки основной функционал приложения будет работать, но не будет отображаться карточка звонка.

## 4. Минимальные системные требования

* Процессор от 2 ядер.
* ОЗУ от 2 ГБ.
* От 500 МБ свободного места на жестком диске (Коннектор + бэкап + лог).

## 5. Требования к операционной системе сервера

{% hint style="danger" %}
В системе должна быть установлена библиотека OpenSSL версии 1.0.2k и выше.

**Более старые версии OpenSSL могут сделать невозможным выполнение необходимых запросов, например, при получении лицензии.**

\
Для проверки версии, в консоли вводим команду:\
`openssl version`
{% endhint %}

Для проверки введите в командной строке `# uname -a.`

Хорошо проходит установка модуля на операционных системах:

* CentOS 7 и выше.
* Debian 7 и выше.

{% hint style="danger" %}
На CentOS 6 по умолчанию установлена библиотека OpenSSL версии 1.0.1e, Itgrix будет работать только с обновленной версией OpenSSL 1.0.2k и выше.

Мучительно проходит установка на FreeBSD.

НЕ удалось провести интеграцию на операционных системах:

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

Если вы используете другую операционную систему, то для установки модуля необходимо, чтобы в репозиториях ОС были пакеты: `unixODBC`, `mysql-connector-odbc`, `mysql-server`. Если они уже установлены в ОС, то это сильно упростит установку модуля.
