По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Друг! Недавно в нашей статье мы рассказывали, как произвести базовую настройку телефонов в 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 отобразит ее вывод.
Что такое API?
Поскольку мы говорим про REST API, то наше определение API не будет сильно выходить за тематику сетей. Подробнее про API можно прочитать тут.
API означает Application Programming Interface. API задает связь между программами для возможности передачи данных.
То, что программа имеет API, подразумевает, что она передает часть своих данных для использования клиентом. Клиентом может быть фронтенд часть той же самой программы или другая внешняя программа.
Для получения этих данных необходимо отправить структурированный запрос на API. Если запрос удовлетворят желаемым требованиям, то ответ, содержащий данные, будет отправлен туда откуда был сделан запрос. Обычно ответ представлен в формате JSON или XML.
В некоторых случаях, для получения доступа к внешнему API, от вас может потребоваться авторизация.
Каждый API имеет документацию, в которой говорится какие данные доступны и как структурировать свой запрос для получения правильного ответа.
Примеры API
Рассмотрим в качестве примера реальную ситуацию.
Представьте посещение нового ресторана. Вы пришли, чтобы заказать еду, а поскольку вы здесь впервые, то точно не знаете какие блюда они подают.
Официант дает вам меню, в котором можно выбрать, чтобы вы хотели съесть. После того, как выбор сделан, официант отправляется на кухню и приносит вам еду.
В данном случае официант - это API, который обеспечивает вашу взаимосвязь с кухней. Документация API - это меню. Запрос выполняется в тот момент, когда вы отмечаете желаемые блюда, а ответ - это блюда, которые вам принесли.
Что такое REST?
REST означает REpresentational State Transfer (передача состояния представления). Это стандарт, который определяет форму и работу процессов, позволяющих нам взаимодействовать с данными на вебсерверах.
Приведенное выше определение может выглядеть не так сложно или «профессионально», как то, что вы могли встретить в интернете, но главное, чтобы вы поняли основную цель REST API.
API, который удовлетворяет некоторым или всем шести руководящим ограничениям REST считается RESTful.
Мы можем взаимодействовать с серверами при помощи протокола HTTP. Благодаря этим протоколам мы можем Create (создавать), Read (читать), Update (обновлять) and Delete (удалять) данные – также известные как CRUD операции.
Но каким образом мы можем выполнять CRUD операции и взаимодействовать с данными на сервере?
Мы делаем это, посылая HTTP запросы, и это тот самый момент, когда REST начинает действовать. REST упрощает процесс взаимодействия с сервером, предоставляя различные HTTP методы/операции/команды, с помощью которых можно посылать запросы на сервер.
Как взаимодействовать с сервером, используя REST API?
Как мы уже обсуждали, REST API облегчает процесс взаимодействия с сервером, предоставляя нам различные методы HTTP запросов. Наиболее распространенные методы:
GET: Метод get используется для Чтения данных с сервера.
POST: Метод post используется для Создания данных.
PATCH/PUT: Метод patch используется для Обновления данных.
DELETE: Метод delete используется для Удаления данных.
Эти методы предоставлены нам REST, что упрощает выполнение CRUD операций. Таким образом:
Создать => POST
Прочитать => GET
Обновить => PATCH/PUT
Удалить => DELETE
Если мы хотим сделать запрос на сервер, например, для получения данных, то мы отправляем запрос GET на узел/источник данных на сервере. Узел данных аналогичен URL.
Если запрос составлен корректно, то сервер отправит нам в ответ запрашиваемые данные. Также он отправит код состояния, где 200 - это успешное выполнение, а 400 - это ошибка пользователя.
Пример запроса на JSONPlaceholder API, используя JavaScript:
fetch('https://jsonplaceholder.typicode.com/todos/1')
.then(response => response.json())
.then(json => console.log(json))
При выполнении запроса с использованием fetch API по умолчанию используется метод GET, поэтому мы можем не указывать его явно. Но мы должны будем это сделать при использовании других методов.
В приведенном выше примере, узел данных - это https://jsonplaceholder.typicode.com, а запрашиваемые нами данные - это один элемент todo. Данные будет получены в JSON формате.
Если бы мы использовали запрос POST, тогда бы мы использовали метод POST, а в теле запроса находились бы данные, которые мы создали для отправки на сервер.
Для удаления нам потребуется использовать соответствующий запрос, содержащий id элемента todo, который мы хотим удалить. Например:
fetch('https://jsonplaceholder.typicode.com/posts/3', {
method: 'DELETE',
});
Для обновления данных нужно, чтобы запрос содержал id и данные для обновления. Как в этом примере:
fetch('https://jsonplaceholder.typicode.com/posts/5', {
method: 'PATCH',
body: JSON.stringify({
title: 'new todo',
}),
headers: {
'Content-type': 'application/json; charset=UTF-8',
},
})
.then((response) => response.json())
.then((json) => console.log(json));
Заключение
В этом руководстве вы узнали, что такое REST и как он помогает нам эффективно взаимодействовать с сервером.
Мы дали определение API и рассмотрели пример, который помог объяснить его смысл. Мы также узнали некоторые методы REST для создания, чтения, обновления и удаления данных, хранящихся на сервере.
Десятая часть тут.
Вы входите в комнату и кричите: «Игорь!» Ваш коллега Игорь оборачивается и начинает разговор о будущем IT-индустрии. Эта способность использовать один носитель (воздух, по которому движется ваш голос) для обращения к одному человеку, даже если многие другие люди используют этот же носитель для других разговоров в одно и то же время, в сетевой инженерии называется мультиплексированием. Более формально:
Мультиплексирование используется, чтобы позволить нескольким объектам, подключенным к сети, обмениваться данными через общую сеть.
Почему здесь используется слово объекты, а не хосты? Возвращаясь к примеру «разговор с Игорем", представьте себе, что единственный способ общения с Игорем — это общение с его ребенком-подростком, который только пишет (никогда не говорит). На самом деле Игорь-член семьи из нескольких сотен или нескольких тысяч человек, и все коммуникации для всей этой семьи должны проходить через этого одного подростка, и каждый человек в семье имеет несколько разговоров, идущих одновременно, иногда на разные темы с одним и тем же человеком. Бедный подросток должен писать очень быстро, и держать много информации в голове, например: "Игорь имеет четыре разговора с Леной", и должен держать информацию в каждом разговоре совершенно отдельно друг от друга. Это ближе к тому, как на самом деле работает сетевое мультиплексирование- рассмотрим:
К одной сети могут быть подключены миллионы (или миллиарды) хостов, и все они используют одну и ту же физическую сеть для связи друг с другом.
Каждый из этих хостов на самом деле содержит много приложений, возможно, несколько сотен, каждое из которых может связываться с любым из сотен приложений на любом другом хосте, подключенном к сети.
Каждое из этих приложений может фактически иметь несколько разговоров с любым другим приложением, запущенным на любом другом хосте в сети.
Если это начинает казаться сложным, то это потому, что так оно и есть. Вопрос, на который должен ответить эта лекция, заключается в следующем:
Как эффективно мультиплексировать хосты через компьютерную сеть?
Далее рассматриваются наиболее часто используемые решения в этом пространстве, а также некоторые интересные проблемы, связанные с этой основной проблемой, такие как multicast и anycast.
Адресация устройств и приложений
Компьютерные сети используют ряд иерархически расположенных адресов для решения этих проблем. Рисунок 1 иллюстрирует это. На рисунке 1 показаны четыре уровня адресации:
На уровне физического канала существуют адреса интерфейсов, которые позволяют двум устройствам обращаться к конкретному устройству индивидуально.
На уровне хоста существуют адреса хостов, которые позволяют двум хостам напрямую обращаться к конкретному хосту.
На уровне процесса существуют номера портов, которые в сочетании с адресом хоста позволяют двум процессам обращаться к конкретному процессу на конкретном устройстве.
На уровне диалога (разговора) набор порта источника, порта назначения, адреса источника и адреса назначения может быть объединен, чтобы однозначно идентифицировать конкретный разговор или поток.
Эта схема и объяснение кажутся очень простыми. В реальной жизни все гораздо запутаннее. В наиболее широко развернутой схеме адресации - интернет-протоколе IP отсутствуют адреса уровня хоста. Вместо этого существуют логические и физические адреса на основе каждого интерфейса.
Идентификаторы (адреса) мультиплексирования и мультиплексирование иерархически расположены друг над другом в сети.
Однако есть некоторые ситуации, в которых вы хотите отправить трафик более чем на один хост одновременно. Для этих ситуаций существуют multicast и anycast. Эти два специальных вида адресации будут рассмотрены в следующих лекциях.
О физических каналах, Broadcasts, и Failure Domains
Простая модель, показанная на рисунке 1, становится более сложной, если принять во внимание концепцию широковещательных доменов и физического подключения. Некоторые типы мультимедиа (в частности, Ethernet) разработаны таким образом, что каждое устройство, подключенное к одной и той же физической линии связи, получает каждый пакет, передаваемый на физический носитель—хосты просто игнорируют пакеты, не адресованные одному из адресов, связанных с физическим интерфейсом, подключенным к физическому проводу. В современных сетях, однако, физическая проводка Ethernet редко позволяет каждому устройству принимать пакеты любого другого устройства. Вместо этого в центре сети есть коммутатор, который блокирует передачу пакетов, не предназначенных для конкретного устройства, по физическому проводу, подключенному к этому хосту.
В этих протоколах, однако, есть явные адреса, отведенные для пакетов, которые должны передаваться каждому хосту, который обычно получал бы каждый пакет, если бы не было коммутатора, или что каждый хост должен был получать и обрабатывать (обычно это некоторая форма версия адреса все 1 или все 0). Это называется трансляцией (broadcasts). Любое устройство, которое будет принимать и обрабатывать широковещательную рассылку, отправленную устройством, называется частью широковещательной рассылки устройства. Концепция широковещательного домена традиционно тесно связана с областью сбоев, поскольку сбои в сети, влияющие на одно устройство в широковещательном домене, часто влияют на каждое устройство в широковещательном домене.
Не удивляйтесь, если вы найдете все это довольно запутанным, потому что на самом деле это довольно запутанно. Основные понятия широковещания и широковещательных доменов все еще существуют и по-прежнему важны для понимания функционирования сети, но значение этого термина может измениться или даже не применяться в некоторых ситуациях. Будьте осторожны при рассмотрении любой ситуации, чтобы убедиться, что вы действительно понимаете, как, где и, что такие широковещательные домены действительно существуют, и как конкретные технологии влияют на отношения между физической связью, адресацией и широковещательными доменами.
