Відмінності між версіями «Заголовки повідомлень»
(Створена сторінка: <div style="background: #33ccff"> '''Технологія VoIP''' >> '''[[Розділ_7._Протокол_ініціювання_сеансів_зв'язк...) |
|||
Рядок 9: | Рядок 9: | ||
</center> | </center> | ||
</div> | </div> | ||
+ | '''7.5.2 Заголовки повідомлень'''<br> | ||
+ | У протоколі SIP визначено чотири види заголовків (Таблиця 7.1):<br> | ||
+ | * Загальні заголовки, присутні у запитах і відповідях;<br> | ||
+ | * Заголовки змісту, переносять інформацію про розмір тіла повідомлення або про джерело запиту (починаються зі слова «Content»);<br> | ||
+ | * Заголовки запитів, передають додаткову інформацію про запит;<br> | ||
+ | * Заголовки відповідей, передають додаткову інформацію про відповідь.<br> | ||
+ | Заголовок містить назву, за яким, відокремлене двокрапкою, слід значення заголовка. У полі значення містяться передані дані. Слід зазначити, що якщо сервер приймає повідомлення, заголовки яких йому не відомі, то ці заголовки ігноруються.<br> | ||
+ | Нижче представлені найбільш часто використовувані заголовки.<br> | ||
+ | Тема Call-ID - унікальний ідентифікатор сеансу зв'язку або всіх реєстрації окремого клієнта, він подібний до мітці з'єднання (call reference) в сигналізації DSS-1 [7]. Значення ідентифікатору присвоює сторона, яка ініціює виклик. Тема Call-ID складається з буквено-числового значення та імені робочої станції, яка привласнила значення цьому ідентифікатору. Між ними повинен стояти символ @, наприклад, [email protected] Можлива наступна ситуація: до однієї мультимедійної конференції відносяться декілька з'єднань, тоді всі вони будуть мати різні ідентифікатори Call-ID.<br> | ||
+ | Тема То - визначає адресата. Крім SIP-адреси тут може стояти параметр «tag» для ідентифікації конкретного терміналу користувача (наприклад, домашнього, робочого або мобільного телефону) у тому випадку, коли всі його термінали зареєстровані під одним адресою SIP URL. Запит може множитися і досягти різних терміналів користувача; щоб їх розрізняти, необхідно мати мітку tag. Її вставляє в заголовок термінальне обладнання викликаного користувача при відповіді на прийнятий запит.<br> | ||
+ | Якщо необхідний візуальний висновок імені користувача, наприклад, на дисплей, то ім'я користувача також розміщується в полі То. | ||
+ | Тема From - ідентифікує відправника запиту; за структурою аналогічний полю То.<br> | ||
+ | '''Таблиця 7.1''' Види заголовків повідомлень SIP<br><br> | ||
+ | Заголовок CSeq - унікальний ідентифікатор запиту, що відноситься до одного з'єднанню. Він служить для кореляції запиту з відповіддю на нього. Заголовок складається з двох частин: натурального числа з діапазону від 1 до 232 і типу запиту. Сервер повинен перевіряти значення CSeq в кожному прийнятому запиті і вважати запит новим, якщо значення CSeq більше попереднього. Приклад заголовка: CSeq: 2 INVITE.<br> | ||
+ | Тема Via служить для того, щоб уникнути ситуації, в яких запит піде по замкнутому шляху, а також для тих випадків, коли необхідно, щоб запити та відповіді обов'язково проходили по одному і тому ж шляху (наприклад, у випадку використання міжмережевого екрану - firewall) . Справа в тому, що запит може проходити через кілька проксі-сервером, кожен з яких приймає, обробляє і переправляє запит до наступного проксі-сервера, і так до тих пір, поки запит не досягне адресата. Таким чином, у заголовку Via вказується весь шлях, пройдений запитом: кожен проксі-сервер додає поле зі своєю адресою. При необхідності (наприклад, щоб забезпечити таємність) дійсний адреса може ховатися.<br> | ||
+ | Наприклад, запит на своєму шляху оброблявся двома пуття сі-серверами: спочатку сервером loniis.ru, потім sip.telecom.com. Тоді в запиті з'являться наступні поля:<br> | ||
+ | '''Via''': SIP/2.0/UDP sip.telecom.com: 5060; branch = 721 e418c4.1 '''Via''': SIP/2.0/UDP loniis.ru: 5060,<br> | ||
+ | де параметр «branch» означає, що на сервері sip.telecom.com запит був розмножений і спрямований одночасно по різних напрямках, і наш запит був переданий у напрямку, яке ідентифікується наступним чином: 721е418c4.1.<br> | ||
+ | Вміст полів Via копіюється з запитів у відповіді на них, і кожен сервер, через який проходить відповідь, видаляє полі Via зі своїм ім'ям.<br> | ||
+ | У заголовок Record-route проксі-сервер вписує свою адресу - SIP URL, - якщо хоче, щоб наступні запити пройшли через нього.<br> | ||
+ | Тема Content-Type визначає формат опису сеансу зв'язку. Сам опис сеансу, наприклад, у форматі протоколу SDP, включається в тіло повідомлення.<br> | ||
+ | Тема Content-Length указує розмір тіла повідомлення.<br> | ||
+ | Після того, як ми розглянули найбільш часто зустрічаються заголовки повідомлень протоколу SIP, слід звернути увагу на те, що запити та відповіді на них можуть включати в себе лише певний набір заголовків (Таблиця 7.2). Тут знову літера «М» означає обов'язкову присутність заголовка в повідомленні, літера «О»-необов'язкове присутність, літера «F» забороняє присутність заголовка.<br> | ||
+ | '''Таблиця 7.2''' Зв'язок заголовків із запитами і відповідями протоколу SIPv2.Q<br><br> | ||
+ | Примітка - поле необхідно тільки у випадку, коли тіло повідомлення містить будь-яку інформацію, тобто не є порожнім.<br> | ||
<div style="background: #33ccff"> | <div style="background: #33ccff"> | ||
<center> | <center> |
Поточна версія на 23:06, 29 листопада 2010
Технологія VoIP >> Розділ 7. Протокол ініціювання сеансів зв'язку - SIP
[ << 7.5.1 Структура повідомлень ] [ 7.5.3 Запити >> ]
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)