По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Друг! Недавно в нашей статье мы рассказывали, как произвести базовую настройку телефонов в Cisco CME (CUCME) используя интерфейс командной строки. Сегодня мы сделаем то же самое, но уже при помощи графического интерфейса Cisco Configuration Professional (CCP) , про установку которого можно почитать здесь. /p> Добавление CME роутера в CCP Первым делом настроим наш роутер как CME. Для этого выбираем наш роутер в списке Select Community Member и нажимаем Configure и выбираем вкладку Unified Communications Features. Здесь нам будут доступны следующие опции: Cisco Unified Border Element (CUBE) – эта опция настраивает роутер как шлюз для IP телефонии для IP-IP сервисов, таких как IP Telephony Service Provision (IP-TSP). CUBE предоставляет типичные пограничные сервисы такие как NAT/PAT, и добавляет к ним VoIP функциональность для билинга, безопасности, контроля, QoS и прочего. IP Telephony – CUCME – CCP настраивает роутер как отдельную CME систему. IP Telephony – SRST – Позволяет IP телефонам использовать CME роутер как резервное устройство, если они потеряли связь с кластером CUCM. IP Telephony – Cisco Unified Call Manager Express as Cisco Unified Survivable Remote Site Telephony – предоставляет то же самое что и SRST, но с полным набором функций CME. Однако из-за этого уменьшается количество поддерживаемых телефонов. TDM Gateway – добавляет функционал шлюза, который может быть сконфигурирован вместо или совместно с CME. Media Resources – позволяет настроить цифровой сигнальный процессор DSP. Нам нужно поставить галочку IP Telephony, выбрать пункт CUCME – Cisco Unified Communications Manager Express, нажать ОК и затем в открывшемся окне нажать Deliver, после чего на маршрутизаторе будут произведены необходимые начальные настройки (какие именно команды будут применены можно увидеть в окне предпросмотра). Настройка Telephony Service Cisco предоставляет графический интерфейс для конфигурации ephone и ephone-dn (что это такое можно почитать тут). Однако просто взять и добавить ephone-dn (тут они называются “Extensions”) и ephone (они называются “Phones”) нельзя, интерфейс выдаст нам ошибку, что сначала нужно настроить Telephony Service Поэтому займемся настройкой Telephony Service. Чтобы это сделать нужно перейти в меню Configure – Unified Communications – Telephony Settings. Здесь нам необходимо настроить следующие поля: Supported Endpoints – какой протокол будут использовать телефоны (SIP, SCCP или оба) Maximum number of phones – максимальное количество ephone (команда max-ephones) Maximum number of extensions – максимальное количество ephone-dn (команда max-dn) Phone registration source IP address – адрес регистрации телефонов (команда ip source address) Иногда CCP может не обновлять конфигурацию CME, после внесения изменений. Если вы указали все необходимые настройки, но все еще получаете ошибку, что нужно настроить Telephony Settings, то в этом случае нужно вручную обновить конфигурацию, нажав кнопку Refresh. Если вы используете GNS3 для эмуляции роутера с CME, то при попытке войти в меню Telephony Settings будет появляться ошибка “An internal error has occurred”, и начальные настройки нужно ввести через интерфейс командной строки маршрутизатора. После того как мы заполнили поля нажимаем ОК, а затем Deliver. Теперь мы можем добавлять телефоны. Добавление телефонов, номеров и пользователей в CCP Начнем с добавления Extension, который технически является ephone-dn. Переходим во вкладку Configure – Unified Communications – Users, Phones and Extensions – Extensions и внизу нажимаем Create Здесь заполняем следующие поля: Primary Number – номер телефона (единственное обязательное поле) Secondary Number – дополнительный номер Name to be displayed on phone line – имя, которое будет отображаться на телефоне Description – описание Active calls allowed on a Phone Button – количество одновременных звонков (single-line или dual line) После заполнения нужных полей нажимаем ОК и Deliver, после чего телефон появляется в таблице с номерами. Теперь перейдем к настройке Phones. Для этого переходим во вкладку Configure – Unified Communications – Users, Phones, and Extensions – Phones (или Phones and Users, в зависимости от версии) и нажимаем Create. Здесь нам нужно заполнить два обязательных поля: модель телефона Cisco, который мы хотим добавить и его mac адрес, в формате xxxx.xxxx.xxxx . Внизу в столбце Available Extensions появятся созданные нами номера. Нам нужно перенести необходимый номер в правую таблицу, нажав кнопку со стрелкой вправо, выбрав номер линии и указав ее тип и тип звонка (в зависимости от версии CCP, привязка Phone к Extension может производиться в меню создания пользователя). В этом же окне мы можем создать пользователя. Используя свой аккаунт, пользователь может управлять настройками своего телефона через веб-интерфейс. Для этого переходим во вкладку User и указываем логин в строке User ID, а также пароль для входа. При создании юзера из этого меню, он будет ассоциирован с этим телефоном. В зависимости от версии CCP, может меняться местонахождение этой вкладки, и она может быть расположена в Configure – Unified Communications – Users, Phones, and Extensions – User Settings. Применяем настройки также нажатием клавиш ОК и Deliver. Также в CCP можно импортировать большое количество экстеншенов и телефонов в файлах .CSV через Bulk Import Wizard, который находится на панели справа. Также при помощи CCP можно проверить работоспособность системы и телефонов, через меню Configure – View – IOS Show Commands, где из выпадающего списка можно выбрать команду show и CCP отобразит ее вывод.
img
@media screen and (max-width: 736px){ .video-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; } .video-container iframe { position: absolute; top:0; left: 0; width: 100%; height: 100%; }} Мы живем в мире, в котором побеждают быстрые и общительные. Если говорить о приложениях, то достичь двух этих целей можно через WebSocket. WebSocket часто называют высокопроизводительным протоколом передачи данных, и он необходим для создания канала связи между клиентом и сервером. Так что же это значит, и какую роль WebSocket играет в безопасности API? Обо всем этом поговорим в статье. Что такое WebSocket? Исходя из общепринятого названия, WebSocket – это дуплексный протокол, который часто используется в клиент-серверном канале связи. Он считается двунаправленным, т.е. передача данных выполняется от клиента к серверу и наоборот.  Соединение, установленное с помощью WebSocket, сохраняется до тех пор, пока его не прервет любой из участников. Если одна сторона разрывает соединение, то другая не сможет продолжить коммуникацию, поскольку соединение автоматически разрывается для обоих участников. Чтобы инициировать соединение, WebSocket нужна поддержка со стороны HTTP. Это основа современной разработки веб-приложений, с непрерывным потоком данных и несинхронизированным трафиком. Для чего нужен WebSocket и в каких случаях от него лучше отказаться? WebSocket – это необходимый инструмент для клиент-серверного взаимодействия. Поэтому важно четко понимать его возможности и варианты использования. WebSocket подходит, если вы: Разрабатываете веб-приложения реального времени Самый популярный вариант использования WebSocket – это разработка приложений реального времени с постоянным отображением данных на стороне клиента. Внутренний сервер постоянно отправляет эти данные, а WebSocket реализует их бесперебойную передачу или отправку через уже открытое соединение. Использование WebSocket ускоряет передачу данных и улучшает производительность приложения.  Реальным примером использования такой возможности WebSocket является сайт по торговле биткоинами. WebSocket помогает обрабатывать данные, которые внутренний сервер отправляет клиенту. Создаете чат-приложения Разработчики чат-приложений выбирают WebSocket для выполнения таких операций, как одноразовый обмен и публикация/трансляция сообщений. Для отправки/получения сообщений используется одно и то же WebSocket соединение, поэтому такая коммуникация считается простой и быстрой. Работаете над игровым приложением При разработке игрового приложения крайне важно, чтобы сервер постоянно получал данные, не запрашивая обновления пользовательского интерфейса. WebSocket позволяет достичь этой цели без вмешательства в интерфейс приложения. Теперь, когда стало ясно, для каких целей можно использовать WebSocket, стоит поговорить о том, когда стоит присмотреться к другим решениям. WebSocket – далеко не самый лучший вариант, когда вам нужно получить старые данные, либо же данные требуются только для разовой обработки. В таких случаях лучше ограничиться HTTP-протоколами. WebSocket или HTTP? Поскольку для связи между приложениями используется и HTTP, и WebSocket, люди часто путаются и не могут определиться. Ниже приведено подробное описание каждого из вариантов. Как уже говорилось, WebSocket является двунаправленным и фреймовым протоколом. HTTP – это, наоборот, однонаправленный протокол, работающий над TCP-протоколом. Протокол WebSocket поддерживает непрерывную передачу данных, поэтому часто используется в разработке приложений реального времени. HTTP не зависит от состояния и используется для создания RESTful-приложений.  Передача данных в WebSocket происходит в обе стороны, так что он считается довольно быстрым протоколом. HTTP проигрывает по скорости WebSocket, поскольку в этом протоколе соединение устанавливается с одной стороны. WebSocket использует унифицированное TCP-соединение. Пока один из участников не разорвет это соединение, оно будет активным. HTTP создает разные соединения для разных запросов. После выполнения запроса соединение разрывается автоматически.  Как устанавливается WebSocket-соединение Процесс начинается с «рукопожатия» (handshake), в котором используется новая схема ws или wss. Если проводить параллель, то это примерно то же, что HTTP и защищенный протокол HTTP (HTTPS). В этой схеме клиенты и серверы следуют стандартному протоколу подключения WebSocket. Установка WebSocket-соединения начинается с дополнения HTTP-запроса несколькими заголовками: Connection: Upgrade, Upgrade: WebSocket, Sec-WebSocket- Key и т.д..  Соединение устанавливается в следующие этапы: 1. Запрос Заголовок Connection: Upgrade указывает на WebSocket-рукопожатие, а в Sec-WebSocket-Key содержится случайное значение в кодировке Base64. Это значение произвольно генерируется во время каждого WebSocket-рукопожатия. Частью запроса также является и заголовок ключа. Все вышеперечисленные заголовки образуют GET HTTP-запрос. Он выглядит примерно так: GET ws://websocketexample.com:8181/ HTTP/1.1 Host: localhost:8181 Connection: Upgrade Pragma: no-cache Cache-Control: no-cache Upgrade: websocket Sec-WebSocket-Version: 13 Sec-WebSocket-Key: b6gjhT32u488lpuRwKaOWs== В Sec-WebSocket-Version отмечается версия WebSocket-протокола, которой может пользоваться клиент.  2.Ответ В заголовок ответа Sec-WebSocket-Accept попадает значение, отправленное в заголовке запроса Sec-WebSocket-Key. Ответ привязан к спецификации протокола и активно используется для устранения вводящей в заблуждение информации. Другими словами, такая структура улучшает безопасность API и блокирует некорректно настроенные сервера от создания ошибок при разработке приложения.  HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: rG8wsswmHTJ85lJgAE3M5RTmcCE= WebSocket-протокол Протокол WebSocket – это тип фреймового протокола, который включает в себя различные дискретные блоки с данными. Для корректного функционирования в нем развертывается информационная часть пакета, тип фрейма и длина полезной нагрузки. Чтобы понять принципы работы WebSocket, необходимо разобраться, из чего он состоит. Ключевые элементы перечислены ниже. Бит FIN – это основная часть WebSocket. Он генерируется автоматически при создании подключения. ‍Биты RSV1, RSV2, RSV3 – эти биты зарезервированы для дополнительных возможностей. ‍Opcode – это часть каждого фрейма; объясняет процесс интерпретации данных полезной нагрузки для отдельного фрейма. Примеры распространенных значений: 0x00, 0x0, 0x02, 0x0a, 0x08 и т.д. БитMask активируется, когда один бит задан как 1. Для всех данных полезной нагрузки в WebSocket используется случайный ключ, выбранный клиентом. Ключ маски в сочетании с данными полезной нагрузки помогает обмениваться этими данными через операцию XOR. Это очень важно для безопасности API приложения, поскольку маскирование предотвращает неправильную интерпретацию кэша и т.н. «отравленный кэш». Разберем эти ключевые элементы подробнее. Длина полезной нагрузки Используется для кодирования общей длины данных полезной нагрузки в WebSocket. Отображается, когда закодированная длина данных меньше 126 битов. Если длина данных больше 126 битов, то для описания длины полезной нагрузки используются дополнительные поля.  Ключ маски Каждый фрейм, который клиент отправляет на сервер, маскируется 32-битным значением. Отображается, когда бит маски равен 1. Если бит маски равен 0, то ключ маски также будет нулевым.  Данные полезной нагрузки Все случайные данные приложения и расширения считаются данными полезной нагрузки. Эти данные используются клиентом и серверами для согласования и в процессе первых рукопожатий. Заключение WebSocket – это обновленный, быстрый и простой протокол для установки постоянной клиент-серверной связи. WebSocket гарантирует неразрывность подключения и высокую безопасность данных, даже при непрерывной передаче данных. Использование WebSocket предельно упрощает разработку приложений в режиме реального времени. В ряде случаев WebSocket проявляет себя лучше, чем HTTP, поскольку поддерживает дуплексную связь (например: сайты фондовой биржи, онлайн-игры, приложения для биткоинов, службы обмена сообщениями). WebSocket стал настоящим кладезем полезных возможностей при разработке. Он улучшает безопасность API и поддерживает множество ресурсов (после подключения к внешним библиотекам). Попробуйте заменить свои обычные протоколы обмена данными на WebSocket и оцените его преимущества.
img
CURL это мощный инструмент командной строки, который позволяет тестировать различные API интерфейсы, отправлять данные на URL методом POST/GET и прочее. Как минимум для разработчика это необходимый инструмент. Если вам нужно протестировать CURL, а вы не хотите устанавливать Postman, например, то из терминала (командной строки) на MacOS можно лего инициировать CURL. В статье мы покажем несколько полезных примеров cURL и терминала. Отправка POST запрос через cURL Сделать POST легко: можно с данными, а можно и без них. Смотрите какой синтаксис использования: CURL запрос без дополнительных данных curl -X POST http://URL/test.php CURL запрос с дополнительными параметрами curl -d "data=test1data2=test2" http://URL/test.php CURL с передаче полей curl -X POST -F "name=diman" -F "password=test" http://URL/example.php CURL с передачей файла curl -X POST -F "image=@/path/pic.png" http://URL/testform.php Отправка CURL с JSON Ловите пример отправки JSON curl -H "Content-Type: application/json" -X POST -d '{"user":"sanya","pass":"qwerty"}' http://test/myscript.php Вам мало примеров? Если так, то вы легко можете изучить все возможности CURL в консоли: curl --help curl --manual Профит!
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59