По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Ищешь бесплатное решение по реализации исходящих звонков из CRM Битрикс24 в связке с Asterisk? Поздравляем, нашел. Можешь закрыть все остальные вкладки и оставить только эту – пошаговое руководство по интеграции Б24 и Астериска в статье :) Как это работает? Легко (на этом можно было бы закончить). Мы создаем исходящий вебхук в Битрикс, он дергает php - скрипт на Asterisk каждый раз, когда мы будем нажимать на номер телефона в лиде, сделке, контакте – где угодно. Поехали. Попробовать Битрикс24 Подготовка Создадим AMI (Asterisk Manager Interface)– юзера, через которого будем инициировать вызовы. Откроем файл настройки: vim /etc/asterisk/manager.conf Обращаем внимание на секцию [general] - параметр enabled должен быть в значении yes: [general] enabled = yes // вот этот параметр :) port = 5038 bindaddr = 0.0.0.0 Проверьте, чтобы в самом конце файла manager.conf были следующие строки (если их нет, добавьте): #include manager_custom.conf Проверили. А теперь открываем файл /etc/asterisk/manager_custom.conf (если его нет – создайте и дайте права) и добавляем туда: [имя] secret = пароль deny=0.0.0.0/0.0.0.0 permit=127.0.0.1/255.255.255.0 permit=ip_адрес_Asterisk/маска read = all,system,call,log,verbose,command,agent,user,config,originate write = all,system,call,log,verbose,command,agent,user,config,originate имя - придумайте имя для юзера; пароль - создайте устойчивый к взломам пароль, с помощью сервисов онлайн генерации, например; ip_адрес_Asterisk/маска - укажите вашу подсеть. В указанной подсети должен находится IP – адрес, с которого скрипт будет обращаться к AMI. Пример записи - 192.168.1.0/255.255.255.0; Переходим в Битрикс24 и создаем вебхуки. Вебхуки Первый вебхук мы сделаем входящим – по нему наш скрипт будет получать внутренний номер сотрудника по его идентификатору. Переходим в раздел Приложения → Вебхуки. Нажимаем кнопку Добавить вебхук и выбираем Входящий вебхук. Делаем вот что: Название - любое название, как вам удобно; Описание - нужный момент, чтобы не запутаться в вебхуках; Права доступа - отметьте галочкой Пользователи (user); Нажимаем сохранить. Должно получиться примерно вот так: Обратите внимание: на скриншоте, красной линией подчеркнут URL параметра Пример URL для вызова REST. Скопируйте его ровно до последней части /profile/. Например, у нас получилось: https://merionet.bitrix24.ru/rest/2/1a2b3c4d5e6f7g8h Сохраните этот URL – он нам еще пригодится :) Перед тем, как мы сделаем исходящий вебхук, давайте обсудим будущий URL нашего скрипта. Так как он будет располагаться в веб директории, мы предлагаем вам сгенерировать последовательно 3 директории, в которых будет лежать скрипт. И вот о чем мы: представим, что ваш домен выглядит вот так: http://ilovemerionet.ru/ Гуд. Давайте последовательно сгенерируем 3 уникальных названия директорий, например: IpVy7ul85sz1Doi C49BNGJW3Yf30eo qBN0NBC56lj07yh После чего, в директории /var/www/html/ создадим три вложенных папки, чтобы наш файл в конечно итоге размещался в директории: /var/www/html/IpVy7ul85sz1Doi/C49BNGJW3Yf30eo/qBN0NBC56lj07yh/ Сам файл скрипта, который мы сгенерируем, будет называться index.php, тем самым, вебхук со стороны Битрикс24 будет обращаться по следующему URL: http://ilovemerionet.ru/IpVy7ul85sz1Doi/C49BNGJW3Yf30eo/qBN0NBC56lj07yh/ Кажется, разобрались :) Теперь создаем исходящий вебхук – прыгаем в раздел Приложения → Вебхуки. Нажимаем кнопку Добавить вебхук и выбираем Исходящий вебхук. Делаем вот что: Код авторизации - это наш проверочный код, который мы используем в скрипте; Адрес обработчика - как мы привели пример выше, тут будет http://ilovemerionet.ru/IpVy7ul85sz1Doi/C49BNGJW3Yf30eo/qBN0NBC56lj07yh/ - у вас, само собой, свой URL :); Название - явное название, чтобы не запутаться. Сделайте Asterisk Calls, например?; Комментарий - можете оставить комментарий для себя, чтобы было проще разобраться; Тип события - выбираем Инициация звонка через приложение (ONEXTERNALCALLSTART); Великолепно. Мы выходим на финишную прямую. Скрипт для Asterisk Ловите скрипт, который будет принимать вебхуки от Битрикс24. Комментарии к самым важным строкам, как всегда, присутствуют: <?php $check_token = "Код_авторизации"; // это значение будет прилетать нам в вебхуке. А мы будем его сравнивать, чтобы быть уверенными, что это Битрикс; $user_hook_url = "Часть_входящего_вебхука"; // нужно, для получения внутреннего номера пользователя, которые инициирует звонок; $ami_login = "ami_логин"; // логин к AMI, который мы создавали ранее; $ami_password = "пароль"; // пароль к AMI, который мы создавали ранее; $strhost = "IP_адрес"; // IP - адрес вашего Asterisk; if (strcmp($_POST['auth']['application_token'], $check_token) === 0) { function writeToLog($data, $title = '') { $log = " ------------------------ "; $log .= date("Y.m.d G:i:s") . " "; $log .= (strlen($title) > 0 ? $title : 'DEBUG') . " "; $log .= print_r($data, 1); $log .= " ------------------------ "; file_put_contents(getcwd() . '/hook.log', $log, FILE_APPEND); return true; } writeToLog($_REQUEST, 'incoming'); $UID = $_POST['data']['USER_ID']; $bitrix_contact_url = "$user_hook_url/user.get.json?ID=$UID"; $btc = curl_init(); curl_setopt ($btc, CURLOPT_URL,$bitrix_contact_url); curl_setopt ($btc, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); curl_setopt ($btc, CURLOPT_TIMEOUT, 60); curl_setopt ($btc, CURLOPT_FOLLOWLOCATION, 1); curl_setopt ($btc, CURLOPT_RETURNTRANSFER, 1); $bitrix_contact = curl_exec ($btc); curl_close($btc); $bitrix_contact_o = json_decode($bitrix_contact, true); $cid = $bitrix_contact_o['result'][0]['UF_PHONE_INNER']; $strport = "5038"; $timeout = "5"; $num = str_replace("+","",$_POST['data']['PHONE_NUMBER_INTERNATIONAL']); $callid = $_POST['data']['CALL_ID']; $c="from-internal"; $p="1"; $errno=0 ; $errstr=0 ; $sconn = fsockopen($strhost, $strport, &$errno, &$errstr, $timeout) or die("Connection to $strhost:$strport failed"); if (!$sconn) { echo "$errstr ($errno) "; } else { $sconn1 = fsockopen($strhost, $strport, &$errno, &$errstr, $timeout) or die("Connection to $strhost:$strport failed"); if (!$sconn1) { echo "$errstr ($errno) "; } else { fputs($sconn1, "Action: login "); fputs($sconn1, "Username: $ami_login "); fputs($sconn1, "Secret: $ami_password "); fputs($sconn1, "Events: off "); usleep(500); fputs($sconn1, "Action: Setvar "); fputs($sconn1, "Variable: B24ID "); fputs($sconn1, "Value: $callid/$cid "); fputs($sconn1, "Action: Logoff "); usleep(500); $wrets1=fgets($sconn1,128); fclose($sconn1);} fputs($sconn, "Action: login "); fputs($sconn, "Username: $ami_login "); fputs($sconn, "Secret: $ami_password "); fputs($sconn, "Events: off "); usleep(500); fputs($sconn, "Action: Originate "); fputs($sconn, "Channel: SIP/$cid "); fputs($sconn, "Callerid: $cid "); fputs($sconn, "Timeout: 20000 "); fputs($sconn, "Context: $c "); fputs($sconn, "Exten: $num "); fputs($sconn, "Priority: $p "); fputs($sconn, "Async: yes " ); usleep(500); $wrets=fgets($sconn,128); fclose($sconn); exit; }} else { exit; }; ?> Скачать скрипт интеграции После загрузки файла, сохраните его с расширением .php В нем вам нужно поменять 5 переменных: $check_token - код авторизации, который вы получили на этапе создания исходящего вебхука; $user_hook_url - та часть входящего вебхука, которая подчеркнута на скриншоте до слов /profile/; $ami_login - логин в AMI, создавали ранее; $ami_password - пароль в AMI; $strhost - IP - адрес вашего Asterisk; Чтобы скрипт заработал, нужно, как мы говорили ранее, загрузить его в директорию /var/www/html/IpVy7ul85sz1Doi/C49BNGJW3Yf30eo/qBN0NBC56lj07yh/ (после генерации директорий у вас будет свой путь!) и дать следующие команды: dos2unix /var/www/html/IpVy7ul85sz1Doi/C49BNGJW3Yf30eo/qBN0NBC56lj07yh/index.php chown asterisk:asterisk /var/www/html/IpVy7ul85sz1Doi/C49BNGJW3Yf30eo/qBN0NBC56lj07yh/index.php chmod 775 /var/www/html/IpVy7ul85sz1Doi/C49BNGJW3Yf30eo/qBN0NBC56lj07yh/index.php Кстати, профит этого скрипта в том, что он ведет логирование в файле hook.log, который будет располагаться в той же директории. Если кто – то из ваших менеджеров скажет, что не смог позвонить клиенту – это будет легко проверить :) Почти готово. Остался только один штрих. Снова открываем CRM Битрикс24, переходим в сегмент Телефония → Настройки и в параметре Настройка номеров по-умолчанию выбираем созданный нами вебхук (у нас он называется Приложения: Asterisk Calls: А вот теперь готово. Звоним Звонит :) Но! Не закрывает карточку и не добавляет отметку об исходящем звонке в сущность CRM (запись разговора). Внимательные пользователи обратят внимание – в AMI сегменте скрипта, который обсуждали ранее, мы кинули команду Setvar (присвоение переменной) к B24ID = $callid. Тем самым, на всем протяжении звонка у нас будет идентификатор этой телефонной транзакции. Фактически, чтобы получить отметку о звонке, запись разговора и прочее, по факту окончания разговора нужно методом telephony.externalcall.finish кинуть массив данных, где будет отметка об идентификаторе вызова (которую передаем через диалплан), телефон инициатора вызова, длительность и ссылка на запись разговора. Если данная статья вызовет интерес, мы покажем, как это сделать. Удачи с настройкой :)
img
Роутеры MikroTik имеют множество полезных функций для траблшутинга проблем. Одной из таких утилит является возможность создания supout.rif файла. Supout.rif - это файл, который содержит всю конфигурацию вашего роутера, а также логи и другую полезную информацию об устройстве. Возможность создания данного файла задумывалась командой MikroTik как быстрый способ информации получения всей необходимой информации о роутере в рамках работ по оказанию технической поддержки. Дабы не нагружать пользователя просьбами выгружать сначала конфигурацию, потом снимать логи, а просто попросить выгрузить Support.rif и начать исследовать проблему. При этом, пользователь может не переживать за то, что его пароли из утекут на третью сторону, так как все пароли в файле supout.rif шифруются. Итак, чтобы создать данный файл через WinBox, нужно просто нажать на кнопку Make Supout.rif, затем Start и дождаться пока завершится процесс генерации. Теперь, чтобы скачать его, просто открываем Files, ищем support.rif, нажимаем на него правой кнопкой и выбираем Download. Чтобы сгенерировать этот файл из командной строки, вводим в Terminal: /system sup-output name=supout.rif. Далее можно скачать его по FTP или отправить на другой хост. Но текстовым редактором данный файл мы открыть не сможем. Для того, чтобы его прочитать в команде MikroTik придумали инструмент Supout.rif viewer. Чтобы им воспользоваться, необходимо зарегистрироваться на сайте MikroTik.com, залогиниться в свой аккаунт, перейти в раздел Support и найти там Supout.rif viewer. Далее нужно просто загрузить сгенерированный файл в открывшейся форме. После этого перед вами откроется список из 46 пунктов, нажав на которые вы сможете посмотреть соответствующую информацию. Правила firewall, настройки маршрутизации, лог устройства, в общем все что здесь есть - все это есть. Например, в разделе export содержится вся текущая конфигурация. Очень удобный инструмент, который пригодится любому, кто администрирует роутеры MikroTik.
img
CentOS дистрибутив линукс основанный на коммерческом дистрибутиве RHEL от компании RED HAT. Считается, что CentOS имеет более высокую степень защиты, чем Ubuntu server. И именно поэтому системные администраторы предпочитают его устанавливать в качестве серверного ПО. В данной статье мы рассмотрим установку данной ОС. Для тестовой установки выбрана виртуальная машина, развертывание ВМ на VMware, не является предметом данной статьи. Установка CentOS 7 Подключаем скаченный с официального сайта CentOS дистрибутив (в нашем случае 7, версия 8 и 8.1 устанавливаются аналогично) и запускаем ВМ. Загрузчик предлагает сделать выбор: 1-й вариант - это непосредственно сама установка 2-й вариант - это проверка вашего "железа" и в случае отсутствия ошибок дальнейшая установка. На следующем экране программа предлагает сделать выбор языка и раскладки клавиатуры. В большинстве случаев, на данных серверах работает серверное ПО и подключаются для управления только администраторы. Не вижу большого смысла менять язык интерфейса и раскладку клавиатуры. Нажимаем Continue. Основной экран настроек будущей Операционной системы. Предлагаю начать с настройки сети и имени сервера. Меняем hostname. Рекомендую писать понятные имена или вообще завести классификацию. В дальнейшем это очень облегчит жизнь. Вводим и нажимаем Apply Далее нажимаем кнопку Configure и проваливаемся в настройки сетевого адаптера. Идем в настройки IPv6 и отключаем данный протокол. Это делаем по следующим соображениям. Мало кто использует данный протокол в локальной сети. Для новичков он более сложен в освоении и использовании, чем протокол ipv4. Поэтому он навряд ли вам понадобится. А тот, кто умеет его использовать, данная инструкция будет не интересна. Поэтому в поле Method щелкам и из списка выбираем Ignore. Настраиваем протокол ipv4. Данный протокол самый распространенный. Для настройки, нам потребуется сетевые параметры. Ip, mask, Gateway, DNS и если у вас есть то имя домена. Нажимаем ADD и добавляем ip , маску можно задать 2-мя вариантами CIDR или развернуто. Прописываем ip адрес шлюза. Шлюз должен иметь сетевую связанность с ip адресом машины, т. к. автоматически в системе пропишется маршрут по умолчанию через данный шлюз. DNS cервера. Если у нас один DNS сервер, то просто пишем его Ip адрес, если более их можно указать, через символ запятой. И последнее указываем домен если он у вас есть Search domains. Если нету, то можно оставить поле пустым. Если сетевые пакеты данных должны ходить, каким-то хитрым способом, то для этого есть кнопка Routers, где можно описать маршруты, но думаю новичкам это не понадобится. Жмем кнопку Save и сохраняем настройки. Возвращаемся к главному меню. Следующее Date and Time. В отличии от windows машин, часовой пояс и время, а также синхронизация на серверах CentOS может оказаться критичной. Поэтому данный параметр лучше настроить сразу, как и синхронизацию с ntp сервером. В поле Region выбираем Регион и в поле City выбираем ближайший город. Фактически данные настройки позволяют установить региональный часовой пояс. Данная настройка позволит адекватно анализировать записи логов на сервере и сопоставлять произошедшее с реальным временем. Network Time должно быть включено - это означает, что часы на сервере будут синхронизироваться с серверами ntp в глобальной сети или нажав на значок шестеренок мы можем указать другой ntp сервер с которым наша ОС, будет синхронизироваться. По окончанию настройки нажимаем Done. Следующая настройка, это разбивка Жесткого диска на разделы. В данном разделе можно оставить все в автоматическом режиме, если нет специфических требований к логическим разделам жесткого диска. Можно галочкой отметить шифрование и ввести пароль если данная опция требуется. А также можно выбрать "I will configure partitioning", если предполагается отклонение от рекомендуемых параметров разбивки. Если рекомендуемая конфигурация устраивает, то убедитесь, что галочка установлена как на изображении и жмите Done. Следующий раздел Software Selection. В данном разделе можно выбрать набор прикладного ПО, которое будет установлено на сервер. В данном разделе можно очень гибко настроить, то, что будет установлено вместе с ОС. Minimal Install - это базовая установка функционала по сути это только ОС. Конечно в процессе эксплуатации можно все доставить, но не всегда удобно. Но этого в принципе достаточно для базового функционирования сервера. Остальные пункты можно самостоятельно просмотреть и выбрать то, что необходимо. Жмем на кнопку Done и выходим в главное меню. Основные параметры установки ОС настроены. Можно начинать процесс установки. Жмем Begin Installation. Начинается установка. В процессе установки необходимо задать пароль root. И можно создать пользователя, даже наделить правами Администратора (root). По окончанию процесса вам программа установки предложит перезагрузить ВМ. Жмем Reboot. Установка завершена. Базовая настройка ОС CentOS 7 Для управления серверными *nix ОС, системные администраторы используют подключение по SSH протоколу для этого на Firewall должен быть открыт 22 порт, для подключения и настроен OpenSSH. В базовой установке CentOS7 обычно сразу устанавливается OpenSSH и настраивается правило, открывающее порт 22 на сервере. НО по умолчанию запрещено подключение от пользователя root по ssh к серверу, это сделано в целях безопасности. Поэтому 2 варианта: Если вы создали на этапе установки пользователя и дали ему root права, подключится с помощью ssh. Через окно инсталляции ВМ внести изменение в конфигурацию openssh. Для подключения по ssh в классическом варианте используется программа putty, но на самом деле можно использовать любой ssh клиент. Даже встроенный в ОС Windows. При удачном подключении вы увидите приглашение к авторизации на сервере. Вводим логин и пароль и попадаем в консоль ОС. Примерно это выглядит так. Знак "$" говорит, что мы в пользовательском режиме. Знак "#", о том, что в привилегированном. Мы будем работать в пользовательском режиме для повышения прав используя команду "sudo". Первое, что необходимо сделать это поставить обновления. sudo yum update sudo yum upgrade После обновления для удобства рекомендую поставить Midnight Commander sudo yum install mc -y Устанавливаем сетевые утилиты: sudo yum install net-tools -y sudo yum install bind-utils -y Ставим удобный текстовый редактор nano sudo yum install nano -y Отключаем SElinux sudo setenforce 0 Или отключаем на постоянной основе через sudo nano /etc/sysconfig/selinux и редактируем строчку SElinux=disable. Сохраняем и перезагружаем сервер. Reboot. На этом первоначальная настройка сервера закончена.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59