Рассмотрим запись трассы установления сеанса связи междудвумя терминалами через один прокси-сервер, на котором они ужезарегистрированы.
Временная диаграмма процесса представлена на рис. 3.6, аподробная запись трассы при помощи сниффера WireShark приведена в приложении 3 (SIP-Proxy).
Рисунок 3.6 - Временная диаграмма установления соединения VoIP,передачи речи и разъединения между двумя SIP терминалами через прокси-сервер
Терминал «6» посылает запрос INVITE на свой прокси-сервер.
Текст заголовка этого сообщения представлен на рис. 3.7.
Рисунок 3.7 - Заголовок запроса INVITE
Как видно из приведенного рисунка пользователь с терминала«6» (IP-адрес: 10.16.64.6) посылает запрос в прокси-сервер (IP-адрес: 10.16.64.1) на организацию сеанса связи с терминалом «5»(sip:user5@10/16/64/1).
В качестве терминала используется программная реализация VoIP телефона: SJphone. Сообщение такжеимеет содержательную часть длиной 333 байта, сформированнуюпротоколом SDP. Текст содержательной части представлен нарис. 3.8.
Содержимое рассматриваемого запроса INVITE включаетстандартные данные протокола SDP. Синтаксис протокола SDPпредполагает, чтоописание сессии представляется в следующемформате:
· Версия протокола SDP v=0.
· Имя создателя и идентификатор сессии 0=<имя создателя>
<идентификатор сессии><версия сессии><тип адреса ><адрес>.
· Наименование сессии ns=<имя сессии>.
· Описание соединения с=<тип сети><тип адреса><адресокончания>.
· Временные данные t=<время начала сессии><время окончания сессии>.
· Описание транспортного соединения m= <вид информации><номер порта><стек протоколов><типы кодеков>.
· Атрибуты транспорта (а): <протокол><тип кодека>.
|
Рисунок 3.8 - Содержимое запроса INVITE, данные протокола SDP
Исходя из формата SDP, информацию, представленную нарис. 3.8, следует читать следующим образом:
v=0 (обычно используется эта версия протокола SDP;
o= (имя создателя не указано) (идентификатор и версия сессииобычно одинаковы) (интеллектуальная сеть) (тип адреса IP4)(адрес создателя сессии 10.16.64.6);
ns= (имя сессии SJphone);
c= (интеллектуальная сеть) (тип адреса IP4) (адрес окончания10.16.64.6);
t= (время начала – 0) (время окончания – 0) – сессия еще не началась;
Атрибут сессии (а)= (направление активно):
m= (аудио) (порт 49162) (стек: аудио/видео поверх RTP) (списоккодеков: 0, 8, 3);
а= (rtp) (0 – кодек G.711 μ-закон/ 8000 – частота отсчетов);
a= (rtp) (8 – кодек G.711 А-закон /8000 – частота отсчетов);
a= (rtp) (3 – кодек GSM /8000 частота отсчетов).
В ответ на запрос INVITE прокси-сервер посылает ответ 100Trying и пересылает INVITE к терминалу «5». Терминал отвечаетсообщением 180 Ringing, которое сервер пересылает терминалу«6». Когда абонент принимает вызов на терминале «5», последнийформирует ответ 200 ОК. В этом сообщении указывается, что дляпередачи голоса выбран кодек G.711 с μ-законом, а номер UDP-порта – 49160.
Между терминалами открывается RTP-сессия, по которойпроисходит обмен голосовыми пакетами. По значению временныхметок этих пакетов можно судить о продолжительности разговора(Timestamp=0, 160, 320,…).
Завершение сессии инициирует терминал «6», посылая запросBYE к прокси-серверу. Сервер пересылает запрос к терминалу «5»,который отвечает 200 ОК.