По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Cisco Unified Communications Manager (CUCM) поддерживает множество дополнительных телефонных функций, таких как Call Forward, Shared Lines, Call Pickup, Call Haunting и Call Park, которые объединены одним термином Call Coverage.
В этой статье мы рассмотрим Call Pickup или перехват вызова. В группу перехвата (Call Pickup Group) включаются номера (Directory Number) и самой группе присваивается номер.
Может быть сконфигурировано три типа перехвата вызова:
Call Pickup: Если несколько номеров находятся в одной группе и один из них звонит, то на другом телефоне можно нажать на кнопку для перехвата этого звонка.
Group Call Pickup: Если два телефона находятся в разных группах перехвата и один из них звонит, то на другом телефоне можно нажать на кнопку для перехвата группового вызова и набрать номер группы, в который находится звонящий телефон. После этого звонок будет перехвачен. Есть вариант этой функции под названием Directed Call Pickup, в котором для перехвата нужно набрать номер телефона, на который приходит звонок.
Other Group Pickup: Этот тип позволяет перехватывать звонки из связанной группы, не вводя ее номер.
Настройка Call Pickup
Переходим во вкладку Call Routing → Call Pickup Group и нажимаем Add New. Тут указываем название и уникальный номер группы в полях Call Pickup Group Name и Call Pickup Group Number. Также выбирает тип уведомлений в поле Call Pickup Group Notification Policy и какая информация будет отображаться на дисплее в поле Calling Information Display For Call Pickup Group Notification.
Для использования функции перехвата, необходимо добавить телефоны в группу. Для этого переходим во вкладку Device → Phone, затем выбираем необходимый телефон и на странице его настроек в левой части нажимаем на Line [1] . В этом окне в разделе Call Forward and Call Pickup Settings в поле Call Pickup Group выбираем созданную нам группу. Таким же способом настраиваем другие телефоны, которые будут состоять в группе перехвата.
Затем настроим Softkey клавишу для перехвата звонка на телефоне. Переходим в меню Device → Device Settings → Softkey Template. Здесь выбираем либо уже существующий шаблон, либо нажимаем Add New и добавляем новый. В этом случае выбираем шаблон который будет браться за основу и сохраняем его.
В правом верхнем углу в меню Related Tasks выбираем Configure Softkey Layout и нажимаем Go.
Далее добавляем из правого меню клавиши Pickup, Group Pickup или Other Group Pickup (каждая клавиша может быть выбрана для Off Hook и On Hook состояния). После выбора нажимаем Save и сохраняем.
Теперь эту настройку нужно применить на телефоне. Переходим в меню Device → Phone, выбираем нужный телефон , и на странице его настроек в разделе Device Information в поле Softkey Template указываем созданный нами шаблон, и применяем настройки нажатием кнопок Save и Apply Config.
Битрикс24 – облачная CRM система, цель которой заключается в повышении эффективности работы компании. Мы можем выделить 3 позиции, которые привлекают внимание предпринимателей к этой системе:
Доступность - для начинающих предпринимателей Битрикс24 бесплатна по тарифу «Проект». В бесплатной версии вы можете вести обработку лидов, сделок, ставить задачи, создавать проекты, выставлять счета и многие другие опции. В бесплатной версии нет возможности создавать бизнес – процессы. Более высокие версии, такие как «Команда» или «Компания» обладают более богатым функционалом за привлекательную цену.
Омниканальность - вся деятельность по различным каналам работы будет сконцентрирована в Битрикс24. Без разницы, напишет ли клиент письмо на общий адрес электронной почты компании, или на адрес менеджера персонально, напишет в Telegram, Вконтакте, Facebook, заполнит форму на сайте или позвонит – автоматические будет создан лид в CRM и обработан согласно внутренним правилам в зависимости от источника.
Гибкость - CRM система имеет приложение для ПК, смартфона и планшета. Важно отметить, что существует специальный REST API, с помощью которого можно создавать лиды с помощью PHP с сайта. Коробочную версию CRM можно дорабатывать с помощью собственных PHP скриптов.
Если вы остановили свой выбор на Битрикс24 и ищете возможности автоматизировать обработку лидов, то в статье мы расскажем о интеграции Битрикс24 с сайтом.
Интеграция Битрикс24 с сайтом
Начнем с создания HTML формы на сайте по примеру ниже:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<form action="integration.php" method="post">
Тема: <input type="text" name="tema" value="" /><br />
Ваша компания: <input type="text" name="companyname" value="" /><br />
Имя: <input type="text" name="name" value="" /><br />
Фамилия: <input type="text" name="lastname" value="" /><br />
Ваше сообщение: <textarea name="message"></textarea><br />
<input type="submit" value="Send" />
</form>
</html>
Здесь, методом POST, мы будем передавать параметры в PHP файл, который в свою очередь будет связывать наш сайт с Битрикс24. Скопированную сверху конфигурацию сохраняем в файл, который называем integration.php
Продолжаем работу с этим файлом. Над скопированной выше конфигурации открываем PHP – тэг с помощью символов <?php . Между php и вторым знаком вопроса мы будем вставлять последующую конфигурацию.
Определяем необходимые для REST API переменные, с помощью которых мы будем определять адрес сервера подключения и параметры авторизации. Заранее создайте в Битрикс24 пользователя с правами на создание и изменение сущностей связанных с лидами. В конфигурации приведены строки с комментариями:
// Параметры подключения к вашему облачному Битрикс24
define('CRM_HOST', 'your_domain.bitrix24.com'); // укажите здесь ваш домен в Битрикс
define('CRM_PORT', '443'); // порт для подключения. Здесь оставляем все как есть
define('CRM_PATH', '/crm/configs/import/lead.php'); // Путь к PHP файлу, к которому будем подлючаться. Здесь оставляем все как есть
// Параметры авторизации
define('CRM_LOGIN', 'login'); // логин пользователя, которого мы создали для подключения
define('CRM_PASSWORD', 'password'); // пароль пользователя CRM
Переходим к самому скрипту, который будет заниматься отправкой данных в CRM
$tema = $_POST['tema']; //получаем значение полей из формы и записываем их в переменные методом POST
$companyname = $_POST['companyname'];
$name = $_POST['name'];
$lastname = $_POST['lastname'];
$message = $_POST['message'];
// Начинаем обработку внутри скрипта
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$leadData = $_POST['DATA'];
// представляем массив
$postData = array(
'TITLE' => $tema,
'COMPANY_TITLE' => $companyname,
'NAME' => $name,
'LAST_NAME' => $lastname,
'COMMENTS' => $message,
);
// добавляем в массив параметры авторизации
if (defined('CRM_AUTH'))
{
$postData['AUTH'] = CRM_AUTH;
}
else
{
$postData['LOGIN'] = CRM_LOGIN;
$postData['PASSWORD'] = CRM_PASSWORD;
}
// открываем сокет соединения к облачной CRM
$fp = fsockopen("ssl://".CRM_HOST, CRM_PORT, $errno, $errstr, 30);
if ($fp)
{
// производим URL-кодирование строки
$strPostData = '';
foreach ($postData as $key => $value)
$strPostData .= ($strPostData == '' ? '' : '&').$key.'='.urlencode($value);
// подготавливаем заголовки
$str = "POST ".CRM_PATH." HTTP/1.0
";
$str .= "Host: ".CRM_HOST."
";
$str .= "Content-Type: application/x-www-form-urlencoded
";
$str .= "Content-Length: ".strlen($strPostData)."
";
$str .= "Connection: close
";
$str .= $strPostData;
fwrite($fp, $str);
$result = '';
while (!feof($fp))
{
$result .= fgets($fp, 128);
}
fclose($fp);
$response = explode("
", $result);
$output = '<pre>'.print_r($response[1], 1).'</pre>';
}
else
{
echo 'Не удалось подключиться к CRM '.$errstr.' ('.$errno.')';
}
}
else
{
}
В случае, если вы хотите провести «дебаг» соединения и понять в чем могут быть проблемы, в разделе HTML кода добавьте следующий код, который позволит вывести причину неработоспособности:
<?php echo $output;
Сохраняем все внесенные конфигурации и переходим к тесту. Заполняем WEB – форму:
Как результат, в CRM появляется лид:
Лид успешно создан в CRM. Для его обработки вы можете создать различные бизнес процессы в разделе «Настройки» -> «Автоматизация». Сам файл скрипта вы можете скачать по ссылке ниже. После загрузки, измените формат файла на PHP:
Скачать скрипт интеграции с сайтом
Если вы начинающий веб-разработчик, возможно вы уже знаете, как работает всемирная сеть, по крайней мере, на базовом уровне.
Но когда начинаете кому-то объяснять принцип работы веб-сайта, то терпите неудачу. Что такое IP-адрес? Как работает модель «клиент-сервер» на самом деле?
В наши дни есть достаточно мощные фреймворки, которые можно использовать в своих проектах. Настолько мощные, что начинающие разработчики легко могут запутаться в принципах работы веб.
Базовый веб-поиск
Начнем с того места, где мы все были раньше: введите «www.github.com» в адресную строку браузера и просмотрите загрузку страницы.
С первого взгляда может показаться, что тут происходит какая-то магия. Но давайте заглянем глубже.
Определение частей web
Из-за обилия жаргонных слов, понимание работы интернета поначалу пугает. Но к сожалению, для дальнейшего погружения в тему, придется разобраться с ними.
Клиент: Приложение, например, Chrome или Firefox, которое запущено на компьютере и подключено к Интернету. Его основная роль состоит в том, чтобы принимать пользовательские команды и преобразовывать их в запросы к другому компьютеру, называемому веб-сервером. Хотя мы обычно используем браузер для доступа к Интернету, вы можете считать весь ваш компьютер «клиентом» модели клиент-сервер. Каждый клиентский компьютер имеет уникальный адрес, называемый IP-адресом, который другие компьютеры могут использовать для идентификации.
Сервер: Компьютер, который подключен к Интернету и также имеет IP-адрес. Сервер ожидает запросов от других машин (например, клиента) и отвечает на них. В отличие от вашего компьютера (т.е. клиента), который также имеет IP-адрес, на сервере установлено и работает специальное серверное программное обеспечение, которое подсказывает ему, как реагировать на входящие запросы от вашего браузера. Основной функцией веб-сервера является хранение, обработка и доставка веб-страниц клиентам. Существует множество типов серверов, включая веб-серверы, серверы баз данных, файловые серверы, серверы приложений и многое другое. Подробнее про сервера можно прочитать тут
IP-адрес: Internet Protocol Address. Числовой идентификатор устройства (компьютера, сервера, принтера, маршрутизатора и т.д.) в сети TCP/IP. Каждый компьютер в Интернете имеет IP-адрес, который он использует для идентификации и связи с другими компьютерами. IP-адреса имеют четыре набора чисел, разделенных десятичными точками (например, 244.155.65.2). Это называется «логический адрес». Для определения местоположения устройства в сети логический IP-адрес преобразуется в физический адрес программным обеспечением протокола TCP/IP. Этот физический адрес (т.е. MAC-адрес) встроен в оборудование. Подробнее про IP-адрес можно прочитать тут
Интернет-провайдер: Интернет-провайдер. Интернет-провайдер - посредник между клиентом и серверами. Для типичного домовладельца ИП обычно является «кабельной компанией». Когда браузер получает от вас запрос на переход к www.github.com, он не знает, где искать www.github.com. Это задание поставщика услуг Интернета - выполнить поиск DNS (системы доменных имен), чтобы спросить, на какой IP-адрес настроен сайт, который вы пытаетесь посетить.
DNS: система доменных имен. Распределенная база данных, которая хранит соответствие доменных имен компьютеров и их IP-адресов в Интернете. Не беспокойтесь о том, как сейчас работает «распределенная база данных»: просто знайте, что DNS существует, чтобы пользователи могли вводить www.github.com вместо IP-адреса. Подробнее про DNS можно прочитать тут
Имя домена: используется для идентификации одного или нескольких IP-адресов. Пользователи используют доменное имя (например, www.github.com) для доступа к веб-сайту в Интернете. При вводе имени домена в обозреватель DNS использует его для поиска соответствующего IP-адреса данного веб-сайта.
TCP/IP: Наиболее широко используется протокол связи. «Протокол» - это просто стандартный набор правил для чего-либо. TCP/IP используется в качестве стандарта для передачи данных по сетям. Подробнее про TCP/IP можно прочитать тут
Номер порта: 16-разрядное целое число, которое идентифицирует определенный порт на сервере и всегда связано с IP-адресом. Он служит способом идентификации конкретного процесса на сервере, на который могут пересылаться сетевые запросы.
Хост: Компьютер, подключенный к сети - это может быть клиент, сервер или любой другой тип устройства. Каждый хост имеет уникальный IP-адрес. Для веб-сайта, как www.google.com, хост может быть веб-сервером, который обслуживает страницы для веб-сайта. Часто между хостом и сервером происходит какая-то путаница, но заметьте, что это две разные вещи. Серверы - это тип хоста - это конкретная машина. С другой стороны, хост может ссылаться на всю организацию, которая предоставляет службу хостинга для обслуживания нескольких веб-серверов. В этом смысле можно запустить сервер с хоста.
HTTP: протокол передачи гипертекста. Протокол, используемый веб-браузерами и веб-серверами для взаимодействия друг с другом через Интернет.
URL: URL-адреса идентифицируют конкретный веб-ресурс. Простой пример https://github.com/someone. URL указывает протокол («https»), имя хоста (github.com) и имя файла (чья-то страница профиля). Пользователь может получить веб-ресурс, идентифицированный по этому URL-адресу, через HTTP от сетевого хоста, доменное имя которого github.com. Подробнее про URL можно прочитать тут
Переход от кода к веб-странице
Теперь у нас есть необходимая база, чтобы разобраться, что происходит за кулисами, когда мы вводим в строку поиска адрес Github:
1) Введите URL-адрес в браузере
2) Браузер анализирует информацию, содержащуюся в URL. Сюда входят протокол («https»), доменное имя («github.com») и ресурс («/»). В этом случае после «.com» нет ничего, что указывало бы на конкретный ресурс, поэтому браузер знает, как получить только главную (индексную) страницу.
3) Браузер связывается с поставщиком услуг Интернета, чтобы выполнить DNS-поиск IP-адреса для веб-сервера, на котором размещен веб-сервер www.github.com. Служба DNS сначала свяжется с корневым сервером имен, который просматривает https://www.github.com и отвечает IP-адресом сервера имен для домена верхнего уровня .com. Получив этот адрес служба DNS выполняет еще один запрос на сервер имен, который отвечает за домен .com и запрашивает адрес https://www.github.com.
4) Получив IP-адрес сервера назначения, Интернет-провайдер отправляет его в веб-браузер.
5) Ваш браузер берет IP-адрес и заданный номер порта из URL (протокол HTTP по умолчанию - порт 80, а HTTPS - порт 443) и открывает TCP-сокет. На этом этапе связь между веб-браузером и веб-сервер наконец-то установлена.
6) Ваш веб-браузер отправляет HTTP-запрос на веб-сервер главной HTML-страницы www.github.com.
7) Веб-сервер получает запрос и ищет эту HTML-страницу. Если страница существует, веб-сервер подготавливает ответ и отправляет его обратно в браузер. Если сервер не может найти запрошенную страницу, он отправляет сообщение об ошибке HTTP 404 (тот самый Error 404 Not Found), которое означает «Страница не найдена».
8) Ваш веб-браузер берет HTML-страницу, которую он получает, а затем анализирует ее, делая полный обзор, чтобы найти другие ресурсы, которые перечислены в ней: это адреса изображений, CSS файлов, JavaScript файлов и т.д.
9) Для каждого перечисленного ресурса браузер повторяет весь указанный выше процесс, делая дополнительные HTTP-запросы на сервер для каждого ресурса.
10) После того, как браузер закончит загрузку всех других ресурсов, перечисленных на странице HTML, страница будет загружена в окно браузера и соединение будет закрыто.
Пересечение Интернет-пропасти
Стоит отметить, как информация передается при запросе информации. Когда вы делаете запрос, эта информация разбивается на множество крошечных порций, называемых пакетами. Каждый пакет маркируется заголовком TCP, который включает в себя номера портов источника и назначения, и заголовком IP, который включает в себя IP-адреса источника и назначения. Затем пакет передается через сеть Ethernet, WiFi или сотовую сеть. Пакет может перемещаться по любому маршруту и проходить столько транзитных участков, сколько необходимо для того, чтобы добраться до конечного пункта назначения. И пакеты передаются отнюдь не в том, порядке, в котором они сформировались. Например, первый пакет может прийти третьим, а последний первым.
Нам на самом деле все равно, как пакеты туда попадут - важно только то, что они доберутся до места назначения в целости и сохранности! Как только пакеты достигают места назначения, они снова собираются и доставляются как единое целое.
Так как же все пакеты знают, как добраться до места назначения без потери? Ответ: TCP/IP.
TCP/IP - это двухкомпонентная система, функционирующая как фундаментальная «система управления» Интернета. IP означает Интернет-протокол; его задачей является отправка и маршрутизация пакетов на другие компьютеры с использованием заголовков IP (т.е. IP-адресов) каждого пакета. Вторая часть, протокол управления передачей (TCP), отвечает за разбиение сообщения или файла на меньшие пакеты, маршрутизацию пакетов к соответствующему приложению на целевом компьютере с использованием заголовков TCP, повторную отправку пакетов, если они теряются в пути, и повторную сборку пакетов в правильном порядке, как только они достигают другого конца.
Получение финальной картины
Но подождите - работа еще не закончена! Теперь, когда ваш браузер имеет ресурсы, составляющие веб-сайт (HTML, CSS, JavaScript, изображения и т.д.), он должен пройти несколько шагов, чтобы представить вам ресурсы в виде читабельной для нас с вами веб-страницы.
В браузере имеется механизм визуализации, отвечающий за отображение содержимого. Обработчик рендеринга получает содержимое ресурсов в небольших фрагментах. Затем существует алгоритм синтаксического анализа HTML, который сообщает браузеру, как анализировать ресурсы.
После анализа создается древовидная структура элементов DOM. DOM (Document Object Model) обозначает объектную модель документа и является условным обозначением для представления объектов, расположенных в HTML-документе. Этими объектами - или «узлами» - каждого документа можно управлять с помощью таких языков сценариев, как JavaScript.
После построения дерева DOM анализируются таблицы стилей, чтобы понять, как определить стиль каждого узла. Используя эту информацию, браузер проходит вниз по узлам DOM и вычисляет стиль CSS, положение, координаты и т.д. для каждого узла.
После того как в браузере появятся узлы DOM и их стили, он наконец готов соответствующим образом нарисовать страницу на экране. Результат – все, что вы когда-либо просматривали в интернете.
Итог
Интернет - это комплексная вещь, но вы только что закончили сложную часть!
О структуре веб-приложений мы расскажем в нашей следующей статье.