Sip — session description protocol

Содержание:

Поля, используемые в протоколе

Рассмотрим, какие поля могут использоваться в сообщениях SDP. Необязательные элементы отмечены в списке символом `*’.

Описание сеанса

v= (версия протокола, в данный момент версия всегда 0)
o= (идентификаторы создателя/владельца и сессии).
s= (имя сессии, не может быть пустым)
i=* (информация о сессии)
u=* (URI - адрес, используемый WWW-клиентами, с дополнительной информацией о сессии)
e=* (E-mail адрес лица, ответственного за конференцию)
p=* (номер телефона лица, ответственного за конференцию)
c=* (информация для соединения - не требуется, если есть в описании всех медиаданных)
b=* (информация о занимаемой полосе пропускания канала связи)
Одна и более строк с описанием параметров времени (Смотри ниже)
z=* (установка для временной зоны)
k=* (ключ шифрования)
a=* (одна или несколько строк с описанием атрибутов сессии, см. ниже)

Описание данных передачи мультимедиа

m= (тип медиаданных и транспортный адрес устройства)

Строка m= содержит точное название медиаданных (возможные значения audio, video или message), точный транспортный адрес (порт) и перечисление поддерживаемых типов данных по номерам (payload type).

i=* (заголовок медиаданных)
c=* (информация для соединения - не обязательно, если описана в параметрах сеанса)
b=* (информация о занимаемой полосе пропускания канала связи)
k=* (ключ шифрования)
a=* (от нуля и более строк с описанием атрибутов медиаданных, см. ниже)

Атрибуты медиа сессии

Строка a= может содержать следующие параметры:

  • a=rtpmap:PT КОДЕК — уточнение типа кодека, если это необходимо, где PT — цифровое значение payload type, а кодек — название кодека и частота дискретизации.
  • a=fmtp — дополнительные атрибуты кодека, например, использование VAD или рекомендуемый битрейт.
  • a=ptime:FPP — размер RTP-пакета — или продолжительность (в миллисекундах) передаваемого отрезка медиа-данных в одном пакете RTP. В данном случае значение FPP — это произведение длины одного фрейма оцифрованного звука на количества фреймов в одном RTP-пакете. Таким образом, если для кодека используется 10 мс в каждом фрейме, а фреймов в одном пакете 3, то ptime примет значение 30. Поле не является обязательным, но может использоваться для изменения влияния «накладных расходов» на пропускную способность сети при кодирования/декодирования и передаче аудио или видео потока. Чем выше число фреймов в пакете, тем больше размер пакета (снижается число дополнительных заголовков для каждого пакета, а значит и нагрузка на сеть). С другой стороны, при передаче пакетов большого размера по UDP (а он используется в качестве основы RTP в большинстве случаев), характерная для UDP потеря части пакетов, может привести к потери значительной части полезных данных. Для большинства стандартных кодеков определён рекомендуемый размер RTP-пакета и чаще всего имеет значение 20 мс (см. Профили данных RTP).
  • a=РЕЖИМ — режим приёма и передачи, может принимать значения: sendonly — только отправка данных, recvonly — только приём, sendrecv — режим одновременных приёма и передачи (полнодуплексный режим), inactive — медиа-сессия неактивна

Introduction

(or Unified Plan, Plan B and the answer to life, the universe and eveything!)

Developers that want to support both Firefox and Chrome have to deal with this
situation and implement some kind of interoperability layer between Chrome and
it derivatives and Firefox.

The most substantial difference between Unified Plan and Plan B is how they
represent media stream tracks. Unified Plan extends the standard way of
encoding this information in SDP which is to have each RTP flow (i.e., SSRC)
appear on its own m-line. So, each media stream track is represented by its own
unique m-line. This is a strict one-to-one mapping; a single media stream
track cannot be spread across several m-lines, nor may a single m-line
represent multiple media stream tracks.

Plan B takes a different approach, and creates a hierarchy within SDP; a m=
line defines an «envelope», specifying codec and transport parameters, and
a=ssrc lines are used to describe individual media sources within that
envelope. So, typically, a Plan B SDP has three channels, one for audio, one
for video and one for the data.

Session Description Parameters

Session description (* denotes optional)

  • v = (protocol version)
  • o = (owner/creator and session identifier)
  • s = (session name)
  • i =* (session information)
  • u =* (URI of description)
  • e =* (email address)
  • p =* (phone number)
  • c =* (connection information — not required if included in all media)
  • b =* (bandwidth information)
  • z =* (time zone adjustments)
  • k =* (encryption key)
  • a =* (zero or more session attribute lines)

Protocol Version

The v= field contains the SDP version number. Because the current version of SDP is 0, a valid SDP message will always begin with v = 0.

Origin

The o= field contains information about the originator of the session and session identifiers. This field is used to uniquely identify the session.

  • The field contains −

    o=<username><session-id><version><network-type><address-type>

  • The username parameter contains the originator’s login or host.

  • The session-id parameter is a Network Time Protocol (NTP) timestamp or a random number used to ensure uniqueness.

  • The version is a numeric field that is increased for each change to the session, also recommended to be a NTP timestamp.

  • The network-type is always IN for Internet. The address-type parameter is either IP4 or IP6 for IPv4 or IPv6 address either in dotted decimal form or a fully qualified host name.

Session Name and Information

The s= field contains a name for the session. It can contain any nonzero number of characters. The optional i= field contains information about the session. It can contain any number of characters.

Connection Data

The c= field contains information about the media connection.

  • The field contains −

    c =<network-type><address-type><connection-address>

  • The network-type parameter is defined as IN for the Internet.

  • The address-type is defined as IP4 for IPv4 addresses and IP6 for IPv6 addresses.

  • The connection-address is the IP address or host that will be sending the media packets, which could be either multicast or unicast.

  • If multicast, the connection-address field contains −

    connection-address=base-multicast-address/ttl/number-of-addresses

where ttl is the time-to-live value, and number-of-addresses indicates how many contiguous multicast addresses are included starting with the base-multicast address.

Bandwidth

The optional b= field contains information about the bandwidth required. It is of the form −

b=modifier:bandwidth − value

Time, Repeat Times, and Time Zones

The t= field contains the start time and stop time of the session.

t=start-time stop-time

The optional r= field contains information about the repeat times that can be specified in either in NTP or in days (d), hours (h), or minutes (m).

The optional z= field contains information about the time zone offsets. This field is used if are occurring session spans a change from daylight savings to standard time, or vice versa.

Media Announcements

The optional m= field contains information about the type of media session. The field contains −

m= media port transport format-list

  • The media parameter is either audio, video, text, application, message, image, or control. The port parameter contains the port number.

  • The transport parameter contains the transport protocol or the RTP profile used.

  • The format-list contains more information about the media. Usually, it contains media payload types defined in RTP audio video profiles.

Example:
m = audio 49430 RTP/AVP 0 6 8 99

One of these three codecs can be used for the audio media session. If the intention is to establish three audio channels, three separate media fields would be used.

Attributes

The optional a= field contains attributes of the preceding media session. This field can be used to extend SDP to provide more information about the media. If not fully understood by a SDP user, the attribute field can be ignored. There can be one or more attribute fields for each media payload type listed in the media field.

Attributes in SDP can be either

  • session level, or
  • media level.

Session level means that the attribute is listed before the first media line in the SDP. If this is the case, the attribute applies to all the media lines below it.

Media level means it is listed after a media line. In this case, the attribute only applies to this particular media stream.

SDP can include both session level and media level attributes. If the same attribute appears as both, the media level attribute overrides the session level attribute for that particular media stream. Note that the connection data field can also be either session level or media level.

Установка Rheingold

Скачайте Rheingold (ссылки внизу страницы). Для диагностики будет достаточно скачать всё, кроме архивов SDP, BLP и ISTA-P (если есть в раздаче). Эти архивы нужны в том случае, если у вас имеется ICOM. Rheingold же — это ISTA-D. Чтобы научиться определять что есть что, нужно смотреть на префикс в конце: D — Diagnostics, P — Programming.

Для программирования необходимо использовать ISTA-P, но в настройке есть свои нюансы.

После того, как скачали файлы, откройте папку Tools. Начинаем установку дополнительных программ:

Установка EDIABAS

Заходим в папку Tools, находим установщик Patched_EDIABAS_7.3.0.msi (возможно, у Вас он будет называться по другому) и устанавливаем его:

Выбираем этот путь

Ничего сложного в установке, жмём постоянно Далее.

Установка Vcredist

Заходим в папку Tools\vcredist. Если у вас 32-битная система, то устанавливайте все дистрибутивы из папки x86, а если 64-битная система — то всё из двух папок: x86 и x64. Если какие-либо у вас уже есть (покажет сообщение) — просто пропускайте их, отменяя установку.

Установка Net Framework

Входим в папку Tools\Net Framework и устанавливаем все версии фраймворка. Так же Вам нужно скачать .Net Framework 3.5 с официального сайта Microsoft. Если у вас Windows 7, он идёт вместе с обновлением SP1 (можно скачать через Центр обновления Windows).

Распаковка архива ISTA-D

Распакуйте ISTA-D x.xx.xx.7z в любую папку, к примеру — F:\BMW\Rheingold. Для распаковки используйте последнюю версию 7-Zip.

Так выглядит конечная папка после распаковки архива

Установка баз данных для Rheingold

Распакуйте архивы (RU/EN/DE x.xx.xx.7z) из папки SQLiteDBs в папку F:\BMW\Rheingold, чтобы конечный результат был таким, если Вам нужен только русский язык:

Файлы OTHER нужны для работы вкладки Основные признаки. Если нужны другие языки — так же по аналогии

Активация Rheingold

Перед запуском программы зайдите в папку Tools и откройте файл RCleanerV4.4.exe, после чего запустите ISTA-D Reg Fix x64.reg или ISTA-D Reg Fix x86.reg, исходя из разрядности системы (32-битная — x86, 64-битная — x64).

Запустите файл F:\BMW\Rheingold\TesterGUI\bin\Release\ISTAGUI.exe

Жмём Продолжить

Жмём Продолжить

В поле License вводим ключ, который находится в файле Tools\License.txt

Жмём Продолжить

Вводим единицу в поле ISIS

Жмём Завершить

Далее выскочит уведомление, просто нажмите OK и активация завершится.

Внимание! С версии 4.20 возможен сбой активации, когда не работает кнопка Next. Для завершения активации нажмите Cancel и переоткройте программу

Настройка Rheingold

Рассмотрим частый пример настройки для E-NET кабеля (другие случаи описаны в файле FAQ-RU.pdf). Запустите файл F:\BMW\Rheingold\TesterGUI\bin\Release\ISTAGUI.exe и вверху справа нажмите на значок настроек

Нажмите на вкладку Сервисный разъем, выберите те же пункты, указанные на скриншоте, после чего примените, нажав кнопку OK.

Так же понадобится изменить настройки адаптера сетевой карты. Для этого войдите в Панель управления и найдите Центр управления сетями и общим доступом:

Выберите пункт в меню слева Изменение параметров адаптера:

Далее вам необходимо найти ярлык Подключение по локальной сети, где будет нарисован штекер кабеля. Если их будет несколько (как в нашем случае), то необходимо найти тот, где есть название сетевой платы. Выберите Свойства:

Выбираем пункт Протокол Интернета версии 4 (TCP/IPv4) и нажимаем Свойства:

Нажимаем Использовать следующий IP-адрес, и вводим IP-адрес 169.254.1.1. Маска подсети подставится автоматически, когда вы нажмете на вторую строку в любую ячейку:

Нажимаем ОК, чтобы сохранить результаты. Остальные окна можно закрыть.

Качайте всегда актуальную (последнюю) версию Rheingold, так как она содержит в себе последние улучшения и дополнения.

Все раздачи протестированы автором на Windows 7, Windows 8.1 и Windows 10. Работает как на 32-битных (x86), так и на 64-битных системах (x64).

Повторим ещё раз: для обычной диагностики и стандартного функционала не требуется скачивать SDP и ISTA-P из раздач. Если вы не считаете себя продвинутым пользователем, не скачивайте их, тем самым вы ускорите появление программы на компьютере:

Пример скачивания раздачи в клиенте µTorrent. Выбраны все архивы, кроме SDP и ISTA-P

Purpose of SDP

The purpose of SDP is to convey information about media streams in multimedia sessions to help participants join or gather info of a particular session.

  • SDP is a short structured textual description.

  • It conveys the name and purpose of the session, the media, protocols, codec formats, timing and transport information.

  • A tentative participant checks these information and decides whether to join a session and how and when to join a session if it decides to do so.

  • The format has entries in the form of <type> = <value>, where the <type> defines a unique session parameter and the <value> provides a specific value for that parameter.

  • The general form of a SDP message is −

    x = parameter1 parameter2 … parameterN

  • The line begins with a single lower-case letter, for example, x. There are never any spaces between the letter and the =, and there is exactly one space between each parameter. Each field has a defined number of parameters.

Пример SDP сообщения

v=0
o=- 1815849 0 IN IP4 194.67.15.181
s=Cisco SDP 0
c=IN IP4 194.67.15.181
t=0 0
m=audio 20062 RTP/AVP 99 18 101 100
a=rtpmap:99 G.729b/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtpmap:100 X-NSE/8000
a=fmtp:100 200-202

В приведенном выше примере сообщения SDP содержится следующая информация. Пользователь, не имеющий буквенного идентификатора, запрашивает SDP сессию с идентификатором 1815849 и 0 версией. Параметр IN указывает на сетевой протокол создателя сессии, в данном примере “IN” — интернет, IP4 — тип IP-адреса создателя сессии, в данном примере IPv4. Адрес инициатора сессии 194.167.15.181. Имя устройства, инициирующего сессию — Cisco. Медиа-трафик будет ожидаться на устройстве с IP-адресом 194.167.15.181, на порту 20062.

Время начала и окончания сессии жестко не ограничены (t=0 0).

Данное устройство поддерживает набор параметров RTP потока мультимедиа-данных и методы его кодирования (профилей RTP), описанных при помощи типов (payload type) 99, 18, 100 и 101. Это указано в строке m=audio. Ниже, в строчках a=rtpmap, приводится уточнение параметров типов данных — атрибутов кодеков, так как некоторые типы являются динамическими и не могут быть определены однозначно, просто по строке m=audio.

X-NSE с типом 100 — это специфичный кодек NSE, используемый Cisco как внутренняя версия стандартных именованных событий телефонии IETF (NTEs), которые представляют собой специально помеченные пакеты данных, используемые для цифровой передачи тональных сигналов и событий телефонии.

Для payload type 18 уточнений нет, и это может означать, что устройство поддерживает голосовой кодек G.729, вместе с более простой вариацией того же кодека, описанного в приложении Annex A (или кодек G.729a), так как тип данных 18 однозначно закреплён за этими кодеками.

Приведённый порядок перечисления кодеков также указывает на приоритеты выбора того или иного кодека с точки зрения данного устройства.

Протокол SIP

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

Интеграция в стек существующих протоколов Интернеттранспортный протокол реального временипротокол описания параметров связиВзаимодействие с другими протоколами сигнализации

Методы SIP протокола, определенные в SIP RFC.

  • метод SIP: invite : Приглашение другого UA (участника) начать сеанс
  • метод SIP: re-invite: Изменение параметров запущенного сеанса
  • метод SIP: register: Зарегистрировать свое местоположение в сети, используя SIP сервер регистрации
  • метод SIP: ack: Используется для подтверждения приема сообщений INVITE при их обмене.
  • метод SIP: cancel: Отмена приглашения о начале сеанса
  • метод SIP: bye: Завершение сеанса связи
  • метод SIP: options

Расширенные методы SIP протокола из других RFC:

  • SIP method info: Расширение протокола, описанное в RFC 2976
  • SIP method notify: Расширение протокола, описанное в RFC 2848 PINT
  • SIP method subscribe: Расширение протокола, описанное в RFC 2848 PINT
  • SIP method unsubscribe: Расширение протокола, описанное в RFC 2848 PINT
  • SIP method update: Расширение протокола, описанное в RFC 3311
  • SIP method message: Расширение протокола, описанное в RFC 3428
  • SIP method refer: Расширение протокола, описанное в RFC 3515
  • SIP method prack: Расширение протокола, описанное в RFC 3262
  • SIP Specific Event Notification: Расширение протокола, описанное в RFC 3265
  • SIP Message Waiting Indication: Расширение протокола, описанное в RFC 3842
  • SIP method PUBLISH: Расширение протокола, описанное в RFC 3903

Термины и определения, специфичные для SIP

  • Пользовательские терминалы/агенты
  • SIP outbound proxy
  • SIP proxy: SIP прокси сервер.
  • SIP redirect server: SIP сервер переадресации
  • SIP registrar server SIP сервер определения местоположения пользователей/сервер обработки регистраций.
  • SIP URI — как определить соединение SIP, в URL
  • SIP Compression: Компрессия в SIP протоколе
  • SIP DMTF Signalling: Передача DTMF сигналов, используя SIP протокол
  • SIP Authentication: Авторизация в SIP протоколе

Ссылки по теме:

  • SIP simple: Система мгновенных сообщений на основе SIP
  • SDP: Описание протокола описания сеанса (Session Description Protocol)
  • SIP tools
  • SIP SS7 gateways
  • RTP: Протокол передачи данных в реальном времени- этот протокол очень часто использется для передачи голоса.
  • SIP call flows: Examples of SIP call flows
  • безопасность в SIP
  • IAX против SIP
  • SIP-T: Протокол Инициирования Сеанса для Телефонии RFC3372

Внешние ссылки о SIP:

  • PDF файл, описывающий протокол SIP (русский язык)
  • How a SIP server can handle the NAT traversal issue in SIP ?
  • Great SIP tutorial
  • SIPfoundry and in particular the sipX project
  • Columbia University SIP website — lots of diverse info here
  • SIP FAQ: Columbia University SIP FAQ — visit it!
  • SIP Introduction: ftp://ftp.berlios.de/pub/ser/latest/doc/html/sip_introduction.html
  • The SIP Forum: http://www.sipforum.com/
  • Doug Moeller’s full day VOIP tutorial Powerpoint presentation (large 13MB zip file)
  • VOIP Cookbook SIP and H.323
  • The SIP Center Comprehensive information and resources on all things SIP.
  • Packetizer’s SIP Information Site
  • quintum http://www.binnacleita.com/ sip gateways
  • SIP Wiki http://www.toyz.org/cgi-bin/sipwiki.cgi

Оригинал: http://www.voip-info.org/wiki/view/SIP, http://niits.ru/public/2003/011.pdf

Саундтреки

Из фильма В центре вниманияИз фильма Ван ХельсингИз сериала Дневники ВампираИз фильма Скауты против зомбииз фильмов ‘Миссия невыполнима’Из фильма Голодные игры: Сойка-пересмешница. Часть 2OST ‘Свет в океане’OST «Большой и добрый великан»из фильма ‘Новогодний корпоратив’из фильма ‘Список Шиндлера’ OST ‘Перевозчик’Из фильма Книга джунглейиз сериала ‘Метод’Из фильма ТелохранительИз сериала Изменыиз фильма Мистериум. Тьма в бутылкеиз фильма ‘Пассажиры’из фильма ТишинаИз сериала Кухня. 6 сезониз фильма ‘Расплата’ Из фильма Человек-муравейиз фильма ПриглашениеИз фильма Бегущий в лабиринте 2из фильма ‘Молот’из фильма ‘Инкарнация’Из фильма Савва. Сердце воинаИз сериала Легко ли быть молодымиз сериала ‘Ольга’Из сериала Хроники ШаннарыИз фильма Самый лучший деньИз фильма Соседи. На тропе войныМузыка из сериала «Остров»Из фильма ЙоганутыеИз фильма ПреступникИз сериала СверхестественноеИз сериала Сладкая жизньИз фильма Голограмма для короляИз фильма Первый мститель: ПротивостояниеИз фильма КостиИз фильма Любовь не по размеруOST ‘Глубоководный горизонт’Из фильма Перепискаиз фильма ‘Призрачная красота’Место встречи изменить нельзяOST «Гений»из фильма ‘Красотка’Из фильма Алиса в ЗазеркальеИз фильма 1+1 (Неприкасаемые)Из фильма До встречи с тобойиз фильма ‘Скрытые фигуры’из фильма Призывиз сериала ‘Мир Дикого Запада’из игр серии ‘Bioshock’ Музыка из аниме «Темный дворецкий»из фильма ‘Американская пастораль’Из фильма Тарзан. ЛегендаИз фильма Красавица и чудовище ‘Искусственный интеллект. Доступ неограничен»Люди в черном 3’из фильма ‘Планетариум’Из фильма ПрогулкаИз сериала ЧужестранкаИз сериала Элементарноиз сериала ‘Обратная сторона Луны’Из фильма ВаркрафтИз фильма Громче, чем бомбыиз мультфильма ‘Зверопой’Из фильма БруклинИз фильма Игра на понижениеИз фильма Зачарованнаяиз фильма РазрушениеOST «Полный расколбас»OST «Свободный штат Джонса»OST И гаснет светИз сериала СолдатыИз сериала Крыша мираИз фильма Неоновый демонИз фильма Москва никогда не спитИз фильма Джейн берет ружьеИз фильма Стражи галактикииз фильма ‘Sos, дед мороз или все сбудется’OST ‘Дом странных детей Мисс Перегрин’Из игры Contact WarsИз Фильма АмелиИз фильма Иллюзия обмана 2OST Ледниковый период 5: Столкновение неизбежноИз фильма Из тьмыИз фильма Колония Дигнидадиз фильма ‘Страна чудес’Музыка из сериала ‘Цвет черёмухи’Из фильма Образцовый самец 2из фильмов про Гарри Поттера Из фильма Дивергент, глава 3: За стеной из мультфильма ‘Монстр в Париже’из мультфильма ‘Аисты’Из фильма КоробкаИз фильма СомнияИз сериала Ходячие мертвецыИз фильма ВыборИз сериала Королек — птичка певчаяДень независимости 2: ВозрождениеИз сериала Великолепный векиз фильма ‘Полтора шпиона’из фильма Светская жизньИз сериала Острые козырьки

Что такое 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: Протокол передачи данных в реальном времени

Подборки

Армейские ПесниКлассика пианиноМузыка из рекламыДетские песни из мультфильмовМузыка для аэробикиСборник песен 70х годовДля любимого человекаКлассика в современной обработкеКлубные миксы русских исполнителей3D ЗвукДальнобойщикиЗарубежный рэп для машиныТоповые Клубные ТрекиМощные БасыДискотека 2000Песни про папуХристианские ПесниЗимняя МузыкаМузыка Для МедитацииРусские Хиты 90ХГрустная МузыкаRomantic SaxophoneТанцевальный хип-хопНовогодние песниЗарубежные хиты 80 — 90Песни про покемонаРомантическая МузыкаМотивация для тренировокМузыка для сексаМузыка в машинуДля силовых тренировокПремия «Grammy 2017»

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

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