Sip server что это

Что такое SIP и как его получить

SIP (англ.: Session Initiation Protocol — протокол инициации сеанса) — дополняет VoIP, поскольку предоставляет функции безопасного подключения. Помимо VoIP, используется в других мультимедийных технологиях: онлайн-игры, видео. Был разработан вместе с протоколом — H.323, который использовался с VoIP до SIP.

Session Initiation Protocol работает с сеансами связи, которые представляют собой периоды времени, в течение которых стороны общаются. К ним относятся телефонные звонки через Интернет, мультимедийные конференции, рассылка и т. д.

SIP обеспечивает необходимое подключение для создания, изменения и завершения сеансов с одним или несколькими общающимися участниками. Осуществляет безопасную передачу данных, отправляя небольшие сообщения, состоящие из заголовка и тела.

Sip server что это. lazy placeholder. Sip server что это фото. Sip server что это-lazy placeholder. картинка Sip server что это. картинка lazy placeholder

Функции SIP

SIP — это протокол безопасного подключения для VoIP и телефонии в целом, благодаря следующим функциям:

Перевод имени и местоположение пользователя: SIP преобразует адрес в имя и, таким образом, достигает вызываемого абонента в любом месте.

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

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

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

Согласование мультимедиа: этот механизм обеспечивает возможность выбора соответствующего кодека для установления вызова между различными устройствами.

Структура сообщения SIP

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

Зачем использовать SIP?

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

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

Как работает SIP

Вы получаете SIP-адрес, устанавливаете SIP-клиент на вашем компьютере, мобильном устройстве. Затем нужно настроить свой SIP-клиент. Есть множество технических функций и опций. Просто подготовьте свои учетные данные и заполните все необходимые поля. Настройка занимает 1-2 минуты.

Что требуется?

Если хотите общаться посредством SIP, вам необходимо:

Протокол инициации сеанса обезопасит звонки через Интернет и другие IP- сети. SIP-адрес — это уникальный идентификатор для каждого пользователя в сети. Как и номер телефона, он идентифицирует каждого пользователя в глобальной телефонной сети. Он также известен как унифицированный идентификатор ресурса.

Вы получаете SIP-адрес, когда регистрируетесь для учетной записи. Действует как дескриптор связи, который люди используют для связи с вами. SIP-адреса могут быть преобразованы в телефонные номера, которые легче отследить в качестве идентификаторов контактов.

Экономия, достижимая с помощью учетной записи SIP, составляет 40 процентов для внутренних звонков и 90 процентов для международных звонков.

Зачем нужна учетная запись SIP?

Вы используете учетную запись SIP для настройки настольных телефонов VoIP, программных телефонов и мобильных клиентов VoIP. Учетная запись SIP открывает двери для бесплатных видеозвонков и голосовых вызовов HD на многих платформах, включая компьютеры под управлением Windows и Mac, а также мобильные устройства iOS и Android. SIP-to-SIP звонки между любыми двумя SIP-адресами через Интернет почти всегда бесплатны.

Для компаний, которые имеют много международных контактов, SIP предлагает огромную экономию. Поскольку это услуга VoIP с меньшим количеством закупок оборудования и низкими затратами на техническое обслуживание.

Хотя это может показаться странным, SIP-вызов удобен только после короткого сеанса обучения. В большинстве случаев качество звука лучше, чем при использовании проводного телефона.

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

Структура SIP-адреса

SIP-адрес напоминает адрес электронной почты. Структура которого:

Например, это SIP-адрес, полученный при регистрации в Ekiga:

SIP-адрес отличается от номера телефона и адреса электронной почты тем, что он привязан к пользователю, а не к поставщику услуг, провайдеру или оператору.

Как использовать SIP-адрес

Используйте свой SIP-адрес для настройки SIP-клиента. Если вы занимаетесь бизнесом, вам понадобится служба для настройки системы и предоставления SIP-адреса для каждого сотрудника. Затем раздайте SIP-адреса своим друзьям и клиентам, чтобы между вами и ними была бесплатная голосовая и видеосвязь.

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

Для связи через Интернет SIP интересен множеством функций, связанных с голосовыми и видеозвонками, часто с участием нескольких сторон. Для этого выберите хороший SIP-клиент и наслаждайтесь.

SIP-клиен

VoIP — это широкая и расширяющаяся отрасль. SIP является частью этого, строительным блоком (важным) в структуре VoIP. Но наряду с SIP существует ряд других протоколов, используемых для голосовой и видеосвязи в IP- сетях. Например, Skype использует свою собственную архитектуру P2P.

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

OnSIPSip server что это. lazy placeholder. Sip server что это фото. Sip server что это-lazy placeholder. картинка Sip server что это. картинка lazy placeholder

Бесплатный план OnSIP предоставляет решение для голосовой связи среди группы, передачи видео и обмена сообщениями. Особенности включают в себя:

Бесплатный план OnSIP заменяет программу GetOnSIP компании.

Источник

SIP-телефония

Вместо вступления…

В последнее время наблюдается повышенный интерес к технологиям IP-телефонии, использование которой позволяет в значительной мере снизить стоимость телефонной связи. При этом становится возможным использование сети Интернет, что позволяет сразу достичь «глобальных масштабов», а необходимость прокладки магистральных коммуникаций попросту отпадает.

Целью данной статьи является поверхностное рассмотрение возможностей IP-телефонии, использующей протокол SIP, для ознакомления с общими принципами ее работы.

Протокол SIP (Session Initiat Protocol, протокол установки соединения) не является первопроходцем в области IP-телефонии. Протокол H.323 уже давно используется для целей IP-телефонии, однако изначально он не разрабатывался для IP-сетей, что снижает «оптимальность» их совместной работы. За годы работы с протоколом H.323 накоплен большой опыт использования, который позволил выявить как его положительные черты, так и недостатки, которые были учтены при разработке протокола SIP.

Протокол H.323 использует двоичный формат. Одним из следствий этого является необходимость стандартизации всех возможностей данного протокола, так как в случае если определенная возможность не поддерживается устройством, то такие устройства из-за двоичного формата не смогут работать друг с другом. SIP-протокол использует текстовый формат сообщений, если одному из устройств не знаком определенный тип сообщения или заголовка, то оно просто игнорируется (как и в HTTP, который по своему формату очень похож формат протокола SIP). К тому же сам протокол SIP значительно проще H.323.

Возможности протокола SIP

Основные преимущества протокола SIP:

1. Масштабируемость — возможность увеличения количества клиентов при расширении сети.

2. Мобильность — возможность получения сервиса вне зависимости от местоположения (как например электронная почта), а каждому пользователю выдается персональный идентификатор, по которому он может быть найден.

3. Расширяемость — возможность дополнения протокола новыми функциями (за счет введения новых заголовков и сообщений). Как уже говорилось выше, если устройству встречается неизвестное ему расширение протокола, оно попросту игнорируется. Так как протокол H.323 использует сообщения двоичного формата, то неизвестные функции могут привести к невозможности предоставления сервиса.

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

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

Собственно сама передача голоса осуществляется благодаря использованию протокола RTP (Real-time Transport Protocol, протокол транспортировки в реальном времени). Сам протокол SIP непосредственного участия в передаче голосовых, видео и других данных не принимает, он отвечает только за установление связи (по протоколам SDP, RTP и др.), поэтому под SIP-телефонией понимается не передача голоса по протоколу SIP, а передача голоса с использованием протокола SIP. Использование протокола SIP предоставляет новые возможности установления соединений (а также возможность беспроблемного расширения данных возможностей), а не непосредственной передачи голосового и других видов трафика.

Формат адресов используемых протоколом SIP напоминает формат E-Mail-адреса: имя@идентификатор_хоста. В начале адреса ствится приставка «sip:» (пример: sip:user@host.com). В качестве идентификатора хоста может служить его IP-адрес, домен или имя хоста (IP-адрес определяется с использованием DNS, так что в итоге все равно получается обращение по адресу sip: имя@IP-адрес).

Архитектура SIP-сети

Стандартными элементами в SIP-сети являются:

1. User Agent: по протоколу SIP устанавливаются соединения «клиент-сервер». Клиент устанавливает соединения, а сервер принимает вызовы, но так обычно телефонный аппарат (или программный телефон) может как устанавливать так и принимать звонки, то получается что он одновременно играет роль и клиента и сервера (хотя в реализации протокола это не является обязательным критерием) — в этом случае его называют User Agent (UA) или терминал.

2. Прокси-сервер: прокси сервер принимает запросы и производит с ним некоторые действия (например определяет местоположение клиента, производит переадресацию или перенаправление вызова и др.). Он также может устанавливать собственные соединения. Зачастую прокси-сервер совмещают с сервером определения местоположения (Register-сервер), в таком случае его называют Registrar-сервером.

3. Сервер опредления местоположения или сервер регистрации (Register): данный вид сервера служит для регистрации пользователей. Регистрация пользователя производится для определения его текущего IP-адреса, для того чтобы можно было произвести вызов user@IP-адрес. В случае если пользователь переместится в другое место и/или не имеет определенного IP-адреса, его текущий адрес можно будет определить после того, как он зарегистрируется на сервере регистрации. Таким образом клиент останется доступен по одному и тому же SIP-адресу вне зависимости от того, где на самом деле находится.

4. Сервер переадресации: обращается к серверу регистрации для определения текущего IP-адреса пользователя, но в отличие от прокси сервера только «переадресует» клиента, а не устанавливает собственные соединения.

Прокси-серверы в SIP-сети также могут вносить изменения в передаваемые сообщения — это позволяет беспрепятственно преодолевать NAT в случае если прокси-сервер стоит на NAT-маршрутизаторе (также возможна настройка прокси сервера, находящегося за NAT в случае если на последнем невозможно установить прокси сервер — для этого потребуется задать параметры переадресации так, чтобы получился прокси-сервер стал «виртуальным сервером»). Помимо этого прокси-серверы можно объединять в «цепочки», которые позволяют использовать телефонию, даже если конечная точка (UA) находится сразу за несколькими NAT-шлюзами.

Сообщения SIP

Стартовая строка различается в зависимости от того является ли сообщение запросом или ответом (в случае запроса — в ней сообщается тип запроса, адресат и номер версии протокола, а в случае ответа — номер версии протокола, статус и текстовую расшифровку статуса).

В заголовках содержатся сведения об источнике, адресате, пути следования сообщения и др. Этих заголовков может быть достаточно много и это количество может меняться на пути следования пакетов.

Информационные ответы сообщают о стадии выполнения запроса, они не являются завершением запроса. Остальные же классы ответов завершают выполнение запроса.

Пример

Рассмотрим пример процесса установления соединения с использованием SIP-протокола (пример взят из RFC 3261). Данный пример отражает работу базовых функций телефонии и соответственно не затрагивает такие возможности как видеосвязь передача текстовых сообщений и др. — общий принцип работы протокола остается неизменным.

Пользователь Alice (sip:alice@atlanta.com) вызывает пользователя Bob (sip:bob@biloxi.com).

1. Пользователь Alice посылает сообщение INVITE прокси-серверу по умолчанию (atlanta.com) Если бы пользователю Alice был известен IP-адрес пользователя Bob и он мог к нему обратиться напрямую, то запрос INVITE в этом случае мог быть послан непосредственно вызываемому пользователю.

2. Прокси-сервер посылает запрос INVITE серверу вызываемого абонента (biloxi.com).

3. Далее прокси-сервер пользователя Bob при необходимости определяет его текущий IP-адрес и посылает ему сообщение INVITE — у пользователя начинает звонить телефон, о чем сообщается в ответе 180 (Ringing).

4. Если вызываемый пользователь ответил на звонок, то на запрос INVITE высылается ответ 200 (OK).

5. Вызывающий пользователь отправляет сообщение ACK, сообщающее вызываемому о том, что он получил ответ на свой запрос INVITE, им задаются окончательные параметры соединения. На этом этапе все готово к установлению соединения по протоколу RTP (Real-time Transport Protocol).

6. Устанавливается RTP-соединение с заранее согласованными параметрами.

7. Для завершения соединения, завершающим пользователем (кладет трубку) высылается запрос BYE, на которое высылается ответ 200 (OK)

Пока сообщения установления соединения (INVITE) ходят между прокси-серверами и неизвестно доступен ли вызываемый пользователь, в ответ на INVITE посылается ответ 100 (Trying), сообщающий о попытке установления соединения.

Так как прокси-сервер может устанавливать собственные соединения, его использование позволяет вызовам без проблем преодолевать NAT. Также возможно построение нескольких прокси-серверов в одну цепочку, что позволяет преодолевать сразу несколько NAT.

Кодеки

Для передачи звука и видео используются различные алгоритмы сжатия и кодирования данных. Эти алгоритмы называются кодеками. Различные кодеки используют различную ширину полосы пропускания, а также вносят различные задержки и обеспечивают различное качество сервиса. Для звуковых кодеков обычно ширина полосы пропускания составляет от 4-х до 64 кбит/с.

Методика тестирования

Основное направления тестирования SIP-телефонии заключается в рассмотрении качества передачи голоса при ограничении ширины полосы пропускания. Также будет рассматриваться качество передачи голоса при динамическом изменении числа сеансов IP-телефонии и изменении загруженности канала связи. При тестировании IP-маршрутизаторов будет также рассматриваться поведение потоков трафика при установлении сеансов IP-телефонии.

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

Заключение

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

Источник

Что такое SIP-сервер?

SIP сервер является важнейшим компонентом IP-АТС. В основном этот сервис управляет SIP-коммутациями между SIP-клиентами / конечными точками. В литературе SIP-сервер также может называться SIP-прокси или SIP-регистратором (Registrar).

Sip server что это. sip server 1. Sip server что это фото. Sip server что это-sip server 1. картинка Sip server что это. картинка sip server 1

Хотя этот сервер можно считать важнейшей частью телефонной системы на базе SIP, его задачи ограничиваются управлением и поддержанием SIP-сессий. Основные задачи SIP-сервера:

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

Согласование параметров медиа для каждой сессии между конечными точками, используя протокол SDP

Подстройка или изменение параметров сессии уже после ее начала. Например, постановка вызова на удержание.

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

SIP-сервер сам по себе не обрабатывает медиапотоки – это делает отдельный медиа-сервер (Media server), используя протокол RTP. В реализациях IP-АТС практически всегда SIP-сервер и его компаньон медиа-сервер находятся на одном физическом сервере.

Однако системы с очень большой нагрузкой (например, у крупных VoIP-операторов) могут использовать медиа-сервер, установленный на другой физической машине, чтобы лучше справляться с обработкой сессий. Также возможно распределение нагрузки на несколько медиа-серверов.

Источник

Какой SIP-сервер выбрать: SER, OpenSER, Kamailio, OpenSIPS? Что в них общего и в чем разница?

У многих администраторов voip-сетей, сталкивающихся с sip-серверами слова ser, openser, kamailio, opensips вызывают по меньшей мере головокружение. Почему их так много? Почему так похожи? Какие активно развиваются, а какие уже нет? Какой в конце-концов выбрать?

Давайте обратимся к истории.

1995 год. Берлин, Германия. Группа бывших студентов профессора Henning Schulzrinne, одного из авторов технологии SIP, занимается исследованиями в области VoIP в рамках Fraunhofer Fokus, независимоой исследовательской организации в области телекоммуникаций при университете Fraunhofer. Рабочая группы во главе с Dorgham Sisalem публикует научные статьи, описывающие экспериментальную реализацию SIP и рекомендации для первых промышленных разработчиков этой технологии.

1996 год. Henning Schulzrinne и Mark Handley разрабатывают окончательную спецификацию SIP-протокола.

Март 1999 года. Первый стандарт sip-протокол принят и опубликован в RFC2543.

2001 год. Andrei Pelinescu написал первые строки SIP Express Router (SER). В то время им была реализована функция маршрутизации по принципу первого найденного маршрута в таблице, которая в скором времени была заменена на скриптовый язык SER. Также был добавлен интерфейс поддержки модулей для возможности быстрого добавления новых функций. Результаты были представлены на специально созданном для этих целей сайте iptel.org

C 2001 по 2003 год к проекту подключаются новые люди, на тот момент студенты. Разработкой модулей для SER занимаются Alex Hoffmann, Bogdan-Andrei Iancu, Daniel-Constantin Mierla, Jan Janak. Raphael Coeffic, Uli Abend и Stephan Sayer разрабатывают SIP Express Media Server. Nils Ohlmeier разрабатывает утилиту диагностики SIP-протокола SipSak. Karel Kozlik занимается разработкой web-интерфейса.

Сентябрь 2002 года. SER выходит в свободное плавание, его выпускают под лицензией GPL.

14 июня 2005 года. От проекта отделяется два центральных разработчика — Bogdan-Andrei Iancu и Daniel-Constantin Mierla. Совместно с Elena-Ramona Modroiu они образуют новый проект, OpenSER.

28 июля 2008 года проект переименовывается в Kamailio из-за конфликта с торговой маркой.

24 августа 2008. В результате конфликта между разработчиками, от Kamailio отделяется Bogdan-Andrei Iancu, который образует новый проект — Opensips.

04 ноября 2008. Происходит слияние проекта Kamailio с первоначальным SER.

Sip server что это. 00292715000eedc80459d8080f60d0d4. Sip server что это фото. Sip server что это-00292715000eedc80459d8080f60d0d4. картинка Sip server что это. картинка 00292715000eedc80459d8080f60d0d4

Итак, на сегодня, август 2012 года, мы имеем два активно развивающихся проекта: Kamailio (или SIP router) и OpenSIPS.

Для начала давайте сравним некоторые статистические данные:

ПараметрKamailioOpenSIPS
Число коммитов за 2011 год802593
Число коммитов за 2012 год (по август включительно)11991015
Последняя (devel) версия3.41.9
Число строк c-кода (без пустых и комментариев)411940228301
Количество модулей145117

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

Следующее, что можно сравнить — это модули. Какие-то из них одинаковые, какие-то разные. Модули с одинаковыми названиями зачастую происходят от одних и тех же модулей раннего kamailio, но за столько лет многие функции могут различаться параметрами или названиями. Нижеприведенные данные не могут претендовать на объективность, я лишь попытался поверхностно сравнить то, что есть в одном sip-сервере, и чего нет в другом.

KamailioобщиеOpenSIPS
Аккаунтинг и аутентификация
Radius
ACC_RADIUS
Accounting module for RADIUS backend
AUTH_RADIUS
RADIUS-backend authentication module
MISC_RADIUS
Generic RADIUS functions, replaces avp_radius, uri_radius and group_radius
AAA_RADIUS
RADIUS backend for the AAA API
AUTH_AAA
AAA-backend authentication module
Diameter
CDP
C Diameter Peer — core communication engine
CDP_AVP
C Diameter Peer — application extensions
AUTH_DIAMETER
DIAMETER-backend authentication module
Поддержка скриптов на других языках
KamailioобщиеOpenSIPS
APP_LUA
Execute embedded Lua scripts
APP_MONO
Execute embedded managed code — C#, VisualBasic.NET, Java, Java Script
APP_PYTHON
Execute embedded Python scripts
PERL
embed execution of Perl function
CPL-C
CPL interpreter module
LUA
Call LUA scripts from OpenSIPS cfg
PYTHON
Python scripting support
Базы данных, включая nosql
KamailioобщиеOpenSIPS
DB_CASSANDRA
Cassandra database server connector
DB_CLUSTER
Generic database connectors clustering
DB_SQLITE
SQLITE-backend for database API module
HTABLE
Generich Hash Table container in shared memory
MATRIX
Matrix operations
MEMCACHED
Memcached connector module
NDB_REDIS
Connector to REDIS NoSQL Database engine
DB_BERKELEY
Berkeley DB driver for DB API
DB_FLATSTORE
Fast writing-only text-backend for database module
DB_MYSQL
MYSQL-backend for database API module
DB_ORACLE
ORACLE-backend for database API module
DB_POSTGRES
POSTGRES-backend for database API module
DB_TEXT
Text-backend for database API module
DB_UNIXODBC
unixODBC driver module
LDAP
LDAP connector
PERLVDB
Perl Virtual Database engine
CACHEDB_CASSANDRA
Cassandra Implementation of CacheDB
CACHEDB_LOCAL
Local Implementation of CacheDB
CACHEDB_MEMCACHED
Memcached Implementation of CacheDB
CACHEDB_REDIS
Redis Implementation of CacheDB
DB_HTTP
HTTP-backend for DB API
DB_VIRTUAL
Middle-layer DB mixer

* в opensips помимо DB API добавился CACHEDB API, что систематизирует работу с nosql-бэкэндами.

Поддержка черных списков
Kamailioобщие
BLST
Blacklisting API for config
USERBLACKLIST
User black/white listing
Механизмы management interface
KamailioобщиеOpenSIPS
MI_RPC
RPC support for Management Interface
MI_DATAGRAM
DATAGRAM (unix and network) support for Management Interface
MI_FIFO
FIFO support for Management Interface
MI_XMLRPC
XMLRPC support for Management Interface
MI_HTTP — HTTP support for Management Interface
Механизм PRESENCE
KamailioобщиеOpenSIPS
PRESENCE_CONFERENCE
Extension to Presence server for conference events handling
PRESENCE_PROFILE
Presence server module — user profile extensions — RFC6080
PRESENCE_REGINFO
Extension to Presence server for registration info replication (RFC3680)
PUA_REGINFO
Extension to PUA server for registration info replication (RFC3680)
PRESENCE
Presence server module — common API
PRESENCE_DIALOGINFO
Extension to Presence server for Dialog Info
PRESENCE_MWI
Extension to Presence server for Message Waiting Indication
PRESENCE_XML
Presence server module — presence & watcher info and XCAP
PUA
Common API for presence user agent client
PUA_BLA
BLA extension for PUA
PUA_DIALOGINFO
Dialog-Info extension for PUA
PUA_MI
MI extension for PUA
PUA_USRLOC
USRLOC extension for PUA
PUA_XMPP
XMPP extension for PUA (SIMPLE-XMPP presence gateway)
PRESENCE_CALLINFO
Extension to Presence server for Call-Info
PRESENCE_XCAPDIFF
Extension to Presence server for XCAP-DIFF event
Поддержка XCAP
Kamailioобщие
XCAP_SERVER
XCAP server implementation
XCAP_CLIENT
XCAP client implementation
Функции TLS
KamailioOpenSIPS
TLS
TLS operations module
TLSOPS
TLS operations module
Скрытие топологии, поддержка B2B
KamailioOpenSIPS
TOPOH
Topology hiding module
B2B_ENTITIES
Back-to-Back User Agent Entities
B2B_LOGIC
Back-to-Back User Agent Logic
MANGLER
SIP mangler module

* kamailio не поддерживает b2b, у opensips функция скрытия топологии встроена в модуль DIALOG

Поддержка RPC
Kamailio
CTL
Control connector for RPC interface (fifo, unixsock, tcp, udp)
JSONRPC-C
JSON-RPC client over netstrings protocol
MI_RPC
RPC support for Management Interface
XHTTP
Basic HTTP request handling server
XHTTP_RPC
RPC commands handling over HTTP
XMLRPC
XMLRPC connector for RPC interface
Маршрутизация звонков, LCR, балансировка
KamailioобщиеOpenSIPS
LCR
Least Cost Routing module
PREFIX_ROUTE
Execute config file route blocks based on prefix
CARRIERROUTE
routing extension suitable for carriers
CALL_CONTROL
PrePaid application module
DIALPLAN
Dialplan management
DISPATCHER
Dispatcher module
DROUTING
Dynamic Routing / LCR
PDT
Prefix-to-Domain translator module
CLOSEDDIAL
PBX-like dialling features
LOAD_BALANCER
Load Balancer (for calls) module
Различные уникальные функции
KamailioOpenSIPS
ASYNC
Asynchronous SIP request handling functions
DEBUGGER
Interactive config debugger
DMQ
Distributed Message Queue System using SIP
IPTRTPPROXY
NAT traversal module using kernel for media relay
MQUEUE
Message queue system for config file
MTREE
Generic memory caching system using tree indexes
PDB
Number portability module
P_USRLOC
Partitioned and distributed user location services
PIPELIMIT
Traffic shaping policies
PURPLE
Multi-protocol gateway using Purple library
RTIMER
Execute config route blocks on timer basis
TMREC
Match time recurrences defined based on RFC2445
XMLOPS
XML operations in config file using XPATH
DNS_CACHE
Module for caching DNS records that can be used with any Key-Value back-end
EVENT_DATAGRAM
Event datagram module
EVENT_RABBITMQ
Event RabbitMQ client module
HTTPD
Embedded HTTP server
IDENTITY
SIP Identity implementation
OPTIONS
OPTIONS server replier module
SIGNALING
SIP signaling module
STUN
Built-in STUN server
UAC_AUTH
UAC Authentication functionality
UAC_REGISTRANT
SIP Registrant implementation module
Модули, дублирующие функционал конкурента или имеющие функции, включенные в ядро
KamailioOpenSIPS
COUNTERS
Internal counter API for config
IPOPS
IP and DNS related operations for configuration file
KEX
Kamailio core extensions module
PV
Module holding Pseudo-Variables
SANITY
SIP message formatting sanity checks
SDPOPS
SDP operations
SIPUTILS
SIP utilities
SQLOPS
SQL operations
TEXTOPSX
Extra text operations
TMX
Transaction management extenstions module
URI_DB
URI operation with database support module
UTILS
A set of useful functions
GFLAGS
Global shared flags module
SIPMSGOPS
SIP operations module
URI
Generic URI operation module
XLOG
Advanced logger module
Общие модули (в первую очередь по названию, могут сильно отличаться по функциям)
ALIAS_DB
Database SIP aliases module
AVPOPS
AVP operation module
BENCHMARK
Config file benchmarking
CFGUTILS
Different config utilities
DIALOG
Dialog support module
DIVERSION
Diversion header insertion module
DOMAIN
Multi-domain support module
DOMAINPOLICY
Policies to connect federations
ENUM
ENUM lookup module
EXEC
External exec module
GROUP
User-groups module with DB-backend
H350
H350 implementation
IMC
Instant Messaging Conferencing module
JABBER
JABBER IM and PRESENCE interconnection module
JSON
JSON packing function
MAXFWD
Max-Forward processor module
MEDIAPROXY
NAT traversal module
MSILO
SIP message silo module
NATHELPER
NAT traversal helper module
NAT_TRAVERSAL
NAT traversal module
OSP
OSP peering module
PATH
Path support for SIP frontending
PEERING
Radius peering module
PERMISSIONS
Permissions control module
PIKE
Flood detector module
QOS
QOS (RTP) module
RATELIMIT
SIP traffic shaping module
REGEX
RegExp via PCRE library
REGISTRAR
SIP Registrar implementation module
RLS
Resource List Server implementation
RR
Record-Route and Route module
RTPPROXY
NAT traversal using RTPProxy module
SEAS
Sip Express Application Server (interface module)
SIPCAPTURE
SipCapture module
SIPTRACE
SipTrace module
SL
Stateless replier module
SMS
SIP-to-SMS IM gateway module
SNMPStats
SNMP interface for statistics module
SPEEDDIAL
Per-user speed-dial controller module
SST
SIP Session Timer support
STATISTICS
Script statistics support
TEXTOPS
Text operations module
TM
Transaction (stateful) module
UAC
UAC functionalies (FROM mangling and UAC auth)
UAC_REDIRECT
UAC redirection functionality
USRLOC
User location implementation module
XMPP
SIP-to-XMPP Gateway (SIP to Jabber/Google Talk)

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

kamailio продолжает развитие текущего sip-сервера.

В тоже время opensips работают над версией 2.0, которая будет принципиально отличаться по архитектуре. По мнению разработчиков, старый дизайн не может решить некоторые проблемы. Новый сервер планируется полностью асинхронным, что поможет устранить, к примеру, архитектурный недочёт с блокировками при обработке tcp-соединений.

Планируемая архитектура представляет из себя несколько последовательных уровней.

Самый низкий уровень — ядро. Оно отвечает за sip-функционал, который может быть выполнен автоматически, без конфигурации.
Sip server что это. image loader. Sip server что это фото. Sip server что это-image loader. картинка Sip server что это. картинка image loader

Следующий уровень — маршрутизация. В ней будет реализован функционал, близкий к тому, который сейчас используется для маршрутизации в opensips.
Sip server что это. image loader. Sip server что это фото. Sip server что это-image loader. картинка Sip server что это. картинка image loader

И последний уровень — уровень приложений. С его помощью можно будет выполнять операции на самом высоком уровне, используя языки такие, как python.
Sip server что это. image loader. Sip server что это фото. Sip server что это-image loader. картинка Sip server что это. картинка image loader

Вот так будет выглядеть взаимодействие приложений с ядром.Sip server что это. image loader. Sip server что это фото. Sip server что это-image loader. картинка Sip server что это. картинка image loader

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

В данный момент лично я выбираю opensips, т.к. на мой взгляд у разработчиков более системный подход к организации модулей и введению api в случаях, когда это необходимо. А также из-за наличия в opensips cachedb api, B2B и встроенного STUN-сервера.

Но повторюсь, это лишь мое личное мнение, оно субъективно и, возможно, для ваших задач больше будет подходить другой сервер. В любом случае, надеюсь, что эта статья хоть немного прольет свет на отличия двух серверов тем, кто не может или не хочет с этим разбираться.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *