Sip-протокол: описание

Сообщения протокола SIP

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

Пример запроса INVITE:

INVITE sip:nikolia@example.ru SIP/2.0
Record-Route: <sip:nikolia@10.0.0.10;lr>
Via: SIP/2.0/UDP 10.0.0.10;branch=z9hG4bK3af7.0a6e92f4.0
Via: SIP/2.0/UDP 192.168.0.2:5060;branch=z9hG4bK12ee92cb;rport=5060
From: "78128210000" <sip:78128210000@neutral.ru>;tag=as149b2d97
To: <sip:nikolia@example.ru>
Contact: <sip:78128210000@neutral.ru>
Call-ID: 3cbf958e6f43d91905c3fa964a373dcb@example.ru
CSeq: 103 INVITE
Max-Forwards: 16
Date: Wed, 10 Jan 2001 13:16:23 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: 394

v=0
o=root 3303 3304 IN IP4 10.0.0.10
s=session
c=IN IP4 10.0.0.10
t=0 0
m=audio 40358 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=sendrecv

Запросы

  1. INVITE — Приглашает пользователя к сеансу связи. Обычно содержит SDP-описание сеанса.
  2. ACK — Подтверждает приём ответа на запрос INVITE.
  3. BYE — Завершает сеанс связи. Может быть передан любой из сторон, участвующих в сеансе.
  4. CANCEL — Отменяет обработку ранее переданных запросов, но не влияет на запросы, которые уже закончили обрабатываться.
  5. REGISTER — Переносит адресную информацию для регистрации пользователя на сервере определения местоположения.
  6. OPTIONS — Запрашивает информацию о функциональных возможностях сервера.

Но в процессе развития, в протокол было добавлено еще несколько типов запросов, которые дополнили его функциональность:

Ответы на запросы

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

Тип ответа кодируется трёхзначным числом, самой важной является первая цифра, которая определяет класс ответа:

  1. 1ХХ — Информационные ответы; показывают, что запрос находится в стадии обработки. Наиболее распространённые ответы данного типа — 100 Trying, 180 Ringing, 183 Session Progress.
  2. 3ХХ — Финальные ответы, информирующие оборудование вызывающего пользователя о новом местоположении вызываемого пользователя, например, ответ 302 Moved Temporary.
  3. 4ХХ — Финальные ответы, информирующие об отклонении или ошибке при обработке или выполнении запроса, например, 403 Forbidden или классический для протокола HTTP ответ 404 Not Found. Другие примеры: 406 Not Acceptable — неприемлемый (по содержанию) запрос, 486 Busy Here — абонент занят или 487 Request Terminated — вызывающий пользователь разорвал соединение не дожидаясь ответа (отмена запроса).
  4. 5ХХ — Финальные ответы, информирующие о том, что запрос не может быть обработан из-за отказа сервера, 500 Server Internal Error.
  5. 6ХХ — Финальные ответы, информирующие о том, что соединение с вызываемым пользователем установить невозможно, например, ответ 603 Decline означает, что вызываемый пользователь отклонил входящий вызов.

Транспортный уровень (англ. Transport Layer)

Транспортный уровень обеспечивает:

  • сквозное соединение;
  • сегментацию данных приложений из верхнего уровня;
  • надежность данных.

Транспортный уровень в качестве основных использует следующие протоколы:

  • UDP (англ. User Datagram Protocol);
  • TCP (англ. Transmission Control Protocol);
  • RTP (англ. Real-time Transport Protocol).

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

Протокол UDP

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

Протокол RTP

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

Основная цель работы протокола RTP сводится к присваиванию всем исходящим пакетам временных меток, которые впоследствии обрабатываются приемной стороной. Благодаря этому появляется возможность принимать информацию в том порядке, в котором она была отправлена, снижается влияние неравномерности временных интервалов прохождения пакетов в сети, восстанавливается синхронизация между видео и аудио данными.

IPtel

IPTel.org предоставляет телекоммуникационные услуги IP и размещает несколько проектов, таких как SIP Express Router, SIP Express Media Server и SIP Express Router Web. IPTel также предоставляет обширную информацию о SIP-коммуникациях на своем веб-сайте. Бесплатный SIP-аккаунт, который предлагает IPTel, находится в хорошем качестве и доступен только при простой регистрации.

Владельцу аккаунта назначена пожизненная SIP-учетная запись, которую можно использовать для аудио- и видео звонков с пользователями IPTel.org и других доменов. Также, можно получить доступ к службам SIP-телефонии через веб — браузеры, не нуждаясь в специальном оборудовании, SIP-совместимом телефоне, программном телефоне или приложении для смартфона.

Преимущества

  • Простой сервисный портфель.
  • Бесплатный на все время использования.

Недостатки

  • Нет вариантов для завершения PTSN — так что это только SIP-to-SIP.
  • Веб-сайт Barebones поднимает вопросы о том, как долго компания будет вокруг.

Как позвонить в Россию из Беларуси через интернет

Для того, чтобы осуществить дешёвые звонки из Беларуси в Россию необходимо скачать мобильные приложения ZoiPer или Linphone. Уже сейчас VOIPSCAN работает над собственным приложением, через которое можно выгодно звонить в любую страну. Пополнять счёт можно любым удобным для вас способом: Webmoney, Qiwi Кошелек, Альфа Клик, Сбербанк Online, а также с помощью кредитных карт Visa и Master Card.

Многие люди выбирают для дешёвых звонков из Беларуси в Россию бесплатные программы и приложения такие как WhatsApp или Skype, но дело в том, что бесплатны они только в случае подключенного интернета или наличия такого же приложения как, например, WhatsApp у абонента. Если же звонок необходимо осуществить на телефон, то такие приложения перестают быть бесплатными. Стоимость международных переговоров даже через Skype обходится дороже, именно поэтому поиск наиболее дешёвого сервиса для звонков в другие страны становится очень актуальным. Подключившись к VOIPSCAN, вы всегда можете просчитать стоимость разговора в личном кабинете и заранее знать сколько будет стоить тот или иной звонок. Тарифы, предлагаемые VOIPSCAN позволяют звонить близким в любое время, не боясь, что счёт опустеет через пару минут разговора. Не стоит ограничивать себя в общение с родными, коллегами и друзьями, только потому что они находятся в другой стране.

Как позвонить из Белоруссии в Россию с домашнего телефона

Если вас все таки интересует старый способ совершения звонков, ниже мы опишем некоторые из них.

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

Чтобы звонить из Белоруси в Россию с домашнего на домашний, необходимо набирать номер следующим образом:

8 10 7 495 123-45-67
Где 8 – выход на межгород, 10 — международный выход, 7 – код России, 495 – код города в России, 123 45 67 – номер телефона.

Чтобы позонить из Белоруссии в Россию с домашнего телефона на мобильный необходимо набирать следующее:

8~10 7 903-123-45-67
Где 8~10 — выход на международнюю связь, 7 — код России.

Как позвонить из Белоруссии в Россию с мобильного телефона

Чтобы позвонить из Беларуси в Россию с мобильного на домашний нужно набрать следующие цифры:

+7-телефонный код города(например 495)-номер вызываемого абонента

Чтобы звонить из Белоруссии в Россию с мобильного телефона на мобильный, нужно набирать номер следующим образом:

+7-код мобильного оператора(например 903 Билайн)-номер вызываемого абонента, если говорить простым языком, то при наборе нужно вводить +79031234567(номер вызвываемого абонента).

Принципы протокола

Разработкой занималась организация IETF MMUSIC Working Group. Протокол начал разрабатываться в 1996 году Хенингом Шулзри (Henning Schulzrinne, Колумбийский университет) и Марком Хэндли (Университетский колледж Лондона). В ноябре 2000 года SIP был утверждён как сигнальный протокол проекта 3GPP и основной протокол архитектуры IMS (модификация 3GPP TS.24.229. Наряду c другим распространённым протоколом H.323, SIP — один из протоколов, лежащих в основе Voice over IP.
В основу протокола рабочая группа MMUSIC заложила следующие принципы:

  • Простота: включает в себя только шесть методов (функций)
  • Независимость от транспортного уровня, может использовать UDP, TCP, ATM и т. д.
  • Персональная мобильность пользователей. Пользователи могут перемещаться в пределах сети без ограничений. Это достигается путём присвоения пользователю уникального идентификатора. При этом набор предоставляемых услуг остается неизменным. О своих перемещениях пользователь сообщает с помощью сообщенияREGISTER своему серверу.
  • Масштабируемость сети. Структура сети на базе протокола SIP позволяет легко её расширять и увеличивать число элементов.
  • Расширяемость протокола. Протокол характеризуется возможностью дополнять его новыми функциями при появлении новых услуг.
  • Интеграция в стек существующих протоколов Интернет. Протокол SIP является частью глобальной архитектуры мультимедиа, разработанной комитетом IETF. Кроме SIP, эта архитектура включает в себя протоколы RSVP, RTP, RTSP, SDP.
  • Взаимодействие с другими протоколами сигнализации. Протокол SIP может быть использован совместно с другими протоколами IP-телефонии, протоколами ТфОП, и для связи с интеллектуальными сетями.

Протокол SIP – описание и операции

Session Initiation Protocol не зависит от основного транспортного протокола. Он работает на основе Transmission Control Protocol (TCP), пользовательского Datagram Protocol (UDP) или протокола управления передачей потока (SCTP). Он может быть использован как для передачи данных между двумя сторонами (одноадресной рассылки), так и для многоадресной сессии.

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

Каждый ресурс сети Session Initiation Protocol – агент пользователя или ящик голосовой почты – распознаётся с помощью идентификатора распределения ресурса (URI), функционирующего на основе общего стандартного синтаксиса, который также используется в веб-сервисах и электронной почте. Схема URI, которая используется для SIP, имеет вид логической цепочки: имя пользователя: пароль @ хост: порт.

Передача информации о нажатых кнопках

Иногда после установления сессии, во время разговора, требуется доступ к дополнительным видам обслуживания (ДВО) — удержание вызова, перевод, голосовая почта и т.п. — которые реагируют на определенные сочетания нажатых кнопок.

Так, в обычной телефонной линии есть два способа набора номера:

  • Импульсный — исторически первый, использовался в основном в телефонах с дисковым номеронабирателем. Набор происходит за счет последовательного замыкания и размыкания телефонной линии согласно набираемой цифре.
  • Тоновый — набор номера DTMF-кодами (Dual-Tone Multi-Frequency) — каждой кнопке телефона соответствует своя комбинация двух синусоидальных сигналов (тонов). Выполняя алгоритм Гёрцеля можно довольно просто определить нажатую кнопку.

Во время разговора импульсный способ неудобен для передачи нажатой кнопки. Так, на передачу «0» требуется приблизительно 1 секунда (10 импульсов по 100 мс: 60 мс — разрыв линии, 40 мс — замыкание линии) плюс 200 мс на паузу между цифрами. К тому же во время импульсного набора будут часто слышны характерные щелчки. Поэтому в обычной телефонии используется только тоновый режим доступа к ДВО.

В VoIP-телефонии информация о нажатых кнопках может передаваться тремя способами:

  1. DTMF Inband — генерация звукового тона и передача его внутри аудиоданных (текущего RTP-канала) — это обычный тоновый набор.
  2. RFC2833 — генерируется специальный RTP-пакет telephone-event, в котором содержится информация о нажатой клавише, громкость и длительность. Номер RTP-формата, в котором будут передаваться пакеты DTMF RFC2833, указывается в теле SDP-сообщения. Например: a=rtpmap:98 telephone-event/8000.
  3. SIP INFO — формируется пакет SIP INFO c информацией о нажатой клавише, громкости и длительности.

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

Главное различие между DTMF RFC2833 и SIP INFO: если на SIP-прокси-сервере включена возможность передачи RTP непосредственно между абонентами минуя сам сервер (например, canreinvite=yes в asterisk), то сервер не заметит RFC2833-пакеты, вследствие чего становятся недоступными сервисы ДВО. Передача SIP-пакетов всегда осуществляется через SIP-прокси-серверы, поэтому ДВО всегда будут работать.

Телефония

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

SIP-телефоны могут быть реализованы в виде аппаратного устройства либо в качестве софтфона. Поскольку производители всё чаще используют этот протокол в качестве стандартной платформы телефонии (в последние годы – посредством 4G), различие между аппаратной и программной основах SIP-телефонов остаются размытыми. Кроме того, элементы Session Initiation Protocol сегодня реализованы в основных функциях встроенного программного обеспечения многих IP-совместимых устройств. Примерами могут служить многие устройства от Nokia и BlackBerry, а SIP-протокол на Android в настоящее время является незаменимым сервисом.

В SIP, как в HTTP, агент пользователя может идентифицировать себя с помощью сообщения поля заголовка User-Agent, содержащего текстовое описание программного обеспечения/аппаратных средств/наименований продукции. Поле агента пользователя передаётся в сообщениях запроса. Это означает, что принимающий сервер SIP может видеть эту информацию. Сетевые элементы Session Initiation Protocol иногда могут хранить эту информацию. И это может быть полезным при диагностике проблем совместимости.

Безопасность

Если требуется безопасная передача данных, схема предписывает, что каждый из элементов сети, по которому перенаправляется запрос до целевого домена, должен быть обеспечен Transport Layer Security (TLS). Последний шаг от прокси-сервера к целевому домену при этом обязан функционировать в соответствии с местными настройками по безопасности. TLS защищает от злоумышленников, которые пытаются перехватить данные в момент их отправки. Но она не обеспечивает реальную безопасность до конца и не может предотвратить слежение и кражу информации. Как же SIP-протокол, порты которого должны быть надёжно соединены, работает с другими службами сети? Он работает совместно с несколькими другими протоколами и участвует только в части сигнализации сеанса связи. SIP-клиенты, как правило, используют TCP или UDP с номерами портов 5060 или 5061 для подключения к SIP-серверам и другим конечным точкам SIP. Порт 5060 обычно используется для незашифрованного сигнального трафика, тогда как порт 5061 тесно «дружит» с Transport Layer Security (TLS).

Способ 3: звонки с мобильного через NetCall

Чтобы совершать дешевые звонки в Россию с мобильного, установите на телефон программу NetCall. Отправившись в поездку, вам достаточно будет купить «местную» SIM-карту с бесплатными входящими звонками. С помощью NetCall вы сможете заказать входящий звонок на неё и связаться с любым другим абонентом.

Программа NetCall представляет собой нетребовательное к мобильным устройствам приложение, поэтому использовать её можно практически на любом смартфоне. Всё, что следует при этом учитывать — используемая SIM-карта не должна находиться в роуминге, иначе стоимость звонков будет слишком высока.

Возможности приложения. С помощью NetCall можно заказать соединение с абонентом любого мобильного оператора, в какой бы точке планеты он ни находился. Приложение позволяет совершать звонки на любые телефонные номера, а также звонить всем пользователям SIPNET.

После того, как вы закажете соединение, на ваш мобильный телефон поступит входящий вызов. Примите вызов, и сервер начнёт установку соединения с вашим собеседником. Это происходит быстро и не вызывает сложностей даже у начинающих пользователей. Телефонные номера можно выбирать из контактов, сохранённых в телефоне. Приложение не запрашивает пароли и другую информацию.

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

  • Мобильная ОС Android (версия 2.0 и выше), iOS (4.3 и более поздние версии), Windows Phone (8.1, 8), Windows 10 Mobile, Symbian или любая другая ОС с поддержкой Java;

  • Наличие интернет-соединения (3G, GPRS, EDGE, Wi-Fi).

К памяти телефона приложение не требовательно — в зависимости от версии NetCall занимает от 30 KB до 4,9 MB.

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

Теперь, чтобы совершить недорогой звонок домой из отпуска, достаточно купить и установить в телефон «местную» SIM-карту с бесплатными входящими звонками. Активируйте её в NetCall (Настройки → Другая SIM), введите или найдите среди контактов номер абонента и дождитесь входящего соединения.

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

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

Adblock
detector