Заголовки повідомлень

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

7.5.2 Заголовки повідомлень
У протоколі SIP визначено чотири види заголовків (Таблиця 7.1):

  • Загальні заголовки, присутні у запитах і відповідях;
  • Заголовки змісту, переносять інформацію про розмір тіла повідомлення або про джерело запиту (починаються зі слова «Content»);
  • Заголовки запитів, передають додаткову інформацію про запит;
  • Заголовки відповідей, передають додаткову інформацію про відповідь.

Заголовок містить назву, за яким, відокремлене двокрапкою, слід значення заголовка. У полі значення містяться передані дані. Слід зазначити, що якщо сервер приймає повідомлення, заголовки яких йому не відомі, то ці заголовки ігноруються.
Нижче представлені найбільш часто використовувані заголовки.
Тема Call-ID - унікальний ідентифікатор сеансу зв'язку або всіх реєстрації окремого клієнта, він подібний до мітці з'єднання (call reference) в сигналізації DSS-1 [7]. Значення ідентифікатору присвоює сторона, яка ініціює виклик. Тема Call-ID складається з буквено-числового значення та імені робочої станції, яка привласнила значення цьому ідентифікатору. Між ними повинен стояти символ @, наприклад, [email protected] Можлива наступна ситуація: до однієї мультимедійної конференції відносяться декілька з'єднань, тоді всі вони будуть мати різні ідентифікатори Call-ID.
Тема То - визначає адресата. Крім SIP-адреси тут може стояти параметр «tag» для ідентифікації конкретного терміналу користувача (наприклад, домашнього, робочого або мобільного телефону) у тому випадку, коли всі його термінали зареєстровані під одним адресою SIP URL. Запит може множитися і досягти різних терміналів користувача; щоб їх розрізняти, необхідно мати мітку tag. Її вставляє в заголовок термінальне обладнання викликаного користувача при відповіді на прийнятий запит.
Якщо необхідний візуальний висновок імені користувача, наприклад, на дисплей, то ім'я користувача також розміщується в полі То. Тема From - ідентифікує відправника запиту; за структурою аналогічний полю То.

Таблиця 7.1 Види заголовків повідомлень SIP

Заголовок CSeq - унікальний ідентифікатор запиту, що відноситься до одного з'єднанню. Він служить для кореляції запиту з відповіддю на нього. Заголовок складається з двох частин: натурального числа з діапазону від 1 до 232 і типу запиту. Сервер повинен перевіряти значення CSeq в кожному прийнятому запиті і вважати запит новим, якщо значення CSeq більше попереднього. Приклад заголовка: CSeq: 2 INVITE.
Тема Via служить для того, щоб уникнути ситуації, в яких запит піде по замкнутому шляху, а також для тих випадків, коли необхідно, щоб запити та відповіді обов'язково проходили по одному і тому ж шляху (наприклад, у випадку використання міжмережевого екрану - firewall) . Справа в тому, що запит може проходити через кілька проксі-сервером, кожен з яких приймає, обробляє і переправляє запит до наступного проксі-сервера, і так до тих пір, поки запит не досягне адресата. Таким чином, у заголовку Via вказується весь шлях, пройдений запитом: кожен проксі-сервер додає поле зі своєю адресою. При необхідності (наприклад, щоб забезпечити таємність) дійсний адреса може ховатися.
Наприклад, запит на своєму шляху оброблявся двома пуття сі-серверами: спочатку сервером loniis.ru, потім sip.telecom.com. Тоді в запиті з'являться наступні поля:
Via: SIP/2.0/UDP sip.telecom.com: 5060; branch = 721 e418c4.1 Via: SIP/2.0/UDP loniis.ru: 5060,
де параметр «branch» означає, що на сервері sip.telecom.com запит був розмножений і спрямований одночасно по різних напрямках, і наш запит був переданий у напрямку, яке ідентифікується наступним чином: 721е418c4.1.
Вміст полів Via копіюється з запитів у відповіді на них, і кожен сервер, через який проходить відповідь, видаляє полі Via зі своїм ім'ям.
У заголовок Record-route проксі-сервер вписує свою адресу - SIP URL, - якщо хоче, щоб наступні запити пройшли через нього.
Тема Content-Type визначає формат опису сеансу зв'язку. Сам опис сеансу, наприклад, у форматі протоколу SDP, включається в тіло повідомлення.
Тема Content-Length указує розмір тіла повідомлення.
Після того, як ми розглянули найбільш часто зустрічаються заголовки повідомлень протоколу SIP, слід звернути увагу на те, що запити та відповіді на них можуть включати в себе лише певний набір заголовків (Таблиця 7.2). Тут знову літера «М» означає обов'язкову присутність заголовка в повідомленні, літера «О»-необов'язкове присутність, літера «F» забороняє присутність заголовка.
Таблиця 7.2 Зв'язок заголовків із запитами і відповідями протоколу SIPv2.Q

Примітка - поле необхідно тільки у випадку, коли тіло повідомлення містить будь-яку інформацію, тобто не є порожнім.


--Козінцев Олексій 36 гр. 16:40, 29 листопада 2010 (EET)