# Особенности настройки после обновления Битрикс24 23.300.0

{% hint style="danger" %}
Если ранее функция click-to-call была настроена для версии Битрикс24 ниже 23.300.0, то старый код для этой [настройки](https://docs.itgrix.ru/settings/click-to-call#5.-osobennosti-nastroiki-click-to-call-v-korobochnoi-versii-1s-bitriks24-v-zakrytoi-seti) необходимо удалить.
{% endhint %}

Для возможности совершения звонков (click-to-call) из коробочной версии Битрикс24 в закрытой сети необходимо:

В административном интерфейсе 1С-Битрикс24 (`<portal_address>/bitrix`) в разделе **Контент → Структура сайта →** **Файлы и папки**

1. Проверим наличие файла в котором будем производить изменения по следующему пути\
   `local/php_interface/init.php`

Если такого файла нет, изменять будем содержимое файла `bitrix/php_interface/init.php`или файл `init.php` для конкретного файла. ([документация по файлу init.php](https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43\&LESSON_ID=2916))\\

2. Добавим в `init.php` следующий код

```php
\Bitrix\Main\Loader::includeModule('rest');
class MyEventProvider extends \Bitrix\Rest\Event\ProviderOAuth
{
   public function send(array $queryData)
   {
      $http = new \Bitrix\Main\Web\HttpClient();
      foreach($queryData as $key => $item)
      {
         if(preg_match('/192\.168\./', $item['query']['QUERY_URL'])) // directly sending handlers, having  192.168. in the address
         {
            $http->post($item['query']['QUERY_URL'], $item['query']['QUERY_DATA']);
            unset($queryData[$key]);
         }
      }
      if(count($queryData) > 0)
      {
         parent::send(array_values($queryData)); // all the rest is to be sent via the standard mechanism
      }
   }
}
\Bitrix\Rest\Event\Sender::setProvider(MyEventProvider::instance());
```

3. В данном коде нужно изменить шаблон `'/192\.168\./'` у функции `preg_match`: в нём должен быть адрес на который будут отправляться click-to-call запросы, это должен быть адрес по которому с сервера Bitrix24 доступна админка модуля, например, если админка модуля доступна по адресу `example.com:8077`, то шаблон будет `'/example\.com:8077/'`
4. Такой же адрес для запросов click-to-call должен быть указан в настройках модуля, в разделе Битрикс24:

<figure><img src="https://349598197-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M-rywOcELBwBcmtSBHS%2Fuploads%2Fgit-blob-a18e3833dbf013918ac83fb452cdcb91a0df11c0%2Fc2caddr.jpg?alt=media" alt=""><figcaption><p>Адрес для запросов c2c</p></figcaption></figure>

{% hint style="warning" %}
Если не использовать код указанный выше, то на сервере Asterisk должны быть разрешены входящие запросы с адреса `https://oauth.bitrix.info`

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

```
curl https://dl.bitrix24.com/webhook/app.json
curl https://dl.bitrix24.com/webhook/app-world.json
```

{% endhint %}
