SIP
Матеріал з Вікіпедії — вільної енциклопедії.
| TCP/IP модель (RFC 1122) |
|---|
| Рівень програмного забезпечення |
| BGP · DHCP · DNS · FTP · Gopher · GTP · HTTP · IMAP · IRC · NNTP · NTP · POP · RIP · RPC · RTCP · RTP · RTSP · SDP · SIP · SMTP · SNMP · SOAP · SSH · STUN · Telnet · TLS/SSL · XMPP · |
| Транспортний рівень |
| TCP · UDP · DCCP · SCTP · RSVP · ECN · (more) |
| Рівень Інтернет |
| IP (IPv4, IPv6) · ICMP · ICMPv6 · IGMP · IPsec · (more) |
| Канальний рівень |
| ARP · RARP · NDP · OSPF · Tunnels (L2TP) · Media Access Control (Ethernet, DSL, ISDN, FDDI) · Device Drivers · (more) |
SIP (англ. Session Initiation Protocol — протокол встановлення сесії) — протокол прикладного рівня, розроблений IETF MMUSIC Working Group, і пропонований стандарт на спосіб установки, зміни і завершення користувацького сеансу, що включає мультимедійні елементи, такі як відео або голос, миттєві повідомлення (instant messaging), он-лайн гри та віртуальну реальність.
Протокол почав розроблятися в 1996 році Хенінгом Шулзрі (Henning Schulzrinne, Колумбійський університет) і Марком Хендлі (UCL). У листопаді 2000 року SIP був затверджений як сигнальний протокол проекту 3GPP і постійний елемент архітектури IMS. Разом з досить сильно в даний час застарілим H.323, SIP — один з протоколів, що лежать в основі Voice over IP.
Протокол володіє наступними характеристиками:
- Простота: включає тільки шість методів (функцій).
- Незалежність від транспортного рівня, може використовувати UDP, TCP, ATM і т.д.
- Економічність: всі запити формуються на основі тексту.
Зміст |
[ред.] Проект протоколу
Клієнти SIP традиційно використовують порт 5060 TCP і UDP для з'єднання серверів та інших елементів SIP. В основному SIP використовується для встановлення і роз'єднання голосових і відеодзвінків. При цьому він може використовуватися і в будь-яких інших застосуваннях, де потрібна установка з'єднання, таких як Event Subscription and Notification, Terminal mobility і так далі. Існує велика кількість RFC, що відносяться до SIP і визначають поведінку таких застосувань. Для передачі самих голосових і відеоданих використовують інші транспортні протоколи, найчастіше Real-time Transport Protocol (RTP).
Головним завданням розробки SIP було створення сигнального протоколу і протоколу встановлення з'єднань для IP комунікацій, який може підтримувати розширений набір функцій обробки виклику і послуг, представлених в існуючій ТфЗК. Сам протокол SIP не визначає цих функцій, а зосереджений тільки на процедурах встановлення дзвінка та сигналізації. При цьому він був спроектований забезпечувати створення таких функцій елементів мережі, як Проксі-сервер (Proxy Servers) та користувацькі агенти (User Agents). За допомогою цих елементів можна підтримувати базові телефонні операції: набір номера, дзвінок телефонного апарату, можливість після набору почути довгі або короткі гудки. В світі SIP реалізація цих функцій і використовувана термінологія інші, ніж в традиційній телефонії, але для кінцевого користувача поведінка залишається такою ж.
Телефонні мережі на основі SIP можуть підтримувати і сучасніші послуги, що зазвичай надаються Signalling System 7 (SS7), не дивлячись на значну відмінність цих двох протоколів. SS7 характеризується складною, централізованою інтелектуальною мережею і простими, неінтелектуальними, терміналами (традиційні телефонні апарати). SIP є протоколом типу крапка-крапка. Як протоколи такого класу він вимагає тільки дуже просту (і, відповідно, добре масштабовану) мережа з інтелектом, вбудованим в крайові елементи на периферії (термінали, побудовані як фізичні пристрої або програми). Іншими словами, функції SIP реалізовані в термінальних пристроях (тобто на межі мережі), на відміну від традиційних можливостей SS7, які підтримуються самою мережею.
Хоча існує багато інших сигнальних протоколів VoIP, SIP характеризується його прихильниками як належний співтовариству IP, а не до телекомунікаційної індустрії. SIP стандартизований і контролюється головним чином IETF, тоді як протокол H.323 сімейства VoIP був традиційно тісніше пов'язаний з ITU. Проте ці дві організації так чи інакше схвалили обидва протоколи.
SIP використовується разом з декількома іншими протоколами і бере участь тільки в сигнальній частині сесії зв'язку. SIP виконує роль носія для SDP, який описує media дані в рамках сесії, наприклад які порти IP повинні бути використані, який використовувати кодек. У типовому застосуванні «сесії» SIP — це просто потоки пакетів RTP. RTP є безпосереднім носієм голосових і відеоданих.
Перша запропонована версія стандарту (SIP 2.0) була визначена у RFC 2543. Протокол був додатково уточнений у RFC 3261, хоча багато реалізацій як і раніше засновано на проміжних версіях стандарту. Звернете увагу, що номер версії залишився 2.0.
SIP схожий на HTTP і розділяє з ним загальні принципи проектування: він придатний для читання людиною і структурований відносно запитів і відгуків. Прихильники SIP також заявляють про нього як про простіший, у порівнянні з H.323. Проте деякі схильні вважати, що, тоді як спочатку метою SIP була простота, у своєму сьогоднішньому вигляді він став так само складний, як і H.323. Інші вважають, що SIP — протокол без станів, який тим самим дає легко реалізувати відновлення при відмові і інші можливості, які утруднені в протоколах із станами, таких як H.323. Цей аргумент набув релігійного характеру, але, судячи з усього, SIP виграв битву, якщо не війну протоколів. SIP розділяє з HTTP багато кодів станів, таких як відомий '404 not found'. SIP та H.323 не обмежені голосовим зв'язком, вони можуть обслуговувати будь-який сеанс зв'язку, від голосового до відеосеансу або додатків майбутнього.
[ред.] Література
- Гольдштейн, Б.С. Протокол SIP. Справочник. — СПб.: BHV-Санкт-Петербург, 2005. — С. 456. — ISBN 5-8206-0123-8.
[ред.] Посилання
- Курс вивчення SIP від авторів дуже популярного проксі SIP з відкритим початковим кодом
- Сторінка форуму SIP
- Огляд протоколу SIP
- Asterisk та SIP wiki

