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

Если ранее функция click-to-call была настроена для версии Битрикс24 ниже 23.300.0, то старый код для этой настройки необходимо удалить.

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

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

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

Если такого файла нет, изменять будем содержимое файла bitrix/php_interface/init.phpили файл init.php для конкретного файла. (документация по файлу init.php)\

  1. Добавим в init.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());
  1. В данном коде нужно изменить шаблон '/192\.168\./' у функции preg_match: в нём должен быть адрес на который будут отправляться click-to-call запросы, это должен быть адрес по которому с сервера Bitrix24 доступна админка модуля, например, если админка модуля доступна по адресу example.com:8077, то шаблон будет '/example\.com:8077/'

  2. Такой же адрес для запросов click-to-call должен быть указан в настройках модуля, в разделе Битрикс24:

Если не использовать код указанный выше, то на сервере Asterisk должны быть разрешены входящие запросы с адреса https://oauth.bitrix.info

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

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

Last updated