По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Всем привет! В сегодняшней статье я покажу самый простой способ как заполучить себе маршрутизатор Mikrotik для опытов - например для подготовки к сертификации или просто для различных тестов. Вы спросите, как же это возможно? Ответ прост - за счет растущей популярности концепции NFV (Network Functions Virtualization - виртуализация сетевых функций). Вы можете просто скачать образ маршрутизатора и производить любые манипуляции. Ниже я опишу способ установки RouterOS на Hyper-V и VirtualBox. Установка RouterOS на VirtualBox Итак, начнем с VirtualBox - первым делом необходимо скачать .vdi образ жесткого диска, сделать это можно по ссылке https://mikrotik.com/download и найти .vdi образ нужной вам версии - я выбрал 6.38.7 Далее включаем VirtualBox и создаем новую виртуальную машину с характеристиками как на скриншотах ниже: Далее нажимаем на кнопку Создать - и производим настройки сетевого интерфейса, который нужно установить в режим сетевого моста, как на скриншоте ниже: Далее запускаем виртуальную машину. Процесс запуска займет некоторое время, далее вы получите возможность зайти в CLI вашего виртуального маршрутизатора. По умолчанию логин admin и пустой пароль. Для того, чтобы понять какой адрес был выдан вашему виртуальному маршрутизатору - наберите команду: ip addresses print Важный момент - CLI у RouterOS очень удобен и поддерживает табуляцию (нажатие Tab для выполнения правильного написания команды). В итоге, вы должны получить следующий вывод: Установка RouterOS на Hyper-V Далее перейдем к процессу установки RouterOS образа на Hyper-V - он также прост, и, в общем и целом не отличается от такового на VirtualBox, но есть нюанс: необходимо скачать .vhdx образ, а не .vdi. После того как скачали образ, перейдем к процессу установки - вам необходимо установить параметры виртуальной машины также, как на скриншотах ниже: Необходимо нажать на кнопку Finish и запустить виртуальную машину. После выполнения манипуляций, описанных выше, вы получаете адрес маршрутизатора, по которому вы можете попасть на маршрутизатор любым удобным вам способом - по SSH, через Web-интерфейс или же через программу Winbox. К примеру ниже на скриншоте изображен веб-интерфейс только что созданного виртуального маршрутизатора. На этом все, в дальнейшем мы будем подробно освещать настройку виртуального маршрутизатора Mikrotik в наших статьях. Спасибо за внимание!
img
К Avaya Aura можно подключать не только «фирменные», но и сторонние SIP аппараты, а также SIP-софтфоны (Zoiper, MicroSIP, PhonerLite и так далее). Понятно, что полноценный функционал на таких аппаратах получить не получится, но совершать и принимать вызовы, а также использовать простые функции вполне возможно. В данной статье рассмотрим создание SIP-абонентов на релизах Avaya Aura 5.2 и 6.3 как на одних из самых распространенных. Создание SIP-абонента на релизе Avaya Aura 5.2 на базе медиа-сервера S8300 Подразумевается, что развернут не только Communication Manager (СМ), но и Session Manager (SES), на котором и будет происходить регистрация SIP-абонентов. На релизе 5.2 SIP-абоненты со стороны СМ только создаются как абоненты, но мониторинг их не осуществляется. Для СМ они всегда в состоянии Out of Service. Сначала на СМ создаем абонента. В GEDI может создавать абонентов очень легко и просто. Тут везде доступны подсказки, а выбор осуществляется с помощью мышки. Например, при нажатии на правую кнопку мыши в поле Type появится меню с выбором доступных типов подключаемых аппаратов. В консоли все тоже самое, только навигация осуществляется с клавиатуры и подсказки высвечиваются внизу экрана по нажатии F5. Вводим команду add station НОМЕР или NEXT. В случае NEXT будет выбран первый свободный номер из доступного номерного плана. Дальше будут приведены скриншоты с применением GEDI. Выбираем тип аппарата 9630SIP. В принципе можно выбрать любой тип аппарата, но аппараты 96хх серии являются более современными, а 9630 является средним аппаратом из этой серии. При этом поле Port будет автоматически выбран IP. Также лучше выставить IP SoftPhone? в y, что даст возможность использовать этот номер для регистрации софтфона. Поле Security Code НЕ ЗАПОЛНЯЕМ! Пароль для регистрации данного абонента будем вводить позже. Остальные настройки ничем не отличаются от настройки обычных абонентов. Остальные настройки ничем не отличаются от настройки обычных абонентов. Если необходимо настроить переадресацию при вызовах на этот номер, то настраиваем её на 3 странице: Unconditional – переадресация всех вызовов; Busy – переадресация при занятости абонента; No Reply – переадресация по неответу абонента; По каждому виду можно настраивать отдельно переадресацию для внутренних и внешних вызовов. Особенностью настройки SIP-абонента является необходимость указывать номер SIP-транка, созданного между СМ и SES. Дальше подключаемся через веб-браузер по адресу нашего CM и через Administration → SIP Enablemend Services попадаем в управление нашего SES. Далее Users → Add добавляем учетную запись для регистрации созданного ранее SIP-абонента. Важно: пароль для создаваемой учетной записи мы вводим именно на SES. В открывшейся форме заполняем: Primary Handle – указываем созданный ранее в СМ номер; User ID – указываем тот же номер; Password, Confirm Password – вводим и подтверждаем пароль для регистрации учетной записи; Host – указываем адрес SES, где будет регистрироваться абонент; First Name, Last Name – вводим имя и фамилию абонента; HostAdd Communication Manager Extension – ОБЯЗАТЕЛЬНО! отмечаем этот. Это позволит сразу перейти к настройке связанности регистрируемого аккаунта с номером в СМ; Далее нажимаем Add и Continue для сохранения настроек. После этого добавляем номер, созданный ранее на СМ для привязки созданного аккаунта к номеру. Далее нажимаем Add и Continue для сохранения настроек. Создание SIP-абонента на релизе Avaya Aura 6.3 Тут все немного проще. Настройка производится через System Manager. Он выполняет роль общей точки входа, объединяющей СМ и SES. Подключаемся по адресу System Manager. Далее User → User Management → Manage Users: На первой вкладке Identity вносим общую информацию о пользователе: заполняем поля, отмеченные звездочками. Имя и фамилию можно писать по-русски, они будут автоматически переведены в латиницу. Login name – вводится в формате НОМЕР@ДОМЕН (который заведен в System Manager заранее) Важно – пароль на этой странице не вводим! Переходим на вторую, основную вкладку Communication Profile, где и проводятся основные настройки. Именно тут и вводится пароль для регистрации абонента. Но вводить его нужно после заполнения всей необходимой информации, перед сохранением. Сначала добавляем Communication Address. Нажимаем New и заполняем форму: Type – автоматически подставится Avaya SIP; Handle – вводим номер абонента; Domain – выбираем из списка. Как правило он один и заведен в System Manager заранее; Далее заполняем 2 профайла: Session Manager Profile (данные, необходимые для регистрации); CM Endpoint Profile (данные, по которым будет создан абонент в Communication Manager); После заполнения нажимаем вверху страницы кнопку Commit для сохранения введенной информации. Для настроек самого абонента со стороны Communication Manager нажимаем View Endpoint. На вкладке General Options указываем номер SIP-транка, уровень ограничений (COR и COS) и так далее. На следующей вкладке Feature Options указываем необходимые функции данного абонента. В том числе отмечаем и IP SoftPhone, необходимую для использования SIP-софтфонов. После настройки сохраняем через кнопку Done. Теперь вводим и подтверждаем пароль для регистрации через этот профайл вверху страницы: Сохраняем и применяем настройки через кнопку Commit & Continue вверху страницы: На этом настройка SIP-абонента закончена. Теперь с использованием указанных данных можно зарегистрировать как сторонний SIP-аппарат, так и SIP-софтфон.
img
Многим приложениям нужно обмениваться данными между клиентом и сервером. Долгое время эталонным форматом данных для обмена информацией между двумя объектами считался XML. Затем, в начале 2000-х, появился альтернативный формат JSON. В данной статье вы узнаете все о JSON. Мы рассмотрим, что это, и как им пользоваться, а также разберем ряд популярных заблуждений. Что такое JSON? JSON (JavaScript Object Notation, нотация объектов JavaScript) - это текстовый формат обмена данными. Он представлен наборами пар "ключ-значение", причем ключ - это всегда строка, а значение может задаваться одним из следующих типов: число; строка; логическое значение; массив; объект; нулевое значение null. Несколько важных правил: В формате данных JSON ключи прописываются в двойных кавычках. Ключ и значение разделяются двоеточием (:). Может быть несколько пар "ключ-значение". Каждая пара отделяется запятой (,). В данных JSON недопустимы комментарии (// или /* */). (Но при желании это ограничение можно обойти) Ниже приведен пример простых данных в JSON: { "name": "Alex C", "age": 2, "city": "Houston" } Допустимые данные в JSON возможны в 2 разных форматах: Набор пар «ключ-значение» в фигурных скобках {...}. Это показано в примере выше. Упорядоченные списки пар «ключ-значение», разделенных запятой (,) и заключенных в квадратные скобки [...]. См. пример ниже: [ { "name": "Alex C", "age": 2, "city": "Houston" }, { "name": "John G", "age": 40, "city": "Washington" }, { "name": "Bala T", "age": 22, "city": "Bangalore" } ] Предположим, вы уже писали что-то на JavaScript. Тогда у вы можете ошибочно предположить, что формат JSON и объекты JavaScript (и массивы объектов) очень похожи. Но это не так. Чуть позже мы подробно об этом поговорим. Структура JSON разработана на основе синтаксиса объектов JavaScript, и это единственное, что объединяет JSON и объекты JavaScript. Формат JSON не зависит от языка программирования. Мы можем использовать JSON в Python, Java, PHP и многих других языках. Примеры формата данных JSON Сохранять данные JSON можно в файле с расширением .json. Давайте создадим файл employee.json с атрибутами сотрудника. Они представлены в виде ключей и значений. { "name": "Aleix Melon", "id": "E00245", "role": ["Dev", "DBA"], "age": 23, "doj": "11-12-2019", "married": false, "address": { "street": "32, Laham St.", "city": "Innsbruck", "country": "Austria" }, "referred-by": "E0012" } В примере выше присутствуют следующие атрибуты сотрудника: name – имя сотрудника. Значение в строковом формате (String). Оно указано в двойных кавычках. id – уникальный идентификатор сотрудника. Опять же, в строковом формате. role – роли, которые сотрудник выполняет в организации. Таких ролей может быть несколько, поэтому лучше перечислять эти данные в формате массива (Array). age – текущий возраст сотрудника. Это числовое значение (Number). doj – дата найма сотрудника. Поскольку это дата, ее добавляют в двойных кавычках и обрабатывают как строку. married – замужем/женат ли сотрудник? Ответом может быть да/нет (то есть true или false), так что это логический формат (Boolean). address – адрес сотрудника. Может состоять из нескольких частей: улица, город, страна, индекс и т.д. Такое поле лучше представлять в виде объекта (Object с парами «ключ-значение»). referred-by – идентификатор сотрудника, который порекомендовал этого человека на должность в организацию. Если сотрудник пришел по рекомендации, то атрибут имеет значение. В остальных случаях поле остается пустым, т.е. null. Теперь давайте создадим набор данных по сотрудникам в формате JSON. Если мы хотим добавить несколько записей о разных сотрудниках, то необходимо прописать их в квадратных скобках [...]. [ { "name": "Aleix Melon", "id": "E00245", "role": ["Dev", "DBA"], "age": 23, "doj": "11-12-2019", "married": false, "address": { "street": "32, Laham St.", "city": "Innsbruck", "country": "Austria" }, "referred-by": "E0012" }, { "name": "Bob Washington", "id": "E01245", "role": ["HR"], "age": 43, "doj": "10-06-2010", "married": true, "address": { "street": "45, Abraham Lane.", "city": "Washington", "country": "USA" }, "referred-by": null } ] Обратите внимание на значение атрибута referred-by для сотрудника Боба Вашингтона (Bob Washington). Оно пустое. То есть никто из сотрудников не давал ему рекомендаций. Как использовать данные JSON в качестве значения строки Мы узнали, как форматировать данные внутри файла JSON. Еще можно использовать данные JSON в качестве строковых значений и присваивать их переменной. Поскольку JSON считается текстовым форматом, в большинстве языков программирования его можно обрабатывать как строку. Давайте рассмотрим пример, как это делается JavaScript. Вы можете добавить данные JSON в одну строку. Перечисление делается через одинарные кавычки '...'. const user = '{"name": "Alex C", "age": 2, "city": "Houston"}'; Если вы хотите сохранить форматирование, то данные JSON лучше создавать с помощью шаблонных литералов (template literals). const user = `{ "name": "Alex C", "age": 2, "city": "Houston" }`; Кроме того, это очень удобное решение, если нужно создать данные JSON с динамическими значениями. const age = 2; const user = `{ "name": "Alex C", "age": ${age}, "city": "Houston" }`; console.log(user); // Output { "name": "Alex C", "age": 2, "city": "Houston" } Объекты JavaScript и JSON – это НЕ одно и то же Формат данных JSON создавался на базе объектной структуры JavaScript. Но все сходства на этом заканчиваются. Объекты в JavaScript: у объектов JavaScript могут быть методы, а у JSON – нет; ключи можно добавлять без кавычек; разрешены комментарии; отдельные сущности Как преобразовать JSON в объект JavaScript и наоборот В JavaScript есть 2 встроенных метода по преобразованию данных JSON в объекты JavaScript и наоборот. Как преобразовать данные JSON в объект JavaScript Для преобразования данных JSON в объект JavaScript используется метод JSON.parse(). Он проводит синтаксический разбор (парсинг) допустимой строки JSON в объект JavaScript. const userJSONData = `{ "name": "Alex C", "age": 2, "city": "Houston" }`; const userObj = JSON.parse(userJSONData); console.log(userObj); Вывод: Как преобразовать объект JavaScript в данные JSON Для преобразования объекта JavaScript в данные JSON используется метод JSON.stringify(). const userObj = { name: 'Alex C', age: 2, city: 'Houston' } const userJSONData = JSON.stringify(userObj); console.log(userJSONData); Вывод: Должно быть, вы обратили внимание на слово JSON, которое используется для вызова методов parse() и stringify(). Это встроенный объект JavaScript, который, хоть и называется JSON (хотя с тем же успехом он мог бы называться JSONUtil), но не имеет никакого отношения к формату JSON. Так что, пожалуйста, помните об этом. Как обрабатывать ошибки "Unexpected token u in JSON at position 1" и другие? При обработке JSON могут возникать ошибки. Это нормально. Например, при разборе данных JSON в объект JavaScript вдруг появляется следующее сообщение: Если возникает такая ошибка, обязательно проверьте корректность ваших данных в JSON. Чаще всего причина синтаксического сбоя кроется в небольшой ошибке, которую вы случайно сделали в исходных данных JSON. Проверить правильность данных и форматов JSON можно с помощью JSON Linter.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59