По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Привет! Сегодня расскажем про то, как настроить Call Hunting в Cisco Unified Communications Manager (CUCM). Call Hunting позволяет распределять звонки на телефоны, в необходимой последовательности.
Теория
Call Hunting содержит следующие компоненты:
Directory Numbers (DNs) и Voicemail порты: конечные назначения, присваиваются Line Groups;
Line Groups: присваиваются Hunt List’у, к одному Hunt листу можно присвоить больше одной Line группы. В Line группе могут быть настроены различные алгоритмы поиска (Top-Down, Circular, Longest Idle, Broadcast) и другие настройки;
Hunt Lists: Представляет собой упорядоченный список Line групп. Звонок, проходящий через систему Call Hunting’а направляется в первую Line группу в Hunt листе. Если никто не может ответить в этой Line группе, то звонок может быть возвращен в Hunt List, где будет направлен в другую Line группу. Процесс может повторяться до тех пор, пока на звонок не ответят, закончатся Line группы или звонящий повесит трубку;
Hunt Pilots: Hunt Pilot присваивается Hunt List’у, и может быть уникальным DN или ТфОП номером. После набора этого номера начинается процесс Call Hunting’а;
Визуально это можно представить так:
Настройка Call Hunting
Первым делом создаем Line Group:
Для начала необходимо убедиться, что созданы Directory Numbers, присвоенные телефонным аппаратам;
После этого в CM Administration переходим во вкладку Call Routing → Route/Hunt → Line Group, и в открывшемся окне нажимаем Add New;
Здесь в поле Line Group Name указываем называние для Line группы, ниже в поле RNA Reversion Timeout указываем сколько секунд будет звонить каждый телефон в группе, перед тем как будет достигнуто значение No Answer;
В выпадающем списке Distribution Algorithm выбираем алгоритм распределения звонков:
Top Down – каждый новый вызов начинается с номера который стоит первым в списке;
Circular – каждый новый вызов начинается с номера, который в списке был после номера, который принял предыдущий вызов;
Broadcast – все телефоны звонят одновременно; Longest Idle Time – звонок направляется на телефон, который дольше всех был неактивен);
В меню Hunt Options выбираем, что будет происходить со звонком при достижении определенного состояния (No Answer, Busy и Not Available);
В поле Available DN/Route Partition выбираем номера, которые будут добавлены в группу, и в каком порядке будет происходить обзвон. Они будут отображаться в поле Secelted DN/Route Partition. Затем нажимаем Save;
Затем создаем Hunt List:
Переходим во вкладку Call Routing → Route/Hunt → Hunt List и нажимаем Add New;
В поле Name указываем название листа;
Выбираем CUCM группу в поле Cisco Unified Communications Manager Group. Значение по умолчанию – Default;
Нажимаем Save, после чего на странице появится поле Hunt List Member Information;
Нажимаем Add Line Group и добавляем в необходимом порядке Line группы, созданные ранее;
Теперь, как вы могли догадаться, создаем Hunt Pilot :)
Переходим во вкладку Call Routing → Route/Hunt → Hunt Pilot и нажимаем Add New.
В поле Hunt Pilot указываем номер, на который будут поступать звонки;
Если необходимо, то указываем Partition;
В выпадающем меню Hunt List выбираем тот Hunt List, на который будут уходить звонки;
В меню Call Forward Settings можно указать, куда отправлять вызов, если Call Hunting система не может его обработать (состояния No Answer и Busy);
Компания Juniper является очень крупным производителем сетевого оборудования в мире - после Cisco and Huawei. После того как вы купили, установили и скоммутировали новое оборудование, возникает вопрос о его правильной настройке.
Преимуществом коммутаторов от производителя Juniper, в основном, является возможность объединения до шести коммутаторов в одно единое устройство с надежным и удобным управлением портами, сохраняя стабильную и бесперебойную работу сети.
Настройка сетевого интерфейса
Настройка QoS (качество обслуживания)
Virtual Chassis (объединение коммутаторов)
Реализация возможности сброса до заводских настроек
Настроив данные компоненты, вы сможете реализовать работу сети с использованием в ней большого количества устройств для осуществления передачи трафика.
Настройка сетевого интерфейса
Интерфейс коммутатора отвечает за реализацию передачи данных между сетью и пользователем, что и является главной задачей коммутатора. Его конфигурация осуществляется с помощью следующих строк кода:
root> configure
Entering configuration mode
[edit]
root# edit interfaces
[edit interfaces]
root#
Конфигурация L3:
[edit interfaces]
root# set em0 unit 0 family inet address 100.0.0.1/30
Где: Em0 - физический интерфейс, а Family inet - позволяет выбрать протокол интерфейса.
Команда "show" позволит из Configuration Mode проверить результат вашей настройки:
[edit interfaces]
root# show
em0 {
unit 0 {
family inet {
address 100.0.0.1/30;
}
}
}
[edit interfaces]
Теперь примените настройки с помощью следующей команды:
root# commit
commit complete
С помощью команды ping осуществим проверку конфигурации:
root> ping 100.0.0.2 rapid
PING 100.0.0.2 (100.0.0.2): 56 data bytes
!!!!!
--- 100.0.0.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.402/0.719/1.306/0.343 ms
Конфигурация L2
root> configure
Entering configuration mode
[edit]
root# edit interfaces em0
[edit interfaces em0]
Необходимо задать дуплекс на интерфейсе:
[edit interfaces em0]
root# set link-mode full-duplex
[edit interfaces em0]
root#
Примечание: L2 - устройства, работающие на канальном уровне, при этом коммутатором занимается фреймами. А L3 взаимодействуют с IP-адресами и осуществляют маршрутизацию. Конфигурация L3 включает большее число параметров за счет расширенного функционала.
Настройка Virtual Chassis
После правильной настройки интерфейса, следует перейти к объединению коммутаторов, которое позволит облегчить управление устройствами, а также повысить надежность работы сети, за счет взаимозаменяемости устройств. Следует отметить, что коммутаторы Juniper не имеют отдельным порт VCP, поэтому придется настраивать обычный интерфейс в качестве VCP.
Конфигурация VCP вручную:
Включите все коммутаторы, также вам понадобятся их заводская маркировка, которую следует записать. Для примера используем следующие:
CT0216330172
CV0216450257
Включите коммутатор, который будет выполнять функцию master switch, после чего сделайте сброс настройка с помощью следующей строки кода:
request system zeroize
Перезагрузив систему, выполните следующие строки:
ezsetup
set system host-name sw_master
set system domain-name metholding.int
set system domain-search metholding.int
set system time-zone Europe/Moscow
set system root-authentication plain-text-password
set system name-server 10.10.6.26
set system name-server 10.10.6.28
set system services ssh protocol-version v2
set system ntp server 10.10.1.130 version 4
set system ntp server 10.10.1.130 prefer
set vlans Management description 10.10.45.0/24
set vlans Management vlan-id 100
set vlans Management l3-interface vlan.1
set interfaces vlan unit 1 family inet address 10.10.45.100/24
set routing-options static route 0.0.0.0/0 next-hop 10.10.45.1
set interfaces ge-0/0/47 unit 0 family ethernet-switching port-mode trunk
set interfaces ge-0/0/47 unit 0 family ethernet-switching vlan members Management
Активируем preprovisioned configuration mode:
set virtual-chassis preprovisioned
Вносим серийные номера оборудования:
set virtual-chassis member 0 serial-number CT02/16330172 role routing-engine
set virtual-chassis member 1 serial-number CV0216450257 role routing-engine
set virtual-chassis no-split-detection
Проверьте результат, с помощью следующей строки:
root@sw-master> show virtual-chassis status
Обнулите конфигурацию и включайте остальные коммутаторы:
request system zeroize
Раздел virtual-chassis в конфигурации должен быть пустой, а для подстраховки, используйте команду:
delete virtual-chassis
Настроим порты VCP для каждого коммутатора. Для данного примера, соедините коммутаторы портами ge-0/0/0 и ge-0/0/1 соответственно. Теперь задайте эти строки кода на каждом из коммутаторов:
request virtual-chassis vc-port set pic-slot 0 port 0
request virtual-chassis vc-port set pic-slot 0 port 1
--------------------ВЫВОД----------------------------
root> show interfaces terse
Interface Admin Link Proto Local Remote
vcp-255/0/0 up up
vcp-255/0/0.32768 up up
vcp-255/0/1 up up
vcp-255/0/1.32768 up up
ge-0/0/2 up down
ge-0/0/2.0 up down eth-switch
Теперь два коммутатора объединились, проверить можно с помощью команды:
show virtual-chassis status
show virtual-chassis vc-port
Если вы захотите добавить дополнительных участников к virtual-chassis, вам будет необходимо очистить конфигурацию нового коммутатора:
show interfaces terse | match vcp
Если есть, их надо удалить с командой:
request virtual-chassis vc-port delete pic-slot 0 port 0
Внесите серийный номер дополнительного устройства:
set virtual-chassis member 2 serial-number CT0217190258 role line-card
Настройка портов VCP в новом коммутаторе, в котором мы соединяем следующими портами - ge-0/0/0 и ge-0/0/1:
request virtual-chassis vc-port set pic-slot 0 port 0
request virtual-chassis vc-port set pic-slot 0 port 1
Теперь проверьте их наличие:
show interfaces terse | match vcp
НастройкаQoS
Технология QoS используется для распределение используемого трафика и ранжирование на классы с различным приоритетом. Технология необходима для увеличения вероятности пропускания трафика между точками в сети.
Сейчас мы рассмотрим деление потока трафика с приоритетом на ip-телефонию и видеоконференцсвязь на коммутаторе и использованием настроек по умолчанию class-of-service (CoS).
Допустим, что ip-телефоны подключены к коммутатору, а для маркировки ip-пакетов от ip-PBX и других ip-телефонов используются следующие показания DSCP:
46 - ef - медиа (RTP)
24 - cs3 - сигнализация (SIP, H323, Unistim)
32 - cs4 - видео с кодеков (RTP)
34 - af41 - видео с телефона, софтового клиента, кодека (RTP)
0 - весь остальной трафик без маркировки.
DSCP - является самостоятельным элементом в архитектуре сети, описывающий механизм классификации, а также Обеспечивающий ускорение и снижение задержек для мультимедийного трафика. Используется пространство поля ToS, являющийся компонентом вспомогательным QoS.
Теперь требуется dscp ef и af отнести к необходимым внутренним классам expedited-forwarding и assured-forwarding. За счет конфигурации classifiers, появляется возможность создания новых классов.
ex2200> show configuration class-of-service classifiers
dscp custom-dscp {
forwarding-class network-control {
loss-priority low code-points [ cs6 cs7 ];
}
forwarding-class expedited-forwarding {
loss-priority low code-points ef;
}
forwarding-class assured-forwarding {
loss-priority low code-points [ cs3 cs4 af41 ];
}
}
ex2200> show configuration class-of-service schedulers
sc-ef {
buffer-size percent 10;
priority strict-high;
}
sc-af {
shaping-rate 20m;
buffer-size percent 10;
}
sc-nc {
buffer-size percent 5;
priority strict-high;
}
sc-be {
shaping-rate percent 80;
buffer-size {
remainder;
}
}
Наименования можно выбрать произвольно, но а процент выделенных буферов - в соответствии с необходимостью. Ключевым приоритетом работы QoS является определение трафика с ограничением пропускающей полосы в зависимости от потребности в ней.
Шедулеры сопоставляются в соответствии с внутренними классами, в результате которого scheduler-map и classifier необходимо применяется ко всем интерфейсам, используя и описывая их в качестве шаблона.
К интерфейсу возможно применять специфические настройки, подразумевающие возможность написания всевозможных scheduler и scheduler-maps для различных интерфейсов.
Конечная конфигурация имеет следующий вид:
ex2200> show configuration class-of-service
classifiers {
dscp custom-dscp {
forwarding-class network-control {
loss-priority low code-points [ cs6 cs7 ];
}
forwarding-class expedited-forwarding {
loss-priority low code-points ef;
}
forwarding-class assured-forwarding {
loss-priority low code-points [ cs3 cs4 af41 ];
}
}
}
host-outbound-traffic {
forwarding-class network-control;
}
interfaces {
ge-* {
scheduler-map custom-maps;
unit 0 {
classifiers {
dscp custom-dscp;
}
}
}
ae* {
scheduler-map custom-maps;
unit 0 {
classifiers {
dscp custom-dscp;
}
}
}
}
scheduler-maps {
custom-maps {
forwarding-class network-control scheduler sc-nc;
forwarding-class expedited-forwarding scheduler sc-ef;
forwarding-class assured-forwarding scheduler sc-af;
forwarding-class best-effort scheduler sc-be;
}
}
schedulers {
sc-ef {
buffer-size percent 10;
priority strict-high;
}
sc-af {
shaping-rate 20m;
buffer-size percent 10;
}
sc-nc {
buffer-size percent 5;
priority strict-high;
}
sc-be {
shaping-rate percent 80;
buffer-size {
remainder;
}
}
}
Перед использованием данной настройки, проверьте командой commit check. А при наличии следующей ошибки, следует учесть следующее:
[edit class-of-service interfaces]
'ge-*'
One or more "strict-high" priority queues have lower queue-numbers than priority "low" queues in custom-maps for ge-*. Ifd ge-* supports strict-high priority only on higher numbered queues.
error: configuration check-out failed
В итоге мы не можем указать приоритет "strict-high" только для 5-ой очереди, когда у 7-ой останется приоритет "low". При этом можно решить проблему следующим образом: настроить для network-control приоритет "strict-high".
Применив конфигурацию, определенный процент фреймов в очередях будет потеряна. Требуется обнулить счетчики, проверить счетчики дропов через некоторое время, где переменные значения не равны нулю.
clear interfaces statistics all
show interfaces queue | match dropped | except " 0$"
При росте счетчиков дропа в конфигурации есть ошибка. Если вы пропустили описание в class-of-service interfaces шаблоном или в явном виде, то трафик в классах со стопроцентной вероятностью дропнется. Правильная работа выглядит следующим образом:
ex2200> show interfaces queue ge-0/0/22
Physical interface: ge-0/0/22, Enabled, Physical link is Up
Interface index: 151, SNMP ifIndex: 531
Forwarding classes: 16 supported, 4 in use
Egress queues: 8 supported, 4 in use
Queue: 0, Forwarding classes: best-effort
Queued:
Transmitted:
Packets : 320486
Bytes : 145189648
Tail-dropped packets : 0
RL-dropped packets : 0
RL-dropped bytes : 0
Queue: 1, Forwarding classes: assured-forwarding
Queued:
Transmitted:
Packets : 317
Bytes : 169479
Tail-dropped packets : 0
RL-dropped packets : 0
RL-dropped bytes : 0
Queue: 5, Forwarding classes: expedited-forwarding
Queued:
Transmitted:
Packets : 624
Bytes : 138260
Tail-dropped packets : 0
RL-dropped packets : 0
RL-dropped bytes : 0
Queue: 7, Forwarding classes: network-control
Queued:
Transmitted:
Packets : 674
Bytes : 243314
Tail-dropped packets : 0
RL-dropped packets : 0
RL-dropped bytes : 0
Переход к заводским настройкам
Если вам избавится от вашей конфигурации, которая работает некорректно вы можете сбросить настройки до заводских параметров. Советуем использовать данную функции, предусмотренную производителем оборудования, в случае реальной сложности в поиске ошибки, выполнив конфигурацию заново, вы можете заметно сэкономить свое время.
Самый простой способ, это ввод следующей команды:
load factory defaults
После ввода команды, система оповестит Вас о том, что в данный момент будет осуществлена активация заводских настроек по умолчанию. А с помощью привычной команды "commit" активируем настройки и перезагружаемся.
Мы рассмотрели базовые настройки коммутаторов Juniper, позволяющих создание надежной и гибкой сети для различных нужд.
Веб-разработчики являются неотъемлемой частью эпохи Интернета. Веб-сайты и мобильные страницы, с которых мы получаем большую часть нашей информации, совершаем покупки, бронируем билеты и так далее, созданы и управляются веб-разработчиками. Веб-разработчики - это люди, которые проектируют и разрабатывают веб-сайты и мобильные приложения. Они используют несколько языков программирования для реализации необходимых функций. Веб-приложение или мобильное приложение имеют множество различных компонентов, которые взаимодействуют друг с другом для создания всей функциональности системы. Из-за этого сложного характера веб-разработчиков можно разделить на Front-End, Back-End и Full-stack разработчиком.
Как стать веб-разработчиком
Front-End веб-разработчики также известны как разработчики на стороне клиента. Они работают над внешним видом и ощущением веб-приложения. Вы, наверное, не раз слышали эти модные аббревиатуры UX и UI, которые как раз обозначают User Experience (пользовательский опыт) и User Interface (пользовательский интерфейс), за которые ответственен фронтенд разработчик.
Back-End разработчики используют языки программирования и реляционные базы данных для интеграции внешнего интерфейса с внутренним. Со временем наборы умений фронт-энда и бэк-энда разработчиков пересекались, и в настоящее время индустрия предпочитает разработчиков с мастерством в обоих. Такие эксперты называются Full Stack Developers, и они обладают навыками как Front-End, так и Back-End разработки.
Давайте рассмотрим навыки, необходимые для того, чтобы стать веб-разработчиком.
1. Графика или пользовательский интерфейс (UI)
Знание графики или пользовательского интерфейса имеет большое значение для понимания эстетического аспекта веб-дизайна. Это позволяет выявлять и устранять проблемы совместимости между веб-браузерами при отображении страниц.
2. HTML, CSS, JavaScript
Это строительные блоки веб-разработки. Они позволяют разработчику создавать структуру, стиль и содержание веб-сайта. Дополнительное знание сторонних библиотек, таких как jQuery, LESS, Angular и React JS, крайне желательно. HTML определяет структуру представления страниц. CSS обеспечивает контроль над макетом, позволяя создавать точные секционные модули, а также позволяет разработчикам настраивать макет страницы, цвета, шрифты и добавлять эффекты анимации. JavaScript является продвинутым по своей природе, что помогает сделать веб-страницу более интерактивной. Он предлагает изысканные функции, которые помогают сделать веб-страницы более отзывчивыми. Зная DOM, JSON позволяет вам манипулировать Javascript кодом.
3. CMS
Система управления контентом (Content Management Systems) - это приложение, которое позволяет пользователям эффективно публиковать и управлять контентом веб-сайта. Это интуитивно понятный пользовательский интерфейс, который помогает в создании и изменении содержимого веб-страницы. Несмотря на то, что здесь не требуется опыта в программировании бэкэнда, знание HTML и CSS необходимо. В зависимости от используемой CMS вы можете реализовать расширенные функции, установив плагины и расширения. Wordpress, Joomla, Drupal, Magento, Laravel, Typo3, Serendipity, Chamilo - вот некоторые из них, которые стоит добавить в вашу базу знаний.
4. UX
Пользовательский опыт не имеет прямого отношения к знаниям о дизайне; напротив, это относится к аналитическому и техническому пониманию того, как должно работать веб-приложение. Это понимание факторов, которые удерживают пользователей на сайте, помогают им найти то, что они ищут, и оптимизируют поддерживаемые функции.
5. Языки программирования
Языки программирования помогают внедрять интерактивные функции на сайт. Они несут ответственность за возможность хранить, обновлять, манипулировать и получать доступ к данным из базы данных в пользовательский интерфейс. Для веб-разработки основными языками программирования, с которыми нужно ознакомиться, являются Java, Javascript, .NET, PHP, Perl, Python, C, C ++ и Ruby. Выбор языка программирования в основном зависит от программного стека и типа разрабатываемого проекта. Про выбор языка программирования можно прочитать в нашей статье.
6. СУБД
Веб-приложения должны хранить данные, с возможностью для доступа к ним, и когда это необходимо, что требует хорошего знания системы управления реляционными базами данных. Веб-разработчик должен хорошо понимать его синтаксис для создания, обновления, манипулирования и доступа к базе данных до ее оптимального уровня. Он должен понимать разницу между реляционной и нереляционной базой данных наряду со знанием XML/JSON. Понимание особенностей реляционной базы данных, веб-хранилища, знание NoSQL и связей с базами данных укрепляют карьеру веб-разработчика.
7. Программный стек
Это совокупность программных подсистем, которые вместе работают вместе, чтобы создать платформу для поддержки приложения без необходимости в дополнительном программном обеспечении. Говорят, что приложение «работает поверх» определенного программного стека. Независимо от программного стека, всегда существует сходство в архитектуре программного стека. Примеры программных стеков для веб-разработки:
LAMP [Linux | Apache | MySQL | PHP]
MERN [MongoDB | Express | React | Node.js]
MEAN [MongoDB | Express | Angular | Node.js]
Понимание стека программного обеспечения требуется при работе над проектом, поскольку оно дает лучшее техническое представление о разрабатываемом программном обеспечении. Вы можете оптимизировать производительность, предлагать изменения и устранять технические проблемы.
8. SEO
Поисковая оптимизация (Search Engine Optimization) не может считаться обязательным требованием для веб-разработчика. Но знания в этой области помогут вам с самого начала структурировать веб-сайт как оптимизированный для SEO. Это, в конечном счете, облегчит работу профессионалов SEO, но более того, веб-приложение имеет больше шансов на успех.
Итог
Наличие всех вышеперечисленных навыков дает вам возможность выбора из нескольких карьерных возможностей. На сегодняшнем рынке веб-разработчики должны иметь более одного определенного набора навыков.