Мережа на базі протоколу SIP

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

1.5.2 Мережа на базі протоколу SIP
Другий підхід до побудови мереж IP-телефонії, запропонований робочою групою MMUSIC комітету IETF в документі RFC 2543 [54], заснований на використанні протоколу SIP - Session Initiation Protocol. SIP є текст - орієнтований протокол, який є частиною глобальної архітектури мультимедіа, розробленої комітетом Internet Engineering Task Force (IETF). Ця архітектура також включає в себе протокол резервування ресурсів (Resource Reservation Protocol, RSVP, RFC 2205), транспортний протокол реального часу (Real-Time Transport Protocol, RTP, RFC 1889), протокол передачі потоків у реальному часі (Real-Time Streaming Protocol, RTSP, RFC 2326), протокол опису параметрів зв'язку (Session Description Protocol, SDP, RFC 2327), протокол повідомлення про зв'язок (Session Announcement Protocol, SAP). Однак функції протоколу SIP не залежать від будь-якого з цих протоколів.
Відразу слід зазначити, що хоча на сьогодні найбільш широке поширення одержав протокол Н.323, все більша кількість виробників намагається передбачити у своїх нових продуктах підтримку протоколу SIP. Поки що це - одиничні явища і серйозної конкуренції протоколу Н.323 вони скласти не можуть. Однак, враховуючи темпи зростання популярності протоколу SIP, досить імовірно, що в найближчому майбутньому рішення на його базі займуть значну нішу ринку IP-телефонії.
Підхід SIP до побудови мереж IP-телефонії набагато простіше в реалізації, ніж Н.323, але менше підходить для організації взаємодії з телефонними мережами. В основному це пов'язано з тим, що протокол сигналізації SIP, що базується на протоколі HTTP, погано узгоджується з системами сигналізації, що використовуються в ТФОП. Тому протокол SIP більше підходить постачальникам послуг Інтернет для надання послуги IP-телефонії, причому ця послуга буде всього лише частиною пакету послуг. Тим не менш, протокол SIP підтримує послуги інтелектуальної мережі (IN), такі як перетворення (меппінг) імен, переадресація та маршрутизація [8], що істотно для використання SIP як протокол сигналізації в мережі загального користування, де пріоритетним завданням оператора є надання широкого спектру телефонних послуг. Іншою важливою особливістю протоколу SIP є підтримка мобільності користувача, тобто його здатність отримувати доступ до замовлених послуг в будь-якому місці і з будь-якого терміналу, а також здатності мережі ідентифікувати та автентифікувати користувача при його переміщенні з одного місця в інше. Це властивість SIP не унікально, і, наприклад, протокол Н.323 теж значною мірою підтримує таку можливість. Зараз настав момент, коли ця можливість стане головною привабливою рисою мереж IP-телефонії нового покоління. Даний режим роботи зажадає дистанційної реєстрації користувачів на сервері ідентифікації і аутентифікації.
Перейдемо безпосередньо до архітектури мереж, що базуються на протоколі SIP (рис. 1.9).

VoIP 1.9.png
Рис. 1.9. Приклад мережі на базі протоколу SIP


Мережа SIP містить основні елементи трьох видів: агенти користувача, проксі-сервери і сервери переадресації. Агенти користувача (User Agent або SIP client) є додатками термінального обладнання і включають в себе дві складові: агент користувача - клієнт (User Agent Client - UAC) і агент користувача - сервер (User Agent Server - UAS), інакше відомі як клієнт і сервер відповідно. Клієнт UAC ініціює SIP-запити, тобто виступає в якості зухвалої сторони. Сервер UAS приймає запити і повертає відповіді, тобто виступає в якості викликається сторони.
Крім того, існує два типи мережевих серверів SIP: проксі-сервери (сервери-посередники) і сервери переадресації. Сервери SIP можуть працювати як в режимі зі збереженням станів поточних з'єднань (statefull), так і в режимі без збереження станів поточних з'єднань (stateless). Сервер SIP, що функціонує в режимі stateless, може обслужити як завгодно велику кількість користувачів, на відміну від воротаря Н.323, який може одночасно працювати з обмеженою кількістю користувачів.
Проксі-сервер (Proxy-server) діє "від імені інших клієнтів» і містить функції клієнта (UAC) і сервера (UAS). Цей сервер інтерпретує і може перезаписувати заголовки запитів перед відправленням їх до інших серверів (рис. 1.10). Відповідні повідомлення слідують по тому ж шляху назад до проксі-сервера, а не до клієнта.

VoIP 1.10.png
Рис. 1.10. Мережа SIP з проксі-сервером


Нижче представлений алгоритм встановлення з'єднання за допомогою протоколу SIP за участю проксі-сервера:

  1. Проксі-сервер приймає запит з'єднання INVITE від устаткування викликає користувача.
  2. Проксі-сервер установлює місцезнаходження клієнта за допомогою сервера позиціонування (location server).
  3. Проксі-сервер передає запит INVITE викликається користувачеві.
  4. Обладнання викликається користувача повідомляє останнього про вхідний дзвінок і повертає проксі-сервера повідомлення про те, що запит INVITE обробляється (код 100). Проксі-сервер, у свою чергу, направляє цю інформацію обладнанню викликає користувача.
  5. Коли абонент, що викликається приймає виклик, його обладнання сповіщає про це проксі-сервер (код 200), який переправляє інформацію про те, що дзвінок, до обладнання викликає користувача.
  6. Викликаюча сторона підтверджує встановлення з'єднання передачею запиту АСК, яке проксі-сервер переправляє викликається стороні. Встановлення з'єднання закінчено, абоненти можуть обмінюватися мовною інформацією.


Сервер переадресації (Redirect server) визначає поточне місце розташування абонента, що викликається і повідомляє його зухвалому користувачеві (рис. 1.11). Для визначення поточного місцезнаходження абонента, що викликається сервер переадресації звертається до сервера визначення місця розташування, принципи роботи якого в документі RFC 2543 не специфіковані.

VoIP 1.11.png
Рис. 1.11. Мережа SIP з сервером переадресації


Алгоритм встановлення з'єднання з використанням протоколу SIP за участю сервера переадресації виглядає наступним чином:

  1. Сервер переадресації приймає від зухвалої сторони запит з'єднання INVITE і зв'язується з сервером визначення місцезнаходження, який видає поточну адресу викликається клієнта.
  2. Сервер переадресації передає цю адресу викликає стороні. На відміну від проксі-сервера, запит INVITE до обладнання викликається користувача сервер переадресації не передає.
  3. Обладнання викликає користувача підтверджує завершення транзакції з сервером переадресації запитом АСК.
  4. Далі обладнання викликає користувача передає запит INVITE на адресу, отриманий від сервера переадресації.
  5. Обладнання викликається користувача повідомляє останнього про вхідний дзвінок і повертає зухвалому обладнанню повідомлення про те, що запит INVITE обробляється (код 100).
  6. Коли абонент, що викликається приймає виклик, про це сповіщається обладнання викликає користувача (код 200). Встановлення з'єднання закінчено, абоненти можуть обмінюватися мовною інформацією.


Існує також і безсерверний варіант з'єднання, коли один термінал може передати запит іншому терміналу безпосередньо. Дамо коротку характеристику самого протоколу SIP. Слід зауважити, що повідомлення SIP можуть переноситися як протоколом TCP, так і протоколом UDP.
Протокол SIP передбачає 6 запитів і відповідей на них. Сигналізація SIP дає можливість для користувача агентам і мережевих серверів визначати місце розташування, видавати запити і керувати з'єднаннями.
INVITE - запит приваблює користувача або послугу до участі в сеансі зв'язку і містить опис параметрів зв'язку з цим. За допомогою цього запиту користувач може визначити функціональні можливості терміналу свого партнера по зв'язку і почати сеанс зв'язку, використовуючи обмежене число повідомлень і підтверджень їх прийому.
АСК - запит підтверджує прийом від викликається сторони відповіді на команду INVITE і завершує транзакцію.
OPTIONS - запит дозволяє отримати інформацію про функціональні можливості користувацьких агентів і мережевих серверів. Однак цей запит не використовується для організації сеансів зв'язку.
BYE - запит використовується викликає і що викликається сторонами для руйнування з'єднання. Перед тим як зруйнувати з'єднання, призначені для користувача агенти відправляють цей запит до сервера, повідомляючи про намір припинити сеанс зв'язку.
CANCEL-запит дозволяє користувальницьким агентам і мережевих серверів скасувати будь-який раніше переданий запит, якщо відповідь на неї ще не був отриманий.
REGISTER - запит застосовується клієнтами для реєстрації інформації про місцезнаходження з використанням серверів SIP. Більш детальна інформація про протокол SIP приведено у розділі 7.

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