# Выбор режима соединения
## Общая схема подключения
Предусмотрено несколько методов соединения АТС (или сервера интеграции) и 1С. Разделение методов подключения обусловлено различными ограничениями клиентских приложений 1С и схемами организации сети. При настройке АТС или сервера интеграции требуется выбрать между схемой с веб-сервисом или long-polling соединением. Ниже показана общая схема подключения.

<img class="miko-shadow"  
    src="/assets/root-guides/select-connection-mode/sposob_0.png"
    alt="МИКО: общая схема подключения"
/> 

Панель телефонии всегда подключается к АТС (порт 4222). Сервер 1С подключается к АТС для загрузки истории звонков (порт 8222). Далее в зависимости от схемы соединения может устанавливаться подключение от АТС к веб-серверу 1С (порт по умолчанию 80) или наоборот от сервера 1С к АТС (порт 8222).  
В настройках подсистемы 1С доступно два параметра:
- Канал передачи событий
- Канал передачи контактных данных  

Первый определяет, как события о поступающих звонках будут доставлены от АТС до клиента 1С. А второй - как внешняя панель получит из 1С информацию о контактах.  
Сменить схему подключения можно в 1С:Предприятие по пути: **Звонки и сообщения -> настройки подсистемы -> Сменить схему подключения**.

<img class="miko-shadow"  
    src="/assets/root-guides/select-connection-mode/smenit_shemu.gif"
    alt="МИКО: сменить схему подключения"
/> 

**Канал передачи событий** отвечает за то, каким образом события о звонках будут доставляться от АТС до сервера 1С.

<img class="miko-shadow"  
    src="/assets/root-guides/select-connection-mode/sposob_4_1.png"
    alt="МИКО: канал передачи событий"
/> 

- Способ **Внешняя компонента** означает, что на стороне клиента (пользователя информационной базы) будет установлена внешняя компонента, которая подключается к серверу АТС и, анализируя поступающие от АТС события, отбирает только те, которые относятся к ее пользователю. <br>
Данный способ невозможно использовать в веб-клиенте.
- Способ **веб-сервис** означает, что АТС будет обращаться к веб-сервису 1С для передачи данных о звонках и текущих соединениях. <br>
Для этого веб-сервис должен быть опубликован и АТС должна иметь к нему доступ (АТС и сервер 1С должны быть в одной сети или у веб-сервиса должен быть настроен белый IP-адрес, или на маршрутизаторе настроен проброс портов от белого IP-адреса к хосту с опубликованным веб-сервисом). <br> 
- Способ **Long-polling** означает, что сервер 1С подключается к АТС и устанавливает постоянное соединение (в обе стороны :icon-arrow-switch:). <br> По нему будут АТС будет передавать события о звонках. АТС должна быть доступна серверу 1С (АТС и сервер 1С должны быть в одной сети или АТС должна иметь белый IP-адрес, или настроен проброс портов от белого IP-адреса к IP-адресу АТС). <br> 
Для данного способа обязательным условием является выполнение регламентного задания **Онлайн обмен контактными данными**.

**Канал передачи контактных данных** отвечает за то, каким способом будут передаваться данные о клиенте (наименование, контактное лицо) от сервера 1С до АТС. <br> 
Во-первых по данному каналу в момент звонка АТС запрашивает у 1С наименование контакта и устанавливает его в callerID, чтобы на SIP-софтфонах и аппаратных телефонах отображалось наименование контакта (а не номер телефона). <br> 
Во-вторых при отображении баннера внешней панели по этому каналу запрашивается более подробные сведения о контактном лице и контрагенте, для их размещения в баннере. <br> 
Аналогично каналу передачи событий, при способе **веб-сервис**, АТС обращается к опубликованному веб-сервису. <br>
Так же аналогично каналу передачи событий, при способе **Long-polling** сервер 1С подключается к АТС и устанавливает постоянное соединение.

<img class="miko-shadow"  
    src="/assets/root-guides/select-connection-mode/sposob_4_2.png"
    alt="МИКО: канал передачи событий"
/> 

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

## Пример 1. Работа в локальная сети, тонкий клиент 1С

<img class="miko-shadow"  
    src="/assets/root-guides/select-connection-mode/sposob_1.png"
    alt="МИКО: схема подключения, локальная сеть, тонкий клиент"
/> 

**Организация сети:** сервер 1С и АТС расположены в одной сети.  
**Режим работы 1С:** тонкий клиент.
Самая простая схема. Все оборудование находится в одной сети. Тонкий клиент 1С подключается к АТС через внешнюю компоненту. АТС подключается к веб-сервису 1С опубликованному на веб-сервере Apache или IIS.  

**Настройки в MikoPBX:**  
Способ соединения с 1С: веб-сервис.  
Адрес и порт: 172.16.32.1:80.  

**Настройки в 1С:**  
Адрес и порт: 172.16.32.2:8222.  
Канал передачи событий: внешняя компонента.  
Канал передачи контактных данных: веб-сервис.

**Дополнительно:**  
Установить Apache или IIS и опубликовать веб-сервис 1С.  
!!!
Если работа с внешней панелью телефонии не предполагается, то можно не публиковать веб-сервис.
!!!

## Пример 2. Сервер 1С в локальной сети, АТС в облаке

<img class="miko-shadow"  
    src="/assets/root-guides/select-connection-mode/sposob_2.png"
    alt="МИКО: схема подключения, АТС в облаке, тонкий клиент 1С"
/> 

**Организация сети:** сервер 1С расположен в локальной сети, АТС - в облаке.  
**Режим работы 1С:** тонкий клиент.  

Поскольку АТС расположена за пределами локальной сети, то у нее нет прямого сообщения с сервером 1С. Можно получить выделенный IP-адрес и опубликовать базу в интернете или использовать схему с long-polling соединением. В этом случае сервер 1С установит постоянное подключение к MikoPBX.  

Данный способ соответствует варианту "Сервер 1С в локальной сети, АТС в облаке"

<img class="miko-shadow"  
    src="/assets/root-guides/select-connection-mode/sposob_2_1.png"
    alt="МИКО: схема подключения, АТС в облаке, тонкий клиент 1С"
/> 

**Настройки в MikoPBX:**  
Способ соединения с 1С: long-polling соединение.  

**Настройки в 1С:**  
Канал передачи событий: внешняя компонента.  
Канал передачи контактных данных: long-polling соединение.  

## Пример 3. 1С в облаке, веб-клиент 1С

<img class="miko-shadow"  
    src="/assets/root-guides/select-connection-mode/sposob_3.png"
    alt="МИКО: схема подключения, 1С в облаке, веб-клиент 1С"
/> 

**Организация сети:** сервер 1С расположен в облаке, АТС - в облаке.  
**Режим работы 1С:** веб-клиент.  

Сервер 1С расположен в облаке. Поэтому для работы журнала звонков АТС также потребуется разместить в облаке или на компьютере с выделенным IP адресом. Веб-клиент 1С не имеет прямого сообщения с АТС. События о звонках сначала поступают на сервер 1С и далее в веб-клиент через систему взаимодействия. Потребуется опубликовать веб-сервис и зарегистрировать базу в системе взаимодействия 1С.  

**Настройки в MikoPBX:**  
Способ соединения с 1С: веб-сервис.  
Адрес и порт: 185.98.85.241:80 (пример).  

**Настройки в 1С:**  
Адрес и порт: 94.100.180.202:8222 (пример).  
Канал передачи событий: веб-сервис.  
Канал передачи контактных данных: веб-сервис.  

**Дополнительно:**  
Установить Apache или IIS (в облаке это обычно уже выполнено) и опубликовать веб-сервис 1С.  
Зарегистрировать базу в сервисе 1С:Диалог для получения доступа к системе взаимодействия.  

## Сравнительная таблица режимов

| -                                 | Внешняя компонента | Веб-сервис            | Long-poll соединение  |
|-----------------------------------|--------------------|-----------------------|-----------------------|
| Вид клиента 1С                    | Тонкий клиент      | Тонкий и веб клиенты  | Тонкий и веб клиенты  |
| Операционная система              | Windows            | Windows, Linux, macOS | Windows, Linux, macOS |
| Файловый вариант работы           | Да                 | Да                    | Нет                   |
| Клиент-серверный вариант работы   | Да                 | Да                    | Да                    |
| Требует публикации на веб-сервере | Нет                | Да                    | Нет                   |
| Требует регистрации в 1С:Диалог   | Нет                | Да                    | Да                    |
