По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Мессенджер Telegram - удобное и популярное средство связи на территории РФ. Несмотря на ограничение доступа, многие юзеры продолжают пользоваться и обмениваться сообщениями в Телеграме. А кто-то пошел еще дальше и интегрирует различные системы с отличным и прозрачным API от «телеги». Сегодня поговорим про готовый модуль интеграции с Telegram для графической оболочки FreePBX, который будет отправлять вам уведомления о пропущенных вызовах и в случае, если пользователю оставлена голосовая почта. Кстати, этот материал и модуль в очередной раз прислал наш друг Максим (BioDamage) через портал ShareIT :) Обновление 0.1.1 - 15 августа 2018 г.: Поддержка extensions типа SIP, PJSIP, IAX2; Работа в группах вызовов (ring group); Модуль протестирован на сборках FreePBX Distro (SNG7-FPBX-64bit-1805-1.iso) и на чистом Asterisk поверх Debian с отдельным web – интерфейсом FreePBX 14. Работает :) Профит и идея Настройка кастомных контекстов и корректировка диалплана вручную бывает сложна для новичков, которые только приступают к изучению Asterisk и используют графическую оболочку FreePBX. К тому же, большой недостаток таких интеграция, это отсутствие гибкой настройки уведомлений (кому отправлять, а кому нет, в том числе персонализированные уведомления). Есть потребность – будет и решение. За основу был взят один из старых модулей под названием missedcallnotify человека по имени John Nurick. Скачать модуль можно по ссылке ниже: Скачать модуль для FreePBX Установка Установка вполне стандартная – переходим в раздел Admin → Module Admin и нажимаем Upload modules. В следующем меню выбираем Upload (From Hard Disk), выбираем архив, который скачали по кнопке выше и загружаем: После этого, в списке модулей находим модуль Missed Call Notifications Telegram, раскрываем описание и жмем Install: Готово. Переходим к настройке модуля. Настройка Cоздаем бота в Телеграме (если его нет). Воспользуйтесь нашим пошаговым материалом по созданию бота, который доступен по ссылке ниже. Выполнив все шаги, которые указаны в пункте «Создание бота в Telegram» - возвращайтесь сюда и переходите к следующему шагу. Создание бота С возвращением :) В разделе Applications → Extensions, выбираем нужный нам внутренний номер и открываем его для редактирования. Во вкладке Other делаем следующее: Уведомления - чтобы включить уведомления, выбираем Enabled, выключить - Disabled; Токен телеграм бота - токен, который вы получили, пройдя по ссылке в начале этого раздела; Telergram ID - ID группового чата, который вы получили, пройдя по ссылке в начале этого раздела, либо личный идентификатор; Тест Мы – инженеры. И, чтобы проверить модуль, мы смотрим в консоль, а не в лучезарный интерфейс Telegram :) Итак, звоним, не отвечаем на вызов: Как тебе такое, Илон Маск?
img
Своевременное резервное копирование данных – это критически важная процедура для любой компьютерной системы, ведь именно от этого зависит, как скоро вы сможете восстановить её работоспособность, в случае внештатной ситуации или восстановить важные данные. Хорошо, когда этот процесс автоматизирован и администратору или инженеру не нужно проводить его вручную. Вместо этого система сама осуществляет резервное копирование по расписанию. Как можно догадаться, речь в сегодняшней статье пойдёт о модуле, позволяющем проводить резервное копирование настроек и конфигурационных файлов IP-АТС Asterisk - Backup & Restore. Бэкапирование – это ключевой шаг процесса установки IP-АТС, есть несколько путей его автоматизации, а также имеется возможность проводить резервное копирование вручную, если это необходимо. Рассмотрим возможности данного модуля и базовые параметры. Все примеры в данной статье будем приводить на FreePBX 13. Итак, для того чтобы попасть в модуль Backup & Restore, с главной страницы, необходимо перейти по следующему пути Admin - > Backup & Restore. Перед вами откроется страница с текущими созданными бэкапами, а также бэкапами системы по умолчанию В нашем случае, никаких бэкапов создано не было, поэтому меню отображает только бэкап по умолчанию. Если нажать на кнопку справа на скриншоте выше (выделена красным) , то перед вами откроются секции данного меню - Backups, Restore, Servers и Templates. Секция Backups открывается сразу и показана на рисунке выше. В данной секции вы можете полностью определить работы по резервному копированию данных, их количество, частоту и объем информации, который должен быть скопирован. Restore Секция Restore позволяет указать место хранения файлов резервных копий и проводить восстановление системы. Можно указать как путь к файлу резервной копии на локальном компьютере, нажав кнопку Browse напротив опции Upload File или же, если файл хранится в другом месте, указать путь к FTP, SSH или локальному серверу, переместившись на вкладку Browse Servers В данной секции определяются серверы IP-АТС или таблицы баз данных, конфигурации которых должны быть подвергнуты процедуре резервного копирования. С помощью кнопки Add Server, можно добавить новый сервер на котором будет храниться бэкап Templates Данная секция предназначена для создания групп файлов, директорий или баз данных, которые необходимо включить в будущий бэкап. По умолчанию, уже доступны некоторые шаблоны, такие как бэкап только CDR записей, только конфигурационных файлов, полный бэкап системы и другие. Вы можете создавать свои шаблоны при помощи кнопки New Template, необходимо будет только определить тип нового шаблона и заполнить соответствующие параметры. Для того чтобы сохранить новый шаблон, необходимо нажать Save. При создании нового бэкапа можно будет включать в него данные шаблоны, это сильно упростит процедуру резервного копирования, поскольку не нужно будет определять параметры каждого бэкапа, все они уже будут в шаблонах. Настройка бэкапа Итак, переходим к настройке. Как показано на первом скриншоте, нажмите на кнопку Add Backup: Пробежимся по настройкам: Backup Name - дайте понятное имя процессу бэкапирования, что его можно было идентифицировать среди прочих процессов. Description - описание бэкапа. Например, ежедневный, или еженедельный. Или бэкап CDR, или бэкап конфигурации. Status Email - адрес электронной почты, на который необходимо отправлять информацию о выполнении данного процесса резервного копирования. On Failure Only - отправлять письма только в случае, если процесс бэкапа завершился неудачно. Далее, модуль предлагает нам выбрать сегменты нашей АТС, которые мы хотим копировать. В данном поле действует принцип drag and drop. Это означает, что вам достаточно просто мышкой перенести необходимые объекты справа, в поле Items. Если у вас небольшая компания, до 20 или 30 человек, рекомендуем делать Full Backup, который регламентирует полное резервное копирование IP – АТС Asterisk. Hooks Данный раздел позволяет подключать собственные скрипты в процесс выполнения бэкапа. Например, это может скрипт, который будет делать отметку о бэкапе в базе данных, или будет формировать особое письмо, или будет вносить данные в систему учета. Данный раздел позволяет определить, в какой момент резервного копирования или восстановления из копии подключать данные скрипты: Pre-Backup Hook - в этом поле можно указать путь к скрипту, который необходимо запускать перед проведением резервного копирования. Post-Backup Hook - путь к скрипту, который необходимо выполнить после процесса бэкапа Pre-Restore Hook скрипт запускаемый перед началом процесса восстановления сервера из бэкапа. Post-Restore Hook - запуск скрипта после проведения восстановления. Backup Server - сервер, на котором необходимо произвести процесс бэкапирования Это может быть как сервер с вашей АТС (This server), либо это может быть любой другой сервер, который доступен по протоколу SSH. Данные сервера можно настроить в разделе Servers Важно, чтобы исполняемые скрипты имели достаточно прав доступа. Так же, не забудьте сделать пользователем этих файлов юзера asterisk Storage Location В данном меню производится настройках хранилища для файлов резервного копирования. Вы можете настроить различные FTP, SSH, Email, MySQL и даже Amazon сервера для хранения там различных экземпляров копий (бэкапов). Чтобы выбрать сервер, перенесите его из правой части (Available Servers) в поле слева, которое называется Storage Servers Расписание В данной секции необходимо определить, с какой периодичностью мы желаем проводить бэкапы. Доступны следующие опции: Never - не запускать данный скрипт. Hourly - запускать ежечасно. Скрипт запускается с самого начала нового часа. Как пример, в 13:00:01. Daily скрипт запускается ежедневно в полночь. Weekly - запуск скрипта происходит еженедельно в воскресение в полночь. Monthly - ежемесячно каждое первое число в полночь. Annually - ежегодно каждое первое января в полночь. Reboot - проводить бэкап при команду перезагрузки. Custom - собственное расписание бэкапов, позволяет определить конкретное время проведения бэкапа. Настройка касается минут, часов, дней недели, месяцев или дней месяца Удаление старых файлов В данном разделе вы можете указать количество копий, которое необходимо хранить, а также, когда удалять старые файлы резервного копирования: Delete After - укажите возраст файла, который необходимо будет удалить. Например, можно удалять файлы после 1 месяца хранения. Delete After Runs -данное поле определяет количество копий, которое будет хранить сервер. Например, если вы укажите цифру 5, то после того, как сервер сделает 5 бэкапов, на 6 копирование будет удален самый старый файл. Тем самым, сервер будет поддерживать постоянное количество копий в размере 5, удаляя самый старый из них файл. Настройка восстановления (Restore) Перейдя во вкладку Restore, вам будут показаны все доступные резервные копии. В навигации между директориями, выберите необходимые файлы. Они буду иметь расширение .tgz: Выбрав необходимый файл, нажмите Go. Сразу после этого, вам будет предложено галочкой отметить какие сегменты бэкапа вы хотите восстановить (CDR, голосовую почту, конфигурацию и так далее). После выбора нажмите кнопку Restore и процесс будет запущен. Отметим, что процесс восстановления из локально файла абсолютно аналогичен. Просто необходимо нажать на копку Browse и выбрать необходимый файл. Добавление сервера В данной секции вы можете добавить новые сервер, на которые вам необходимо будет складывать резервные копии: Email - отправлять резервную копию на электронную почту в качестве вложения. FTP - отправлять бэкап – файлы на FTP сервер. Local - сохранять файлы бэкапов локально на сервере. MySQL Server - указать внешний MySQL сервер, на который Asterisk будет складывать копии базы данных. SSH Server -это может быть любая другая АТС, с которой вы можете также делать резервные копии (бэкапы). Шаблоны Шаблоны (templates) показывает готовые к работе заранее созданные в системы процессы проведения бэкапов с тем, или иным сегментом IP – АТС. Чтобы создать новый шаблон, нажмите New Template: Template Name - имя для шаблона. Description - описание шаблона, которое поможет вам проще ориентироваться среди прочих настроек. Чтобы добавить в бэкап файлы, папки или базы данных, нажмите на крестик (выделен красным на скриншоте выше). Откроется следующее меню: Добавьте необходимые вам файлы. По окончанию настроек, нажмите кнопку Save
img
Семантическое управление версиями (или семвер) – это формальное соглашение для определения номера версии новых выпусков программного обеспечения. Стандарт помогает пользователям программного обеспечения понять серьезность изменений в каждом новом дистрибутиве. Проект, использующий семантическое управление версиями, объявляет основной номер версии (major), дополнительный номер версии (minor) и номер исправления (patch) для каждого выпуска. Строка версии 1.2.3 указывает на основную версию под номером 1, дополнительную версию под номером 2 и исправление под номером 3. Номера версий такого формата широко используются как программными пакетами, так и исполняемыми файлами конечных пользователей, такими как приложения и игры. Однако не каждый проект точно следует стандарту, установленному semver.org. Спецификация была создана для решения проблем, вызванных несовместимостью методов управления версиями между программными пакетами, используемыми в качестве зависимостей. Под «пакетом» и «зависимостью» мы подразумеваем библиотеку кода, предназначенную для использования в другом программном проекте и распространяемую диспетчером пакетов, таким как npm, composer или nuget. Это именно то применение семантического управления версиями, которое мы рассматриваем в этой статье. Major, Minor и Patch Важно понимать значение трех задействованных компонентов. Вместе они намечают путь разработки проекта и соотносят влияние каждого нового выпуска на конечных пользователей. Major number (основной номер версии) – основной номер указывает на текущую версию общедоступного интерфейса пакета. Он увеличивается каждый раз, когда вы вносите изменения, которые требуют от существующих пользователей вашего пакета обновления их собственной работы. Minor number (дополнительный номер версии) – дополнительный номер указывает на текущую функциональную версию вашего программного обеспечения. Он увеличивается всякий раз, когда вы добавляете новую функцию, но не меняете интерфейс вашего пакета. Он сообщает пользователям о том, что были внесены значительные изменения, но пакет полностью совместимым с предыдущими версиями с предыдущим дополнительным номером. Patch number (номер исправления) – номер исправления увеличивается каждый раз, когда вы вносите какое-то незначительное изменение, которое не влияет на общедоступный интерфейс или общую функциональность вашего пакета. Его чаще всего используют для исправления ошибок. Потребители всегда должны иметь возможность не задумываясь установить последнюю версию исправлений. Семантическая структура версии выпуска лучше всего моделируется в виде дерева. Наверху у вас изменения общедоступного интерфейса, каждое из которых отображается на основном номере. Каждая основная версия имеет свой собственный набор дополнительных версий, в которые добавляются новые функции без нарушения совместимости с предыдущими версиями. И наконец, дополнительные версии могут время от времени отлаживаться путем исправления некоторых ошибок. Откуда начинать? Большинство проектов должны начинаться с версии 1.0.0. Вы публикуете свой первый общедоступный интерфейс и первоначальный неизмененный набор функций. И поскольку вам еще не приходилось вносить никаких исправления, то и версия исправления – 0. Теперь давайте посмотрим, что же происходит, когда вы вносите изменения в свой пакет. После вашего первоначального выпуска вы получаете отчет об ошибке от пользователя. Когда вы выпустите исправление, то правильный номер версии уже будет 1.0.1. Если бы вы затем выпустили еще одну версию с исправлением ошибок, то вы бы увеличили номер исправления до 2, т.е. номер версии уже был бы 1.0.2. Тем временем вы также работали над новой интересной функцией. Это совершенно необязательно, поэтому пользователям не нужно ничего делать для обновления. Вы выпускаете эту версию как 1.1.0. – создана новая функциональная среда, но ее еще ни разу не исправляли. К сожалению, скоро приходят отчеты об ошибках, и среди ваших пользователей начинает распространяться версия 1.1.1. Несколько месяцев спустя вы решили провести реорганизацию кода всего проекта. Некоторые функции были удалены или теперь доступны через объединенный интерфейс. Если вы выпустите эту работу, то люди, использующие текущую версию вашего пакета, должны будут внести серьезные изменения в свой проект. Пришло время опубликовать 2.0.0. в вашем репозитории пакетов. Поддержание старых веток Увеличение какого-либо номера в вашей строке версий не создает точку невозврата. После публикации 1.1.1 вы могли обнаружить ошибку, присутствующую в 1.0.2. Используя ветки в вашей системе контроля версий, вы можете произвести исправления в обеих версиях. В итоге вы получите 1.1.2 и 1.0.3. Точно также вы можете поддерживать ветку 1.х вашего проекта, несмотря на выпуск 2.0.0. Может показаться странным публиковать 1.1.2 после 2.0.1, но это вполне нормальная практика. Семантическое управление версиями не создает линейный постоянно увеличивающийся номер версии; наоборот, оно предназначено для использования в качестве части модели разработки ветвления, которое использует простоту установки исправлений, предлагаемую системами управления исходным кодом, такими как Git. Опубликованные версии должны быть неизменяемыми. После того, как вы создали версию 2.4.3, вы не можете «обновить» его, просто добавив дополнительный код в ту же строку версии. Вы должны присваивать новый номер версии каждому выпуску, чтобы пользователи всегда могли получить доступ к каждой конкретной версии вашего пакета. Обработка пакетов, находящихся в стадии разработки Как правило, вы всегда обновляете основную версию своего пакета всякий раз, когда вносятся изменения, несовместимые с предыдущими версиями. Когда вы находитесь в стадии разработки, то ваша кодовая база может дорабатываться очень быстро, что приводит к публикации множества основных версий. Вы можете этого избежать, рекламируя свой проект как 0.y.z. Значение 0 в качестве основной версии означает, что ваш пакет неустойчив. Обычные правила в отношении совместимости с предыдущими версиями тут не применяются, поэтому вы можете выпускать новые версии, увеличивая только дополнительный номер и номер исправления. Это значит, что вы можете использовать 1.0.0 для обозначения первой «завершенной» версии вашего программного обеспечения. Вы также можете добавить дополнительные «идентификаторы» в конец строки версии, используя дефис в качестве разделителя: 1.0.0-alpha.1. Вы можете использовать такой вариант для того, чтобы четко обозначить альфа- и бета-версии. Точно также вы можете включить метаданные сборки, добавив символ +: 1.1.0-alpha.1+linux_x86. Заключение Согласованное использование семантического управления версиями помогает пользователям быть уверенными в вашем проекте. Они могут четко видеть, как развивается ваша кодовая база и нужно ли им самим провести какую-то работу, чтобы идти в ногу со временем. Объявление строки семантической версии необходимо при публикации в диспетчере наиболее популярных пакетов. Тем не менее, в конечном счете, вам решать, какие номера вы устанавливаете для каждого нового выпуска. Соблюдение стандарта четко сообщает о ваших намерениях пользователям и сводит к минимуму риск непреднамеренного нарушения чужой работы.
ЛЕТНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59