По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
FreePBX является модульной платформой и Module Admin позволяет проводить различные манипуляции с модулями – включать, выключать, обновлять и так далее. Так же он служит инструментом для покупки лицензий и их обновлений, но данный модуль не обновляет сам Asterisk. Работа с модулем Для того, чтобы попасть в данный модуль нужно во вкладке Admin выбрать Module Admin Первое что следует сделать – выбрать репозитории. Доступно четыре категории: Standard, Extended, Commercial и Unsupported: Standard - репозиторий, в котором находятся стандартные модули Extended – репозиторий, в котором находятся модули, которые не являются стандартными и реже обновляются Unsupported – в данном разделе находятся авторские модули, которые не поддерживаются командой FreePBX. Commercial – в данном разделе соответственно находятся коммерческие модули, которые можно купить и которые постоянно поддерживаются и обновляются. Если нажать на кнопку Check Online, на экран будут выведены активные модули и будут отображены доступные обновления. Для удобства можно отметить галочку Show only upgradeable Примечание: активные репозитории выделены синим цветом и неактивные – голубым. На примере выше активны стандартные и коммерческие репозитории. Справа так же есть кнопки одновременного получения и обновления всех доступных для этого действия модулей: Download all – при нажатии на эту кнопку будут скачены, но не установлены последние версии всех доступных к обновлению модулей. Кнопка станет тёмно-синей при выборе Upgrade all – при нажатии на эту кнопку будут скачены и установлены последние версии всех доступных к обновлению модулей. Так же, как и кнопка Download all она не запускает процесс обновления, для запуска необходимо нажать на кнопку Process Reset – данная кнопка отменяет выбранные вами действия, причём это касается любой выбранной опции – установки, обновления, удаления и так далее Process – данная кнопка активирует выбранные действия. Можно выбрать сразу несколько действий и все они будут одновременно выполнены Нажимаем на кнопку Process. Всплывёт подтверждение выполняемых действий. Для продолжения нужно нажать Confirm. После появится окно, в котором будет в реальном времени демонстрироваться процесс обновления Похожим образом осуществляются манипуляции с теми модулями, которые нужно обновитьудалить отдельно от остальных. Нужно выбрать модуль в общем списке и выбрать действие, а затем нажать кнопку Process. Примечание: Некоторые модули имеют две ветки релизов – Stable и Beta. Можно устанавливать модуль из нужной вам ветки. Так же модуль можно выключить, без де-инсталляции – для этого нужно выбрать кнопку Disable как на скриншоте выше. Но не менее важным функционалом является возможность установки сторонних (Third-Party) модулей. Однако нужно понимать, что в случае установки вредоносного модуля, FreePBX интерфейс может стать абсолютно неработоспособным. Для установки нужно нажать на кнопку Upload Modules. Появится окно выбора метода загрузки – через сеть или с локального жёсткого диска Соответственно для загрузки с диска вам необходимо выбрать файл, а при загрузке через сеть – указать ссылку. Выбрать способ загрузки можно в выпадающем меню. После загрузки модуля вы увидите сообщение Module uploaded successfully. You need to enable the module using local module administration to make it available После этого необходимо выбрать загруженный модуль в общем списке и сделать его активным – нажать на кнопку Enable. Примечание: В случае если модуль не является официальным и у вас по умолчанию включена проверка подписей модулей – вверху страницы всё время будет гореть соответствующее предупреждение.
img
OpenSIPS - это SIP-прокси-сервер с открытым исходным кодом операторского уровня, используемый для сигнализации SIP, и может обрабатывать все типы операций SIP. Он используется многими провайдерами телекоммуникационных услуг, телефонии и операторами связи из-за его надежности и производительности. Итак, если вы, ребята, хотите обрабатывать тысячи одновременных вызовов и SIP-сессий, тогда OpenSIPS - ваш выход. Существует множество различных сценариев, в которых openSIPS может хорошо играть в вашей инфраструктуре. Некоторые из них: OpenSIPS как SIP Edge Proxy OpenSIPS в качестве среднего регистратора или главного сервера регистрации OpenSIPS как входящий и исходящий шлюз OpenSIPS как балансировщик нагрузки И многое другое Примечание: OpenSIPS обрабатывает только SIP-сигнализацию, а не медиа. Для обработки мультимедиа вы можете использовать RTPPROXY или RTPENGINE. Как установить OpenSIPS 3 из исходного кода на Debian 9 Являясь модульным, мощным и гибким SIP-сервером, OpenSIPS можно установить на все основные дистрибутивы Linux. В этом уроке мы будем использовать Debian 9 в качестве базовой операционной системы. Итак, вот шаги, которым мы должны следовать, чтобы запустить наш первый экземпляр OpenSIPS и запустить его: Установите все необходимые зависимости Склонируйте последнюю версию репозитория OpenSIPS Скомпилируйте это Создайте файлы конфигурации Настройте сервис OpenSIPS Настройте OpenSIPS-CLI Создайте базу данных OpenSIPS Запустите сервер OpenSIPS 3 Поэтому, прежде чем мы начнем устанавливать зависимости, нам нужно сначала понять, как мы будем настраивать наш экземпляр OpenSIPS. Что ж, базовому серверу OpenSIPS не нужно много библиотек или зависимостей, но мы будем использовать панель управления OpenSIPS позже вместе с поддержкой MySQL, поэтому мы установим некоторые другие зависимости, чтобы мы могли легко скомпилировать некоторые дополнительные модули OpenSIPS. Шаг 1: Установка всех зависимостей Давайте обновим все списки пакетов, которые у нас есть. apt update Теперь давайте установим все зависимости вместе с сервером MySQL (MariaDB). apt install git gcc bison flex make openssl perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl libfrontier-rpc-perl libterm-readline-gnu-perl libberkeleydb-perl mysql-server ssh libxml2 libxml2-dev libxmlrpc-core-c3-dev libpcre3 libpcre3-dev subversion libncurses5-dev git ngrep libssl-dev net-tools После того, как мы установили все эти пакеты, нам нужно установить пакеты devel для сервера MySQL. Для MariaDB: apt install libmariadbclient-dev-compat sudo Для сервера MySQL: apt install libmysqlclient-dev Теперь нам нужно установить зависимости для сервера micro httpd, который OpenSIPS будет использовать для прослушивания соединений JSON RPC. apt install libmicrohttpd-dev pkg-config libjsoncpp-dev libjson-c-dev ln -s /usr/include/jsoncpp/json/ /usr/include/json wget http://ftp.us.debian.org/debian/pool/main/j/json-c/libjson-c3_0.12.1-1.1_amd64.deb dpkg -i libjson* Все зависимости должны быть установлены сейчас, и теперь мы готовы клонировать исходный код openSIPS 3. Примечание: не забудьте установить имя пользователя и пароль root для msyql, используя - mysql_secure_installation Шаг 2: Клонирование репозитория OpenSIPS Мы будем клонировать последнюю версию репозитория OpenSIPS 3 в /usr/src cd /usr/src ; git clone https://github.com/OpenSIPS/opensips.git -b 3.0 opensips-3.0 Шаг 3: Скомпилируйте исходный код Чтобы сначала скомпилировать модули OpenSIPS или исходный код, перейдите в каталог opensips-3.0. cd /usr/src/opensips-3.0 Теперь наберите make menuconfig Откроется главное меню конфигурации OpenSIPS. Из этого меню мы можем скомпилировать OpenSIPS и сгенерировать наши конфигурационные скрипты. Поэтому, прежде чем мы скомпилируем, нам нужно включить дополнительный модуль, который нам нужен для поддержки MySQL и JSON. Теперь давайте выберем несколько дополнительных модулей, которые нам нужны. Итак, перейдите к Configure Compile Options -> Configure Excluded Module (Настройка параметров компиляции -> Настройка исключенного модуля). Мы должны выбрать 4 модуля - db_mysql, dialplan, json, httpd Примечание: если вы хотите выбрать или скомпилировать какой-либо другой модуль, обязательно установите его зависимости. Теперь вернитесь, используя клавишу со стрелкой влево и сохраните изменения. И как только мы выберем наши модули для компиляции, тогда просто выберите Compile and Install OpenSIPS Компиляция началась, и если вы правильно установили все зависимости, то ошибок быть не должно. После успешной компиляции вам будет предложено нажать любую клавишу, чтобы вернуться в главное меню. Шаг 4: Генерация скрипта конфигурации OpenSIPS. Скрипт конфигурации OpenSIPS - это мозг сервера OpenSIPS, он контролирует всю маршрутизацию, обработку SIP-трафика, регистрации и почти все операции SIP. Поэтому для нас очень важно создать его из меню конфигурации. После компиляции всех модулей, перейдите к Generate OpenSIPS Script. Мы можем сгенерировать 3 типа скриптов из меню конфигурации: Residential Script - обеспечивает регистрацию пользователя. Trunking Script - Подходит для предоставления услуги транкинга. Он не поддерживает регистрацию. Load-Balancer Script - используется для балансировки нагрузки входящих и исходящих вызовов. Примечание. Эти конфигурационные файлы будут иметь базовую конфигурацию. Вам всегда нужно редактировать эти файлы, чтобы они работали в соответствии с вашим сценарием. Для этой установки мы будем использовать Trunking Script. Теперь перейдите к настройке скрипта Configure Script Выберите функции, которые вы хотите добавить в свой скрипт. После выбора всех необходимых параметров сохраните сценарий и выберите Generate Trunking Script. Это все. Теперь вернитесь и сохраните все изменения - Exit & Save All Changes. Шаг 5: Настройка сервиса OpenSIPS Очень важно понять файловую структуру OpenSIPS и важные каталоги, прежде чем начать работу над ней. Вот некоторые основные каталоги, над которыми мы будем работать во всей этой установке. /usr/local/etc/opensips/ - Каталог файлов конфигурации OpenSIPS по умолчанию /usr/local/lib64/opensips/modules/ - Каталог модулей OpenSIPS /etc/init.d/ - Каталог файлов сервиса OpenSIPS /etc/default/opensips - Файл конфигурации службы OpenSIPS Мы можем найти файл opensips.init и opensips.default в каталоге /usr/src/opensips-3.0/packaging/debian/. Поэтому нам нужно скопировать эти файлы в каталог /etc/init.d/ и /etc/default/. cp /usr/src/opensips-3.0/packaging/debian/opensips.init /etc/init.d/opensips cp /usr/src/opensips-3.0/packaging/debian/opensips.default /etc/default/opensips chmod 755 /etc/init.d/opensips update-rc.d opensips defaults 99 mkdir -p /var/run/opensips Теперь у нас все настроено и готово запустить наш первый сервис OpenSIPS, но прежде чем мы это сделаем, нам нужно скопировать наш файл конфигурации в каталог /usr/local/etc/opensips/, который мы создали из меню конфигурации OpenSIPS. Этот файл конфигурации находится в /usr/src/opensips-3.0/etc/ ls /usr/src/opensips-3.0/etc/ Теперь мы скопируем этот конфигурационный файл транкинга в /usr/local/etc/opensips/ mv /usr/src/opensips-3.0/etc/opensips_trunking* /usr/local/etc/opensips/opensips_trunk.cfg Теперь вы можете видеть, что у нас есть opensips_trunk.cfg в каталоге /usr/local/etc/opensips, и мы будем использовать этот же файл для нашего сервера OpenSIPS, поэтому мы должны указать путь к нему в файле инициализации opensips. Примечание: мы также должны убедиться, что у нас есть правильный двоичный путь OpenSIPS в файле инициализации opensips. nano /etc/init.d/opensips Мы должны добавить путь к скрипту и демону в переменную DAEMON и CFGFILE. Шаг 6: Настройка OpenSIPS-CLI Начиная с OpenSIPS 3, мы будем использовать инструмент OpenSIPS-CLI для управления экземплярами OpenSIPS. Ранее мы использовали для работы со скриптом opensipsctl, но он был удален из OpenSIPS версии 3. Мы будем использовать это приложение для выполнения всех видов различных операций, таких как отправка команд MI, создание базы данных и многое другое. Давайте клонируем репозиторий opensips-cli в /usr/src/ cd /usr/src && git clone https://github.com/OpenSIPS/opensips-cli.git Теперь давайте установим все зависимости, которые нам нужны для этого удобного небольшого приложения. sudo apt install python3 python3-pip python3-dev gcc default-libmysqlclient-dev sudo pip3 install mysqlclient sqlalchemy sqlalchemy-utils pyOpenSSL Как только мы установим все зависимости, пришло время установить OpenSIPS-CLI. cd /usr/src/opensips-cli sudo python3 setup.py install clean После успешной установки мы сможем выполнить команду opensips-cli. Примечание. Когда opensips-cli запускается, она всегда ищет файл opensips-cli.cfg в каталоге /etc/. Если файл отсутствует, она запустится с настройками по умолчанию. Теперь мы создадим файл opensips-cli.cfg в каталоге /etc/. nano /etc/opensips-cli.cfg [opensips-1] log_level: WARNING prompt_name: opensips-cli prompt_intro: Welcome to OpenSIPS at SECUREVOIP prompt_emptyline_repeat_cmd: False history_file: ~/.opensips-cli.history history_file_size: 1000 output_type: pretty-print communication_type: fifo fifo_file: /tmp/opensips_fifo database_path: /usr/src/opensips-3.0/scripts/ database_url: mysql://root:password@localhost database_name: opensips Мы должны добавить вышеуказанный блок в файл opensips-cli.cfg. Вы можете настроить все параметры в файле конфигурации. Синтаксис и значение каждой переменной следующие: [opensips-1] - Имя экземпляра log_level - Уровень сообщений лога prompt_name - Имя оболочки prompt_intro - Приветственное сообщение оболочки history_file - Где хранить историю opensips-cli output_type - Параметры вывода, вы также можете использовать json communication_type - Тип связи - fifo, json database_path - Путь к сценариям базы данных database_url - URL вашей базы данных MySQL database_name - База данных, которая будет использоваться Теперь давайте запустим opensips-cli с нашим новым файлом конфигурации. opensips-cli -i [instance_name] -f [config file] Шаг 7: Создание базы данных OpenSIPS Наконец, пришло время создать базу данных OpenSIPS. Мы будем использовать бэкэнд MySQL, и если вы захотите использовать другой бэкэнд, такой как PostgreSQL, вам, возможно, придется установить некоторые зависимости. Сначала откройте файл opensips-cli и выполните следующие действия: Запустите OpenSIPS-CLI Выполните - database create Введите URL базы данных MySQL Теперь давайте проверим базу данных и таблицы opensips, войдя в MySQL. Примечание. Рекомендуется создать отдельного пользователя mysql для доступа к базе данных opensips. Шаг 8: Запуск сервера OpenSIPS 3 Теперь пришло время наконец запустить наш сервер OpenSIPS, но прежде чем мы это сделаем, нам нужно настроить некоторые параметры в файле opensips_trunk.cfg. nano /usr/local/etc/opensips/opensips_trunk.cfg Нам необходимо обновить URL-адрес MySQL всех модулей в скрипте, указав имя пользователя и пароль MySQL. Примечание. Если после запуска службы opensips вы получаете сообщение об ошибке отказа в доступе на стороне сервера MySQL, создайте нового пользователя MySQL только для базы данных opensips. Нам нужно убедиться, что у нас указан правильный путь к модулю в скрипте конфигурации. Обновите переменную PATH в файле /etc/init.d/opensips. PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin Как только мы это сделаем, последний шаг - установить для переменной RUN_OPENSIPS значение yes. nano /etc/default/opensips Примечание. Убедитесь, что в вашей ОС существует пользователь opensips, или вы можете добавить его с помощью - useradd -r opensips. После обновления конфигурации в файле default нам нужно выполнить systemctl daemon-reload. Итак, теперь мы готовы запустить наш сервис opensips. Во-первых, давайте удостоверимся, что в нашем конфигурационном файле OpenSIPS нет неправильной конфигурации. opensips -C -f /usr/local/etc/opensips/opensips_trunk.cfg Теперь давайте запустим сервис OpenSIPS systemctl start opensips systemctl enable opensips Если вы выполнили все шаги и установили все зависимости, вы увидите, что сервер opensips работает и прослушивает порт 5060. Примечание. По умолчанию OpenSIPS использует файл /var/log/syslog для ведения журнала. Поэтому, если вы получаете какие-либо ошибки при запуске службы opensips, обратитесь к этому файлу логов для устранения неполадок. Мы можем убедиться, что сервер OpenSIPS работает или нет по-разному. Проверяя файл opensips_fifo в каталоге /tmp. Выполняя команды MI через opensips-cli Поздравляем! Вы успешно установили свой первый сервер OpenSIPS, и мы желаем вам всего наилучшего в вашем путешествии по VoIP.
img
Все мы любим компьютеры. Они могут делать столько удивительных вещей. За пару десятилетий компьютеры произвели самую настоящую революцию почти во всех аспектах человеческой жизни. Они могут справляться с задачами различной степени сложности, просто переворачивая нули и единицы. Просто удивительно, как такое простое действие может привести к такому уровню сложности. Но я уверен, что вы все знаете, что такой сложности нельзя добиться (практически нельзя) простым случайным переворачиванием чисел. Но за этим стоит определенные логические рассуждения. Есть правила, которые определяют, как это все должно происходить. В данной статье мы обсудим эти правила и увидим, как они управляют «мышлением» компьютера. Что такое булева алгебра? Это правила, о которых я упоминал выше, описываются некой областью математики, называемой булевой алгеброй. В своей книге 1854 года британский математик Джордж Буль предложил использовать систематический набор правил для работы со значениями истинности. Эти правила положили математическую основу для работы с логическими высказываниями. А эти основы привели к развитию булевой алгебры. Для того, чтобы понять, что из себя представляет булева алгебра, сначала мы должны понять сходства и различия между ней и другими формами алгебры. Алгебра в целом занимается изучением математических символов и операций, которые можно выполнять над этими символами. Эти символы сами по себе ничего не значат. Они обозначают некую величину. Именно эти величины и придают ценность этим символам, и именно с этими величинами и выполняются операции. Булева алгебра также имеет дело с символами и правилами, позволяющими выполнять различные операции над этими символами. Разница заключается в том, что эти символы что-то значат. В случае обычной алгебры символы обозначают действительные числа. А в булевой алгебре они обозначают значения истинности. На рисунке ниже представлен весь набор действительных чисел. Набор действительных чисел включает натуральные числа (1, 2, 3, 4, …), положительные целые числа (все натуральные числа и 0), целые числа (…, -2, -1, 0, 1, 2, 3, …) и т.д. Обычная алгебра имеет дело со всем этим набором чисел. Для сравнения, значения истинности состоят из набора, который включает в себя только два значения: True и False. Здесь я хотел бы отметить, что мы можем использовать любые другие символы для обозначения этих значений. Например, в информатике, как правило, эти значения обозначают через 0 и 1 (0 используется в качестве False, 1 – в качестве True). Вы также можете сделать это более оригинальным способом, обозначая значения истинности какими-то другими символами, например, кошки и собаки или бананы и апельсины. Суть здесь в том, что смысл этих значений останется неизменным, как бы вы их не обозначили. Но убедитесь, что вы не меняете символы в процессе выполнения операций. Теперь вопрос в том, что если (True и False), (0 и 1) – это просто обозначения, то что же они пытаются обозначить? Смысл, лежащий в основе значений истинности, исходит из области логики, где значения истинности используются для того, чтобы определить, является ли высказывание «Истинным» (True) или «Ложным» (False). Здесь значения истинности обозначают соответствие высказывания истине, то есть показывают, является ли высказывание истинным или ложным. Высказывание – это просто некоторое утверждение, что-то вроде «Все кошки милые». Если приведенное выше высказывание верно, то мы присваиваем ему значение истинности «Истина» (True) или «1», в противном случае мы присваиваем ему значение истинности «Ложь» (False) или «0». В цифровой электронике значения истинности используются для обозначения состояний электронных схем «включено» и «выключено». Подробнее об этом мы поговорим позже в этой же статье. Логические операции и таблицы истинности Как и в обычной алгебре, в булевой алгебре также можно применять операции к значениям для получения некоторых результатов. Однако эти операции не похожи на операции в обычной алгебре, поскольку, как мы уже упоминали ранее, булева алгебра работает со значениями истинности, а не с действительными числами. В булевой алгебре есть три основные операции. OR: OR или "ИЛИ", также известная как дизъюнкция. Эта операция выполняется над двумя логическими переменными. Результатом операции OR будет 0, если оба операнда равны 0, иначе будет 1. Для того, чтобы более наглядно продемонстрировать принцип работы этой операции, визуализируем ее с помощью таблицы истинности. Таблицы истинности дают нам хорошее представление о том, как работают логические операции. Также это удобный инструмент для выполнения логических операций. Операция OR: Переменная 1 Переменная 2 Результат 0 0 0 0 1 1 1 0 1 1 1 1 AND: AND или "И", также известная как конъюнкция. Эта операция выполняется над двумя логическими переменными. Результатом операции AND будет 1, если оба операнда равны 1, иначе будет 0. Таблица истинности выглядит следующим образом. Операция AND: Переменная 1 Переменная 2 Результат 0 0 0 0 1 0 1 0 0 1 1 1 NOT: NOT или "НЕ", также известное как отрицание. Эта операция выполняется только над одной переменной. Если значение переменной равно 1, то результатом этой операции будет 0, и наоборот, если значение переменной равно 0, то результатом операции будет 1. Операция NOT: Переменная 1 Результат 0 1 1 0 Булева алгебра и цифровые схемы Булева алгебра после своего появления очень долго оставалась одним из тех понятий в математике, которые не имели какого-то значительного практического применения. В 1930-х годах Клод Шеннон, американский математик, обнаружил, что булеву алгебру можно использовать в схемах, где двоичные переменные могут обозначать сигналы «низкого» и «высокого» напряжения или состояния «включено» и «выключено». Эта простая идея создания схем с помощью булевой алгебры привела к развитию цифровой электроники, которая внесла большой вклад в разработку схем для компьютеров. Цифровые схемы реализуют булеву алгебру при помощи логических элементов – схем, обозначающих логическую операцию. Например, элемент OR будет обозначать операцию OR. То же самое относится и к элементам AND и NOT. Наряду с основными логическими элементами существуют и логические элементы, которые можно создать путем комбинирования основных логических элементов. NAND: элемент NAND, или "И-НЕ", образован комбинацией элементов NOT и AND. Элемент NAND дает на выходе 0, если на обоих входах 1, в противном случае – 1. Элемент NAND обладает свойством функциональной полноты. Это означает, что любая логическая функция может быть реализована только с помощью элементов NAND. Элемент NAND: Вход 1 Вход 2 Результат 0 0 1 0 1 1 1 0 1 1 1 0 NOR: элемент NOR, или "ИЛИ-НЕ", образован комбинацией элементов NOT и OR. Элемент NOR дает на выходе 1, если на обоих входах 0, в противном случае – 0. Элемент NOR, как и элемент NAND, обладает свойством функциональной полноты. Это означает, что любая логическая функция может быть реализована только с помощью элементов NOR. Элемент NOR: Вход 1 Вход 2 Результат 0 0 1 0 1 0 1 0 0 1 1 0 Большинство цифровых схем построены с использованием элементов NAND и NOR из-за их функциональной полноты, а также из-за простоты изготовления. Помимо элементов, рассмотренных выше, существуют также особые элементы, которые служат для определенных целей. Вот они: XOR: элемент XOR, или "исключающее ИЛИ", - это особый тип логических элементов, который дает на выходе 0, если оба входа равны 0 или 1, в противном случае – 1. Элемент XOR: Вход 1 Вход 2 Результат 0 0 0 0 1 1 1 0 1 1 1 0 XNOR: элемент XNOR, или "исключающее ИЛИ-НЕ", - это особый тип логических элементов, который дает на выходе 1, когда оба входа равны 0 или 1, в противном случае – 0. Элемент XNOR: Вход 1 Вход 2 Результат 0 0 1 0 1 0 1 0 0 1 1 1 Заключение Итак, на этом мы можем закончить обсуждение булевой алгебры. Надеюсь, что к текущему моменту у вас сложилась неплохая картина того, что же такое булева алгебра. Это, конечно, далеко не все, что вам следует знать о булевой алгебре. В ней есть множество понятий и деталей, которые мы не обсудили в данной статье.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59