По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Привет! Сегодня в статье мы рассмотрим базовую настройку IP-АТС компании Cisco – CME – Call Manager Express, или как теперь он называемся Cisco Unified Communications Manager Express – CUCME. Также мы покажем как зарегистрировать телефоны, работающие по протоколам SCCP и SIP. Чтобы понять, что необходимо настроить, рассмотрим, что происходит во время загрузки телефона. Процесс загрузки IP-телефона Cisco можно разделить на несколько этапов: Телефон получает питание по Ethernet кабелю используя PoE (Power over Ethernet 802.3af), либо через блок питания; Коммутатор присылает информацию о голосовом VLAN’e, используя протокол CDP (Cisco Discovery Protocol); Телефон высылает DHCP запрос в голосовой VLAN, а в ответ DHCP сервер присылает информацию о IP адресации, включая DHCP Option 150, где указан адрес TFTP сервера; Телефон связывается с TFTP сервером и скачивает конфигурационный файл и прошивку. В конфигурационном файле находятся данные об адресе и номере порта CME, а также название прошивки, которую он должен использовать. При первом подключении он отсутствует, и телефон скачивает файл по умолчанию XMLDefault.cnf.xml; На основании IP адреса, указанного в конфигурационном файле телефон связывается с сервером обработки вызовов (в нашем случае это CME); Теперь можем приступать к настройке оборудования. Настройка voice VLAN Чтобы разделить голосовой трафик и трафик с данными необходимо настроить голосовой VLAN на каждом порту коммутатора, который соединяется с IP телефонами. switch#conf t – переход в режим конфигурации switch(config)#interface fa0/1 – переход в режим конфигурации интерфейса switch(config-if)#switchport mode access – настройка порта в качестве access switch(config-if)#switchport voice vlan 100 – создание голосового VLAN с id 100 switch(config-if)#switchport access vlan 200 – создание VLAN данных с id 200 switch(config-if)#spanning-tree portfast – включение протокола STP Настройка DHCP Теперь необходимо настроить роутер Cisco как DHCP сервер для голосового VLAN. Команда Option 150 используется для указания адреса TFTP сервера, где хранятся конфигурационные файлы и прошивки. router#ip dhcp pool VOICE – создание DHCP пула router(dhcp-config)#network 192.168.1.0 255.255.255.0 – выделение подсети router(dhcp-config)#default-router 192.168.1.1 – default gateway router(dhcp-config)#option 150 192.168.1.1 – адрес TFTP сервера router(dhcp-config)#dns-server 4.2.2.2 – адрес DNS сервера Настройка NTP Перейдем к настойке времени c использованием протокола NTP, при помощи которого мы сможем выставить корректные дату и время на всех телефонах. router#conf t router(config)#ntp server 64.209.210.20 – указываем адрес NTP сервера router(config)#clock timezone MSK 3 – указываем временную зону Настройка TFTP Хотя маршрутизаторы Cisco можно использовать в качестве TFTP сервера, стоит заметить что для больших телефонных сетей лучше иметь отдельный TFTP сервер, поскольку файлы прошивки и конфигурации могут быстро заполнить всю доступную flash-память. При использовании маршрутизатора в роли TFTP сервера необходимо вручную указать все файлы для скачивания, которые мы поместили во flash-памяти. В нашем примере файлы находятся в папке phone/7940-7960/ router#conf t router(config)#tftp-server flash:/phone/7940-7960/P00308000500.bin alias P00308000500.bin router(config)#tftp-server flash:/phone/7940-7960/P00308000500.loads alias P00308000500.loads router(config)#tftp-server flash:/phone/7940-7960/P00308000500.sb2 alias P00308000500.sb2 router(config)#tftp-server flash:/phone/7940-7960/P00308000500.sbn alias P00308000500.sbn Здесь в команде tftp-server после alias указываем название файла прошивки, который будет запрашивать телефон, поскольку телефон не знает полный путь до файла, а запрашивает его только по названию. Базовые настройки CME и регистрация телефонов Теперь настроим необходимые параметры IP Source Address, Max-DN (Directory Number) и Max-Ephones для работы с протоколом SCCP. router(config)#telephony-service – режим настройки телефонии router(config-telepony)#ip source-address 192.168.1.1 – адрес, на который должны приходить запросы на регистрацию от телефонов router(config-telepony)#max-ephones 24 – максимальное количество поддерживаемых телефонов router(config-telepony)#max-dn 48 – максимальное количество поддерживаемых номеров Параметры max-ephones и max-dn напрямую влияют на объем памяти, которую резервирует маршрутизатор для поддержки службы CME. При установке значения намного выше, чем необходимо, система может резервировать чрезмерные ресурсы и влиять на другие сетевые службы. Кроме того, параметр max-ephones не должен превышать количество приобретенных лицензий на функции. После этого телефоны начнут процесс регистрации. Проверить статус регистрации можно командой show ephone summary Настройка Ephone и Ephone-DN Для начала попробуем разобраться, что это такое и в чем их отличие. Ephone можно представить в качестве физического телефона с MAC адресом, а Ephone-DN в качестве телефонного номера, который мы связываем с телефонным аппаратом. Создадим номер Ephone-DN с номером 101: router#conf t router(config)#ephone-dn 1 – создание номера router(config-ephone-dn)#number 101 – указываем номер router(config-ephone-dn)#description Alexey Dobronravov – описание в CME router(config-ephone-dn)#name Alexey Dobronravov – описание на телефоне Теперь создадим Ephone и свяжем его с реальным телефоном по MAC-адресу: router#conf t router(config)#ephone 1 – создание образа телефона router(config-ephone)#mac-address 0014.1c48.acb1 – указываем MAC-адрес router(config-ephone)#button 1:1 – привязываем номер к аппарату Мы привязываем номер к телефону на его физические кнопки, которые обычно находятся возле экрана. На них как раз можно привязывать линии, и телефон может одновременно несколько номеров. Синтаксис команды через которую идет привязка телефона выглядит как button [физическая кнопка] : [ephone-dn] . Таким образом, в примере мы привязали первой кнопке на телефоне созданный нами номер ephone-dn 1. Теперь можем подключать наш телефон к сети, он пройдет все шаги загрузки и зарегистрируется на нашем CME. Таким же образом настраиваем другие телефоны и номера, после чего мы сможем совершать звонки между телефонами. Проверить статус телефона можно командой show ephone. Регистрация SIP телефона Теперь настроим CME для работы с телефонами по протоколу SIP. Первым делом разрешим звонки между SIP телефонами: router#conf t router(config)#voice service voip router(config-voice)#allow-connections sip to sip Настраиваем период регистрации телефонов (число – это время в секундах, по умолчанию 3600): router#conf t router(config)#voice service voip router(config-voice)#registrar server expires max 3600 min 3600 Создаем класс кодеков, в котором указываем кодеки, которые будут использованы: router#conf t router(config)#voice class codec 1 router(config-voice)#codec preference 1 g711alaw - кодек первого приоритета router(config-voice)#codec preference 1 g711ulaw - кодек второго приоритета router(config-voice)#codec preference 1 g729br8 - кодек третьего приоритета Создаем DN: router#conf t router(config)#voice register dn 1 – создаем DN router(config-voice-register-dn)#number 201 – указываем номер Настраиваем телефон: router#conf t router(config)#voice register pool 1 router(config-voice-register-pool)#id mac 0014.1c48.acb2 – указываем MAC телефона router(config-voice-register-pool)#number 1 dn 1 – привязываем номер к первой линии router(config-voice-register-pool)#voice-class codec 1 – используем созданный нами набор кодеков router(config-voice-register-pool)#username admin password pass – создаем аутентификационные данные После этого подключаем SIP телефон к сети и заходим по его веб-интерфейс черз бразуер по IP-адресу, находим настройки первой линии, где указываем адрес сервера 192.168.1.1 и логин с паролем admin/password, которые мы создали. Теперь таким образом можно регистрировать SIP телефоны на CME.
img
Классический стандарт связующего дерева работает нормально, но в настоящее время для современных сетей он слишком медленный 🐌 В настоящее время мы наблюдаем в наших сетях все больше и больше маршрутизации. Протоколы маршрутизации, такие как OSPF и EIGRP, намного быстрее адаптируются к изменениям в сети, чем spanning-tree. Чтобы не отставать от скорости этих протоколов маршрутизации, была создана еще одна разновидность связующего дерева... (rapid spanning tree) быстрое связующее дерево. Rapid spanning tree - это не революция spanning tree, а его эволюция. Некоторые вещи были изменены для того, что бы ускорить процесс, но с точки зрения конфигурации - это то же самое, что классический spanning tree . Я называю оригинальное spanning tree "классическим spanning tree". Азы Rapid spanning tree Помните состояние портов spanning tree? У нас есть блокирующее, прослушивающее, обучающее и пересылающее состояние порта. Это первое различие между spanning tree и rapid spanning tree. Rapid spanning tree имеет только три состояния портов: Отбрасывание; Обучение; Пересылка. Вы уже знакомы с состоянием порта в режиме обучения и пересылки, но отбрасывание - это новое состояние порта. В основном он объединяет в себе блокировку и прослушивание состояния порта. Вот хороший обзор с различными состояниями портов для spanning tree и rapid spanning tree. В таблице отображено состояние портов: активны ли они и узнают ли они MAC-адреса или нет. Помните ли вы все остальные роли портов, которые есть у spanning tree? Давайте сделаем небольшой обзор, и будет показано отличие от rapid spanning tree. Коммутатор с лучшим ID моста (priority + MAC -адрес) становится корневым мостом. Другие коммутаторы (non-root) должны найти кратчайший путь стоимости к корневому мосту. Это корневой порт. Здесь нет ничего нового, все это работает аналогично и в rapid spanning tree. На каждом сегменте может быть только один назначенный порт, иначе мы получим петлю. Порт станет назначенным портом, если он сможет отправить лучший BPDU. Коммутатор А, как корневой мост, всегда будет иметь лучшие порты, поэтому все интерфейсы будут назначены. Интерфейс fa0/16 на коммутаторе B будет назначенным портом в моем примере, потому что он имеет лучший идентификатор моста, чем коммутатор C. Здесь все еще нет ничего нового по сравнению с классическим связующим деревом. Коммутатор C получает лучшие BPDU на своем интерфейсе fa0/16 от коммутатора B, и таким образом он будет заблокирован. Это альтернативный порт, и это все еще то же самое, что и для rapid spanning tree. Вот вам новый порт, взгляните на интерфейс fa0/17 коммутатора B. Он называется резервным портом и является новым для rapid spanning tree. Однако вы вряд ли увидите этот порт в производственной сети. Между коммутатором B и коммутатором C был добавлен хаб. Обычно (без промежуточного концентратора) оба fa0/16 и fa0/17 будут назначены портами. Из-за хаба интерфейсы fa0/16 и fa0/17 коммутатора B теперь находятся в одном домене коллизий. Fa0/16 будет выбран в качестве назначенного порта, а fa0/17 станет резервным портом для интерфейса fa0/16. Причина, по которой коммутатор B видит интерфейс fa0/17 в качестве резервного порта, заключается в том, что он получает свои собственные BPDU на интерфейсах fa0/16 и fa0/17 и понимает, что у него есть два соединения с одним и тем же сегментом. Если вы удалите хаб, то fa0/16 и fa0/17 будут назначены портами точно так же, как classic spanning tree. BPDU отличается для rapid spanning tree. В classic spanning tree поле flags использовало только два бита: Topology change.; Topology change acknowledgment.; Теперь используются все биты поля flags. Роль порта, который создает BPDU, будет добавлена с помощью поля port role, оно имеет следующие параметры: Unknown; Alternate / Backup port; Root port; Designated port. Эта BPDU называется BPDUv2. Коммутаторы, работающие со старой версией spanning tree, проигнорируют эту новую версию BPDU. Если вам интересно ... rapid spanning tree и старое spanning tree совместимы! Rapid spanning tree способно работать с коммутаторами, работающими под управлением более старой версии spanning tree. Что поменялось BPDU теперь отправляются каждый hello time. Только корневой мост генерирует BPDU в classic spanning tree, и они ретранслировались non-root, если они получали его на свой корневой порт. Rapid spanning tree работает по-разному...все коммутаторы генерируют BPDU каждые две секунды (hello time). Это hello timeпо умолчанию, но вы можете его изменить. classic spanning tree использует максимального время жизни (20 секунд) для BPDU, прежде чем они будут отброшены. Rapid spanning работает по-другому! BPDU теперь используются в качестве механизма поддержания активности, аналогичного тому, что используют протоколы маршрутизации, такие как OSPF или EIGRP. Если коммутатор пропускает три BPDU от соседнего коммутатора, он будет считать, что подключение к этому коммутатору было потеряно, и он немедленно удалит все MAC-адреса. Rapid spanning tree будет принимать низшие BPDU. Classic spanning tree игнорирует их. Скорость перехода (время сходимости) является наиболее важной характеристикой rapid spanning tree. Classic spanning tree должно было пройти через состояние прослушивания и обучения, прежде чем оно переведет интерфейс в forwarding состояние, это занимает 30 секунд (таймер по умолчанию). Classic spanning было основано на таймерах. Rapid spanning не использует таймеры, чтобы решить, может ли интерфейс перейти в forwarding состояние или нет. Для этого он будет использовать переговорный (negotiation) механизм. Чуть позже я покажу вам, как это работает. Помните ли вы понятие portfast? Если мы включим portfast во время запуска classic spanning tree, оно пропустит состояние прослушивания и обучения и сразу же переведет интерфейс в forwarding состояние. Помимо перевода интерфейса в forwarding состояние, он также не будет генерировать изменения топологии, когда интерфейс переходит в состояние UP или DOWN. Мы все еще используем portfast для rapid spanning tree, но теперь он называется пограничным портом (edge port). Rapid spanning tree может только очень быстро переводить интерфейсы в forwarding состояние на edge ports (portfast) или интерфейсы типа point-to-point. Он будет смотреть на link type, и есть только два ink types: Point-to-point (full duplex); Shared (half duplex). Обычно мы используем коммутаторы, и все наши интерфейсы настроены как full duplex, rapid spanning tree видит эти интерфейсы как point-to-point. Если мы введем концентратор в нашу сеть, то у нас будет half duplex, который рассматривается как shared interface к rapid spanning-tree. Позвольте мне описать механизм быстрой синхронизации spanning tree, используя рисунок выше. Коммутатор А сверху - это корневой мост. Коммутатор B, C и D- некорневые мосты (non-root). Как только появится связь между коммутатором А и коммутатором B, их интерфейсы будут находиться в режиме блокировки. Коммутатор B получит BPDU от коммутатора A, и теперь будет происходить согласование, называемое синхронизацией. После того, как коммутатор B получил BPDU от корневого моста, он немедленно блокирует все свои порты, не обозначенные в списке non-edge. Non-edge порты - это интерфейсы для подключения к другим коммутаторам, пока edge порты- интерфейсы, настроены как portfast. Как только коммутатор B блокирует свои non-edge порты, связь между коммутатором A и коммутатором B переходит в forwarding состояние. Коммутатор B также выполнит операцию синхронизации как с коммутатором C, так и с коммутатором D, чтобы они могли быстро перейти в forwarding состояние. Главное, что следует усвоить здесь, заключается в том, что rapid spanning tree использует этот механизм синхронизации вместо механизма "таймера", который использует classic spanning tree (прослушивание → обучение → forwarding). Давайте увеличим масштаб механизма синхронизации rapid spanning tree, подробно рассмотрев коммутатор A и коммутатор B. Сначала интерфейсы будут заблокированы до тех пор, пока они не получат BPDU друг от друга. В этот момент коммутатор B поймет, что коммутатор A является корневым мостом, потому что он имеет лучшую информацию BPDU. Механизм синхронизации начнется, потому что коммутатор А установит proposal bit в поле flag BPDU. Коммутатор B получает предложение от коммутатора A и понимает, что он должен что-то сделать. Он заблокирует все свои non-edge интерфейсы и запустит синхронизацию в направлении коммутатора C и коммутатора D. Как только коммутатор B перевед свои интерфейсы в режим синхронизации, это позволит коммутатору А узнать об этом, отправив соответствующее соглашение. Это соглашение является копией proposal BPDU, где proposal bit, был switched off, а agreement bit - switched on. Интерфейс fa0/14 на коммутаторе B теперь перейдет в режим forwarding. Как только коммутатор A получит соглашение от коммутатора B, он немедленно переведет свой интерфейс fa0/14 в режим пересылки. А как насчет интерфейса fa0 / 16 и fa0 / 19 на коммутаторе B? Точно такой же механизм синхронизации будет иметь место и сейчас на этих интерфейсах. Коммутатор B направит предложение по своим интерфейсам fa0/16 и fa0/19 в сторону коммутатора C и коммутатора D. Коммутатор C и коммутатор D не имеют никаких других интерфейсов, поэтому они отправят соглашение обратно на коммутатор B. Коммутатор B переведет свои интерфейсы fa0/16 и fa0/19 в режим forwarding, и на этом мы закончим. Этот механизм синхронизации - всего лишь пара сообщений, летающих туда-сюда, и очень быстро, это намного быстрее, чем механизм на основе таймера classic spanning tree! Что еще нового в rapid spanning tree? Есть еще три вещи: UplinkFast; Механизм изменения топологии; Совместимость с классическим связующим деревом. Когда вы настраиваете classic spanning tree, вы должны включить UplinkFast самостоятельно. Rapid spanning tree использует UpLinkFast по умолчанию, вам не нужно настраивать его самостоятельно. Когда коммутатор теряет свой корневой порт, он немедленно переводит свой альтернативный порт в forwarding. Разница заключается в том, что classic spanning tree нуждалось в multicast кадрах для обновления таблиц MAC-адресов всех коммутаторов. Нам это больше не нужно, потому что механизм изменения топологии для rapid spanning tree отличается. Так что же изменилось в механизме изменения топологии? С classic spanning tree сбой связи вызвал бы изменение топологии. При использовании rapid spanning tree сбой связи не влияет на изменение топологии. Только non-edge интерфейсы (ведущие к другим коммутаторам), которые переходят в forwarding состояние, рассматриваются как изменение топологии. Как только коммутатор обнаружит изменение топологии это произойдет: Он начнет изменение топологии при значении таймера, которое в два раза превышает hello time. Это будет сделано для всех назначенных non-edge и корневых портов.; Он будет очищать MAC-адреса, которые изучаются на этих портах.; До тех пор, пока происходит изменение топологии, во время активности таймера, он будет устанавливать бит изменения топологии в BPDU, которые отправляются из этих портов. BPDU также будет отправлен из своего корневого порта.; Когда соседний коммутатор получит этот BPDU с установленным битом изменения топологии, произойдет следующее: Он очистит все свои MAC-адреса на всех интерфейсах, кроме того, на котором он получил BPDU с включенным изменением топологии.; Он запустит изменение топологии во время самого таймера и отправит BPDU на все назначенные порты и корневой порт, установив бит изменения топологии.; Вместо того, чтобы отправлять изменения топологии вплоть до корневого моста, как это делает classic spanning tree, изменение топологии теперь быстро распространяется по всей сети. И последнее, но не менее важное, давайте поговорим о совместимости. Rapid spanning tree и classic spanning tree совместимы. Однако, когда коммутатор, на котором работает Rapid spanning tree, связывается с коммутатором, на котором работает classic spanning tree, все функции скоростной передачи данных не будут работать! В приведенном выше примере у меня есть три коммутатора. Между коммутатором A и коммутатором B мы запустим rapid spanning tree. Между коммутатором B и коммутатором C мы вернемся к classic spanning tree.
img
Web real-time communication (WebRTC) стандарт, который появился совсем недавно и нацелен на осуществление общения в реальном времени с помощью веб-браузера с использованием одно ранговой сети. Проект WebRTC является открытым и его целью является позволить браузерам нативно поддерживать пиринговую передачу данных в реальном времени. В настоящее время много веб-сервисов используют RTC (связь в режиме реального времени), но при этом требуется установка приложений или специальных плагинов. К примеру – Skype, Facebook (так же работает через Skype) и Google Hangouts (использует плагин Google Talk). Установка и обновление плагинов может быть достаточно трудоёмким и нудным процессом, после которого могут появляться новые ошибки. С этой точки зрения технология WebRTC действительно привносит множество новшеств, таких как: Нет необходимости в лицензировании Интеграция являет собой процесс с использованием стандартных Web API Отсутствие проприетарных плагинов Нет необходимости в скачивании и установке чего-либо, достаточно просто зайти на веб-страницу. Целями данной технологии являются, главным образом – минимум трудозатрат при связи, поддержка большинства браузеров, поддержка популярных в данный момент сервисов для голосовой или видеосвязи – Skype, WhatsApp и т.д. Главное – уменьшение капитальных затрат и повышение эффективности связи при использовании данной разработки. Основные моменты До первой коммуникации браузеры «не знают» о существовании друг друга JavaScript управляет процессом установки соединения через сервер Потоки медиа-данных используют кратчайшие пути с целью уменьшения задержки. На схеме ниже изображен процесс соединения абонентов: Для веб-приложения WebRTC необходима следующая информация: Получение доступа к потоковой передачи голоса иили видео данных Получение сетевой информации – сетевой адрес, порт и обмен данной информацией с другими пирами Синхронизация сигнальной информации для открытия и закрытия сессий, выявления ошибок Обмен информацией о совместимости таких параметров как: тип браузера, разрешение и тип кодека Соединение входящего и исходящего потока медиа-данных Что касается сигнализации при использовании данной технологии, первоначальной идеей было использовать SDP (Session Description Protocol), однако данный подход выявил несколько неразрешимых проблем. IETF принял решение стандартизировать протокол JSEP (Javascript Session Establishment Protocol), что дословно переводится как протокол открытия сессии с помощью Javascript. JSEP предоставляет интерфейс для приложения, позволяющий оперировать локальными и удаленными описаниями сессий. Подход с использованием данного протокола делегирует ответственность по управлению состоянием сигнализации исключительно приложению. Что же с точки зрения безопасности? Есть несколько путей, которыми может быть скомпрометировано приложение или плагин RTC: Незашифрованные медиа-данные могут быть перехвачены между абонентами или между абонентом и сервером Приложение может записывать звонки и распространять их без ведома пользователя Вирусы могут установлены вместе с приложением или плагином при установке из неблагонадежного источника В технологии WebRTC было добавлено несколько функций, которые позволяют избежать вышеописанного: Реализации WebRTC используют безопасные протоколы, такие как DTLS и SRTP Шифрование обязательно для всех компонентов WebRTC, включая сигнальные механизмы. WebRTC не является плагином или отдельной программой – всего компоненты запускаются в браузере, причем не являясь отдельным процессом. Компоненты WebRTC обновляются при обновлении браузера. Конечно, вышеописанное справедливо только при использовании поддерживаемых браузеров и соблюдении обычных правил безопасности в интернете. Преграды для быстрого развития Необходимость наличия сервера для осуществления четырех задач: Поиск пользователей Сигнализация Механизмы прохождения сигнальной и медиа информации через NAT Механизмы обеспечения прохождения информации через межсетевой экран Отсутствие нативных приложений и SDK – WebRTC технология для связи абонентов через браузер, однако нет SDK, позволяющего разработать нативное приложение для IOS и Android Невозможность конференций – благодаря своей пиринговой натуре (peer-to-peer), WebRTC является чрезвычайно легко масштабируемой технологией, но при этом отсутствует необходимый инструментарий для организации аудио и видеоконференций. Выводы Стандартизация различных API для WebRTC может снизить цены на связь и позволит использовать WebRTC во многих индустриях – телекоммуникационной, игровой, новостной и так далее. Кроме того, можно с уверенностью сказать, что WebRTC окажет сильное влияние на Интернет в общем – разработки веб-приложений с открытым кодом, на рост совместимости между браузерами и т.д
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59