Sip server linux free

ТОП 5: SIP — Клиентов

Содержание

Автор — Андрю Мин (Andrew Min)

Gizmo5

Gizmo5 — одно из старейших SIP-приложений. Разработанный компанией Майкла Робертсона (Michael Robertson) SIPphone и ранее известный как Gizmo Project, Gizmo5 превратился из SIP-клиента в ведущий SIP-провайдер и конкурента противопригарного сервиса Skype. Он поддерживает передачу файлов, голосовую почту и конференции. За скромную плату вы также можете получить телефонный номер и кредит на исходящие звонки (аналогично Skype).

Поскольку Gizmo проприетарен, его нет в репозиториях Ubuntu, но вы можете установить его при помощи пакета libstdc++6, ссылку на его скачивание можно найти на странице: http://url.fullcirclemagazine.org/f6db14.

Ekiga

Ekiga, созданный Дамьеном Сандрасом (Damien Sandras), — это SIP/NetMeeting-клиент, установленный в Ubuntu по умолчанию. Изначально известный как GnomeMeeting, он включает в себя ряд возможностей для работы в локальной сети, таких как поддержка LDAP , Bonjour/ZeroConf. Он также поддерживает стандартные текстовые, голосовые и видео SIP-клиенты, сообщения о статусе, адресные книги и многое другое.

Ekiga установлен в Ubuntu по умолчанию. Чтобы установить его на другие операционные системы, используйте пакет «ekiga».

SIP Communicator

SIP Communicator получил (сомнительную) награду как единственное Java-приложение в этом обзоре. Несмотря на это, он отлично работает в среде Gnome и имеет не только стандартные возможности SIP-клиентов, но также поддерживает Jabber, AIM , Yahoo, MSN и, в тестовом режиме, Facebook. Он также имеет невероятные возможности настройки, в том числе кодирования, расширенные оповещения и огромное число плагинов.

Чтобы установить SIP Communicator, скачайте deb-пакет, находящийся на странице http://url.fullcirclemagazine.org/70453d.

QuteCom

Для установки QuteCom используйте сторонний репозиторий Launchpad перейдя по ссылке http://url.fullcirclemagazine.org/1885a6.

Twinkle

Если вы один из тех пользователей Kubuntu, кто ищет альтернативу QuteCom, попробуйте Twinkle (я пользуюсь именно им). Его автор Мишель де Боэр (Michel de Boer) включил в программу множество возможностей, включая интеграцию с KAddressBook, расширенную обработку звонков, настраиваемые уведомления, шифрование, передачу файлов и даже интерфейс командной строки. Также частично поддерживается оповещение о присутствии и простая адресная книга. К тому же Twinkle отличный VoIP-клиент, основанный на Qt.

Для установки Twinkle используйте пакет `twinkle` из репозитория `universe`.

Источник

Виртуальная АТС. Часть 1: Простая установка Asterisk на Ubuntu 20.04

Из-за перехода на удаленку в небольших компаниях часто возникают проблемы с телефонной связью. Обычно такие фирмы сидят в арендованных офисах, а услуги телефонии им оказывает бизнес-центр. О подключении сотрудников из дому придется позаботиться самостоятельно: самый недорогой способ это сделать — развернуть бесплатный сервер VoIP с открытым исходным кодом Asterisk на виртуальной машине. В статье для примера мы использовали Ubuntu 20.04, но этот рецепт подойдет и для других версий популярного дистрибутива — 18.04 и 18.10, а также (в теории, мы не проверяли) для актуальных версий Debian.

Asterisk + Ubuntu + VDS = IP-PBX

Существуют и другие серверы VoIP, при этом некоторые коммерческие продукты ограниченное время можно использовать бесплатно. Считается, что они гораздо проще в настройке, но требуют для работы Windows или установки с собственного дистрибутива Linux. Это сразу отсекает большинство недорогих VDS, а собственное железо с каналом передачи данных или аренда выделенного аппаратного сервера обходятся дороже. Бесплатный Asterisk разворачивается на любой виртуальной машине, к тому же внедрить его не так сложно. Для этого не потребуется даже сборка из исходных текстов. С помощью Asterisk нетрудно наладить телефонную связь между IP-телефонами (аппаратными и программными), а если подключиться к внешнему провайдеру VoIP, то за небольшую сумму денег вы получите полноценную IP АТС (IP-PBX). Если потребность в ней исчезнет, отказаться можно в любой момент — аренда выгоднее вложений в железо и софт.

Установка Asterisk

Для тестов мы взяли недорогую виртуальную машину, но боевая конфигурация зависит от потребностей заказчика. Здесь проявляется главное преимущество VDS: ресурсов можно заказать по минимуму, а потом добавить, если возникнет такая потребность. Обычно для полноценной работы АТС нужно не меньше 2 ГБ оперативной памяти, но если их будет много, отказаться от лишних ресурсов нетрудно.

Инсталляция сервера VoIP на Ubuntu 20.04 — самая простая часть квеста. Необходимый пакеты есть в официальном репозитории дистрибутива и добавляются в систему парой команд. В Ubuntu мы используем механизм повышения привилегий sudo, а в Debian он скорее всего не понадобится, поскольку там практикуются интерактивные сеансы с правами root:

Читайте также:  Check build version windows

Запуск и остановка службы Asterisk производятся через systemd, а посмотреть ее статус после инсталляции можно с помощью команды systemctl :

Если все прошло удачно, результат будет примерно таким:

Для старта/остановки/перезапуска (например, после изменения конфигурационных файлов) службы в ручном режиме используются следующие команды:

Пока все стандартно, но самая увлекательная часть нашего приключения впереди. Сервер VoIP нужно настроить.

Настройка Asterisk

Файлы конфигурации находятся в каталоге /etc/asterisk, причем их там огромное количество.

Продукт настраивается очень гибко и обладает массой возможностей, но для решения простых задач большинство из них нам не понадобится. В этой статье мы ограничимся правкой двух конфигурационных файлов: /etc/asterisk/sip.conf и /etc/asterisk/extensions.conf. Предварительно стоит сделать их резервные копии:

Переходим к редактированию новых конфигурационных файла (самые любопытные могут изучить резервные копии дистрибутивных, там много интересного):

В файл нужно добавить минимум двух пользователей (внутренних абонентов) с номерами 1001 и 1002, а также задать для них пароли (параметр secret). На вашем сервере внутренние номера и пароли будут другими:

[general]
context=default
allowoverlap=no
udpbindaddr=0.0.0.0
tcpenable=no
tcpbindaddr=0.0.0.0
transport=udp
srvlookup=yes

[1001]
type=friend
host=dynamic
secret=1234

[1002]
type=friend
host=dynamic
secret=5678

Аналогично делаем новый extensions.conf:

Его содержание будет следующим:

[general]
static=yes
writeprotect=no
priorityjumping=no
autofallthrough=yes
clearglobalvars=no

[default]
exten => 1001,1,Dial(SIP/1001,10)
exten => 1002,1,Dial(SIP/1002,10)

Меняем владельца и права доступа к файлам, поскольку там лежат, в частности, пароли пользователей нашей АТС

Теперь нам остается только перезапустить службу и проверить ее работоспособность:

На этом настройка IP АТС с возможностью телефонной связи между внутренними абонентами завершена. Перейдем к проверке ее работоспособности.

Подключение абонентов

Чаще всего для подключения к виртуальной АТС используют программные телефоны для настольных и мобильных операционных систем. Их существует великое множество, для тестов мы взяли бесплатный Linphone для iOS и Android. При первом запуске нужно будет выбрать опцию «ИСПОЛЬЗОВАТЬ SIP ПОЛЬЗОВАТЕЛЯ», а затем указать в настройках IP нашего сервера, логин и пароль. Учетную запись сервиса Linphone создавать не надо, у нас есть собственный.

После подключения к нашей АТС клиенты готовы общаться между собой. На рабочей станции с Linux и графическим окружением можно использовать тот же самый Linphone, доступный в официальном репозитории дистрибутива:

Настраивается он примерно так же. Теперь у нас есть виртуальная АТС, обеспечивающая связь между внутренними абонентами. Не бог весть какое достижение, но и трудозатраты на ее внедрение тоже невелики. В следующей статье мы научимся подключаться к SIP-провайдеру, звонить через него в мобильные и кабельные телефонные сети, принимать входящие внешние звонки, а также делать переадресацию и другие интересные штуки.

Источник

Простой SIP сервер

Посоветуйте маленький простой сервер SIP для личного пользования. Хочу поставить его на свою виртуалку и делать видеозвонки между членами семьи.

Оно хотя бы работает, или как это принято у гну «а у нас тоже есть! и двже свободное!11», но не работает и не жизнеспособно?

Проще астериска в плане документации и всяких примеров сложно что-то найти, а работал он у меня и на роутере в опенврт отлично, только модули лишние вырубить.

Пользовался им? У меня относительно слабая виртуалка, как он по ресурсоемкости? Еще хотелось бы поменьше мануалов читать.

Лет 10 назад я настраивал астериск для работы в качестве оповещателя по телефонным линиям. Он тогда меня не впечатлил в плане простоты настройки.

ну если это тянет роутер, то виртуалке наверняка хватит мощи

Он тогда меня не впечатлил в плане простоты настройки.

И сейчас не впечатлит

В плане мощи — у меня стоит на asus rt n13. Медиа поток гоняет через себя — при звонке top показывает загрузку CPU 0%

Попробуйте https://appr.tc , может, достаточно будет.

Чтобы self-hosted — посмотри Jitsi Meet, оно групповые видеовызовы умеет.

Видеовызовы с помощью SIP-софта — отдельное приключение. Групповые видеовызовы — ещё более отдельное.

Спасибо всем! Буду пробовать.

Я запускал на обычном десктопе и слабой VPS для тестовых целей, но у меня там и нагрузки особо не было.

Базовый вызов я очень легко настроил без какого-либо долгого изучения мануалов, а вот с видео пришлось помучиться.

Товарищи, как оно, работает? Информации толком найти не могу, самый хайп за 2011 год. Потом какое-то затишье.

один раз настроить и любые конференции с записями у вас в кармане.

asterisk конечно (купить железный сервер), а для видео купить видеотелефоны циско (9711) пропатчить астериск и не забыть про фейл2бан купить сиптранк у провайдера

Источник

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

Читайте также:  Linux как запустить бинарный файл

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Установка OpenSIPS на Linux

SIP-прокси-сервер операторского уровня

10 минут чтения

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: Установка всех зависимостей

Давайте обновим все списки пакетов, которые у нас есть.

Теперь давайте установим все зависимости вместе с сервером MySQL (MariaDB).

После того, как мы установили все эти пакеты, нам нужно установить пакеты devel для сервера MySQL.

Для сервера MySQL:

Теперь нам нужно установить зависимости для сервера micro httpd, который OpenSIPS будет использовать для прослушивания соединений JSON RPC.

Все зависимости должны быть установлены сейчас, и теперь мы готовы клонировать исходный код openSIPS 3.

Примечание: не забудьте установить имя пользователя и пароль root для msyql, используя — mysql_secure_installation

Шаг 2: Клонирование репозитория OpenSIPS

Мы будем клонировать последнюю версию репозитория OpenSIPS 3 в /usr/src

Шаг 3: Скомпилируйте исходный код

Чтобы сначала скомпилировать модули OpenSIPS или исходный код, перейдите в каталог opensips-3.0 .

Откроется главное меню конфигурации 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 и важные каталоги, прежде чем начать работу над ней. Вот некоторые основные каталоги, над которыми мы будем работать во всей этой установке.

  • /usr/local/etc/opensips/ — Каталог файлов конфигурации OpenSIPS по умолчанию
  • /usr/local/lib64/opensips/modules/ — Каталог модулей OpenSIPS
  • /etc/init.d/ — Каталог файлов сервиса OpenSIPS
  • /etc/default/opensips — Файл конфигурации службы OpenSIPS
Читайте также:  Чтобы использовать все компоненты microsoft windows такие как все обновления с центра

Мы можем найти файл opensips.init и opensips.default в каталоге /usr/src/opensips-3.0/packaging/debian/ . Поэтому нам нужно скопировать эти файлы в каталог /etc/init.d/ и /etc/default/ .

Теперь у нас все настроено и готово запустить наш первый сервис OpenSIPS, но прежде чем мы это сделаем, нам нужно скопировать наш файл конфигурации в каталог /usr/local/etc/opensips/ , который мы создали из меню конфигурации OpenSIPS. Этот файл конфигурации находится в /usr/src/opensips-3.0/etc/

Теперь мы скопируем этот конфигурационный файл транкинга в /usr/local/etc/opensips/

Теперь вы можете видеть, что у нас есть opensips_trunk.cfg в каталоге /usr/local/etc/opensips , и мы будем использовать этот же файл для нашего сервера OpenSIPS, поэтому мы должны указать путь к нему в файле инициализации opensips .

Примечание: мы также должны убедиться, что у нас есть правильный двоичный путь OpenSIPS в файле инициализации opensips .

Мы должны добавить путь к скрипту и демону в переменную DAEMON и CFGFILE .

Шаг 6: Настройка OpenSIPS-CLI

Начиная с OpenSIPS 3, мы будем использовать инструмент OpenSIPS-CLI для управления экземплярами OpenSIPS. Ранее мы использовали для работы со скриптом opensipsctl , но он был удален из OpenSIPS версии 3. Мы будем использовать это приложение для выполнения всех видов различных операций, таких как отправка команд MI, создание базы данных и многое другое.

Давайте клонируем репозиторий opensips-cli в /usr/src/

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

Как только мы установим все зависимости, пришло время установить OpenSIPS-CLI.

После успешной установки мы сможем выполнить команду opensips-cli .

Примечание. Когда opensips-cli запускается, она всегда ищет файл opensips-cli.cfg в каталоге /etc/ . Если файл отсутствует, она запустится с настройками по умолчанию.

Теперь мы создадим файл opensips-cli.cfg в каталоге /etc/ .

Мы должны добавить вышеуказанный блок в файл 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 с нашим новым файлом конфигурации.

Шаг 7: Создание базы данных OpenSIPS

Наконец, пришло время создать базу данных OpenSIPS. Мы будем использовать бэкэнд MySQL, и если вы захотите использовать другой бэкэнд, такой как PostgreSQL, вам, возможно, придется установить некоторые зависимости.

Сначала откройте файл opensips-cli и выполните следующие действия:

  • Запустите OpenSIPS-CLI
  • Выполните — database create
  • Введите URL базы данных MySQL

Теперь давайте проверим базу данных и таблицы opensips, войдя в MySQL.

Примечание. Рекомендуется создать отдельного пользователя mysql для доступа к базе данных opensips.

Шаг 8: Запуск сервера OpenSIPS 3

Теперь пришло время наконец запустить наш сервер OpenSIPS, но прежде чем мы это сделаем, нам нужно настроить некоторые параметры в файле opensips_trunk.cfg .

Нам необходимо обновить URL-адрес MySQL всех модулей в скрипте, указав имя пользователя и пароль MySQL.

Примечание. Если после запуска службы opensips вы получаете сообщение об ошибке отказа в доступе на стороне сервера MySQL, создайте нового пользователя MySQL только для базы данных opensips.

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

Обновите переменную PATH в файле /etc/init.d/opensip s.

Как только мы это сделаем, последний шаг — установить для переменной RUN_OPENSIPS значение yes .

Примечание. Убедитесь, что в вашей ОС существует пользователь opensips , или вы можете добавить его с помощью — useradd -r opensips .

После обновления конфигурации в файле default нам нужно выполнить systemctl daemon-reload .

Итак, теперь мы готовы запустить наш сервис opensips . Во-первых, давайте удостоверимся, что в нашем конфигурационном файле OpenSIPS нет неправильной конфигурации.

Теперь давайте запустим сервис OpenSIPS

Если вы выполнили все шаги и установили все зависимости, вы увидите, что сервер opensips работает и прослушивает порт 5060.

Примечание. По умолчанию OpenSIPS использует файл /var/log/syslog для ведения журнала. Поэтому, если вы получаете какие-либо ошибки при запуске службы opensips , обратитесь к этому файлу логов для устранения неполадок.

Мы можем убедиться, что сервер OpenSIPS работает или нет по-разному.

    Проверяя файл opensips_fifo в каталоге /tmp .

Выполняя команды MI через opensips-cli

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

Базовый курс по Asterisk

Мы собрали концентрат всех must have знаний в одном месте, которые позволят тебе сделать шаг вперед на пути к экспертному владению Asterisk

Источник

Оцените статью