По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Если вас удивляет то, каким образом веб-приложения могут взаимодействовать друг с другом и передавать информацию для оптимизации операций, то вам следует познакомиться с Webhook , веб-перехватчиком. Webhook (он же веб-перехватчик) – это больше, чем просто средство информационного взаимодействия для онлайн-сервисов. Webhook – это достаточно любопытная технология, используемая для запуска приложений. Эта статья позволит получить четкое понимание того, что же такое Webhook и какие методы его работы существуют. Видео: что такое Webhook и чем отличается от API? Что такое Webhook: быстрый экскурс Webhook – это автоматически сгенерированный HTTP-запрос, созданный на основе каких-то данных. Он запускается предопределенным событием или действием в исходной системе и передается системе, с которой исходная система пытается установить связь. Webhook работает быстрее, чем опрос или API. Вместе с этим для разработчиков он является менее трудоемким с точки зрения работы. Применительно к приложениям, Webhook – это не что иное, как SMS-уведомления, которые мы получаем во время использования приложения. Например, при покупке некого товара в Интернете продавец присылает вам уведомление по SMS. Аналогично, каждый раз, когда в исходной системе происходит некоторое событие/действие, система принимающей стороны уведомляется через Webhook. Для чего нужен Webhook? Webhook используется для связи приложений и быстрого обмена данными между системой-источником и системой-получателем. Это приводит к двусторонней связи между двумя различными сетевыми системами. Ниже приведен список нескольких сценариев, при который Webhook справится лучше, чем любое другое средство связи приложений: Использование Webhook для передачи информации о событиях в различные базы данных. Требуется мгновенный ответ приложения при выполнении определенного действия. Использование Webhook для беспрепятственной синхронизации данных клиентов в приложении. Необходимость иметь модель push-уведомлений для получения своевременных обновлений. Связь должна быть взаимно-однозначной. Webhook может помочь установить соединение между средством массовой email-рассылки/управления проводимыми акциями и платежными системами. Разработчики требуют приравнять 2 системы к временной системе связи. Принимая во внимание все эти утилиты, Webhook можно назвать ключевым инструментом для разработки SaaS-приложений. Одним из реально существующих примеров использования Webhook является Shopify , который использует веб-перехватчик, например, для операций автоматического обновления корзины или объявления о продаже. Еще одной известной платформой является Stripe . Она использует Webhook для передачи сведений, связанных с обновлениями учетных записей, уведомлений об оплате и др.   Webhook vs API Человеку, не являющемуся специалистом в данной области, может показаться, что Webhook и API это одно и то же, поскольку они оба используются для установки связи между приложениями. Ситуация усугубляется, когда некоторые разработчики называют Webhook обратным API . В данном случае только опытный разработчик сможет понять разницу между этими двумя технологиями и использовать их. Мы подготовили краткий обзор основных различий между Webhook и API. Обе эти технологии, как принято считать, используются приложениями для передачи информации другому приложению. В общих чертах они работают одинаково. Ключевое различие заключается в процессе получения данных. API использует процесс «опроса» для получения необходимых данных. Опрос ( polling ) – это выполнение запросов на сервер с целью проверки появления новых данных. Webhook работает по принципу «принудительной отправки данных», то есть как только происходит инициирующее событие, из источника отправляются необходимые данные. API ожидает появления новых данных и требует периодической активности, в то время как Webhook активируется автоматически при возникновении события. Если говорить об их практической реализации, то они принципиально разные. Например, API связывается с продавцом, чтобы удостовериться, что нужный вам товар есть в наличии, а Webhook попросит продавца самому связаться с вами, как только нужный товар будет доступен. При таком подходе обе стороны экономят время и усилия. Безопасность Web API – сложная задача, поскольку запросы выполняются снова и снова, и каждый раз необходимо внедрять методы обеспечения безопасности API. Обеспечить безопасность Webhook относительно просто, поскольку запросы производятся не так часто. Webhook лучше использовать, когда требуются обновления приложения в режиме реального времени, а API – когда часто обновляется серверное приложение. Webhook – это простейшая модель API. API – это полноценный язык приложений, способный выполнять добавление, удаление и извлечение данных. Webhook работает автоматически, в то время как API требует некоторых усилий разработчика. Webhook не является широко поддерживаемым, в то время как большинство сторонних интеграций принимают API.   Как работает Webhook? На первый взгляд все кажется похожим, но Webhook включает в себя определённый сложный процесс. Вот как это работает: Шаг 1: Генерация запроса Для использования Webhook система должна быть достаточно оборудована для поддержки всего процесса. Можно разработать дружественную к Webhook систему, осуществляя несколько HTTP-запросов для различных событий. Основанный на этом принципе Webhook имеет хорошую совместимость с платформой SaaS, поскольку присутствует поддержка нескольких событий. Также с Webhook совместимы такие платформы, как GitHub, Shopify, Twilio, Stripe и Slack. Для начала нужно зарегистрироваться, чтобы принять Webhook'и. Регистрация должна быть проведена для более чем одного события. После регистрации на целевой URL будет автоматически сгенерирован запрос Webhook. Этот запрос обработается автоматически, когда произойдет определенное событие. Шаг 2: Применение Webhook Когда процесс подготовки завершен, можно использовать Webhook'и. Процесс можно упростить, если вы создадите свои Webhook и протестируете их на пригодность. Если вам покажется это слишком тяжелым, то вы можете просто добавить нужный URL-адрес веб-перехватчика в приложение и начать делиться данными. Для использования Webhook вы можете использовать средства, указанные ниже: 1. RequestBin и Postman для тестирования Webhook Как уже отмечалось, тестирование Webhook – это наиболее эффективный способ понять его метод работы. RequestBin и Postman – два самых популярный инструмента для тестирования. Используя RequestBin, разработчики могут создавать нужные URL-адреса веб-перехватчиков и обмениваться данными, чтобы проверить, как он их идентифицирует. Postman аналогично может обрабатывать процесс отправки запроса для терминала и выделенный код приложения. Разработчик может свободно работать с кодировкой JSON и XML. 2. Общение приложений Тестирование Webhook было исчерпывающим. И теперь можно приступить к делу и позволить приложениям общаться между собой. Для начала разработчикам необходимо активировать Webhook триггерных приложений. Как правило, каждое приложение имеет большое количество настроек веб-перехватчиков. Чтобы получить данные из используемого триггерного приложения, необходимо открыть настройку Webhook в заданной форме. Будет сгенерировано поле URL и варианты для спецификации HTTP-запроса веб-перехватчика. На следующем шаге уже необходимо использовать URL-адреса приложения, получающего данные. В этом приложении каждый документ имеет свой конкретный URL-адрес слияния. Скопируйте URL-адрес слияния или любой другой предполагаемый URL-адрес приложения. Затем снова перейдите в приложение-триггер и вставьте скопированный URL-адрес веб-перехватчика из приложения, получающего данные, в поле URL-адреса приложения-триггера. Сохраните изменения. Теперь приложение готово к работе. Вы можете использовать любой из вышеупомянутых средств включения Webhook. Чтобы концепция работы была более понятна, ниже мы привели пример работы Webhook Shopify:   Пример Webhook Давайте продолжим приведенный выше пример Shopify. Предположим, что новый пользователь только что разместил 2 заказа в интернет-магазине после подтверждения адреса электронной почты. Получение информации с помощью события customer/update будет выглядеть примерно так: HTTP/1.1 200 OK { "webhook": { "id": 744408886555322224, "email": "ss@testmail.com", "accepts_marketing": false, "created_at": null, "updated_at": null, "first_name": "Jane", "last_name": "Doe", "orders_count": 2, "state": "disabled", "total_spent": "0.00", "last_order_id": 54254, 54258 "note": "The user registered from India and uses store for sending gifts", "verified_email": true, "multipass_identifier": null, "tax_exempt": false, "phone": 8585858585, "tags": "retailer", "last_order_name": null, "currency": "INR", "addresses": [ ], "accepts_marketing_updated_at": null, "marketing_opt_in_level": null, "admin_graphql_api_id": "gid://shopify/Customer/744408886555322224" } } Заключение Процесс передачи данных является ключевым во взаимодействии человека и веб-приложений. Webhook делает взаимодействие между приложениями быстрым, беспрепятственным и не таким сложным. Webhook является альтернативой API и автоматизирует коммуникационное соединение.
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
В сегодняшней статье рассмотрим модуль, который позволяет просматривать детальную информацию о сервере IP-АТС Asterisk и о процессах, которые на нем запущены прямо из web-интерфейса FreePBX - Asterisk Info. Все примеры в данной статье будут приводиться с использованием FreePBX 13. Ту же самую информацию можно получить, используя командную строку Asterisk – CLI (Command Line Interface). Сразу отметим, что данная информация будет понятна и полезна только продвинутым пользователям Asterisk и системным администраторам, например, при траблшутинге проблем. Модуль Asterisk Info Перейдём в модуль и рассмотрим его функционал. Модуль доступен по следующему пути с главной страницы Reports -> Asterisk Info Как только мы переходим в модуль, перед нами открывается страница Summary. Здесь находится следующая информация: Uptime – Показывает как долго сервер работает без отключения и рестарта Reload - Показывает, когда последний раз была выполнена перезагрузка сервера. Перезагрузка происходит после нажатия на кнопку Apply Config, которая появляется после внесения изменений в конфигурацию через вэб-интерфейс Active SIP Channels -Показывает, как много на сервере активных SIP каналов. Не надо путать с активными звонками. Active IAX2 Channels – Показывает количество активных IAX2 каналов SIP Registry - Показывает количество SIP транков, которые зарегистрированы на сервере IAX2 Registry - Показывает количество IAX2 транков, которые зарегистрированы на сервере SIP Peers - Показывает количество зарегистрированных SIP пиров. Пир – это внутренний номер (Extension) или транк (Trunk) IAX2 Peers - Показывает количество зарегистрированных IAX2 пиров. Справа можно выбрать другой тип отчета. Registries Данный отчет показывает каждое соединение, на которое зарегистрирован сервер Asterisk. Обычно здесь находится информация о транках. Этот отчёт показывает, на что зарегистрирован сервер, но не что зарегистрировано на нем, эту информацию следует искать во вкладке Peers. Channels Здесь выводится информация о каждом активном канале на сервере. Канал – это одно двустороннее соединение между двумя устройствами. Peers Здесь выводится информация о каждом устройстве, транке, внутреннем номере, которое зарегистрировано на сервере Asterisk. SIP Info Данный отчёт суммирует предыдущие два Registry и Peers, но выводит информацию только по SIP. IAX Info Данный отчёт суммирует Registry и Peers, но выводит информацию только по IAX2. Conferences Report Данный отчёт показывает информацию о любых активных конференциях на сервере. Subscription Report Показывает список всех подсказок (hints), которые созданы на сервере. Подсказка это то, на что подписана BLF кнопка на телефоне. Voicemail Users Report Показывает информацию о голосовой почте пользователей. Например, как много новых сообщений поступило. Queues Показывает информацию по очередям. Например, сколько сейчас звонков находится в очереди. Full Report Показывает информацию из всех предыдущих вкладок в одном окне.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59