ИТ База знанийПолезна ли Вам эта статья

SIP Краткое введение

Прежде всего стоит разобраться, как работает SIP в принципе и что это вообще за протокол. Итак, SIP — Session Initiation Protocol, служащий исключительно для целей установления и завершения сессии. Обмен пакетами от установления соединения до его завершения называется диалогом. Медиапоток по данному протоколу не передается — для этого есть протокол RTP. Инкапсулированный же в пакете SIP SDP (Session Description Protocol) определяет, в частности, и параметры медиапотока, такие как используемый кодек и тип данных.

Важно понимать, что прохождение этих двух потоков — SIP/SDP и RTP (или, как говорят связисты, сигнализации и данных) — совершенно независимо друг от друга. Посмотрим, что происходит при нормальном вызове (очень упрощенно, правда)

  • Вызывающая сторона инициирует соединение, посылая SIP-пакет INVITE, в нем же инкапсулирован и SDP с информацией о желаемых параметрах RTP. Этот пакет может пройти через несколько SIP-прокси — о них чуть ниже.
  • В зависимости от того, проходит ли вызов через SIP-прокси или нет, вызывающая сторона получает либо ответ от SIP-прокси TRYING (а уж прокси тем временем направляет INVITE вызываемой стороне) и следом RINGING, либо сразу RINGING. Пакет RINGING означает, что вызываемая сторона посылает сигнал абоненту «звоню» и теперь нужно ожидать, условно говоря, «поднятия трубки».
  • Как только вызываемая сторона поднимает трубку, она посылает SIP-пакет с кодом 200 «OK». В этот пакет снова инкапсулирована нагрузка SDP, содержащая параметры, которые поддерживаются этой стороной. Вызывающая же сторона, если параметры совпадают, посылает ответный пакет ACK.
  • Клиенты соединяются по протоколу RTP напрямую независимо от того, проходил ли предыдущий обмен пакетами SIP через SIP-прокси или нет. Происходит разговор.
  • При отбое отбивающая сторона посылает SIP-пакет BYE, а вторая сторона посылает опять же пакет ACK. Соединение завершено.

Теперь стоит разобраться с устройством сети SIP — какие логические сущности в ней вообще имеются.

  • UAC и UAS — User Agent Client и User Agent Server. Очень условно их можно назвать вызывающей и вызываемой стороной. В SIP-терминалах и программных клиентах реализуется как UAC, так и UAS.
  • SIP-прокси занимается в основном маршрутизацией.
  • SIP-регистратор сохраняет информацию о логическом местоположении UAC/UAS.
  • SIP-редиректор предоставляет UAC/UAS информацию о маршрутизации и в случае необходимости перенаправляет вызов в другое место.
  • Сервер местоположения на самом деле представляет собой базу данных, где указано, какой адрес или какие адреса соответствуют тому или иному SIP URI. Фактически это лишь удобная абстракция.
  • B2BUA может находиться на месте SIP-прокси, но им не является. В случае с прокси терминал устанавливает соединение с другим терминалом напрямую (хоть оно и проходит через прокси, но лишь до определенного этапа. И прокси в общем случае не изменяет заголовки и тело SIP-пакета). В случае с B2BUA терминал сначала устанавливает с ним соединение, затем B2BUA устанавливает соединение с вызываемым терминалом, и в дальнейшем весь процесс происходит исключительно через него, с использованием двух независимых сессий — вызывающий терминал-B2BUA и B2BUA-вызывающий терминал. Применение B2BUA дает гораздо большую гибкость, нежели применение обычного SIP-прокси, — хотя бы потому, что он позволяет изменять тело SIP-пакета. Кроме того, по названным выше причинам его применяют и при тарификации вызовов. Но есть у него и недостаток — большее потребление памяти.

Стоит отметить, что зачастую логические сущности объединяются в одном ПО. Так, SIP-прокси чаще всего объединяется с регистратором и редиректором.

SIP-прокси существуют двух типов — stateless и stateful.Если ты знаком с iptables, думаю, объяснять их различия нет необходимости. А если нет… Stateful SIP-прокси хранит со-стояние транзакции, то есть знает, какому пакету INVITE соответствует тот или иной пакет ACK. Stateless-прокси же ничего этого не знает и тупо передает пакет куда следует.

И тут мы плавно переходим к вопросу, какие еще свободные средства для работы с SIP-протоколом (помимо Asterisk,о котором знают все) существуют в *nix-системах. На данный момент есть два проекта, предназначенные для этой цели, —Kamailio и OpenSIPS. Они имеют общего предка, так что подробно описывать их различия смысла нет. В статье будет рас-смотрен OpenSIPS.

Настройка подключения к двум внешним аккаунтампровайдерам.

; внешние транки (авторизация у провайдера) (global-users)

username= login_1

secret=password

host=provider1.com

context=in-provider-01

callbackextension=trunk-provider-01

(global-users)

username= login_2

secret=password

host=provider2.com

context=in-provider-02

callbackextension=trunk-provider-02

; внутренние транки (авторизация у астериска)

(local-users)

; первый пользователь

context=out-provider-01

username= user1

secret= password

(local-users)

; второй пользователь

context=out-provider-02

username= user2

secret= password1. Файл «sip.conf»—файл настроек каналов sip (отрывок).

; контекст исходящих звонков к провайдеру (исходящие номера должны начинаться с цифры)exten => _X.,1,Set(CALLERID(num)=login_1)exten => _X.,n,Macro(confer,SIP/provider-01/${EXTEN})

exten => _X.,1,Set(CALLERID(num)=login_2)exten => _X.,n,Macro(confer,SIP/provider-02/${EXTEN})

; контекст входящих звонков от провайдера

exten => trunk-provider-01,1,Macro(confer,SIP/user1)

exten => trunk-provider-02,1,Macro(confer,SIP/user2)2. Файл «extensions.conf»—файл настроек плана набора (отрывок)

Пояснения к настройкам Asterisk

Файл настроек каналов sip.conf:внешний транк:• provider-01 — имя внешнего транка для подключения к sip-провайдеру.

• username — логин для подключения к sip-провайдеру.

• secret — пароль для подключения к sip-провайдеру.

• host — адрес sip-провайдера.

• context — имя контекста, на который будут адресованы входящие звонки от sip-провайдера к АТС.

• callbackextension — номер, на который будут адресованы входящие звонки от sip-провайдера к АТС.

внутренний транк:

• user1 — имя внутреннего транка для подключения офисной АТС к Asterisk.

• context — имя контекста, на который будут адресованы внутренние звонки от АСТ к sip-провайдеру.

• username —логин для подключения к Asterisk (должен совпадать с именем внутреннего транка).

• secret — пароль для подключения к Asterisk.

Файл настроек плана набора extensions.conf:

• out-provider-01 – имя контекста исходящих звонков (должен совпадать с именем, указанным в поле «contex» внешнего транка в файле «sip.conf»). В этом контексте нужно указать логин, зарегистрированный у провайдера, и имя внешнего транка (см. файл «sip.conf»).

• in-provider-01 – имя контекста входящих звонков (должен совпадать с

именем, указанным в поле «contex» внутреннего транка в файле «sip.conf»). В этом контексте нужно указать логин, зарегистрированный у Asterisk, и номер, указанный в поле «callbackextension» (см. файл «sip.conf»).

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

Что такое SIP и как он работает

  • Архитектура сервера SER и файл конфигурации ser.cfg

    • Ядро и модули.
    • Семь секций файла конфигурации ser.cfg.
    • Транзакции, Диалоги и Сеансы.
    • Понимание процесса обработки SIP с использованием файла ser.cfg.
  • Stateful и stateless
  • Понимание. что такое SIP и что такое RTP.
  • Back-end приложения и B2BUA.
  • NAT, STUN и проксирование RTP потоков.

    • Регистрация на SIP сервере, находящимся за NAT.
    • Совершение вызовов с клиента, находящимся за NAT.
    • STUN.
    • Другие методы прохождения NAT маршрутизаторов, не контролируемые SER сервером.
  • URI, R-URI и разветвление маршрутов.

Архитектура сервера SER и файл конфигурации ser.cfg

Семь секций файла конфигурации ser.cfg.

  • 1. Раздел с глобальными определениями. В этой части файла ser.cfg обычно содержатся IP адрес и порт для приема и отправки сообщений, уровень отладки, и т.д. Параметры настройки в этом разделе относятся непосредственно к демону SER.
  • 2. Секция модулей. Этот раздел содержит список внешних библиотек, которые необходимо загрузить для обеспечения требуемых функциональных возможностей, не предоставляемых ядром, как это было отмечено выше. Модули — это .so файлы, которые загружаются командой loadmodule.
  • 3. Секция конфигурации загруженных модулей. Для многих из внешних библиотек, определенных в секции модулей, должны были установлены параметры, необходимые для их работы. Эти параметры устанавливаются при помощи команды modparam, которая имеет форму: modparam (module_name, module_parameter, parameter_value).
  • 4. Главный блок маршрутизации. Этот блок похож на функцию main() программы, написанной на языке C. Это — точка входа для обработки SIP сообщений, где определяется, как каждое полученное сообщение должно быть обработано.
  • 5. Вторичные блоки маршрутизации. В дополнение к главному блоку маршрутизации, файл ser.cfg может содержать дополнительные блоки маршрутизации, которые можно вызывать из главного блока или из других вторичных блоков маршрутизации. Вторичные блоки маршрутизации больше похожи на вызываемые функции или подпрограммы.
  • 6. Блок маршрутизации ответов. Дополнительные блоки маршрутизации для ответов на SIP сообщения могут использоваться для обработки ответов. Чаще всего — это сообщения OK.
  • 7. Блок маршрутизации сообщений об отказах. Дополнительные блоки маршрутизации, которые используются в случае, если требуется специальная обработка состояний ошибок или отказов, таких как занятость вызываемого абонента или таймаутов.

SIPhttp://www.iptel.org/ser/doc/sip_intro/sip_introduction.htmlhttp://www.iptel.org/sip/siptutorial.pdfhttp://www.ietf.org/rfc/rfc3261.txt

Транзакции, Диалоги и Сеансы.

  • 1.SIP транзакция: это SIP сообщение (и все повторные попытки его передачи) и прямое на него (чаще всего быстрое и непосредственное) ответное сообщение (например: пользовательский клиент отправляет сообщение REGISTER серверу SER и получает ответное сообщение — OK);
  • 2.SIP диалог: Общение между (как минимум) двумя SIP устройствами, которое производится в течении некоторого времени (например, диалог начинается с отправки сообщения INVITE и заканчивается сообщением BYE);
  • 3.Сеанс: Состояние установленного потока обмена медиаданными (например, голосовой канал) между SIP устройствами (SIP телефонами).

Понимание процесса обработки SIP с использованием файла ser.cfg.

Обратите внимание

Совершение вызовов с клиента, находящимся за NAT.

SDPRTP

c=IN IP4 192.0.2.13.
m=audio 23767 RTP/AVP 0 101.
(c=contact, m=media)

  • Добавить SDP команду: ‘direction:active’ в контекст SDP сообщения
  • Изменить адрес в строке ‘c=’ на ‘a.b.c.d’
  • Заставить RTP поток проходить через прокси, меняя поле «c=» на: «c=IN IP4 » и поле «m=» на «m= RTP/AVP 0 101»

Symmetric RTPОбратите внимание onreply_route

Другие методы прохождения NAT маршрутизаторов, не контролируемые SER сервером.

  • SIP: Протокол Инициирования Сеанса (Session initiation protocol)
  • SDP: протокол описания параметров связи.
  • RTP: Протокол передачи данных в реальном времени

Готовые решения от провайдеров

В последнее время бизнес перешёл на готовые решения. Причин тому несколько:

  • Снижение расходов – подключение зачастую бесплатное, оплачиваются только расходы на межгород, рабочие места и некоторые дополнительные функции.
  • Безопасность – самостоятельная настройка VoIP в офисе не даст уверенности в защищённости системы от взломов и атак. У провайдеров этим занимается сертифицированный персонал.
  • Удобство – из дополнительного оборудования нужны только компьютеры и телефонные аппараты. Никакого отдельного «железа» для IP-серверов.

Рассмотрим несколько решений по организации IP-телефонии для бизнеса.

Облачная АТС от Задарма

Данный провайдер осуществляет подключение офисной телефонии по ценам от 10 коп/мин, с премиальным качеством передачи голоса. Системному администратору вашего офиса не придётся возиться с оборудованием – достаточно завести в систему абонентов и настроить распределение звонков. Преимущества Задарма:

  • Бесплатное подключение к IP-телефонии.
  • Провайдер предлагает многоканальные номера в 90 странах мира и во многих российских городах.
  • Возможность интеграции с используемой CRM.
  • Полный функционал облачной АТС.
  • Бесплатные вызовы внутри компании и её филиалов, независимо от географического положения рабочих мест.
  • Доступ к номерам 8-800 с функционалом полноценного call-центра.
  • Интерфейс API для реализации собственных задач бизнеса.

Провайдер гарантирует высокое качество передачи голоса, поддерживает клиентов по телефону или через внутренний чат, предлагает недорогие звонки по России и по миру. И всё это без дорогого оборудования и настроек. Закажите услугу и получите готовую облачную АТС уже через 5 минут. Настройка осуществляется через удобный веб-интерфейс.

Провайдер предлагает попробовать АТС бесплатно.

Облачная АТС от SIPNET

Один из самых старых провайдеров IP-телефонии. Он работает не только с физическими лицами, но и с корпоративными клиентами. Стартовый тариф обойдётся всего в 1000 рублей. В него войдут три телефонизированных рабочих места, пакет минут на выбор (от 600 до 1500 минут на номера Москвы и Санкт-Петербурга, по всей России или на мобильные). Плата за подключение отсутствует. Также клиентам доступны опции, расширяющие функционал, количество мест и предоставляющие услуги персонального менеджера. SIPNET – это полноценная АТС для бизнеса, в том числе с функциями call-центра.

Проект Asterisk

По адресу en.wikipedia.org/wiki/List_of_SIP_software находится один из самых больших списков серверов и клиентов SIP (протокол установления сессии для работы пользовательских сеансов, включающих передачу видеоданных и голоса). В этом списке 10 серверов, распространяемых под свободной лицензией, но администраторы чаще всего предпочитают Asterisk IP-PBX. Этот проект возник, можно сказать, случайно — его создатель Марк Спенсер (Mark Spencer, кстати, Gaim/Pidgin тоже его рук дело) не имел достаточно денег, чтобы купить для своей компании обычную АТС, и потому
вынужден был создавать его софтовую реализацию. Открытость кода способствовала быстрому росту популярности нового продукта как среди разработчиков, так и среди потребителей. Выпускается Asterisk под двойной лицензией. Кроме GNU GPL возможно создание закрытых модулей, содержащих проприетарный код. Такой подход позволяет включить поддержку закрытых кодеков и оборудования.

Несмотря на свою софтовость, Asterisk обладает всеми функциями классической АТС, и даже больше. Вот только некоторые из них: центр обработки вызовов, голосовая почта, возможность проведения конференций, что в итоге делает его мощной и легкорасширяемой платформой для создания телекоммуникационного сервиса любого масштаба. Поддерживаются практически все популярные протоколы IP-телефонии (SIP, H.323, MGCP, Skinny/SCCP, Google Talk, Skype), собственный IAX и некоторые другие для работы видео и факса. Кроме обслуживания локальных клиентов Asterisk умеет передавать голосовой трафик между серверами. Есть модули для сопряжения с аналоговыми (FXO/FXS) и цифровыми (Т1/E1) линиями.

Если функциональности недостаточно, для написания диалплана норма можно воспользоваться собственным языком Asterisk, создать модуль на Cи либо использовать универсальный интерфейс интеграции с внешними системами обработки данных AGI. Чтобы упростить разработку модулей, предназначенных для решения различных задач, предложено несколько уровней API (channel, application, codec, file format). Поэтому новые возможности (например, кодеки) появляются в Asterisk очень быстро и их внедрение проходит безболезненно. Кроме этого, модульность Asterisk позволяет администраторам подключать только необходимые функции, модифицируя систему под свои нужды. Сервер Asterisk можно установить на компьютерах,
работающих под управлением GNU/Linux, Free/Net/OpenBSD, Mac OS X/Darwin, Open/Solaris. Клиенты доступны практически для всех систем, в том числе и Windows. Исключение составляют драйверы Zaptel и ISDN-устройств, реализации которых пока есть не для всех платформ.

Похожие

3. Требования, установленные Заказчиком, к качеству, техническим…Заказчик: федеральное государственное автономное образовательное учреждение высшего профессионального образования «Национальный исследовательский… 3. Требования, установленные Заказчиком, к количеству, качеству,…Заказчик: федеральное государственное автономное образовательное учреждение высшего профессионального образования «Национальный исследовательский…
3. Требования, установленные Заказчиком, к качеству, техническим…Заказчик: федеральное государственное автономное образовательное учреждение высшего профессионального образования «Национальный исследовательский… 3. Требования, установленные Заказчиком, к качеству, техническим…Заказчик: федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский университет…
3. Требования, установленные Заказчиком, к качеству, техническим…Заказчик: федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский университет… Оборудования для пищеблока. Требования, установленные Заказчиком,…Заказчик: федеральное государственное автономное образовательное учреждение высшего профессионального образования «Национальный исследовательский…
3. Требования, установленные Заказчиком, к качеству, техническим…Заказчик: федеральное государственное автономное образовательное учреждение высшего профессионального образования «Национальный исследовательский… 3. Требования, установленные Заказчиком, к качеству, техническим…Заказчик: федеральное государственное автономное образовательное учреждение высшего профессионального образования «Национальный исследовательский…
Требования, установленные Заказчиком, к качеству, техническим характеристикам…Заказчик: федеральное государственное автономное образовательное учреждение высшего профессионального образования «Национальный исследовательский… 3. Требования, установленные Заказчиком, к качеству, техническим…Заказчик: федеральное государственное автономное образовательное учреждение высшего профессионального образования «Национальный исследовательский…
Техническое заданиеЗаказчиком, к качеству, техническим характеристикам товара, требования к функциональным характеристикам (потребительским свойствам)… Предъявляемые Заказчиком, к качеству, количеству, техническим характеристикам…Заказчик: федеральное государственное автономное образовательное учреждение высшего профессионального образования «Национальный исследовательский…
Требования, установленные Заказчиком, к качеству, техническим характеристикам,…Заказчик: федеральное государственное автономное образовательное учреждение высшего профессионального образования «Национальный исследовательский… Техническое задание на поставку и монтаж грузоподъемного оборудованияЗаказчиком, к качеству, техническим характеристикам товара, требования к функциональным характеристикам (потребительским свойствам)…
Техническое задание на поставку системы прецизионной лазерной маркировкиЗаказчиком, к качеству, техническим характеристикам товара, требования к функциональным характеристикам (потребительским свойствам)… Техническое задание на поставку испытательной вибрационной установки vibrotest vs10006/PЗаказчиком, к качеству, техническим характеристикам товара, требования к функциональным характеристикам (потребительским свойствам)…

Руководство, инструкция по применению

Инструкция, руководство по применению

Сервер IP-телефонии Asterisk

Перед нами один из самых популярных в мире SIP-серверов для организации офисной телефонии. Проект появился в 1999 году и был призван заменить собой дорогие мини-АТС. Сервер работает под управлением операционной системы Linux, обладает всем необходимым функционалом:

  • Поддерживает работу с традиционной телефонией.
  • Умеет управлять распределением, обработкой телефонных вызовов.
  • Поддерживает проведение видеосеансов.
  • Может интегрироваться в системы CRM.
  • Поддерживает шифрование звонков для предотвращения прослушивания.

Функционал SIP-сервера Asterisk может расширяться за счёт дополнительного программного обеспечения. Он работает практически с любыми протоколами IP-телефонии, может решать даже самые сложные задачи. Его главный недостаток – сложность. Для управления сервером были разработаны удобные Web-интерфейсы, но они не решают проблему сложности данного программного продукта.

Регистрация пользователей

Если теперь посмотреть в каталог /etc/Asterisk, можно обнаружить большое количество файлов. Но размер журнальной статьи позволит нам познакомиться только с некоторыми из них. Так, в Asterisk.conf указаны каталоги, которые будет задействовать Asterisk во время работы, расположение и владелец сокета, используемого для подключения удаленной консоли управления, а также дефолтные параметры запуска сервера. Некоторые каталоги во время установки не создаются, это придется сделать вручную:

Добавим пользователя Asterisk в группу audio:

Дальше нас интересует файл sip.conf, где определяются серверы и клиенты SIP, с которыми будет дружить наш Asterisk. Каждый из них представлен в файле отдельным блоком, который начинается с оглавления, заключенного в квадратные скобки. Параметров в sip.conf довольно много, ограничимся лишь добавлением SIP-аккаунта:

Поле type указывает, что может делать этот клиент. При значении user ему будет разрешено только принимать входящие звонки, при peer он сможет только звонить, а friend означает все действия сразу, то есть user+peer. В поле host указывается IP-адрес, с которого разрешено подключение этого клиента. Если он может подключаться с любого адреса, указываем host=dynamic. А чтобы в этом случае вызвать клиента, когда он еще не зарегистрирован, в defaultip следует записать IP-адрес, по которому его всегда можно будет найти. В username и secret указываем логин и пароль, используемые клиентом при подключении. Параметр Language задает код языка приветствий и специфичные настройки сигналов телефонов,
которые определены в файле indications.conf. При работе клиента за NAT’ом в соответствующем поле необходимо установить значение yes. Отключение canreinvite заставляет весь голосовой RTP-трафик проходить через Asterisk. Если клиенты поддерживают SIP re-invites, им можно разрешить соединяться напрямую, указав canreinvite=yes. Поле сontext определяет план набора, в который попадают вызовы, поступающие от этого клиента, а callerid — строку, которая будет выводиться при звонке от клиента. По умолчанию используется контекст default, который берет все настройки из контекста demo. Последний предназначен исключительно для демонстрационных целей, в рабочей системе необходимо создать свой контекст.
Поле mailbox указывает на голосовой ящик 1234 в контексте office. Остальные клиенты настраиваются аналогично.
После определения SIP-аккаунтов наши клиенты могут регистрироваться на сервере Asterisk и совершать исходящие вызовы. Чтобы у них была возможность принимать звонки, следует обратиться к файлу extensions.conf, в котором описывается план набора (Dialplan), распределяющий звонки в системе. Здесь же указываются все разрешенные расширения.

Здесь все просто. За пользователем grinder закрепляем номер 1234, и, если он не ответит на звонок, ему можно будет оставить сообщение в голосовой почте. Цифра после номера означает приоритет, который определяет последовательность выполнения задач. Теперь, если Asterisk запущен, следует подключиться к его консоли, выполнив на той же машине Asterisk -r, и с помощью команды reload заставить его перечитать конфигурационные файлы. Есть и команды для перезагрузки конкретного файла. Например, план набора перечитывается командой extensions reload.

Сервер готов к приему клиентов. По адресу www.Asteriskguru.com/tutorials/configuration_Asterisk_softphone.html выбираем себе софт-клиент и пробуем соединиться. Мне, например, нравится бесплатная версия простой и понятной в использовании программы ZoIPer (ранее Idefisk). Есть версии для Linux, Windows и Mac OS X. Еще один неплохой и также мультиплатформенный клиент — X-Lite.

Если все нормально, в консоли должно появиться сообщение вроде «Registered SIP ‘grinder’ at 192.168.0.1 port 5060», набираем номер и звоним.

Мы настроили Asterisk в минимальной конфигурации, но это далеко не все, что он может. За кадром осталось подключение к другому серверу IP-телефонии, парковка вызова, музыка во время ожидания, биллинг, использование GUI для администрирования сервера и прочее, но мы постараемся восполнить эти пробелы в следующих статьях.

ЧТО ТАКОЕ OPENSIPS УСТАНОВКА

OpenSIPS обеспечивает функциональность практически всех серверных компонентов, которые были упомянуты выше, —от SIP-прокси до B2BUA. Отличие же его от Asterisk’а заключается, во-первых, в том, что OpenSIPS манипулирует паке-тами и сессиями SIP на более низком уровне, чем это делаетAsterisk, а во-вторых, Asterisk по сути является комбайном,например содержит в себе, помимо SIP, медиа сервер. Кроме того, Asterisk не поддерживает масштабирование.

OpenSIPS имеет давнюю историю: как минимум он (если считать и его предшественников) не младше Asterisk, а с учетом того, что SIP для последнего неродной, возможно, даже и старше. Он также поддерживает и модульную архитектуру,при этом модулей там предостаточно. В настоящий момент с нуля разрабатывается ветка 2.0, которая будет иметь другую архитектуру, — текущая закладывалась без учета части современных реалий, которые в те времена еще и не прогнозировались. Однако данная ветка находится в состоянии активной разработки, а я предпочитаю стабильные версии,поэтому здесь будет описана версия 1.11.3, которая, кстати,является LTS.

Итак, поехали устанавливать:

Shell

$ wget -qO — http://apt.opensips.org/key.asc | sudo apt-key add —
$ sudo sh -c «echo ‘deb http://apt.opensips.org/stable111 main’ > /etc/apt/sources.list.d/opensips.list»
$ sudo apt-get update
$ sudo apt-get install opensips opensips-console

1
2
3
4

$wget-qO-httpapt.opensips.orgkey.asc| sudo apt-key add-

$sudo sh-c»echo ‘deb http://apt.opensips.org/stable111 main’ > /etc/apt/sources.list.d/opensips.list»

$sudo apt-getupdate

$sudo apt-getinstall opensips opensips-console

Ссылка на основную публикацию