SIP (Session Initiation Protocol - Oturum Baslatma Protokolü) iki ya da daha fazla katilimci arasinda baglanti kuran, oturum baslatan ve gerçek zamanli protokoller araciligiyla veri tasinmasini saglayan bir ag protokolüdür. SIP, ag üzerinden telefon görüsmeleri basta olmak üzere ses ve görüntü gibi çoklu ortam aktariminda oturum baslatmak için yaygin olarak kullanilir. Veri aktarimi ise RTP (Real Time Protokol - Gerçek Zamanli Protokol) araciligiyla saglanir. SIP'in genel olarak;
-
Baglanti kurulmak istenen katilimcinin adresini saptar ve adres çözümlemesi yapar.
-
Baglanti kurulmak istenen katilimcinin uygun olup olmadigini belirler ve katilimcilar arasinda oturum baslatir.
-
Baglanti kurulan katilimcilarin destekledigi çogul ortam türlerini belirler ve katilimcilara göre optimal olan çogul ortami seçer. Örnegin; ikiden çok katilimci arasinda kurulan baglantilarda veri, SIP'in belirledigi ve tüm istemciler tarafindan ortak olarak desteklenen çoklu ortam türünde aktarilir.
-
Katilimcilar arasinda oturum basladiktan sonra, yeni katilimcinin baglanmasi ya da var olan katilimcinin ayrilmasi gibi islemleri yönetir. Oturumlarin sonlandirilmasini saglar.
Bir Peer to Peer (Noktadan Noktaya) protokolüdür. Noktalar User Agent (Kullanici Aracisi) olarak adlandirilir ve iki gruba ayrilirlar:
-
UAC (User Agent Client – Kullanici Araci Istemcisi): Kullanici uygulamasidir ve SIP istegini baslatir.
-
UAS (User Agent Server – Kullanici Araci Sunucusu): Sunucular üzerinde çalisir ve SIP isteklerini dinleyerek oturumlarin kurulmasini, çagrilarin kabul edilmesini, yönlendirilmesini veya reddedilmesini saglar.
SIP istemcilerini Softphone (Yazilimsal Telefon) ve IP (Internet Protocol – Internet Protokolü) telefonlari olusturur. Yazilimsal telefonlar, genel amaçli bilgisayarlar üzerinde çalistirilirlar bu nedenle IP telefonlara göre çok daha kullanislidir. X-Lite, Ekiga, Twinkle siklikla kullanilan yazilimsa telefonlardir. Istanbul Teknik Üniversitesi genelinde yazilimsal telefon olarak X-Lite kullanilmakta ve Bilgi Islem Daire Baskanligi tarafindan bu yazilima destek verilmektedir. IP telefonlar ise baslica Cisco, Nortel ve Avaya tarafindan üretilmektedir. SIP sunuculari ise Proxy (Vekil) ve Redirect (Yönlendirme) sunucularidir.
SIP çalisma sistemi bakimindan HTTP (Hypertext Transfer Protocol - Hipermetin Aktarma Iletisim Kurali) benzemektedir. Bu protokolde kullanicilar kullaniciadi@alanadi seklinde adlandirilirlar. SIP kullanicisi, kullanici araciyla sunucuya internet protokolüyle kayit olduktan sonra diger kullanicilar ile oturum kurabilir ya da kendisine gelen oturum isteklerine cevap verebilir. SIP uygulamalari kendi aralarinda özellesmis mesajlarla konusurlar. Mesajlardan Request (Istek) mesajlari asagidaki gibidir;
-
Register (Kayit): Kullanici aracilari tarafindan SIP sunuculara internet protokol adreslerini kayit ettirmek istediklerini belirtir.
-
Invite (Davet): Kullanicilar arasinda oturum baslatmak için kullanilir.
-
Ack (Bilgi): Gelen mesajlarin anlasildigini dogrulamak için kullanilir.
-
Cancel (Iptal): Istegi iptal eder.
-
Bye (Güle Güle): Kullanicilar arasindaki oturumlari sonlandirir
-
Options (Seçenekler): Arama baslatmaksizin diger kullanicilarin yeterliliklerini ister.
Response (Cevap) mesajlari;
-
Provisional (Geçici): Istek geldi ve isleniyor anlamina gelir. Kodu 1xx seklindedir.
-
Success (Basarili): Istek basariyla alindi, anlasildi e kabul edildi. Kodu 2xx seklindedir.
-
Redirection (Yeniden Yönlendirme): Istegin tamamlanabilmesi için siradaki olaylarin gerekltigini belirtir. Kodu 3xx seklindedir.
-
Client Error (Istemci Hatasi): Kodu 4xx seklinde olan bu mesajin anlami istegin sözdizimi hatalari içerdigidir.
-
Server Error (Sunucu Hatasi): SIP sunucusunun istegi basariyla yorumlayamadigini belirtir. Kodu 5xx seklindedir.
-
Global Failure (Genel Hata): Istegin hiçbir sunucuda anlasilamayacagini belirtir. Kodu 6xx seklindedir.
Redirect (Yönlendirme) sunucusu ile çalisan SIP yapisinda kullanici oturum baslatmak istedigi kullaniciyi yönlendirme sunucusuna bildirir ve sunucudan aldigi cevap dogrultusunda diger kullaniciya oturum baslatma istegini direk olarak gönderir.
Proxy (Vekil) sunucusu araciligiyla SIP yapisinda ise, SIP mesajlari sunucu araciligiyla iletilir ve gerçek zamanli baglanti kurulana kadar sunucu, kullanicilarin arasinda vekil görevi yapar.
Gerçek zamanli protokolle haberlesmeyi sona erdirmek ve oturumu sonlandirmak için istemciler arasinda Bye (Güle Güle) mesaji gönderilir. Sonrasinda oturum SIP kontrolü altinda sonlandirilir.
Kaynakça:http://bidb.itu.edu.tr/seyir-defteri/blog/2013/09/07/sip-(session-initiation-protocol---oturum-ba%C5%9Flatma-protokol%C3%BC)