пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ
Слишком длинный поисковый запрос.
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Всем привет! Сегодня мы хотим рассказать о функции Intercom в Cisco Unified Communications Manager (CUCM).
Эта функция позволяет совершить вызов по выделенной интерком линии. Телефон, принимающий вызов автоматически отвечает на него в режиме громкой связи (speakerphone mode), с выключенным микрофоном. Звонок происходит в одностороннем режиме – вызываемый абонент слышит вызывающего, а вызывающий вызываемого – нет. Такой тип вызова также известен как Whisper Intercom. Если вызываемый абонент нажмет кнопку интеркома, то создастся второе одностороннее соединение в сторону звонящего и обе стороны начнут слышать друг друга. Intercom линии отличаются от обычных Directory Numbers номеров. Они не могут звонить на другие DN’ы и DN’ы не могут звонить на них. Intercom линии имеют свои собственные Dial Plan’ы и разрешения.
Настройка Intercom
Сначала переходим в меню Call Routing → Intercom → Intercom Route Partition. Нажимаем Add New для создания новой партиции. Тут вводим ее название и нажимаем Save.
Затем переходим в меню Call Routing → Intercom → Intercom Route Calling Search Space и нажимаем Find. Можно заметить, что Intercom CSS уже автоматически создано, при создании патриции. Название будет выглядеть как [Partition_name]_GEM. Можно использовать автоматически сгенерированный CSS, изменить его, либо создать новый.
Далее идем в меню Call Routing → Intercom → Intercom Directory Number и нажимаем Add New, чтобы создать Intercom DN. Поскольку линии интеркома являются односторонними и не могут звонить на обычные номера DN, то необходимо создать как минимум два номера Intercom DN. В поле Intercom Directory Number указываем диапазон номеров, которые необходимо создать. В полях Route Partition и Calling Search Space указываем Partition и CSS, созданные нами ранее. Делаем это для каждого номера и нажимаем Save.
После этого нужно добавить кнопку для использования Intercom в Phone Button Template. Как это делается можно прочитать в нашей статье.
После настройки идем во вкладку Device → Phone, находим желаемый телефон и в строке Phone Button Template выбираем созданный шаблон. Слева в поле Association Information должна появиться сточка Intercom [1] , и нам нужно нажать на нее, для перехода в меню настройки Intercom. Тут в поле Intercom Directory Number указываем Intercom номер, который мы создавали до этого. Также заполняем поля Route Partition и Calling Search Space. В поле Default Activated Device должен стоять Device Name (SEP_mac-address) аппарата. И после всего этого нажимаем Save и Apply Config.
Аналогичные действия нужно провести и на других телефонах. Чтобы выполнить звонок нужно нажать кнопку интеркома и ввести Intercom номер другого абонента.
Микросервисы – это шаблон сервис-ориентированной архитектуры, в котором приложения создаются в виде наборов небольших и независимых сервисных единиц. Такой подход к проектированию сводится к разделению приложения на однофункциональные модули с четко прописанными интерфейсами. Небольшие команды, управляющие всем жизненным циклом сервиса могут независимо развертывать и обслуживать микросервисы.
Термин «микро» относится к размеру микросервиса – он должен быть удобным в управлении одной командой разработчиков (5-10 специалистов). В данной методологии большие приложения делятся на крошечные независимые блоки.
Что такое монолитная архитектура?
Если говорить простым языком, то монолитная архитектура – это как бы большой контейнер, в котором все компоненты приложения соединяются в единый пакет.
В качестве примера монолитной архитектуры давайте рассмотрим сайт для электронной торговли. Например, онлайн-магазин.
В любом таком приложении есть ряд типовых опций: поиск, рейтинг и отзывы, а также оплаты. Данные опции доступны клиентам через браузер или приложение. Когда разработчик сайта онлайн-магазина развертывает приложение, это считается одной монолитной (неделимой) единицей. Код различных опций (поиска, отзывов, рейтинга и оплаты) находится на одном и том же сервере. Чтобы масштабировать приложение, вам нужно запустить несколько экземпляров (серверов) этих приложений.
Что такое микросервисная архитектура?
Микросервисной архитектурой называется методика разработки архитектуры, позволяющая создавать приложения в виде набора небольших автономных сервисов для работы с конкретными предметными областями. Такой вариант структурированной архитектуры позволяет организовать приложения в множество слабосвязанных сервисов. Микросервисная архитектура содержит мелкомодульные сервисы и упрощенные протоколы.
Давайте рассмотрим пример приложения для онлайн-торговли с микросервисной архитектурой. В данном примере каждый микросервис отвечает за одну бизнес-возможность. У «Поиска», «Оплаты», «Рейтинга и Отзывов» есть свои экземпляры (сервер), которые взаимодействуют между собой.
В монолитной архитектуре все компоненты сливаются в одну модель, тогда как в микросервисной архитектуре они распределяются по отдельным модулям (микросервисам), которые взаимодействуют между собой (см. пример выше).
Коммуникация между микросервисами – это взаимодействие без сохранения состояния. Каждая пара запросов и ответов независима, поэтому микросервисы легко взаимодействуют друг с другом. Микросервисная архитектура использует федеративные данные. Каждый микросервис имеет свой отдельный массив данных.
Микросервисы и монолитная архитектура: сравнение
Микросервисы
Монолитная архитектура
Каждый блок данных создается для решения определенной задачи; его размер должен быть предельно малым
Единая база кода для всех бизнес-целей
Запуск сервиса происходит сравнительно быстро
На запуск сервиса требуется больше времени
Локализовать ошибки довольно просто. Даже если один сервис сломается, другой – продолжит свою работу
Локализовать ошибки сложно. Если какая-то определенная функция не перестает работать, то ломается вся система. Чтобы решить проблему, придется заново собирать, тестировать и развертывать приложение.
Все микросервисы должны быть слабо связанными, чтобы изменения в одном модуле никак не влияли на другой.
Монолитная архитектура тесно связана. Изменения в одному модуле кода влияет на другой
Компании могут выделять больше ресурсов на самые рентабельные сервисы
Сервисы не изолированы; выделение ресурсов на отдельные сервисы невозможно
Можно выделить больше аппаратных ресурсов на самые популярные сервисы. В примере выше посетители чаще обращаются к каталогу товаров и поиску, а не к разделу оплат. Таким образом, будет разумнее выделить дополнительные ресурсы на микросервисы каталога товаров и поиска
Масштабирование приложения – задача сложная и экономически не выгодная
Микросервисы всегда остаются постоянными и доступными
Большая нагрузка на инструменты для разработки, поскольку процесс необходимо запускать с нуля
Федеративный доступ к данным, благодаря чему под отдельные микросервисы можно подбирать наиболее подходящую модель данных
Данные централизованы
Небольшие целевые команды. Параллельная и ускоренная разработка
Большая команда; требуется серьезная работа по управлению командой
Изменения в модели данных одного микросервиса никак не сказывается на других микросервисах
Изменения в модели данных влияют на всю базу данных
Четко прописанный интерфейс позволяет микросервисам эффективно взаимодействовать между собой
Не предусмотрено
Микросервисы делают акцент на продуктах (модулях), а не проектах
Сосредоточены на проекте в целом
Отсутствие перекрестных зависимостей между базами кода. Для разных микросервисов можно использовать разные технологии
Одна функция или программа зависит от другой
Сложности в работе с микросервисами
Микросервисы полагаются друг на друга, поэтому необходимо выстроить коммуникацию между ними.
В микросервисах создается больше модулей, чем в монолитных системах. Эти модули пишутся на разных языках, и их необходимо поддерживать.
Микросервисы – это распределенная система, так что, по сути, мы имеем дело со сложной системой.
В разных сервисах используются свои механизмы; для неструктурированных данных требуется больший объем памяти.
Для предотвращения каскадных сбоев необходимо эффективное управление и слаженная командная работа.
Трудно воспроизвести ошибку, если она пропадает в одной версии и вновь появляется в другой.
Независимое развертывание и микросервисы – вещи слабо совместимые.
Микросервисная архитектура требует большего количества операций.
Сложно управлять приложением, когда в систему добавляются новые сервисы.
Для поддержки всевозможных распределенных сервисов требуется большая команда опытных специалистов.
Микросервисы считаются дорогостоящими решениями, поскольку для разных задач создаются и поддерживаются разные серверные пространства.
Сервис-ориентированная архитектура (СОА) или микросервисы
СОА-сервисы (SOA - Service-oriented architecture) поддерживаются через реестр, который считается перечнем файлов каталога. Приложения должны найти сервис в реестре и вызвать его.
Иначе говоря, СОА похож оркестр: каждый музыкант играет на своем инструменте, а всеми артистами управляет дирижер.
Микросервисы – это разновидность СОА-стиля. Приложения создаются в виде набора небольших сервисов, а не цельной программы.
Микросервисы похожи на труппу артистов: каждый танцор знает свою программу и не зависит от других. Даже если кто-то забудет какое-то движение, вся труппа не собьется с ритма.
Теперь давайте поговорим о различиях между СОА и микросервисах.
Параметр
СОА
Микросервисы
Тип проектирования
В СОА компоненты приложения открыты для внешнего мира; они доступны в виде сервисов
Микросервисы – это часть СОА. Такая архитектура считается реализацией СОА
Зависимость
Подразделения – зависимы
Они не зависят друг от друга
Размер приложения
Размер приложения больше, чем у обычных программ
Размер приложения всегда небольшой
Стек технологий
Стек технологий ниже, чем у микросервисов
Стек технологий очень большой
Сущность приложения
Монолитная
Полностековая
Независимость и ориентированность
СОА-приложения создаются для выполнения множества бизнес-задач
Создаются для выполнения одной бизнес-задачи
Развертывание
Процесс развертывания растянут по времени
Несложное развертывание, на которое тратится меньше времени
Рентабельность
Более рентабельно
Менее рентабельно
Масштабируемость
Меньше, чем у микросервисов
Высокая масштабируемость
Бизнес-логика
Компоненты бизнес-логики хранятся внутри одного сервисного домена. Простые проводные протоколы (HTTP с XML JSON). API управляется с помощью SDK/клиентов
Бизнес-логика распределена между разными корпоративными доменами
Микросервисные инструменты
Wiremock – тестирование микросервисов
WireMock – это гибкая библиотека для создания заглушек и сервисов-имитаций. В ней можно настроить ответ, который HTTP API вернет при получении определенного запроса. Также может использоваться для тестирования микросервисов.
Docker
Docker – это проект с открытым кодом для создания, развертывания и запуска приложений с помощью контейнеров. Использование такого рода контейнеров позволяет разработчикам запускать приложение в виде одного пакета. Кроме того, в одном пакете могут поставляться библиотеки и другие зависимости.
Hystrix
Hystrix – это отказоустойчивая Java-библиотека. Данный инструмент предназначен для разделения точек доступа к удаленным сервисам, системам и сторонним библиотекам в распределенной среде (микросервисах). Библиотека улучшает всю систему в целом, изолируя неисправные сервисы и предотвращая каскадный эффект от сбоев.
Лучшие примеры использования микросервисной архитектуры
Отдельное хранение данных для каждого микросервиса.
Поддержание кода на едином уровне зрелости
Отдельная сборка для каждого микросервиса.
Заключение
Микросервисы – это СОА-шаблон, в котором приложения создаются как набор малых и независимых серверных единиц.
Микросервисная архитектура относится к стилям разработки архитектуры, позволяющим создавать приложение в виде небольших и автономных сервисов для определенных предметных областей.
Монолитная архитектура похожа на большой контейнер, в котором все компоненты приложения собраны в один пакет.
Каждый блок приложения в микросервисе имеет предельно малый размер и выполняет определенную функцию.
Большая база кода в монолитной архитектуре замедляет процесс разработки. Выход новых версий может растянуться на месяцы. Поддерживать такую базу кода довольно сложно.
Существует 2 типа микросервисов: Stateless (без сохранения состояния) и Stateful (с отслеживанием состояния)
Микросервисы на Java полагаются друг на друга; они должны взаимодействовать между собой. Микросервисы позволяют в большей степени сконцентрироваться на определенных функциях или потребностях бизнеса.
Сервисно-ориентированная архитектура, или СОА, – это усовершенствованные распределенные вычисления, основанные на проектной модели запроса/ответа в синхронных или асинхронных приложениях.
Компоненты приложения в СОА открыты для внешнего мира и представлены в виде сервисов; микросервисы считаются частью СОА. Это реализация СОА.
К популярным микросервисным инструментам относятся Wiremock, Docker и Hystrix.
Система записи телефонных разговоров, позволяет компаниям иметь возможность оценивать качество работы сотрудников, отслеживать различные показатели взаимодействия с клиентом, разрешать спорные ситуации. Запись телефонных разговоров - это мощный инструмент, который позволяет оптимизировать работу компании, улучшить качество обслуживания и компетенции сотрудников.
На сегодняшний день, лидерами рынка систем записи являются 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
Это ограничение будет дублировать только исходящий (с порта) траффик. Таким образом, мы рассмотрели архитектурные особенности систем записи. Наша компания имеет большой опыт в инсталляции и поддержке систем записи.
