По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
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
Привет! Недавно мы рассказывали про то, как развернуть VoIP лабораторию используя Cisco Packet Tracer. Сегодня мы покажем, как настроить протокол маршрутизации OSPF (Open Shortest Path First) в Packet Tracer. Про сам протокол OSPF можно почтить тут. Создадим такую схему – два маршрутизатора, соединенные друг с другом посредством серийного интерфейса, к каждому подключено по коммутатору, а уже к ним подключаются компьютеры. Видео: протокол OSPF (Open Shortest Path First) за 8 минут Настройка сети Начнем с настройки интерфейсов на роутере. Сначала настроим интерфейс FastEthernet 0/0, который смотрит в сторону коммутатора. Используем команду int fa 0/0 для входа в режим конфигурации интерфейса, ip address [ip_адрес][маска] для того чтобы назначить ему IP адрес, и команду no shutdown для того чтобы включить интерфейс. После этого мы увидим сообщение что интерфейс и протокол теперь находятся в состоянии UP. en conf t int fa 0/0 ip address 192.168.1.10 255.255.255.0 no sh Затем настроим интерфейс Serial 2/0. Тут все тоже самое, но поскольку это интерфейс serial, то мы еще выполняем команду clock rate, чтобы задать скорость в 64000 бита в секунду. Эту команду мы должны выполнить на маршрутизаторе, который является DCE (Data Communication Equipment). Это зависит от того, каким концом подключен serial кабель, так как он не симметричный. Чтобы посмотреть, какая роль у данного порта нужно использовать команду show controllers [интерфейс] , где мы увидим, является он DCE или DTE. en conf t int serial 2/0 ip address 192.168.2.1 255.255.255.0 clock rate 64000 no sh exit Аналогичные настройки проведем для другого маршрутизатора, за исключением того, что он является DTE (Data Terminal Equipment) и использовать команду clock rate не нужно. После этого все интерфейсы должны находиться в состоянии UP и стать зелеными. Теперь присвоим IP адреса компьютерам. Для этого дважды кликнем иконку компьютера, перейдем во вкладку Desktop и нажмем на IP Configuration. В открывшемся окне выбираем опцию static в блоке IP Configuration и задаем необходимый IP адрес, маску и шлюз, в соответствии с нашей схемой. То же самое проделываем и для остальных ПК. После этого можно проверить доступность, используя команду Ping, зайдя на ПК во вкладку Desktop – Command Prompt. Как видно на скриншоте у нас есть доступ до шлюза, который находится в нашей подсети 192.168.1.0/24, есть доступ до интерфейса роутера, находящегося в подсети 192.168.2.0/24, потому что он находится на роутере и поэтому попадает в таблицу маршрутизации, но при этом до другого адреса в этой подсети доступа у нас нет. И у нас нет доступа до подсети 192.168.3.0/24. На данный момент таблица маршрузиации левого роутера выглядит вот так Чтобы это исправить и получить доступ до подсети 192.168.3.0/24 настроим протокол маршрутизации OSPF. Настройка OSFP Запускаем процесс OSPF на первом маршрутизаторе. Для этого используем команду router OSPF [номер процесса] для запуска протокола, и команду network [ip_адрес_сети][wildcard_маска][зона] , в которой мы указываем все подстети, для которых будет работать OSPF. Посчитать обратную (wildcard) маску можно на нашем калькуляторе подсетей. Просто введите обычный адрес и обычную маску, а калькулятор покажет вам wildcard :) en conf t router ospf 1 network 192.168.1.0 0.0.255 area 0 network 192.168.2.0 0.0.255 area 0 network 192.168.3.0 0.0.255 area 0 exit То же самое проделываем на втором маршрутизаторе. Номер зоны должен быть таким же, как и на первом роутере. Как видно на скриншоте, процесс OSPF уже сразу заработал. Теперь можно проверить таблицу маршрутиазции. Как мы видим, теперь все сети появились в таблице маршрутизации. Теперь снова проверим сетевую доступность между подсетями 192.168.1.0/24 и 192.168.3.0/24, используя утилиту Ping. Все пингуется, а это значит, что мы успешно настроили протокол OSPF!
img
В 21 веке работа в дистанционном формате достаточно актуальна. Это объясняется в первую очередь удобным форматом работы. Сокращается время прихода сотрудника на работу буквально до нескольких минут. В связи с пандемией COVID-19, данный вид работы приобрёл очень высокую популярность. Научная новизна будет заключаться в рассмотрении информационной безопасности при удалённой работе в условиях пандемии. В данной статье будут рассмотрены такие моменты как: безопасность при дистанционной работе; основные виды кибернетических угроз; базовые элементы защиты от вредоносных файлов; профилактические меры по безопасности в сети. Перейдём непосредственно к рассмотрению вопросов. При работе в сети интернет существуют определённые правила, которые дают возможность уберечь свой персональный компьютер от нежелательных последствий работы вредоносных файлов. Работа данного ПО может иметь разный характер, и соответственно разные цели. Начиная от шпионской деятельности с целью получения компрометирующих данных и заканчивая получение финансовой прибыли. Существует несколько общепринятых правил: для защиты личного персонального компьютера очень важно прибегать к регулярному обновлению программного обеспечения, применять надежные антивирусные программы и иной защитный софт; никогда не предоставлять конфиденциальные данные, к примеру, номер счета или пароль в ответе на сообщение по электронной почте или в социальных сетях; перед вводом конфиденциальных данных в веб-форме или на веб-странице, необходимо заострить внимание на присутствие определённых моментов таких, как адрес веб-страницы, начинающийся с префикса "https" и значка в форме закрытого замка около адресной строки. Данный значок обозначает безопасное соединение; прежде чем просматривать входящие письма на электронной почте, необходимо проверить адрес отправителя. Письма вызывающие подозрения, необходимо помещать в спам, в особенности если в содержании такого письмах присутствуют некие прикрепленные файлы. Рассмотрим классификацию видов угроз по разнообразным критериям: Прямая угроза непосредственно информационной безопасности: доступность; целостность; конфиденциальность. Компоненты, на которые будет нацелена угроза: данные; программы(софт). По способу реализации: случайные или сознательные. По расположению источника угрозы делятся на: внутренние; внешние. Понятие "угроза" в разнообразных ситуациях как правило интерпретируется различно. И неотложные и важные меры безопасности тоже будут отличаться. Например, для какой-либо общественной структуры угрозы нарушения конфиденциальности данных может априори не существовать - вся информация являются открытыми для доступа, но априори в большей части случаев неутвержденный доступ будет явлением которое представляет ощутимую опасность. Если рассматривать виды кибернетических угроз, то их можно классифицировать следующим образом (рис.1): нарушение (случайное или умышленное) от установленных правил эксплуатации; выход системы из штатного режима эксплуатации в силу случайных или преднамеренных действий пользователей (превышение расчетного числа запросов, чрезмерный объем обрабатываемой информации и т.п.); ошибки при (пере)конфигурировании системы; вредоносное программное обеспечение; отказы программного и аппаратного обеспечения; разрушение данных; разрушение или повреждение аппаратуры. Рассматривая безопасность своего персонального ПК необходимо использовать базовые элементы защиты от вредоносных файлов. В первую очередь это антивирусное программное обеспечение. Выделяют 3 ключевых принципа поведения антивирусного программного обеспечения по отношению к вредоносным программам: диагностика; профилактика; лечение. В первом случае софт проверяет все места на HDD, ОЗУ и съемных носителях. Приоритетными являются те участки, которые чаще всего подвержены негативному влиянию вредоносного ПО (загрузочные сектора, исполняемые библиотеки, драйверы и т.д.). Если антивирусная программа обнаруживает какую-либо негативную активность он автоматически оповещает пользователя. Что касается лечения инфицированных файлов, то оно может быть двух типов: попытка вылечить файл; помещение в карантин; удаление. При попытке лечения файла антивирусное программное обеспечение будет совершать попытки восстановить работоспособность одного или нескольких файлов при помощи изменения кода файла. Либо забивает его нулями, ставя на месте всех точек входа команду возврата управления программе, либо находит неиспорченную копию файла и возвращает ее на место (есть вирусы, которые заменяют собой исполняемые файлы, а сами файлы прячут где-то в папках Windows). Если вирус дописывает себя в конец файла - обрезаtт его, а на месте начала вируса - ставят команду RET (возврат управления). Если ничего не получится зараженные объекты удалятся с ПК навсегда. Целостность системы при этом может пострадать и ее придется восстанавливать. На карантин файлы помещаются в том случае, если они ценны для вас, или содержат важные данные. В дальнейшем вы можете попытаться вылечить объект самостоятельно, или с помощью специалиста. На сегодняшний день различают 3 ключевых способа поиска различных червей и всего прочего мракобесия, которое портит ОС: сигнатурный метод; эвристический метод; брандмауэр (фаервол). Первые два метода построены на анализе файлов системы. А фаерволы защищают сеть, то есть локальные и глобальные подключения. Этот модуль как правило автономен и реализуется в виде отдельной программы, либо уже интегрирован в операционную систему (брандмауэр Windows тому пример). Программное обеспечение подвергает контролю входящий и исходящий трафик, устанавливая ограничения возможности соединения с определенными ресурсами (белые и черные списки). Из положительных сторон можно отметить возможность создания "свободного" интернета, работая исключительно со списком проверенных сайтов. Помимо этого, есть возможность установить на один из локальных шлюзов, создавая школьные или институтские сети узкой направленности. Существенным минусом является сложность настраиваемого софта. Если брать во внимание профилактические меры, то они являются по факту достаточно простым и эффективным циклом. Помимо наличия антивирусного программного обеспечения, необходимо использовать его по назначению как минимум один раз в неделю. Это даст возможность выявить потенциальные или фактические угрозы вашему ПК. Необходимо использовать хорошее защитное программное обеспечение, которое не только сканирует на наличие вирусов, но и ищет различные типы вредоносных программ, включая, помимо прочего, вымогателей, и не дает им проникнуть в компьютер. В основном эти вредоносные коды внедряются в персональные компьютеры, посещая или загружая файлы с не известных веб-сайтов, скачки Drive-by, скомпрометированные веб-сайты, которые отображают вредоносную рекламу, также известную как спам. На одном уровне с антивирусом необходимо системное использование хорошего брандмауэр. Хотя встроенный брандмауэр в Windows 10/8/7 хороший, всё же лучше употребление сторонних брандмауэров, которые, мнению широкого круга пользователей, во многих аспектах сильнее, чем традиционный брандмауэр Windows по умолчанию. При использовании корпоративной компьютерной сети, необходимо убедиться, что на пользовательских компьютерах отсутствует поддержка Plug and Play. Иначе говоря, у работников должна отсутствовать возможность подключения сторонних флэш-накопителей или своих личных интернет-ключей к USB. ИТ-отделу фирмы необходимо внимательно отслеживать и анализировать весь сетевой трафик. Применение сильного анализатора сетевого трафика даёт возможность оперативно отслеживать странное поведение, которое может возникнуть на абсолютно любом терминале (личном компьютере сотрудника). Для защиты от DDoS-атак веб-сайт в идеале необходимо базировать на различные серверы, а не просто располагать на каком-то конкретном сервере. Наилучшим способом защиты от такого вида атак это наличие "зеркала", применяя облачный сервис. Такой подход минимизирует шансы на успешную атаку DDoS - по крайней мере, на достаточно продолжительный временной отрезок. Использование хорошего брандмауэра, значительно снизит шансы успешной атаки на ваш персональный компьютер, а предпринимаемые определённые существенные этапы для защиты вашего сайта дадут возможность на оперативное реагирование попыток несанкционированного доступа к вашей корпоративной сети.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59