SIP (Session Initiation Protocol) SIP NEDİR?

Ayşenur BİLGİÇ
4 min readNov 12, 2022

--

Merhaba! Bu makalede SIP nedir? VoIp Nedir? , Temel çağrı akışı nasıl gerçekleşir ? SIP ağ ögeleri nelerdir? ve de SIP mesajları hakkında bilgiler yer almaktadır. Yararlı olması dileğiyle :)

Keyifli okumalar..

SIP (Session Initiation Protocol)

  • Birden fazla katılımcılar arasında multimedya oturumlarını ve VoIP (en yaygın kullanılan teknolojilerden biri) teknolojisini kontrol etmek, başlatmak, yönetmek ve sonlandırmak için kullanılan bir sinyal protokolüdür. Diğer uygulama katmanı protokolleriyle birlikte çalışır.
  • SIP, istemci sunucu-mimarisini ve HTTP’den URL ve URI kullanımını ve SMTP’den bir metin kodlama şeması ve bir metin başlık stilini içermektedir.— URI, URL’nin altında bulunan kaynağın tam yolunu işaret eder. — Genel olarak HTTP’ye benzerliği ile bilinmektedir.
  • SIP, bir oturumu tanımlayan SDP’nin(Oturum Tanımlama Protokolü) ve IP ağı üzerinden ses ve video iletmek için kullanılan RTP’nin (Gerçek Zamanlı İletim Protokolü) yardımını almaktadır.
  • SIP protokolü, temel taşıma protokolünden bağımsız olacak şekilde tasarlanmıştır. Bu nedenle SIP uygulamaları TCP (Transmission Control Protocol), UDP (User Datagram Protocol) veya diğer alt katman ağ protokollerinde çalışabilir.
  • SIP protokolü sınırlı bir dizi komutla basit bir şekilde tasarlanmıştır. Metin tabanlı olması sebebiyle herkes bir SIP oturumunda uç noktalar arasında geçirilen bir SIP mesajını okuyabilmektedir. Kısaca VoIP’den bahsedelim.

VoIP (Voice Over Interbet Protocol), internet üzerinden multimedia (video, resim) görüşmesi diyebiliriz. İnternete erişimi olan her yerde ve her zaman ileşim kurmanın en ucuz yollarından biridir. Voıp’ nin avantajlarına bakacak olursak;

  • Düşük maliyet,
  • Taşınabilirlik,
  • Ekstra kabloların olmaması,
  • Esneklik,
  • Video konferans gibi avantajları bulunmaktadır. Ayrıca bulunduğumuz ortamda bilgisayar, cep telefonu gibi iletişim araçlarının internete bağlı olması halinde VoIP araması için yeterlidir.

SIP ağının oluşmasında bazı varlıklar rol oynamaktadır. Her ağ öğesi için adres gibi bir SIP URI (Tek Düzen Kaynak Tanımlayıcı) ile tanımlanmaktadır. Ağ ögelerinden bahsedecek olursak;

— User Agent (Kullanıcı Aracısı): Bir SIP ağının uç noktası ve en önemli ağ öğelerinden biridir. Bir uç nokta, bir oturumu başlatabilir, değiştirebilir veya sonlandırabilir ayrıca bir SIP ağının en akıllı cihazı veya ağ öğesidir. Mantıksal olarak iki kısma ayrılır; User Agent İstemcisi (UAC), Kullanıcı Aracısı Sunucusu (UAS). SIP, arayanın telefonunun bir aramayı başlatan bir istemci gibi davrandığı ve arananın telefonunun aramayı yanıtlayan bir sunucu olarak hareket ettiği istemci-sunucu mimarisine dayanmaktadır.

— Proxy Server (Proxy Sunucusu): Bir kullanıcı aracısından bir istek alıp başka bir kullanıcıya ileten ağ elemanıdır.

— Registrar Server (Kayıt Şirketi Sunucusu): Kullanıcı aracılarından gelen kayıt isteklerini kabul eder. Kullanıcıların ağ içinde kendilerini doğrulamalarına yardımcı olur. Aynı etki alanındaki diğer SIP sunucularına yardımcı olmak için URI’yi ve kullanıcıların konumunu bir veritabanında saklar.

— Redirect Server (Yönlendirme Sunucusu): İstekleri alır ve Registrar Server tarafından oluşturulan konum veritabanında isteğin hedeflenen alıcısını arar. Konum bilgisi almak için veritabanını kullanır ve kullanıcıya 3xx (Yönlendirme yanıtı) ile yanıt verir.

— Location Server (Konum Sunucusu): Bir arayanın olası konumları hakkında yönlendirme ve proxy sunucularına bilgi sağlar. Yalnızca bir proxy server veya bir redirect server, bir konum sunucusuyla iletişim kurabilir.

Şimdi tüm bunların gerçekleşmesi durumunda oluşan temel çağrı akışından bahselim:

Proxy server‘a gönderilen bir INVITE (davet) isteği, bir oturumun başlatılmasından sorumludur. Proxy sserver, INVITE (davet) isteğinin yeniden iletimini durdurmak için arayana (Alice) hemen bir 100 Trying yanıtı gönderir.

Proxy Server, Location Server’dan Bob’un adresini arar. Adresi aldıktan sonra, INVITE (davet) isteğini daha da iletir.Daha sonra Bob tarafından oluşturulan 180 Ringing (Geçici yanıtlar) Alice’e geri döndürülür. Bob telefonu açtıktan hemen sonra bir 200 OK yanıtı oluşturulur.

Bob, 200 OK aldığında Alice’den bir ACK alır. Aynı zamanda oturum kurulur ve RTP paketleri (konuşmalar) her iki uçtan da akmaya başlar. Görüşmeden sonra, herhangi bir katılımcı (Alice veya Bob) oturumu sonlandırmak için bir BYE isteği gönderebilir. Son olarak Bob, BYE’yi onaylamak için 200 OK yanıtı gönderir ve oturum sonlandırılır. Aramanın tamamı (INVITE’den 200 OK’e kadar) Dialog olarak bilinir.

SIP mesajlarını inceleyecek olursak;

  • İstek Yöntemleri (Request): SIP istekleri, bir iletişim kurmak için kullanılan kodlardır. Bunları tamamlamak için, genellikle bir isteğin başarılı olup olmadığını belirten SIP yanıtları vardır. SIP istekleri, SIP mesajını işler hale getirir.
  • Core Methods (Temel Yöntemler): INVITE, BYE, REGISTER, CANCEL, ACK, OPTIONS, etc…
  • Extension Methods (Uzatma Yöntemleri): SUBSCRIBE, NOTIFY, PUBLISH, REFER, INFO, UPDATE, PRACK, MESSAGE, etc…
  • Yanıt Kodları (Response): SIP yanıtı, bir istemci tarafından oluşturulan bir isteği yanıtlamak için bir UAS (kullanıcı aracı sunucusu ) veya SIP sunucusu tarafından oluşturulan bir mesajdır. İsteklerin bir UAC tarafından yeniden iletilmesini önlemek için resmi bir onay olabilir.

— 1xx(Geçici/Bilgi Veren Yanıtlar): Bilgilendirici yanıtlar, çağrı ilerlemesini belirtmek için kullanılır. Normalde cevaplar uçtan ucadır (100 Deneme hariç).

— 2xx(Başarı Yanıtları): Bu yanıt sınıfı, bir isteğin kabul edildiğini belirtmek içindir.

— 3xx(Yanıtları Yönlendirme): Genellikle bu sınıf yanıtları, INVITE’e yanıt olarak yönlendirme sunucuları tarafından gönderilir. Ayrıca yönlendirme sınıfı yanıtları olarak da bilinirler.

— 4xx( İstemci Hata Yanıtları): İstemci hata yanıtları, UAC tarafından bazı hatalar tanımlandığından isteğin yerine getirilemeyeceğini gösterir.

— 5xx: Sunucu Hatası Yanıtı: Bu sınıf yanıtı, sunucudaki bir hata nedeniyle isteğin işlenemediğini belirtmek için kullanılır.

— 6xx: Küresel Arıza Tepkisi: Bu yanıt sınıfı, sunucunun, denendiği her yerde isteğin başarısız olacağını bildiğini gösterir.

SIP mesajları hakkında bilgi ileten mesajın bir diğer bileşeni de başlıklardır. Sıp başlık alanları çoğu durum da HTTP başlık alanları ile aynı kuralları takip eder.

Başlık: alanı olarak tanımlanır; burada Başlık, başlık alan adını temsil etmek için kullanılır ve alan, bilgileri içeren belirteçler kümesidir.

--

--