Links
Comment on page

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

Если ранее функция click-to-call была настроена для версии Битрикс24 ниже 23.300.0, то старый код для этой настройки необходимо удалить.
Для возможности совершения звонков (click-to-call) из коробочной версии Битрикс24 в закрытой сети необходимо:
В административном интерфейсе 1С-Битрикс24 (<portal_address>/bitrix) в разделе Контент → Структура сайта → Файлы и папки
  1. 1.
    Проверим наличие файла в котором будем производить изменения по следующему пути local/php_interface/init.php
Если такого файла нет, изменять будем содержимое файла bitrix/php_interface/init.phpили файл init.php для конкретного файла. (документация по файлу init.php)
  1. 2.
    Добавим в 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. 3.
    В данном коде нужно изменить шаблон '/192\.168\./' у функции preg_match: в нём должен быть адрес на который будут отправляться click-to-call запросы, это должен быть адрес по которому с сервера Bitrix24 доступна админка модуля, например, если админка модуля доступна по адресу example.com:8077, то шаблон будет '/example\.com:8077/'
  2. 4.
    Такой же адрес для запросов click-to-call должен быть указан в настройках модуля, в разделе Битрикс24:
Адрес для запросов c2c
Если не использовать код указанный выше, то на сервере Asterisk должны быть разрешены входящие запросы с адреса https://oauth.bitrix.info
Получить IP адреса, с которых могут приходить входящие запросы, можно следующими командами:
curl https://dl.bitrix24.com/webhook/app.json
curl https://dl.bitrix24.com/webhook/app-world.json