Читайте также:
|
|
Поддерживаемые возможности расширения (параметр ‘Supported‘ или ‘Require‘ сообщений SIP):
100 rel RFC3262 - подтверждение приема предварительных ответов на INVITE - обеспечивает, что RTP трафик (разговорное соединение) устанавливается еще до ответа абонента (2xx ответ на INVITE)
использование этого расширения управляется данными (см. закладку “Extension” в “SIP Profile”)
Неподдерживаемые возможности расширения (параметр ‘Unsupported‘ сообщений SIP):
replaces, timer,....
Транспортные протоколы
Поддерживаемые транспортные протоколы:
UDP
TCP
Неподдерживаемые транспортные протоколы:
TLS, SCTP
Slika 7
Slika 8
Содержание сообщений
Все сообщения строятся одинаковым способом. Они имеют вид текстового файла, содержащего следующие части:
начальная строка | обязательно |
заголовок | обязательно |
пустая строка | обязательно |
тело сообщения | необязательно |
Описанная форма используется как для запросов, так и для ответов.
Начальная строка
Начальная строка требования (Request Line)
имя запроса (method name), Пример:
адрес вызываемого (Request URI), INVITE sip:nekdo@iskratel.si SIP/2.0
версия SIP (SIP Version)
Начальная строка ответа (Status Line)
версия SIP (SIP Version) Пример:
код ответа (Status code) SIP/2.0 200 OK
краткое "говорящее" описание ответа (Reason Phrase)
Заголовок сообщения
Вид заголовка сообщения одинаков для запросов и ответов. Он состоит из ряда полей (fields). Обычно каждое поле записано в отдельной строке.
Поле имеет следующий вид: имя_поля: значение_1, значение_2,...
Допускается использование параметров: имя_поля: значение; имя_параметра_1=значение_1;...
Пример: From: "Predrag", <sip:predrag@iskratel.si>
Retry-After: 18000;duration=3600
В SIP определен набор полей, являющихся частью заголовка сообщения. Некоторые из них используются для запросов, другие – для ответов, но их большая часть используется для обоих типов сообщений. Далее в алфавитном порядке перечисляются некоторые из них:
Alert-Info: различный тоновый сигнал контроля посылки вызова и различительная посылка вызова
Call-ID: идентификатор вызова
Call-Info: дополнительное описание вызывающего / вызываемого (фото...)
Content-Length: длина тела сообщения – десятичное число октетов
Date: дата и время
Expires: относительное время в секундах до истечения чего-либо
From: определяет создателя запроса (Request)
Route: устанавливает маршрутизацию сообщения на определенные proxy-серверы
To: определяет получателя запроса (Request)
Рисунок 9
Рисунок 10
Пустая строка
Эта часть сообщения в буквальном смысле является тем, о чем говорит ее название: "пустая строка". Разделяет заголовок и тело сообщения.
Тело сообщения
Тело не является обязательной частью сообщения. Если в сообщении имеется тело, то в заголовке сообщения обязательно дается поле Content-Type, определяющее произвольное содержимое: звук, текст, видео, SDP, MIME..
Смысл тела зависит от типа сообщения.
Адресация SIP
Для установления соединения вызывающий пользователь использует SIP-адрес вызываемого. Адреса являются глобальными.
Используется URL формат.
Адрес должен содержать имя "host", а кроме того может содержать еще имя пользователя (user name), порт и различные другие параметры:
sip:nekdo@iskratel.si
sips:voicemail@iskratel.si?subject=callme
sip:recepcija@hotel.xy;geo.position:=48.54_-123.84_120.
Разрешается использование URL, не являющихся "sip":
http:
tel:
enum:
Рисунок 11
Рисунок 12
Основные сценарии
1. Регистрация
2. Вызов (redirect mode)
Рисунок 13
Рисунок 14
Рисунок 15
Основной вызов (proxy mode)
Пользователь A при помощи сообщения INVITE запрашивает у Proxy-сервера соединение с пользователем B. Первый Proxy-сервер передает запрос следующему. Процедура повторяется пока не дойдет до Proxy-сервера знающего точное местоположение вызываемого:
Дата добавления: 2015-07-16; просмотров: 92 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
SIP сообщения | | | Завершение соединения |