Технология open sip

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 и запустить его:

  1. Установите все необходимые зависимости
  2. Склонируйте последнюю версию репозитория OpenSIPS
  3. Скомпилируйте это
  4. Создайте файлы конфигурации
  5. Настройте сервис OpenSIPS
  6. Настройте OpenSIPS-CLI
  7. Создайте базу данных OpenSIPS
  8. Запустите сервер 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 типа скриптов из меню конфигурации:

  1. Residential Script — обеспечивает регистрацию пользователя.
  2. Trunking Script — Подходит для предоставления услуги транкинга. Он не поддерживает регистрацию.
  3. Load-Balancer Script — используется для балансировки нагрузки входящих и исходящих вызовов.

Примечание. Эти конфигурационные файлы будут иметь базовую конфигурацию. Вам всегда нужно редактировать эти файлы, чтобы они работали в соответствии с вашим сценарием.

Для этой установки мы будем использовать Trunking Script.

Теперь перейдите к настройке скрипта Configure Script

Выберите функции, которые вы хотите добавить в свой скрипт.

После выбора всех необходимых параметров сохраните сценарий и выберите Generate Trunking Script.

Это все. Теперь вернитесь и сохраните все изменения — Exit & Save All Changes.

Шаг 5: Настройка сервиса OpenSIPS

Очень важно понять файловую структуру OpenSIPS и важные каталоги, прежде чем начать работу над ней. Вот некоторые основные каталоги, над которыми мы будем работать во всей этой установке.

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 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. Вы можете настроить все параметры в файле конфигурации. Синтаксис и значение каждой переменной следующие:

  • — Имя экземпляра
  • 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 -f

Шаг 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 работает или нет по-разному.

  1. Проверяя файл opensips_fifo в каталоге /tmp.
  2. Выполняя команды MI через opensips-cli

Поздравляем! Вы успешно установили свой первый сервер OpenSIPS, и мы желаем вам всего наилучшего в вашем путешествии по VoIP.

Почему?

😪Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.

😍Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.

Подборка для вас

OPEN SIP

ТЕХНОЛОГИЯ OPEN SIP – ЭТО ТО, ЧТО НЕ ХВАТАЕТ ОБЫЧНОМУ ДОМУ ИЗ СИП!

Проживая в СИП доме лично с 2010 года, прислушиваясь как к своим клиентам, так и к другим жителям сип домов с разных форумов, мы выявили самые слабые места СИП дома. Постоянное стремление сделать СИП дом лучше и породило технологию Open Sip. Данное решение пришло не вчера, а еще в 2016 году. Но мы не торопились и не стали экспериментировать на Вас. Мы, все в том же 2016 году построили дом по технологии Open Sip своему сотруднику. Данные решения на столько превзошли наши ожидания, что мы запатентовали свою технологию и назвали ее «Open Sip»

Если вы ознакомились с нашей информацией о новой технологии — Вы обязательно нас вспомните когда будете проживать в своем доме. Если это будет Open Sip — вспоминать будете только теплыми словами. Потому что у вас будет Самый теплый дом, с очень хорошей шумоизоляцией и экологией. Если это будет дом из классических СИП панелей (у нас построитесь, или у других) — это без разницы, вы все равно вспомните и будете себя винить, что не прислушались к нам (а мы себя, потому что не смогли до вас донести). Время у вас еще есть. Все хорошо взвесьте и подумайте еще раз, перед тем, как начинать Великие дела — строительство собственного Дома. Тихого , и Теплого вам дома!

Дома построенные по технологии OPEN SIP:

д. Шарапово СНТ Метталург

п. Архангельское д. Страдань

Все дома по технологии OPEN SIP

ОСНОВНЫЕ ОТЛИЧИЯ ТЕХНОЛОГИИ OPEN SIP

1.Плохая шумоизоляция в доме из СИП, это правда и с этим согласны 95% всех жителей СИП домов.

Open Sip решает эту проблему, дополнительной отделкой наружных стен базальтовым утеплителем 50 мм. Rocwool Акустик

2.Экология в обычном СИП доме — всегда под сомнением. Класс эмиссии и наличие фенольно-формальдегидных составов в клеевом составе OSB – очень часто отпугивает людей от выбора данной технологии.

С технологией Open Sip — внутри дома больше нет OSB.

3.Нет трассы под коммуникации – в особенности по первому этажу, когда и пол и стены из СИП панелей. Трубы отопления к радиаторам скрыть просто нереально, приходится городить ненужные и некрасивые короба. Это лишние деньги, время и уменьшение квадратуры комнат.

Технология Open Sip предоставляет трассу шириной 5 см. по всему периметру наружных стен где спокойно прячутся все трубы, электрика и что немаловажно внутренние розетки.

4.Мостики холода в обычном СИП доме – при сборке дома, между 2-х СИП панелей соединительный деревянный брус, который является неким мостиком холода. Где-то что-то не допенили, плюс всевозможные микро щели, через которые возможно продувание.

Технология Open Sip — это дополнительное, перекрестное утепление базальтовым утеплителем, которое полностью исключает все мосты холода и промерзание дома!

5.Утеплитель в наружных стенах из классических СИП толщиной 150 мм. Сопротивление теплопередаче 3.85 (м²•˚С)/Вт

Утепление наружных стен по технологии Open Sip толщиной 200 мм. Сопротивление теплопередаче 4.93 (м²•˚С)/Вт

6.Просадка утеплителя в каркасном доме – часто отпугивает людей и от каркасной технологии.

По технологии Open Sip, как и в классическом СИП – утеплитель так же проклеен под прессом, не дает просадки утеплителя и является дополнением к несущей способности дома.

МЫ СОВМЕСТИЛИ САМЫЕ ЛУЧШИЕ РЕШЕНИЯ ИЗ КАРКАСНОЙ ТЕХНОЛОГИИ И ТЕХНОЛОГИИ СИП – ПОЛУЧИЛИ В РЕЗУЛЬТАТЕ ТЕХНОЛОГИЮ OPEN SIP!

И самый главный плюс – получив огромное кол-во преимуществ, стоимость технологии Open Sip не выросла в разы. Прибавили в среднем всего 50-70 т.р. на дом. НО…. Всем нашим дорогим клиентам, которые заключат договор на строительство до 31 марта 2018 года и начнут строительство не позднее 30 апреля 2018 года мы оставим цены классического СИП.

Поспешите, мы не шутим – иначе пропустите самое Выгодное предложение 2018 года, на самую лучшую комплектацию в каркасной и СИП технологии – Open Sip!

Оставьте комментарий