По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Функция Call Waiting при настройке в Asterisk или через FreePBX позволяет внутреннему номера принимать второй параллельный вызов, во время текущего разговора. Основной проблемой Call Waiting является то, что звонящий занятому абоненту слышит стандартный КПВ (Контроль посылки вызова, или просто гудок) в телефонной трубке, что создает ложное ощущение игнорирования. Звонящий думает, что вызываемый абонент не взял трубку по причине обеда, перекура, невнимательности или похищения пришельцами. Нас такой вариант не устраивает и мы предлагаем решение: звуковое уведомление звонящего о том, что вызываемый абонент сейчас разговаривает и не может принять вызов. Предложим звонящему подождать или позвонить попозже. Приступаем к реализации. Настройка extensions_custom.conf Как можно понять по названию заголовка, настройку мы будем производить в одноименном файле extensions_custom.conf, который находится в директории /etc/asterisk/:. Открываем для редактирования: vim /etc/asterisk/extensions_custom.conf После чего, добавляем в файл следующую конфигурацию: [from-internal-custom] include => macro-dialout-one-predial-hook [macro-dialout-one-predial-hook] exten => s,1,Noop(HINT STATUS - ${EXTENSION_STATE(${DEXTEN})}) exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "INUSE"]?Playback(/var/lib/asterisk/sounds/ru/custom/busytest)) exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "INUSE"]?Set(D_OPTIONS=Ttm)) exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "RINGINUSE"]?Playback(/var/lib/asterisk/sounds/ru/custom/busytest)) exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "RINGINUSE"]?Set(D_OPTIONS=Ttm)) Разберемся с каждой строчкой контекста macro-dialout-one-predial-hook: exten => s,1,Noop(HINT STATUS - ${EXTENSION_STATE(${DEXTEN})}) - выводим в консоль сервера состояние хинта. Здесь может быть : UNKNOWN, NOT_INUSE, INUSE, BUSY, UNAVAILABLE, RINGING, RINGINUSE, HOLDINUSE, ONHOLD exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "INUSE"]?Playback(/var/lib/asterisk/sounds/ru/custom/busytest)) - проверяем статус хинта: если он равен INUSE (находится в разговоре), то проигрываем для него заранее записанный файл (/var/lib/asterisk/sounds/ru/custom/busytest, где сообщаем звонящему о занятости и просим подождать; exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "INUSE"]?Set(D_OPTIONS=Ttm)) - сразу после озвучивания нашего аудио, играем MoH (Music On Hold) звонящему; Аналогичным способом, как показано выше, мы проводим проверку для состояния хинта равному RINGINUSE. Готово. Перегружаем диалплан командой: asterisk -rx "dialplan reload" Не работает с Follow Me Если вы столкнулись с проблемой того, что данный функционал не работает на внутренних номерах, в настройках которых включена опция Follow Me, то сделайте следующие действия: Откройте графический интерфейс FreePBX. Перейдите в раздел Settings → Advanced Settings; Найдите опцию Default Follow Me Ring Strategy в разделе Follow Me Module и выставьте ее как ringallv2; Повторите подобную итерацию для каждого экстеншена в разделе Follow Me; Дайте команду asterisk -rx "dialplan reload" в консоль вашего сервера;
img
Если вы на пути изучения Kubernetes, начните с лабораторной среды. Использование лабораторной среды позволит вам правильно развернуть и получить рабочую среду Kubernetes и это является одним из лучших способов проведения экспериментов и обучения. В этой статье рассмотрим установку Minikube на Windows Hyper-V Server 2019, его конфигурацию и работу с приложениями и их развертываниями. Что такое Minikube? Minikube это простой и быстрый способ создать локальный кластер Kubernetes. Он работает на MacOs, Lunix и Windows системах. Также это отличный вариант для разработчиков и тех, кто еще плохо знаком или только начинает изучать Kubernetes. Некоторые возможности и особенности решения Minikube: Кроссплатформенность, т.е. поддерживает все основные ОС: Linux, macOS и Windows; В зависимости от возможностей, можно развернуть в виртуальной машине, контейнере или на железо; Поддержка Docker; Наличие драйверов для VmWare, VirtualBox, Docker, KVM, Hyper-V и др.; Поддержка последних версий Kubernetes; Docker API для быстрого развертывания образов; Использование дополнений (addons); Minikube обладает интегрированной поддержкой Dashboard Kubernetes Установка Minikube Для работы в Minikube на Hyper-v нужно выполнить следующие действия: Проверить соответствие минимальным требованиям Предварительно настроить Hyper-v server Выбрать диспетчер пакетов для установки Minikube Установить Minikube Запустить кластер Kubernetes Подключиться к кластеру, посмотреть дашборд 1. Проверка соответствия минимальным требованиям: Для развертывания и использования Minikube в соответствии с его документацией должны удовлетворяться следующие требования: 2 GB свободной оперативной памяти 2 или более CPU От 20 GB или более свободного дискового пространства Наличие интернет Docker container или виртуальная машина, например, VirtualBox или Hyper-V 2. Настройка Hyper-v server Какой-то специальной настройки Hyper-v не требует, должны выполняться стандартные требования для работы Hyper-v: 64-разрядный процессор с преобразованием адресов второго уровня (SLAT), достаточный объем оперативной памяти и быстрые диски. Поддержка виртуализации в BIOS/UEFI (у Intel - Intel VT, у AMD - AMD-V). Чтобы виртуальные системы имели доступ в интернет, нужно заранее создать внешний виртуальный коммутатор. Вначале посмотрим доступные сетевые адаптеры: Get-NetAdapter Найденное имя адаптера добавим в команду ниже. Создать новый внешний сетевой адаптер можно командой PowerShell New-VMSwitch -name ExternalSwitch -NetAdapterName "Ethernet 2" -AllowManagementOS $true В противном случае при первом запуске Minikube покажет ошибку: ! StartHost failed, but will try again: creating host: create: precreate: no External vswitch nor Default Switch found. A valid vswitch must be available for this command to run. Попросит выполнить minikube delete и отправит читать документацию: https://docs.docker.com/machine/drivers/hyper-v/ 3. Диспетчер пакетов В этой статье используется Windows Server 2019, и мы будем использовать Chocolatey, так как другой диспетчер пакетов - Windows Package Manager поддерживает только Windows 10. Из PowerShell выполним команды: iwr https://chocolatey.org/install.ps1 -outfile C:install.ps1 c:install.ps1 4. Инсталляция Minikube После установки Chocolatey нужно выполнить команду: choco install minikube 5. Запуск Если после выполнения команды minikube start он не запускается, значит нужно установить соответствующие драйвера и провайдер Для запуска с привилегированными правами, выполним: runas /noprofile /user:администратор powershell В нашем случае для Hyper-V выполняем: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All Проверим установку компонентов: Get-WindowsFeature –Name –hyper-v Выяснилось, что актуальная версия Minikube не работает c Hyper-v, понизим версию командой choco install minikube --version 1.6.2 --allow-downgrade затем удалим minikube delete и снова запустим minikube start 6. Подключение Проверить, что VM запущена, поможет команда PowerShell Get-vm Просмотреть, что окружение запущено можно командой kubectl get po –A Подготовим хостовую систему для работы браузеров, установив дополнительные компоненты: Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0 И перезагрузим сервер, затем выполним команду minikube dashboard На сервер предварительно скопирован браузер Firefox, в нем откроем ссылку и убедимся в работоспособности.
img
В этой статье расскажем что такое хеш, хеширование и рассмотрим какие есть алгоритмы хеширования. Что такое хеширование? Хеширование означает использование некоторой функции или алгоритма для сопоставления данных объекта с некоторым репрезентативным целочисленным значением. Результат этой функции известен как хеш-значение или просто хэш (hash). Хорошая хеш-функция использует алгоритм одностороннего хеширования, или, другими словами, хэш нельзя преобразовать обратно в исходный ключ. Обеспечение того, чтобы данные не изменялись (модифицировались) во время передачи, очень важно, и чтобы помочь нам определить, сохраняется ли целостность сообщения, мы можем использовать алгоритмы хеширования. Алгоритмы хеширования предназначены для получения входных данных, например, строки текста или файла, а затем использования односторонней функции для создания дайджеста. Дайджест (digest) - это хеш-представление ввода, и его нельзя отменить. Каждый уникальный файл или сообщение генерирует уникальное хеш-значение (дайджест). Это означает, что, если данные каким-либо образом изменены, значение хеш-функции будет однозначно другим. На следующем рисунке показан процесс одностороннего хеширования: Как этот процесс работает между устройствами? Представьте, что отправитель, хост A, хочет отправить сообщение на устройство назначения, хост B. Вместо того, чтобы хост A отправлял сообщение как есть, хост A создаст дайджест сообщения. Как только в дайджесте будет создано сообщение, хост A отправит и сообщение, и дайджест хосту B. На следующем рисунке показано, что хост A отправляет сообщение с дайджестом хосту B: Когда хост B получает сообщение от источника, он также создает дайджест сообщения и сравнивает его с дайджестом, полученным от хоста A. Если оба значения хеш-функции (дайджесты) совпадают, это означает, что сообщение не было изменено во время передачи. Однако, если значения дайджеста различаются, это означает, что где-то по пути сообщение было изменено и, следовательно, содержимое сообщения не совпадает. Возможно ли, что два разных файла будут иметь одинаковое хеш-значение? Хотя алгоритмы хеширования предназначены для создания уникального дайджеста для каждого уникального файла, в прошлом были случаи, что у двух разных файлов одно и то же значение хеш-функции. Это известно, как хэш-коллизия. Если произошла коллизия хеширования, это означает, что алгоритм хеширования, используемый во время процесса, уязвим, и ему не следует доверять. Однако некоторые из самых популярных алгоритмов хеширования, которые используются в настоящее время, подвержены коллизии хеширования. Алгоритмы хеширования Message Digest 5 (MD5) - это алгоритм хеширования, который создает 128-битный дайджест. Алгоритм MD5 был реализован во многих системах на протяжении многих лет и работал хорошо до тех пор, пока не произошла коллизия хеширования. Это сделало MD5 уязвимым алгоритмом хеширования, который больше не рекомендуется. На следующем рисунке представлен процесс хеширования MD5: Как показано на предыдущей диаграмме, сообщение отправляется алгоритму MD5, который затем преобразуется в 128-битный дайджест. Хотя MD5 все еще используется во многих системах, рекомендуется использовать более безопасную функцию, такую как Secure Hashing Algorithm 2 (SHA-2). Еще одна хорошо известная функция хеширования - это Secure Hashing Algorithm 1 (SHA-1). Этот алгоритм хеширования был создан еще в 1990-х годах Национальным институтом стандартов и технологий (NIST). NIST разработал этот алгоритм с функциями, аналогичными MD5. Одним из основных преимуществ использования SHA-1 для проверки целостности является то, что он создает 160-битный дайджест любого сообщения или файла. На следующем рисунке представлена функция SHA-1: Хотя SHA-1 считается лучше, чем MD5, так как создает более крупный дайджест, он работает медленнее, чем MD5, и содержит уязвимости в самом алгоритме. Однако NIST разработал более новую версию, известную как SHA-2. SHA-2 позволяет создавать дайджест с использованием битов большого размера, таких как: SHA-224 (224 bit) SHA-256 (256 bit) SHA-384 (384 bit) SHA-512 (512 bit) Имейте в виду, что даже если вы знаете, что для проверки целостности сообщения использовалось хеширование, оно все равно уязвимо для атаки MiTM. Представьте, что источник отправляет сообщение с хеш-значением. Злоумышленник может перехватить сообщение, изменить его содержимое и пересчитать новый хэш перед его отправкой адресату. Чтобы помочь получателю проверить подлинность источника, нам нужно применить Hash Message Authentication Code (HMAC) к нашему процессу хеширования. Чтобы добавить аутентификацию источника во время процесса хеширования, добавляется HMAC. HMAC - это секретный ключ, который объединяет входное сообщение с алгоритмом хеширования, таким как MD5 или SHA-1, для создания уникального дайджеста. На следующем рисунке показано использование HMAC с функцией хеширования: Поскольку этот секретный ключ (HMAC) используется только отправителем и предполагаемым получателем, значение выходного дайджеста будет просто зависеть от фактического входного сообщения (данных) и секретного ключа, используемого для применения дополнительного уровня безопасности для аутентификации источника. Поскольку источник и место назначения будут единственными сторонами, которые знают секретный ключ (значение HMAC), атака MiTM не будет успешной с точки зрения нарушения целостности любых сообщений, которые проходят через сеть. На следующем скриншоте показан секретный ключ (HMAC), примененный к строке текста: Как показано на предыдущем рисунке, текстовая строка (сообщение) была объединена с секретным ключом и обработана с использованием алгоритма хеширования MD5 и SHA-1 для создания уникального дайджеста.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59