VoIP Nedir?
VoIP, 'V'oice 'o'ver 'I'nternet 'P'rotokol
(Internet üzerinden ses) açilimina karsilik
gelmektedir. VoIP, ses’i (genellikle insan sesi)
IP paketleri halinde internet üzerinden
tasimaktir.
Nasil Çalisir?
Yillar önce, uzak bir noktaya digital formda
sinyal gönderme kesfedildi. Sinyal yollanmadan
önce dijital formata ADC (analog to digital
converter – analog’dan dijital’e dönüstürücü)
ile ile çevrilmekte ve karsi tarafa yollanmakta,
karsi taraf sinyali aldiginda tekrar analog
formata çevirmek için DAC (Digital to analog
converter – dijital’den analog’a dönüstürücü)
kullanilmaktadir.
VoIP’de bu sekilde çalismaktadir, dijital
formattaki ses, veri paketleri olarak karsiya
yollanmakta ve karsi tarafta tekrar dijital ses
haline dönüstürülmektedir.
Dijital format daha iyi kontrol
edilebilmektedir: Sikistirabiliriz,
yönlendirebiliriz, daha iyi bir formata
çevirebiliriz ve daha fazlasi. Zaten bilindigi
gibi dijital sinyalin gürültü toleransi,
analog’a göre daha fazladir. (Örnek: GSM)
TCP/IP aglarinda, IP paketleri iletisim kontrolü
için header ve veri transferi için payload
kisimlarini içerir. VoIP bunlari agda
ilerleyebilmek için ve hedefe ulasmak için
kullanir.
Ses(kaynak) --- ADC --- Internet --- DAC ---
Ses(hedef)
VoIP kullanmanin PSTN’e göre avantjlari
nelerdir?
Eger PSTN hat kullaniyorsaniz, genel olarak
hatti kullandiginiz süre kadar, o hatti size
saglayan ve yöneten sirkete para ödersiniz. Eger
uzun süre konusursaniz daha çok ödersiniz. Ve
ayrica ayni anda birden fazla kisi ile
konusamazsiniz. (Telekonferans)
VoIP’de ise bunun tersine ayni anda ihtiyaciniz
olan herkezle görüsebilirsiniz (Karsi tarafinda
VoIP kullaniyor olmasi lazim). Istediginiz kadar
ve ayni anda birçok kisi ile konusabilirsiniz.
Peki neden herkes VoIP
kullanmiyor?
Ne yazik ki hala VoIP mimarisi ile Internet
arasindaki entegrasyonda problemlerimiz
bulunmaktaydı. Tahmin edebileceginiz gibi ses
trafigi gerçek zamanli akisa sahip olmalidir (VoIP’de,
sesinizin karsi tarafa gitmesi veya sizin onu
duymaniz için beklemeniz gerekmekteydi) Bu
internetin yogunlugu ile alakalidir. Internet,
birçok yönlendirici (router) dan olusan
heterojen bir yapiya sahiptir, 20-30 civarinda
veya daha fazla yönlendiriciden geçerek yol
almak ve bunlarin yogunluklari göz önüne
alinirsa bu paketlerin yol alacagi zaman
artacaktir. Demek ki iyi bir performans için
bazi seyleri degistirmek gerekmektedir. Takip
eden bölümde bu büyük problemi nasil
asabilecegimizi anlatmaya çalisacagiz. Genel
olarak, VoIP uygulamalari için internet üzerinde
belli bir bant genisligini garanti etmek çok
zordur. Ama Sistemimiz Bunlarıda aşmış
bulunmaktadır..
VoIP hakkinda teknik
bilgi
Bu bölümde VoIP hakkinda bazi önemli bilgileri
vermeye çalisacagiz. Daha sonraki açiklamalari
anlamak için gerekli bilgilerdir bunlar.
VoIP iletisimine genel
bakis
VoIP iletisimi için sunlara
ihtiyacimiz vardir:
Öncelikle analog sinyali dijital sinyale (bits)
çevirmek için ADC gereklidir. Ve bu dijital
bit’lerin iletisim için iyi bir formatla
sikistirilmis olmasi olmasi gerekmektedir. Bunun
için ileride görecegimiz birkaç protokol vardir.
Simdi bu ses paketlerini gerçek zamanli protokol
ile veri paketlerine ilistirmemiz gerekmektedir.
(genellikle IP üzerinde UDP, onunda üzerinde RTP)
Karsi tarafi aramak için sinyallesme protokolüne
ihtiyacimiz var. Bunu ITU-T H.323 yapacaktir.
Karsi tarafa ulasan paketlerin tekrar açilmasi,verilerin
düzenlenmesi, analog ses sinyaline çevrilmesi ve
son olarak ses kartina veya telefona yollanmasi
gerekmektedir.
Bütün bu islemlerin gerçek zamanli olarak
gerçeklesmesi gerekmektedir. Çünkü çok geriden
gelen paketlerin beklenmesi gibi bir seçenek
yoktur.
Temel Mimari
Ses )) ADC – Sikistirma Algoritmasi - RTP’nin
TCP/IP içine yerlestirilmesi -----
----> |
<---- |
Ses (( DAC – Açma Algoritmasi - RTP’nin
TCP/IP’den ayiklanmasi -----
Analog’dan Dijital’e Dönüstürmek
Bu islem donanim ile gerçeklestirilir,
genellikle kartlar üzerinde ADC ile.
Günümüzde bütün ses kartlari 16 bit – 22050 Hz
dönüsüme destek vermektedir (Örnekleme için
Nyquist kuralina göre 44100 Hz’e ihtiyaç
duyulur). Gerekli bant genisligi ise : 2 Byte *
44100 (sn. ‘deki örnekleme) = 88200 byte/sn,
stereo için176.4 kbyte/sn.
VoIP’de ses yollamak için 176 Kbyte gibi bir
bant genisilgine ihtiyacimiz olmaz. Sonraki
bölümlerde görecegimiz kodlama seçenekleri ile
bunu düsürmekteyiz.
Sikistirma Algoritmalari
Simdi elimizde standart formatta olmasi gereken
ve hizli iletilmesi gereken dijital veri var.
• PCM, Pulse Code Modulation, ITU-T G.711
Ses bant genisligi 4 kHz, tabii ki örnekleme
bant genisilgi 8 kHz olmali (Nyquits’e göre)
Her örnekleme 8 bit’tir (Bu 256 ayri deger
demek).
Net hiz : 8000 Hz * 8 bit = 64 kbit/sn, yani
tipik dijital telefon hatti.
Gerçek uygulamalarda Kuzey Amerika için mu-law
ve Avrupa için a-law varyantlari olan ve
logaritmik olarak 12 yada 13 bit analog
sinyallesme kullanilir.
• ADPCM, Adaptive differential PCM, ITU-T G.726
32 kbps gerektiren ses paketi ile gerçek paket
arasindaki farki çeviren sikistirma teknigidir.
• LD-CELP, ITU-T G.728
• CS-ACELP, ITU-T G.729 ve G.729a
• MP-MLQ, ITU-T G.723.1, 6.3kbps, Gerçek Zamanli
Konusma
• ACELP, ITU-T G.723.1, 5.3kbps, Gerçek Zamanli
Konusma
• LPC-10, 2.5 kbps!!
Son olarak siralanan protokoller oldukça önemli
olup, düsük bant genisligi kullanimini garanti
etmektedirler. Özellikle G.723.1 çok yüksek bir
MOS (Mean Opinion Score – Ses kalitesinin
ölçülmesinde kullanilan bir deger) degerine
sahiptir.
RTP (Real Time Transport Protocol –
Gerçek Zamanli Tasima Protokolü)
Simdi elimizde ham veri var ve TCP/IP yiginina
yerlestirmemiz gerekmekte. Yapi su sekildedir:
VoIP veri paketleri
RTP
UDP
IP
I,II katmanlar
VoIP veri paketleri, UDP-IP paketlerinin
içindeki RTP paketlerinde yer alir.
Öncelikle, VoIP TCP kullanamaz çünkü, gerçek
zamanli uygulamalar için TCP çok agir. Bu yüzden
UDP kullanilir.
Ikinci olarak, UDP, paketlerin karsi tarafa
ulasip ulasmadigini veya ne kadar zamanda
ulastigini kontrol etmez. Bu iki deger sesin
kalitesi için önemlidir. RTP bu problemi çözerek
paketlerin alindigi tarafta paketleri uygun
siraya dizer ve paketlerin ulasmasi için çok
uzun süre beklemez, böylece konusma kesintilere
ugramaz. Fakat hala sürekli veri akisina ihtiyaç
duymaktadir.
Real Time Transport Protocol – Gerçek Zamanli
Tasima Protokolü
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X| CC |M| PT | sira numarasi |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| zaman bilgisi |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| senkronizasyon kaynak (SSRC) tanimlayicisi |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| yardimci kaynak (CSRC) tanimlayicilar |
| .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Tanimlar:
V : Kullanilan RTP’nin
versiyonu
P : Padding
X : Baslik ekleri
CC : CSRC
tanimlayicilarinin sayisini veren alan. CSRC
alaninin kullanim yeri örnegin konferans
konusmalaridir.
M : Isaret bit’I
PT : Payload tipi
RTP ile ilgili tam bilgiyi RFC 1889 ve 1890’dan
alabilirsiniz.
RSVP
VoIP’de RSVP gibi diger bir takim protokollerde
kullanilir. RSVP Servis Kalitesi’nin kontrolünde
kullanilir (QoS – Quality of Service)
RSVP bir sinyallesme protokolüdür ve paketlerin
ugrayacagi her noktadaki bant genisligi ve
gecikme degerlerini tespit etmeye yarar. Daha
detayli bilgi için: RFC 2205
Quality of Service (QoS)
Yazi boyunca birçok kez VoIP uygulamalarinin
gerçek zamanli veri akisina ihtiyaç duydugunu ve
etkilesimli ses veri degisimi için beklenende
budur zaten.
Ne yazik ki, TCP/IP bu tip bir amaç için uygun
degildir, sadece en iyi çabayi gösterir.
Paketlerin yol aldigi bütün yönlendirici
(router)’lar da paket akisini yönetmenin kural
ve ip uçlarini inceleyelim:
IP protokolündeki TOS alani servis tipini
tanimlar: Yüksek deger, düsük önem anlamina
gelir. Ve çok düsük bir deger ise bize daha çok
gerçek zamanli akis saglar.
H323 Sinyallesme Protokolü
H323 VoIP üzerinden arama yapmak için kullanilir
(örnegin MS Netmeeting ile). Bu protokolu
kullanmak için sunlar gereklidir:
VoIP baglantiyi baslatabilecek terminaller.
Adres çevrimi (ismi IP ‘ye) ve kabul kontrolu (admission
control – kullaniciyi kabul veya reddetmek veya
bazi kullanicilarin bant genisligi kontrolü
için) yapabilmek için Gatekeeper.
TCP7IP – PSTN çevrimi için Gateway.
Konferans için MCU (Multipoint Control Units).
Proxy sunuculari.
H323 sadece VoIP için degil ayni zamanda video
ve veri iletisiminde de kullanilir.
VoIP ile ilgili olarak, H323, G.711, G.722,
G.723, G.728 ve G.729 ses codec’lerini
tasiyabilir. Video için ise, H261 ve H263.
Gatekeeper Modeli
(Terminal H323) A - - -
\
(Terminal H323) B - - - D (Gatekeeper)
/
(Terminal H323) C - - -
A, B ve C aramalar için Gatekeep’a dogru
ayarlanmistir. Terminaller her açildiginda
Gatekeeper’a kayit olurlar. Herhangi bir arama
için gatekeepr’a sorgu geldiginde Gatekeeper
kendisindeki kayitlara bakarak bu sorguya cevap
verir.
Gateway Modeli
Daha öncede söyledigimiz gibi gateway’ler VoIP
sistemini PSTN’e entegre etmek için kullanilir.
Böylece klasik telefonlar ile Internet birlesmis
olmaktadir.