По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Допустим, Вы решили обзавестись IP телефонией для своего офиса. Вы закупили необходимое количество телефонов, настроили voice VLAN, DHCP, TFTP серверы и определились с номерным планом. Однако, прежде чем Ваш IP Phone зазвонит, ему еще предстоит пройти процедуру загрузки, так называемый Bootup или Startup process, которому и будет посвящена данная статья. В качестве примера будет рассмотрен процесс загрузки Cisco IP Phone под управлением Cisco CallManager. Понимание данного процесса даст более полное представление о работе телефонов Cisco и IP телефонии в целом, а также поможет в оперативном траблшутинге неисправностей. Итак, пусть имеется некая сеть, содержащая: сервер с Cisco CallManager, сервер DHCP, сервер TFTP, коммутатор с поддержкой PoE (Power over Ethernet) и Cisco IP Phone, как показано на рисунке ниже. Допустим, что наш коммутатор и телефон поддерживают протокол PoE. Тогда, сразу после того, как телефон будет подключен к одному из Ethernet портов, коммутатор отреагирует специальным сигналом FLP (Fast Link Pulse), который определяет, имеет ли подключенное устройство питание. Возвращение FLP в форме петли (loopback) на порт коммутатора, к которому недавно было подключено новое устройство, сигнализирует о том, что на данный порт необходимо незамедлительно подать питание. Таким образом, IP Phone по протоколу PoE 802.3af получает питание в 48 Вольт. Cisco IP Phone имеет встроенную, энергонезависимую Flash-память, в которой хранится образ прошивки и начальные пользовательские настройки. В процессе начальной загрузки телефон, загружая из Flash-памяти образ прошивки, инициализирует своё программное обеспечение и аппаратные средства. Как только телефон получил питание и прошел POST (Power-on self-test) для проверки базовой функциональности, коммутатор, по проприетарному протоколу CDP (Cisco Discovery Protocol), отправляет на телефон информацию о том, какой voice VLAN необходимо использовать. Затем, IP Phone отправляет на широковещательный адрес 255.255.255.255 запрос DHCPDISCOVER, в свою очередь DHCP сервер возвращает ответ DHCPOFFER, который содержит следующую информацию: Свободный IP адрес Маска подсети Адрес шлюза по умолчанию (Default Gateway) Адрес DNS (Domain Name System) сервера. (опционально) Адрес TFTP (Trivial File Transfer Protocol) сервера, на котором хранится файл конфигурации для телефонов. Адрес TFTP сервера задается при конфигурировании DHCP по средствам, так называемой опции 150 (option 150). Синтаксис команды приведен ниже: option 150 ip 'TFTP server IP address' После того как телефон с помощью option 150 получил адрес TFTP сервера, он скачивает конфигурационный файл, содержащий параметры для подключения к CallManager. Если телефон был зарегистрирован на CallManager’е вручную, то он начинает проверять файл .cnf.xml, который определяет какую версию программного обеспечения должны использовать все телефоны, зарегистрированные в данном CallManager’е. Если обнаруживается, что загруженный образ не соответствует общепринятому, то телефон вновь обращается на TFTP сервер для получения корректного образа, хранящегося там в формате .bin. После обращения к TFTP, загрузив новый образ, телефон инициирует установление TCP соединения с CallManager’ом. Данное соединение открывает возможность использования функционала Cisco IP Phone в полной степени. Как видите, с того момента как наш IP Phone был подключен в один из портов коммутатора и до того момента, когда мы можем совершать звонки, он проходит еще множество всевозможных этапов загрузки, большинство из которых, конечный пользователь даже не заметит.
img
Система записи телефонных разговоров, позволяет компаниям иметь возможность оценивать качество работы сотрудников, отслеживать различные показатели взаимодействия с клиентом, разрешать спорные ситуации. Запись телефонных разговоров - это мощный инструмент, который позволяет оптимизировать работу компании, улучшить качество обслуживания и компетенции сотрудников. На сегодняшний день, лидерами рынка систем записи являются ZOOM, Verint, Nice, Cisco (MediaSense). По какому принципу работает система записи? На этот вопрос мы постараемся ответить. Запись телефонных разговоров как правило делят на два типа: активная и пассивная. Активная (SPANLess) запись – это возможность телефонного аппарата напрямую отправлять RTP поток на сервер записи, а сигнальный трафик приходит через JTAPI*. *JTAPI (Java Telephony Application Programming Interface) – специальный телефонный «эй-пи-ай», позволяющий интегрировать телефонные события. Данный вариант зачастую реализуется при действующем кластере CUCM версией выше 6.0(Cisco Unified Communications Manager) и телефонах с поддержкой Built-in-Bridge. Давайте посмотрим на схему работы активной записи: Активный режим записи разговоров В данном примере, пользователь А, звонит пользователю В. На телефоне пользователя А включен режим Built-in Bridge, и настроен соответствующий профиль записи. CUCM в этот момент фиксирует, что телефон пользователя В подлежит записи и начинает дублировать сигнализацию на интерфейс сервера записи. Вместе с тем, на сервер приходит и RTP поток от пользователя В. Медиа поток декодируется и соотносится с сигнализацией. По окончании обработки, через GUI системы записи мы видим наш разговор, с временными метками, DNIS, ANI и некоторые другие. В контактных центрах, так же возможна интеграция с платформой UCCX, UCCE, Genesys ,Avaya Communication Manager. В результате интеграции с данной платформой, будет возможно передавать агентскую информацию, CallType и многие другие параметры. Давайте теперь разберемся с пассивной записью. Пассивная запись организуется путем настройки SPAN** – сессий для RTP траффика и сигнализации. **SPAN (Switched Port Analyzer) – мониторинговая сессия, которая позволяет дублировать сетевой трафик с одного интерфейса на другой. Чтобы на сервер записи не приходил ненужный трафик, как правило, настраивают RSPAN в сочетании листами доступа (access-list). Давайте снова посмотрим на схему: Пассивный (устаревший) режим записи разговоров На схеме сверху, можно заметить, что роль CUCM сводится к управлению сигнализацией (SCCP или SIP). Предположим, что на центральном коммутаторе есть следующие настройки: SPAN_SW(config)#monitor session 1 source interface f0/1 SPAN_SW(config)#monitor session 1 destination interface f0/3 Все, теперь траффик в обе стороны, как на прием, так и на передаче, с порта Fa 0/1 будет дублироваться на порт Fa 0/3. Можно вводить ограничения по SPAN-сессиям, например: SPAN_SW(config)#monitor session 1 source interface f0/1 tx SPAN_SW(config)#monitor session 1 destination interface f0/3 Это ограничение будет дублировать только исходящий (с порта) траффик. Таким образом, мы рассмотрели архитектурные особенности систем записи. Наша компания имеет большой опыт в инсталляции и поддержке систем записи.
img
Основой любого сайта является HTML. Это первое, что видят люди. Без него сайта бы не существовало. Поэтому так важно придерживаться правильных методов написания кода. Если этого не делать, то посетители вашего сайта получат плохой пользовательский опыт. В HTML всегда есть, чему поучиться. Причем не важно, новичок вы в программировании или опытный специалист. В данной статье мы поговорим о лучших практиках HTML. Давайте начнем. Лучшие практики HTML – это набор правил, помогающих создавать сайты, одинаково удобные для чтения и сопровождения. При создании сайта на HTML необходимо придерживаться следующих принципов: Используйте только один элемент <h1> для страницы В HTML доступно 6 различных тегов заголовков – от <h1> до <h6>. Тегом <h1> отмечается основной заголовок (название веб-страницы), а тег <h6> используется для наименее важного заголовка. Тег <h1> крупнее <h2>, <h2> крупнее <h3> и так до тега <h6>. Размер каждого заголовка уменьшается по степени его важности. Очень важно не добавлять более одного элемента <h1> на странице. Не делайте так: <main> <div> <h1>Писать код – это весело?</h1> <p>Чем больше вы пишете, тем опытнее становитесь</p> </div> <div> <h1>Писать код – это весело</h1> <p>Лучше писать код с удовольствием</p> </div> </main> В примере выше мы используем тег <h1> в первом и втором блоке <div>. Такой код, конечно же, заработает, но это не самый правильный вариант оформления. Лучше вот так: <main> <div> <h1>Писать код – это весело?</h1> <p>Чем больше вы пишете, тем опытнее становитесь</p> </div> <div> <h2>Писать код – это весело</h2> <p>Лучше писать код с удовольствием</p> </div> </main> Кроме того, наличие одного элемента <h1> на странице – крайне важно для поисковой оптимизации (SEO). Через этот тег поисковики понимают, что находится на странице (главная мысль страницы). Не забывайте про иерархию заголовков в HTML Когда вы пользуетесь тегами заголовков, важно следовать установленной иерархии: после <h1> идет <h2>, за <h3> следует <h4> и т.д... Не перескакивайте от <h1> к <h3>. Некоторые посетители сайта используют средства чтения с экрана. И таким пользователям бывает трудно понять содержимое вашей страницы при нарушенной иерархии элементов. Средства чтения с экрана – это одна из специальных возможностей, помогающая людям получать доступ к цифровому содержимому (сайтам или приложениям) и взаимодействовать с ним через звуки и касания. Основные пользователи данной технологии – слабовидящие или незрячие люди. Не делайте так: <h1>Писать код – это весело</h1> <h3>Лучше писать код с удовольствием</h3> <h5>Постоянство – это ключ</h5> Лучше вот так: <h1>Писать код – это весело?</h1> <h2>Чем больше вы пишете, тем опытнее становитесь</h2> <h3>Писать код – это весело</h3> Добавляйте подписи к изображениям через элемент figure Добавлять подписи к изображениям рекомендуется через элемент <figure>. А чтобы все заработало, нужно прописать не только <figure>, но и <figcaption>. Не делайте так: <div> <img src=“a-man-coding.jpg” alt=“Мужчина за компьютером”> <p>Это изображение мужчины, который работает за компьютером</p> </div> С точки зрения кода, пример выше написан хорошо. Но лучше сделать все иначе. Если изображение не загрузилось, отображается содержимое alt, и на экране показывается текст из элемента <p>. Но посетитель, использующий средства чтения с экрана, не сможет отличить тексты в <p> и alt. Помните: даже если ваш код работает, это еще не значит, что вы делаете все правильно. Лучше сделать вот так: <figure> <img src=“a-man-coding.jpg” alt=“ Мужчина за компьютером”> <figcaption>Это изображение мужчины, который работает за компьютером</figcaption> </figure> Пример выше – отличный способ, как можно добавить подписи к изображениям. Почему важно добавлять подписи к изображениям именно так: Поисковая оптимизация. Ваши изображения легче найти в поисковых системах. Посетителям, использующим средства чтения с экрана, проще понять содержимое вашей страницы. Не используйте div для шапки и подвала; для этого подходят семантические элементы Семантические элементы HTML используются для логической разметки структуры документа на странице. Кроме того, они нужны для правильной сборки страницы. Откажитесь от <div> в пользу семантики. Не используйте <div> для обозначения шапки и подвала страницы. Для этих целей есть семантические элементы <header> и <footer>. Элемент <header> показывает навигацию или вводную часть страницы. В элементе <footer> размещается информация об авторских правах или ссылки для перехода на страницы. Не делайте так: <div class="header"> <a href="index.html">Главная</a> <a href="#">О нас</a> <a href="#">Контакты</a> </div> <div class="footer"> <a href="index.html">Главная</a> <a href="#">О нас</a> <a href="#">Контакты</a> </div> В примере выше тег <div> используется в качестве контейнера для <header> и <footer>. Такой код будет работать, но это не самый правильный способ реализации. Лучше вот так: <header> <h1></h1> </header> <footer> <a href="index.html">Главная</a> <a href="#">О нас</a> <a href="#">Контакты</a> </footer> Лучше всего добавлять <footer> и <header> на страницу именно так. Почему важно добавлять <footer> и <header> с помощью семантических элементов HTML: Использование семантических элементов для шапки и подвалаупрощает чтение кода. Такой способ предлагает более качественный пользовательский опыт. Посетителям, использующим средства чтения с экрана, будет проще понять содержимое страницы. Не используйте <b> и <i> для выделения текста на странице Теги <b> и <i> выделяют текст жирным шрифтом (b) или курсивом (i). Но не стоит ими пользоваться на сайте, поскольку оба тега не несут семантической нагрузки. Для выделения текста лучше подходит свойство CSS font-weight, либо теги <strong> и <em>. Тегом <strong> отмечают важный текст на странице. Он выделяет текст или делает его жирным. Тег <em> подчеркивает текст или добавляет курсив (точно также, как <i>). Не делайте так: <p><i>Пишите код в своем собственном темпе</i><p> <p><b>пишите код в своем собственном темпе </b><p> В этом примере текст выделяется жирным и курсивом. Но пользователи со средствами для чтения с экрана не заметят разницы. Данные теги не несут семантического значения. Спецификация HTML 5 рекомендует нам использовать теги <b> и <i> только в самых крайних случаях и при отсутствие альтернативных вариантов. Лучше делайте так: <p><strong>Пишите код в своем собственном темпе</strong><p> <p><em>пишите код в своем собственном темпе</em><p> Не используйте блочные элементы внутри строчных Блочные элементы начинают новую строку на странице. По умолчанию действие этих элементов распространяется на всю строку – от ее начала до конца. Вы не сможете добавить строчные элементы внутри блочных без CSS. К блочным элементам относятся <p>, <h1> – <h6> и <div>. Строчные элементы действуют на небольшую часть страницы. Они не начинаются с новой строки. К строчным элементам относятся <span>, <em> и <a>. Вы не можете добавить блочные элементы внутри строчных. Не делайте так: <a href="#" > <p>Посетите merion</p> </a> У вас не получится добавить <p> внутрь элемента <a>, поскольку <p> относится к блочным элементам, а <a> – к строчным. Лучше сделать так: <p> Посетите <a href="wiki.merionet.ru" target="_blank">Merion</a> для изучения IT </p> Это отличный пример того, как можно вложить строчные элементы внутри блочных. Важно помнить, что: Блочный элемент нельзя вложить внутри строчного. Строчный элемент можно вложить внутри блочного. Строчный и блочный элемент можно вложить внутри блочного. Небольшое уточнение: «вложить» что-то в данном случае означает «добавить внутрь». Так что, говоря «это нельзя вложить», я имею ввиду, что вы не сможете добавить один такой элемент внутрь другого. Надеюсь, вы запомнили 3 простых правила для вложения элементов. Кроме того, CSS позволяет преобразовать блочные элементы в строчные. Для этого используется display: inline-block и display: inline. А еще важно помнить простую истину: даже если ваш код работает, это еще не значит, что вы делаете все правильно. Именно поэтому я всегда рекомендую пользоваться валидатором разметки W3C и дополнительно проверять свой код. Этот валидатор отслеживает правильность разметки веб-документов в HTML, XHTML, SMIL, MathML и т.д. Для проверки кода можно скопить его URL и добавить на сайт, либо загрузить сам файл HTML. Заключение Надеемся, что данная статья помогла вам узнать что-то новое о лучших практиках в HTML. Мы постарались включить в нее самые полезные советы, которыми можно начинать пользоваться уже сегодня.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59