По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Работаете с IP – АТС Asterisk? Тогда этот материал для вас. Говорить будем про отправку уведомлений в VK (Вконтакте) при входящем звонке. От слов к делу. Получаем access_token Первым делом, перейдите Developers раздел VK. В хедере (верхнем меню навигации) нажмите Мои приложения после чего нажмите Создать приложение: Название - дайте имя для вашего аппликейшна. Например, Asterisk; Платформа - выбираем Standalone-приложение; Переходим в раздел настроек созданного приложения. Копируем ID приложения, как показано на рисунке ниже: Отлично. Теперь скопируйте ссылку ниже: https://oauth.vk.com/authorize?client_id=1234567&scope= offline,messages&redirect_uri=https://oauth.vk.com/blank.html&display=page&v=5.37&response_type=token Предварительно замените client_id на ваше значение, полученное ранее (ID приложения). VK API спросит разрешения на доступ к некоторым данным: Если все ОК, то VK вернет нам токен: Если вы столкнулись с ошибкой вида «{"error":"invalid_request","error_description":"Security Error"}», то перелогиньтесь в вашей учетной записи в VK и повторите попытку Сохраняем значение и переходим к настройке скрипта на стороне Asterisk. Адаптация на Asterisk Реализацию скрипта сделаем на .php. Создайте файл asteriskvk.php и наполните его следующим содержимым: #!/usr/bin/php -q <?php require('phpagi.php'); $agi = new AGI(); $message = "Сейчас поступит звонок с номера: "; $message .= $agi->request['agi_callerid']; $id = "ID получателя сообщения"; $token = "Токен"; function send($id , $message, $token) { $url = 'https://api.vk.com/method/messages.send'; $params = array( 'user_id' => $id, 'message' => $message, 'access_token' => $token, 'v' => '5.37', ); $result = file_get_contents($url, false, stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => http_build_query($params) ) ))); } send($id, $message, $token); Скачать скрипт В скрипте вам необходимо поменять следующие переменные: $id - идентификатор пользователя, которому будет отправлено сообщение. Помимо user_id, это может быть ID группового чата; $token - API - токен, который вы получили ранее; Сохраняйте файл и загрузите в директорию /var/lib/asterisk/agi-bin/ после чего дайте следующие команды в консоли сервера: chmod 755 /var/lib/asterisk/agi-bin/asteriskvk.php chown asterisk:asterisk /var/lib/asterisk/agi-bin/asteriskvk.php dos2unix /var/lib/asterisk/agi-bin/asteriskvk.php Лезем в диалплан и на входящем маршруте адаптируем простенькую конструкцию: exten => _.,n,AGI(asteriskvk.php) Звоним и проверяем:
img
В данной статье будет рассмотрена настройка и подключение телефонного аппарата к АТС OpenScape Voice на примере телефонных аппаратов семейства Siemens OpenStage, работающих по протоколу SIP. Для подключения нового абонента к системе требуются: Префикс номера (Office Code) - префикс телефонного номера в системе, по которому осуществляется маршрутизация вызовов; Полный внутренний номер (Home Directory Number) - состоит из префикса номера и внутреннего номера; Внутренний номерной план (Private Numbering Plan) - определяет правила маршрутизации для группы абонентов; Настойка параметров абонента (Subscriber); Для конфигурации используется система управления - Common Management Portal. Она представлена в виде веб-портала. Создание префикса номера Для этого необходимо перейти в раздел Configuration → OpenScape Voice → Global Translation and Routing → Directory Numbers → Office Codes: Номер телефона состоит из короткого внутреннего номера (Extension) и префикса - локального кода офиса (Local Office Code). Нажимаем на кнопку Add… и поле Local Office Code указываем префикс, а ниже указываем диапазон внутренних номеров в полях Directory Number Start и Directory Number End. После нажимаем Save. Создание внутреннего номера Переходим в раздел Configuration → OpenScape Voice → Global Translation and Routing → Directory Numbers → Home Directory Numbers: Нажимаем Add… и в поле Office Code указываем созданный префикс, а в полях Directory Number Start и Directory Number End указываем начальный и конченый диапазон номеров. Если необходимо добавить только один номер, то его нужно указать в поле Directory Number Start, а поле Directory Number End оставить пустым. Нажимаем Save, и номер появляется в списке. Создание внутреннего номерного плана Для этого в разделе Configuration → OpenScape Voice → Business Group → Private Numbering Plan List нажимаем на Add… и вводим название номерного плана. После этого в списке номерных планов можно нажать Set as Default для назначения планом по умолчанию. Настойка параметров абонента В разделе Configuration → OpenScape Voice → Business Group → Members → Subscribers нажимаем Add… и в открывшемся окне во вкладке General в поле Directory Number вводим полный номер абонента. Для корпоративной сети тип номера указываем Private. Переходим на вкладку Displays и в поле Display Name вводе имя абонента, которое будет отображаться при звонках (для того чтобы отображалось имя на русском языке его нужно ввести в поле Unicode Display Name). Далее во вкладке Connection в строке Type выставляем Dynamic, а в строке Transport Protocol - TCP и затем нажимаем на Save. После первичной настройки для добавления новых абонентов используется только пункты создания внутреннего номера и настройки параметров, в которых указываются уже существующие префиксы и номерные планы. Настройка параметров на телефоне Перейдем к настройке самого телефонного аппарата. Телефон можно настроить либо через веб-интерфейс, набрав в адресной строке https://[ip адрес телефона], либо через меню самого аппарата. Прежде всего необходимо проверить доступность телефона до OpenScape Voice. Это может сделать при помощи утилиты Ping, которая находится в меню Administrator → Diagnostics → Miscellaneous → IP tests. В этом же разделе можно произвести трассировку до необходимого адреса. Сетевые параметры можно изменить в разделе Network. После проверки доступности необходимо перейти в раздел System → System Identity и в строке Terminal Number ввести полный номер абонента вместе с префиксом. В Display Identity можно указать номер, который будет высвечиваться на экране. После этого нажать Submit. В соседнем разделе SIP interface нужно выбрать транспортный протокол, который мы ранее задавали в параметрах абонента (а данном случае TCP). Далее в разделе Registration необходимо указать адреса интерфейса SIP системы OpenScape, в полях SIP server address и SIP registrar address. В поле server type выбираем OS Voice и нажимаем Submit. После проведенных манипуляций на экране телефона высветится его номер. Проверить регистрацию телефона можно через CMP в меню Configuration → OpenScape Voice → Business Group → Subscriber нажав на кнопку More и выпадающем меню выбрав пункт Registration Status. Далее в строке поиска выбрать критерий, ввести данные и нажать на Search. В результате будет показан статус регистрации телефона. Будет выведена информация о номере абонента, типе регистрации, статусе регистрации, IP адресе терминала и полном SIP адресе терминала.
img
В данной статье мы рассмотрим процессы CICD автоматизации. Разберем роль такого продукта, как Jenkins и его аналогов. Программное обеспечение Jenkins написано на языке программирования Java, по отзывам ИТ сообщества, данный продукт написан очень хорошо. Но самое главное данное программное обеспечение полностью бесплатное. Многие энтузиасты в мире для данного продукта пишут плагины, которые расширяют функционал Jenkins. Рассмотрим 2 ключевых понятия CICD Автоматизации. CI – Continuous Integration. Это DevOps модель, в которой разработчики делают commit кода в репозиторий (обычно используется github или gitlab, для хранения кода) и автоматически запускается build или компиляция этого кода, после этого запускаются автоматические тесты кода: Unit Test, Integration Test, Functionality Test. CD – Continuous Delivery and Deployment. Это DevOps модель, в которой разработчики делают commit кода в репозиторий и автоматически запускается build или компиляция этого кода, после этого запускаются автоматические тесты кода и готовый Artifact (скомпилированный код, например если это Java, то артефактом является var, если это Android приложение, то apk файл) делает деплой в Staging и Production, т.е происходит установка кода в развернутую вашу среду в необходимом контуре. Рассмотрим процесс на примере. Процесс CICD автоматизации Первым шагом в процессе является Commit to Source Control (github, gitlab или bitbucket), система определяет наличие нового кода, срабатывает триггер и автоматически запускается следующий этап BuildCompile - компиляция кода. Система скачивает новый код, например, если код попал в master branch (основную ветку). После получения ответа от сборки, что все прошло успешно, запускается следующий этап тестов. Все тесты пишут все те же программисты, для того, чтобы проверить на сколько корректно отработал код. Весь этот процесс называется Continuous Integration. Это классическая схема содержит 3 этапа, иногда включаются дополнительные шаги, но они не принципиальны. В результате данного процесса мы получаем скомпилированный и протестированный код. Давайте рассмотрим последующие шаги. Следующий шаг мы можем сделать deployment кода. По сути это тот же процесс копирования файлов кода на сервера. Процесс деплоя можно делать в разные места, можно делать в AWS или Azure, можно делать в свое частное облако, развернутое на VMware. Весь процесс с добавочными шагами называется Continuous Delivery and Deployment. Получается следующее: за Source Control – отвечает git. За шаг build и compile будет отвечать Jenkins. Следовательно, Jenkins запустится, когда кто-нибудь сделает комит в систему контроля версий, в основную ветку или не основную, смотря как настроено. Следующим шагом Jenkins выполнит все необходимые тесты, которые подготовили программисты. Следующий шаг Deploy так же запустит Jenkins и скопирует код на необходимые сервера, с помощью скрипта или scp если это Linux сервер. Существуют вариации с использованием Puppet или Ansible если мы делаем Deploy артефакта или конфигурации в целом. Существуют альтернативы Jenkins, например, Bamboo, Circleci, Gitlab CICD, TeamCity. Установка Jenkins Для развертывания Jenkins нам понадобится виртуальная машина на Ubuntu версии 18 или выше. Идем на официальный сайт Jenkins,в разделе Download мы можем увидеть 2 версии. На момент написании статьи актуальная версия Jenkins 2.319.2LTS и во второй колонке мы можем увидеть недельные версии Jenkins 2.333 Как видите дистрибутивы есть практически под все операционные системы. Мы будем использовать стабильную версию под UbuntuDebian. Ознакомимся с требованиями к установке продукта Jenkins. Для инсталляции потребуется минимум 256 МБ RAM, места 1 ГБ, а также на сайте написаны рекомендованные требования, с которыми будет достаточно комфортно работать с продуктом. Так как Jenkins написан на Java, то для запуска и работы потребуется непосредственно установленная на сервере Java. Для начала проверим версию java на сервере. java –version Если сервер свежий или Java не установлена, то операционная система сообщит, что такая команда не найдена и предложить установить Java. Java устанавливается достаточно просто: sudo apt update – oбновляем репозиторий sudo apt search openjdk – ищем необходимый пакет sudo apt install openjdk-11-jdk – запускаем установку java в процессе система попросит подтвердить. Чтобы предупреждение не выскочило мы можем запустить установку с ключем –y По окончанию установки мы опять проверяем версию. Система покажет версию и билд Java. Теперь наш сервер готов к началу установки Jenkins. Добавляем ключ и репозиторий в операционную систему: curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null sudo apt-get update – обновляем репозиторий sudo apt-get install Jenkins – инсталлируем непосредственно сам Jenkins Теперь мы можем сделать пост настроечные мероприятия непосредственно в Jenkins. Открываем браузер и переходим на веб интерфейс http://ipaddr:8080, где вместо ipaddr – подставляем IP адрес сервера. В ответ получаем вот такое сообщение - Unlock Jenkins Система просит ввести дополнительный ключ, который был сгенерирован при установке сервера. Найти его достаточно просто достаточно ввести в консоли сервера sudo cat /var/lib/jenkins/secrets/initialAdminPassword Копируем и вставляем в веб форму. После прохождения этой несложной системы безопасности мы можем начать базовую настройку. Система предлагает выбрать стандартную установку или кастомизированную с выбором плагинов (расширений для различного функционала). Если мы выбираем стандартную установку, установятся только те плагины, которые сами разработчики протестировали и выбрали. Если мы выберем установку с выбором, соответственно система даст возможность установить не только стандартные, но и другие плагины. Выбираем стандартную установку и начинается процесс настройки самого Jenkins. Мы можем видать, что ставится git плагин, LDAP для работы с Active Directory, ssh для взаимодействия по протоколу ssh, расширение E-mail для отправки уведомлений и.т.д После непродолжительного ожидания, система предлагает создать суперпользователя с правами администратора в системе. Заполнение не сложное. Если бы мы выбрали другой вариант установки, то система нам предложила бы выбрать самостоятельно нужные плагины. Примерно вот в такой форме. Форма от версии к версии может отличатся. По окончанию заполнения формы, попадаем на экран где нам предлагают проверить URL, т.к эти данные будет Jenkins использовать, как переменные среды. В итоге мы попадаем на главный экран Jenkins. Данный экран – это основной рабочий стол. С помощью плагинов его можно кастомизировать. Так же можно в джобы добавить много разных параметров.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59