Title: Internet Protokol
1Internet Protokolü Üzerinden Ses Iletimi Ve Bir
Yazilim Uygulamasi Gerçeklenmesi
NURTEN ERKAN
Y.BILGISAYAR MÜHENDISI
BILIM, SANAYI ve TEKNOLOJI KOCAELI IL MÜDÜRLÜGÜ
nurten.erkan_at_sanayi.gov.tr
2Sunus Özeti
1-VoIP nedir? 2-VoIP Protokolleri 3-VoIP
Uygulamasi 4-Özet 5-Sonuçlar
3VoIP NEDIR ?
- VoIP, normal telefon sistemindeki sesin IP
tabanli internet üzerinden ayni - kalitede ve güvenilirlikte tasinmasidir.
- VoIPde, DSP (Digital Signal Processing
Sayisal Sinyal Isleme) segmentleri ile ses
sinyali framelere çevrilir ve belli bir gurup
olusturduklarinda ses paketlerine çevrilir ve IP
tabanli bir sebeke üzerinden gönderilir. - VoIP uygulamalari üç türlü gerçeklestirilmekted
ir. - Geleneksel uluslararasi ve uzun mesafe telefon
hizmetlerinde (Telefon-Telefon) - Geleneksel telefon sebekesi ile bilgisayar ve
Internet tabanli telefon hizmetlerinde
(Telefon-PC) - Tamamen bilgisayar ve internet tabanli telefon
uygulamalarinda (PC- PC)
4VoIPin Avantajlari
- Düsük destek maliyeti, sadece standart temelli
bir network maliyeti gerektirir. - Potansiyel telefon görüsmelerinden tasarruf,
herkese açik telefon - sebekesi imkani saglar.
- Daha büyük esneklik - insanlar, aldiklari
servisler kesilmeksizin ofisler arasinda ses
görüsmesi yapabilir ve çok düsük miktarda kesinti
ile karsilasirlar. - Birlesik mesajlasma ve iliski merkezleri gibi
yeni üretken servislere erisim saglar. - Daha yüksek seviyelerde ölçeklenebilirlik ,yeni
kullanicilar hizla ve kolaylikla eklenebilme
imkanina sahip olurlar. - Veri servisleriyle gerçek zamanli ses iletim
servislerinin birlestirilebilmesi imkani saglar.
5 VoIP Nasil Çalisir ?
01100101010110011000101010110
IP
Gateway
Gateway
Ses )) ADC Sikistirma Algoritmasi - RTPnin
TCP/IP içine yerlestirilmesi ----- ----gt
lt---- Ses (( DAC Açma Algoritmasi -
RTPnin TCP/IPden ayiklanmasi
6 VoIP de Güvenlik
Tehdit Çözüm
Denial-of- Service(DoS) saldirilari SIP proxy sunucusuna ya da ag gecidi cihazlarinin ag servislerini vermesini engellemek için paket bombardimanina tutulmasidir. Cihazlar bu tip saldirilari önleyecek sekilde konfigüre edilmelidir.
Gizlice Dinleme Yetkisi olmayan kullanicilarin geçen RTP ortam akisinin önünü kesmesi ve mesajlari çözmesi Gönderilen verinin sifrelenmesi.
Paket taklit edilmesi(packet spoofing) Veri gönderen yetkili bir kullanicinin yerine geçmek. Çagriya katilan kullanicilarin adres(IP adresi gibi) bilgilerini kaynak dogrulamasi için birbirine göndermesi.
Ses paketlerinin tekrar gönderilmesi Gerçek mesajin yeniden gönderilmesi. Bu sayede hedef kullanicinin mesaji yeniden islemesi. Gönderilen mesajin sifrelenmesi ve her mesaja uygulama katmaninda bir sira numarasi atanmasi.
Mesaj Içerigi Alinan mesaj ile gönderilen mesajin içeriginin ayni oldugunun kontrol edilmesi. Çesitli yöntemlerle mesajin gerçekliginin dogrulanmasi.
7 VoIP PROTOKOLLERI
- Isaretlesme Protokolleri
- H.323
-
- Oturum Baslatma Protokolü (Session Initaition
Protocol-SIP) - Veri Aktarim Protokolleri
- Kaynak Protokolü (Resource Reservation
Protocol-RSVP ) -
- Gerçek Zaman Iletim Protokolü (Real time
protocol-RTP) -
- Gerçek Zaman Iletim Kontrol Protokolü (Real time
control - protocol-RTCP)
8H.323 Protokolü
- H.323 1990 in ortalarinda ITU (International
Telecommunications - Union) tarafindan gelistirilmistir.
- Ses, görüntü ve veri haberlesmesi için semsiye
standarttir. - Çagri kontrolü ve ortam akis protokollerini
tanimlar.
9 H.323 Bilesenleri
10 Ag Geçidi (Gateway)
- Gateway, ses ve fax çagrilarini, IP
Paketlerine dönüstürerek genel anahtarlamali
telefon aglari (PSTN Public Switched Telephone
Network) ile IP Aglari arasinda gerçek zamanli
olarak tasimaya yarayan cihazlardir. - VoIP Gatewayin ana islevi, bir sikistirma
algoritmasi (Codec) kullanarak ses ve fax
sikistirmasi yapmasi ve karsi tarafta
sikistirmayi yeniden açma (Decoder), paketleme,
çagri yönlendirme ve sinyal kontrolü yapmasidir.
Gateway
Gateway
IP NETWORK
11Çok Noktali Kontrol Ünitesi(Multipoint Control
Unit - MCU)
- MCU agda ikiden fazla terminalin ya da Gateway
in çoklu bir konferansa katilimlarini saglamaya
yarayan cihazlardir. Sonradan çoklu bir
konferansa dönüsebilecek ikili görüsmeler de MCU
lar araciligi ile saglanabilir.
MCU
12Geçit Sorumlusu (Gatekeeper)
- Geçit sorumlusu, terminallerin ve gatewaylerin
kayit, kabul ve statü (Registration, Admission
and Status -RAS-) takibinden sorumlu olan ag
modülüdür. - Geçit solumlusu zone yönetimini ve çagri
isleme/isaretlesme islevlerini de yerine
getirirler. Aranan telefon numaralarinin
iletilecegi gatewaylerin IP adresleri geçit
sorumlusu cihazlarinda ya da yazilimlar
kullanilarak tutulur. - Geçit sorumlusu asagidaki fonksiyonlari yerine
getirir - Adres Dönüsümleri
- Yetki Denetimleri
- Bant genisligi Yönetimi
- Zone Yönetimi
13H.323 Terminal
- Gerçek zamanli iki yönlü haberlesme saglar.
- H.323.terminaller H.245, Q931, RAS (Remote
Access Server-Uzak - Erisim Sunucusu), RTP(Real Time Protocol)
protokollerini - desteklemelidir.
- H.323 terminaller MCU ve Gateway ile haberlesme
özelligine sahiptir.
14Oturum Baslatma Protokolü (Session Initaition
Protocol - SIP)
- SIP Protokolü 1999 yilinda internet
mühendisligi grubu (Internet - Engineering Task Force (IETF) tarafindan
yayinlanmistir. - Bir veya daha fazla katilimci arasinda
multimedia oturumlari - olusturur ve sonlandirir.
- ASCII tabanli(metin bazli) kolay anlasilabilir
bir protokoldür. - SIP basit ve genisleyebilir bir protokoldür.
15 SIP Bilesenleri
Proxy Sunucusu (Proxy Server)
Yönlendirme Sunucusu (Redirect Server)
Kayit Sunucusu (Registrar Server)
Sunucu Kullanici Birimi (User Agent Server-UAS)
Istemci Kullanici Birimi (User Agent Client-UAC)
16 SIP (Session Initiation Protocol)
Bilesenleri
- Kullanici Arabirimi(User Agent-UA)
- Istemci Kullanici Arabirimi(User Agent
Client-UAC) Istemci Kullanici Birimi SIP
oturumunu çagri gönderme istegi ile baslatir. - Sunucu Kullanici Birimi(User Agent Server-UAS)
Sunucu Kullanici Birimi çagrinin gönderildigi
hedef kullaniciyi tanimlar. UASin görevi gelen
çagriyi cevaplamaktir. - Proxy Server
- SIP Sunucu Kullanici arabiriminden gelen SIP
oturum taleplerini alir ve oturum talebini hedef
kullanici arabirimi ya da hedef kullanicinin
bulundugu taraftaki baska bir sunucuya gönderir. - Hem istemci hem de sunucu rolünü üstlenir.
- SIP protokolünü kullanmayan kullanicilarla oturum
kurulabilmesini - saglamaktadir.(H.323 protokolünü kullanan
bir kullanici ile)
17- Yönlendirme Sunucusu (Redirect Server)
- Kullanici Arabiriminden gelen SIP taleplerini
alir,hedef kullanici ile - Baglanti kurulabilmesi için çagri gönderen
kullaniciya hedef kullanicinin - adresini gönderir.
- Kayit Sunucusu (Registrar Server)
- Kullanicilarin konum bilgilerini girmelerini
saglayan sunucudur. - Istek gönderen kullanicilarin konum bilgilerini
veritabaninda günceller.
18 H.323 SIP Özellik Karsilastirmasi
KATEGORI H.323 SIP
Karmasiklik Çok karmasik Basit
Mesaj Kümesi Bir çok mesaj iletimi Az sayida mesaj iletimi
Hata Ayiklama Protokol genislediginde araçlarda degistirilmeli Basit araçlar sürekli kullanilabilir
Genisleyebilme Genisleyebilir Çok Genisleyebilir
Bilesenler Terminaller, Gatekeeper, Gateway,MCU UAC,UAS,Sunucular (proxy,kayit,yönlendirme)
Islemci Kullanimi Fazla yük Az yük
Telefon Özellikleri Güçlü Güçlü
Kullanici Uygulamalari Çok zor Kolay
Kod Büyüklügü Uzun Kisa
Dinamik Hafiza Kullanimi Genis Orta
19VERI AKTARIM PROTOKOLLERI
- Gerçek Zaman Protokolü (Real time protocol-RTP)
- Gerçek Zaman Kontrol Protokolü (Real time
control protocol-RTCP) - Kaynak Ayirma Protokolü (Resource Reservation
Protocol-RSVP)
20Kaynak Ayirma Protokolü (RSVP)
- IP aglarinda kaynak rezervasyonu yapar.
- Paketlerin ugrayacagi her noktadaki bant
genisligi ve gecikme degerleri - tespit eder.
- Kendi mesajlari için lokal yönlendirme
tablolarina bakarak yol çizer - Servis kalitesinin kontrolünde kullanilir
- Yol kurma ve Yer ayirma olmak üzere iki çalisma
modu vardir.
21Gerçek Zaman Tasima Protokolü (RTP)
- Gerçek zamanli ses ve görüntü verilerinin uçtan
uca tasinmasini saglar. - Veri paketlerinin gerçek zamanli iletimini
garanti etmez. - Veri iletimini gözlemlemek için RTCPden
faydalanir. - RTP , UDP servisleri kullanilarak iletilir.
- Veri akisinin senkronizasyonunu kontrol eder.
- Paket kayiplarini tespit eder.Fakat telafi
etmez.
22Gerçek Zaman Tasima Kontrol Protokolü (RTCP)
- RSVP ,RTP ile baglantili olarak çalisan kontrol
protokolüdür. - Veri iletimi kalitesi konusunda geribildirim
saglamak için kullanilir. - Periyodik olarak kontrol paketlerinin
iletilmesine dayanan bir protokoldür. - Gönderici ve alici raporlari tüm katilimcilara
periyodik olarak iletilir. - (raporlar paket sayisi, paket kayip oranlari,
paket iletim gecikmeleri ve - gecikme süresi farkidir.)
23VoIP UYGULAMA
- Uygulama internet üzerinden ses iletiminin
gerçeklestirilmesi için tasarlanmistir. - Uygulama Visual C gelistirme ortaminda nesne
tabanli programlama teknikleri kullanilarak
gelistirilmistir. - Kullanici (Client) Sunucu (Server) tabanli bir
uygulamadir. ( PC to PC) - Kullanici sunucuya uygulamanin kullanici
arayüzünden bir isim yazarak baglanirlar. - Sunucuya baglanan kullanici sistemde online olan
diger kullanicilarin listesini alir. - Kullanici listesinden istedigi kisiyi seçerek
ses görüsmesi yapar. - Uygulamanin baglanti kisminda TCP/IP
haberlesmesi, iletim kisminda ise TCP protokolü
kullanilmistir.
24Visual C Gelistirme Ortami
- Visual C, C ile program yazmak üzere
donatilmis, görsel yönelimli bir yazilim
gelistirme ortamidir. - C veya C dilinde yazilmasi olasi olan her
türlü program Visual C ile yazilabilir. - C, C nin üst kümesidir.
- C dilinin gelistirilmesiyle olusturulmustur.
- C, C nin kapsamakta olduklarina ek olarak
nesneye dayali programlamayi (OOP Object
Oriented Programming ) da destekler.
25TCP / IP Soket Yapisi
Gönderici Soket Kaynak IP Adresi Kaynak
Port Numarasi Alici soket
Hedef IP Adresi Hedef Port Numarasi
26Microsoft Temel Siniflari (MFC)
- MFC microsoft windows ortaminda isletim
sisteminin Uygulama - Programlama Arayüzü (Application Programming
Interface API) ne ulasip islem - yapmamizi saglar.
- MFC sinif sistemi içerisinde yüzden fazla sinif
ve binlerce üye fonksiyon vardir. - Sinif sisteminin en tepesinde Cobject denilen
bir sinif bulunur. Bu Object sinifi - uygulamalar için diger siniflara taban sinifi
islevini yerine getirmektedir. - MFC siniflarinin büyük çogunlugu Cobject
sinifindan türetilmistir. - MFC sinif isimleri C harfi ile baslayarak
isimlendirilir. - MFC siniflari kullanim alanlarina göre çesitli
gruplara ayrilabilir.
27 Seçilen bir kullanici ile konusmayi saglar.
Uygulama için Olusturulan Arayüzler
- Uygulamanin kullanici arayüzü sunucuya
baglanma, - sunucu baglantisini kesme, diger kullanicilar ile
- konusma islevlerini yerine getirir.
- Uygulamanin sunucu arayüzü kullanici
bilgilerini - tutma, güncelleme ve diger kullanicilara sunma
- islevlerinin yerine getirir.
28Uygulamada Kullanilan Mesaj Formatlari
User msj(tunc, deniz), istemci listesi (
Mesaj Yönü server- client) New msj(tunc),
istemci adi (Mesaj Yönü client - server) Down
msj(NULL), sunucu kapanma (Mesaj Yönü server
- client) Ikinci format, (header length
mesg) seklinde belirlenmistir. Header Ses
gönderen kullanicinin ip ve port numarasini
içermektedir. Length Ses bilgisinin boyutunu
gösterir. Mesg Ses bilgisinden olusmaktadir.
29 Sunucu Uygulamasinin Çalisma Akisi
Sunucu Akis Diyagrami
30- Port bilgisi kismina port no (1051) yazilarak
Çalistir -
- butonuna tiklandiginda, portun uygunlugu kontrol
edilir, - eger port no uygunsa Sunucu Soketi olusturulur.
- Yeni baglanti olusturma asamasi Sunucu ilk
- asamadan sonra çalismaya baslar ve portu
dinlemeye - alir.
- Herhangi bir kullanicidan baglanti istegi
geldiginde, bu - baglanti istegi degerlendirilir ve uygun bir
baglanti ise,
31- Baglanti kuruldu ve bu baglanti kurulan
- kullaniciin bilgilerini bir liste yapisinda
- tutabilmek için var olan kullanici listesine yeni
- baglanti kurulmus olan kullanicinin bilgileri
- eklenir.
- Bir önceki asamada yapilan degisiklikler yani
- kullanici listesinin güncel hali tüm
kullanicilara - gönderilmesi islemi yapilmalidir.
32 Kullanici Uygulamasinin Çalisma Akisi
Kullanici Akis Diyagrami
33- Kullanici uygulamasinin baslamasi için bir
- soket olusturmaya gerek vardir.
- Bu soket sayesinde kullanici sunucudan güncel
- kullanicilara hem de diger kullanicilara ses
- mesaji gönderebilmektedir.
- Kullanici listesini alabilmektedir.
- Sunucu IP si, port numarasi, kullanici adi
- girildikten sonra Baglan butonuna basilir.
34- Girilen IP ve port bilgileri dogruysa kullanici
sunucu - baglantisi saglanacaktir.
- Baglanti kabul edilmisse True, kabul edilmemisse
- False degeri elde edilir. Baglanti saglanmazsa
- kullaniciya bilgilerini kontrol etmesi için uyari
verir. - Kullanici bilgileri olusturulan soket baglantisi
- sayesinde sunucuya iletilir. (New tunc)
- Kullanici sunucuya dahil olmus olur.
Sunucu-kullanici
35- Kullanici sunucuya baglandiktan sonra portu
dinlemeye baslar. - Gelen mesajlarin içerigi çözülür.
- Mesaj içerigi kullanici listesi ise bu mesaj
sunucudan gelmistir. - Alinan yeni listeye göre kullanici kendi
listesini günceller. - Mesaj içerigi ses bilgisi ise baska bir
kullanicidan gelmistir. - Alinan bu ses mesaji hoparlörden çalinir.
36- Ses Bilgisinin Çalinmasi
- Ses verisi buffer (tampon) içerisine alinir.
- Buffer içerisindeki ses verisinin büyüklügü
kontrol edilir. - Eger buffer da belirlenen degerden büyük degil
ise isleme alinir. - Bu asamadan sonra ses verisi bir is parçacigi
vasitasiyla ses cihazina (sound device)
gönderilir. - Uygulamada yer alan fonksiyonlar yardimiyla ses
bilgisi hoparlörden çalinir.
37 Seçilen Kullaniciya Ses Verisinin
Gönderilmesi
38- Kullanici listesinden istenilen kisi seçilerek
- (DENIZ) baslat butonuna basilir.
- Mikrofondan alinan ses sinyali, frekans 8000 Hz
- ve bit derinligi 8 olarak sayisal degerlere
- çevrilerek 2000 bitlik bir buffer yaziliyor.
- Baslat butonuna basildiginda buffer da olan
- ses bilgisi bagli oldugumuz kullaniciya
- gönderilir.
39 ÖZET
- VoIP, PSTN sistemlerine göre daha avantajlidir.
Çünkü PSTN yeni - özelliklere adapte olma konusunda yeterince
uygun degildir. - VoIP de yeni uygulamalar gelistirip ve mevcut
sisteme entegre edilebilir. - VoIP in önünde asmasi gereken bazi engeller
olsa da PSTN e karsi - sagladigi ekonomik avantajlar (düsük isletme ve
kurulum giderleri), bu - sistemin yakin bir gelecekte standart devre
baglasmali telefon - sebekelerinin yerini alacagini göstermektedir.
- Tez kapsaminda gerçeklestirilen VoIP uygulama
yazilimi internet
40 SONUÇLAR
- VoIP, PSTN sistemlerine göre daha avantajlidir.
Çünkü PSTN yeni - özelliklere adapte olma konusunda yeterince
uygun degildir. VoIP de yeni uygulamalar - gelistirip ve mevcut sisteme entegre edilebilir.
- VoIP in önünde asmasi gereken bazi engeller
olsa da PSTN e karsi - sagladigi ekonomik avantajlar (düsük isletme ve
kurulum giderleri), bu - sistemin yakin bir gelecekte standart devre
baglasmali telefon - sebekelerinin yerini alacagini göstermektedir.
- Tez kapsaminda gerçeklestirilen VoIP uygulama
yazilimi Internet - ortaminda bulunan kullanicilarin ses görüsmesi
yapmasina imkan vermektedir.
41KAYNAKLAR
1 Kumar, V., Korpi, M., and Sengodan, S., IP
Telephony with H.323 Architectures for Unified
Networks and Integrated Services , John
WileySons , (2001). 2 Liu, H., Mouchtaris,
P., Voice over IP Signalling H.323 and Beyond
, IEEE Communications Magazine, 142. , (2001).
3 Rosenberg, J., Schulzrinne, H., Camarillo,
G., Johnston, A ., Peterson, J., Sparks, R.,
Handley, M., and E.Schooler,SIPSesion
initiation protocol , IETF RFC 3261, June, (
2002). 4 Fincan, E., Internet Protokolü
Üzerinden Ses Haberlesmesi, Yüksek Lisans Tezi,
Istanbul Teknik Üniversitesi Fen Bilimleri
Enstitüsü, Istanbul, 45-48, (2002). 5 Bük ,
O., Internet Protokolü Üzerinden Ses Iletimi ve
Askeri Amaçli Kullanimi , Yüksek Lisans Tezi,
Istanbul Teknik Üniversitesi Fen Bilimleri
Enstitüsü, Istanbul, (2004). 6http//www.iptel
ephony.org/cgibin/DataMaker/DataMaker.pl?Selection
PublicViewDatadbIdNum1dfIdNum1 (Ziyaret
Tarihi 22 Mayis 2007). 7http//http//www.prog
ramlama.com/sys/c2html/viewCategory.php?DocCategor
y3DocType1 (Ziyaret Tarihi 22 Mayis
2007). 8 Çölkesen ,R. , C Proglama Dili ,
Papatya Yayincilik, (2001). 9 özkan, Y.,
Nesneye Yönelik ProgramlamaC ile
Programlama, Alfa Yayincilik, (2003).
42TESEKKÜRLER