İKİ NOKTA ARASINDA İNTERNET PROTOKOLÜ ÜZERİNDEN SESLİ İLETİŞİM Hüseyin Salih ÖZGÖKÇE YÜKSEK LİSANS TEZİ BİLGİSAYAR EĞİTİMİ GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ MAYIS 2013 ANKARA ii TEZ BİLDİRİMİ Tez içindeki bütün bilgilerin etik davranış ve akademik kurallar çerçevesinde elde edilerek sunulduğunu, ayrıca tez yazım kurallarına uygun olarak hazırlanan bu çalışmada orijinal olmayan her türlü kaynağa eksiksiz atıf yapıldığını bildiririm. Hüseyin Salih ÖZGÖKÇE iv İKİ NOKTA ARASINDA İNTERNET PROTOKOLÜ ÜZERİNDEN SESLİ İLETİŞİM (Yüksek Lisans Tezi) Hüseyin Salih ÖZGÖKÇE GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ Mayıs 2013 ÖZET Telekomünikasyon dünyasında en çok tercih edilen iletişim araçlarından birisi de telefondur. Telefon yardımıyla ses, kamusal devre anahtarlı ağlar (Public Switched Telephone Network - PSTN) kullanılarak bir noktadan diğer bir noktaya iletilir. İnternet Protokolü (IP) teknolojisinin hızlı ilerleyişi ve gelişimiyle birlikte yaygın kullanımı ses iletiminin paket anahtarlamalı ağlar (Packet-switched network) üzerinden yapılması fikrini ortaya çıkarmıştır. IP Telefonu (voice over internet protocol-voip), günümüz devre-anahtarlamalı haberleşme hizmetlerinin paket-anahtarlamalı çalışmasını sağlayan IP ve protokolüne veri (Internet şebekeleri üzerinde Protocol) dayanan teknolojilerin bir bütünüdür. Bireysel ve kurumsal kullanıcıların maliyet tasarrufu beklentileri, paket anahtarlamalı ağlar üzerinden ses iletiminin popülaritesini artırmış ve hızlı büyüyen bir sektör olmasını sağlamıştır. Bu çalışmada, internet üzerinden ses iletimi (Voice over IP - VoIP) incelenerek bu konuyla ilgili kavramlar, ilkeler ortaya konmuş ve işlenmiştir. Bununla v beraber, soket programlama ve directx teknolojisi kullanılarak mikrofondan alınan sesi bir noktadan karşıdaki diğer bir noktaya internet üzerinden iletimini gerçekleştiren bir uygulama geliştirilmiştir. Bilim Kodu Anahtar Kelime Sayfa Adedi Tez Yöneticisi : 702.3.006 : voip, directx, socket, h.323, sip : 56 : Doç. Dr. Halil İbrahim BÜLBÜL vi PEER TO PEER VOIP COMMUNICATION (M.Sc. Thesis) Hüseyin Salih ÖZGÖKÇE GAZİ UNIVERSITY INFORMATICS INSTITUTE May, 2013 ABSTRACT One of the most preferred means of communication in the world of telecommunications is the phone. Utilizing the phone, sound is transmitted from one point to another using Public Switched Telephone Network (PSTN). Along with its rapid development and progress, the widespread usage of the Internet Protocol (IP) technology made the idea of transmitting voice over the packetswitched networks emerged. IP Telephony (Voice Over Internet Protocol-VoIP) is a set of technologies based on IP protocol that provides today's circuitswitched communication services that run on a packet-switched data networks. Cost saving expectations of individual and institutional users, have increased the popularity of voice transmission over packet-switched networks and made it a fast-growing sector. In this study, examining the voice transmission over the Internet (Voice over IP - VoIP), the concepts and principles of the subject are laid down and processed. Meanwhile, using the DirectX technology, an application for performing a voice transmission over the Internet has been developed, in which the voice is obtained from a microphone. Science Code Key Words Page Number Adviser : 702.3.006 : voip, directx, socket, h.323, sip : 56 : Assoc. Prof. Dr. Halil İbrahim BÜLBÜL vii TEŞEKKÜR Çalışmalarım boyunca değerli yardım ve katkılarıyla beni yönlendiren Hocam Doç.Dr. Halil İbrahim BÜLBÜL’e ve çalıştığım kurum yöneticilerine, manevi destekleriyle beni hiçbir zaman yalnız bırakmayan çok değerli babama, anneme, eşime, kardeşim ve eşine teşekkürü bir borç bilirim. viii İÇİNDEKİLER Sayfa ÖZET ..................................................................................................................... iv ABSTRACT ........................................................................................................... vi TEŞEKKÜR .......................................................................................................... vii İÇİNDEKİLER ..................................................................................................... viii ÇİZELGELERİN LİSTESİ .......................................................................................x ŞEKİLLERİN LİSTESİ .......................................................................................... xi RESİMLERİN LİSTESİ ........................................................................................ xii SİMGELER VE KISALTMALAR ....................................................................... xiii 1. GİRİŞ ...................................................................................................................1 2. İNTERNET PROTOKOLÜ ÜZERİNDEN SESLİ İLETİŞİM (VOIP) ..................6 2.1. Devre ve Paket Anahtarlama ..........................................................................6 2.2. VoIP ve Tarihsel Gelişimi ..............................................................................8 2.3. VoIP Senaryoları .......................................................................................... 11 2.3.1. Bilgisayardan bilgisayara ses iletimi .................................................. 11 2.3.2. Bilgisayardan telefona ya da telefondan bilgisayara ses iletimi ............ 12 2.3.3. Telefondan telefona ses iletimi ................................................................ 12 2.3.4. Mobil voip .................................................................................................13 2.3.5. Kablosuz voip .................................................................................... 13 2.4. H.323 ........................................................................................................... 14 2.4.1. H.323 avantajları ...............................................................................15 2.5. Sip (Oturum Başlatma Protokolü) ......................................................................16 2.5.1. Sip avantajları ....................................................................................17 ix Sayfa 2.6. Ses İletiminde Kaliteyi Etkileyen Unsurlar ................................................... 17 2.6.1. Bant genişliği..................................................................................... 18 2.6.2. Jitter .................................................................................................. 20 2.6.3. Echo .................................................................................................. 21 2.6.4. Paket kaybı ........................................................................................ 21 2.6.5. Gecikme ............................................................................................22 2.6.6. Ses sıkıştırma standartları .................................................................. 23 3. İNTERNET ÜZERİNDEN SES İLETİMİ UYGULAMALARI .......................... 24 3.1. Skype ........................................................................................................... 24 3.2. Google Talk ................................................................................................. 29 3.3. Yahoo messenger ......................................................................................... 35 3.4. Genel değerlendirme .................................................................................... 38 4. İKİ NOKTA ARASINDA İNTERNET ÜZERİNDEN SES İLETİMİ ................. 39 4.1. Uygulama Geliştirme Yöntemi ve Kullanılan Araçlar ................................... 39 4.2. Çalışma Mantığı ve Arayüz .......................................................................... 41 4.3. Kaynak Tüketimi..........................................................................................43 4.4. Geliştirilen Uygulamanın Diğer Uygulamalara Göre Üstünlükleri ................48 5. SONUÇ VE ÖNERİLER .................................................................................... 50 KAYNAKLAR ....................................................................................................... 53 ÖZGEÇMİŞ............................................................................................................ 56 x ÇİZELGELERİN LİSTESİ Çizelge Sayfa Çizelge 2.1. H.323 protokol yapısı .......................................................................... 15 Çizelge 2.2. Seçilen kodeğe göre bant genişliği hesabı ............................................ 19 Çizelge 2.3. ITU-T G.114 standardına göre gecikme ............................................... 22 Çizelge 2.4. Ses sıkıştırma standartları ....................................................................23 Çizelge 4.1. Ses örnekleme frekansları .................................................................... 44 Çizelge 4.2. Gecikme süreleri ................................................................................. 48 Çizelge 4.3. Yankı etkisi ......................................................................................... 49 Çizelge 4.4. Kaynak tüketimi .................................................................................. 49 xi ŞEKİLLERİN LİSTESİ Şekil Sayfa Şekil 2.1. Devre anahtarlama ....................................................................................6 Şekil 2.2. Devre anahtarlama kapasite kullanımı .......................................................7 Şekil 2.3. Paketin izlediği rota...................................................................................8 Şekil 2.4. Bilgisayardan bilgisayara ses iletimi. ....................................................... 11 Şekil 2.5. Bilgisayardan telefona ya da telefondan bilgisayara ses iletimi. ............... 12 Şekil 2.6. Telefondan telefona ses iletimi. ...............................................................13 Şekil 2.7. Mobil voip .............................................................................................. 13 Şekil 4.1. Genel tasarım ..........................................................................................40 xii RESİMLERİN LİSTESİ Resim Sayfa Resim 2.1. Dünya çapında voip için oluşturulan veri trafiği .................................... 10 Resim 3.1. Skype arayüzü ....................................................................................... 25 Resim 3.2. Skype arayüzü 2 .................................................................................... 26 Resim 3.3. Skype arayüzü 3 .................................................................................... 27 Resim 3.4. Kaynak izleyicisi ...................................................................................28 Resim 3.5. Google talk arayüzü...............................................................................29 Resim 3.6. Google talk arayüzü 2 ............................................................................30 Resim 3.7. Google talk arayüzü...............................................................................30 Resim 3.8. Kaynak izleyici .....................................................................................32 Resim 3.9. Kaynak izleyici 2 ................................................................................... 33 Resim 3.10. Yahoo arayüzü .................................................................................... 34 Resim 3.11. Yahoo arayüzü 2.................................................................................. 35 Resim 3.12. Kaynak izleyicisi .................................................................................37 Resim 4.1. Ekran arayüzü. ......................................................................................41 Resim 4.2. Add reference ekranı .............................................................................42 Resim 4.3. Kaynak izleyicisi ...................................................................................45 Resim 4.4. Kaynak izleyicisi ...................................................................................46 Resim 4.5. Kaynak izleyici .....................................................................................47 xiii SİMGELER VE KISALTMALAR Bu çalışmada kullanılmış bazı simgeler ve kısaltmalar, açıklamaları ile birlikte aşağıda sunulmuştur. Kısaltmalar Açıklamalar PSTN Public Switched Telephone Network (Kamusal Anahtarlamalı Telefon Ağı) IP Internet Protocol (İnternet Protokolü) VOIP Voice Over Internet Protocol (İnternet Protokolü Üzerinden Ses İletimi) TCP/IP Transmission Control Protocol (Akım Kontrol Protokolü) RFC Request For Comments (Yorumlar İçin Talep) UDP User Datagram Protocol (Kullanıcı Veri Bloğu Protokolü) DNS Domain Name Server (Alan Adı Sunucusu) SNMP Simple Network Management Protocol (Basit Ağ Yönetim Protokolü) API Application Programming Interface (Uygulama Programlama Arayüzü) SIP Session Initiation Protocol (Oturum Başlatma Protokolü) xiv Kısaltmalar Açıklamalar MOS Mean Opinion Score (Ortalama Yargı Değeri) PSQM Perceptual Speech Quality Measurement (Algısal Konuşma Kalite Ölçümü) PESQ Perceptual Evaluation Of Speech Quality (Konuşma Kalitesinin Algısal Değerlendirmesi) ITU-T ITU Telecommunication Standardization Sector (Uluslararası Telekomünikasyon Birliği Telekomünikasyon Standartlaştırma Birimi) RTP Real-Time Transport Protocol (Gerçek Zamanlı Taşıma Protokolü) RTCP Real-Time Transport Control Protocol (Gerçek Zamanlı Taşıma Kontrol Protokolü) LAN Local Area Network (Yerel Alan Ağı) IETF Internet Engineering Task Force (Internet Mühendisliği Görev Gücü) 1 1. GİRİŞ Telekomünikasyon dünyasında en çok tercih edilen iletişim araçlarından birisi de telefondur. Telefon yardımıyla ses, kamusal devre anahtarlı ağlar (Public Switched Telephone Network - PSTN) kullanılarak bir noktadan diğer bir noktaya iletilir. İnternet Protokolü (IP) teknolojisinin hızlı ilerleyişi ve gelişimiyle birlikte yaygın kullanımı ses iletiminin paket anahtarlamalı ağlar (Packet-switched network) üzerinden yapılması fikrini ortaya çıkarmıştır. IP Telefonu (voice over internet protocol-voip), günümüz devre-anahtarlamalı haberleşme hizmetlerinin paketanahtarlamalı veri şebekeleri üzerinde çalışmasını sağlayan ve IP protokolüne (Internet Protocol) dayanan teknolojilerin bir bütünüdür. Başka bir deyişle geleneksel telefon şebekelerinin yerine, sesin IP paketlerine dönüştürülerek IP temelli şebekeler üzerinden iletilmesi işlemi ‘IP Telefon’ olarak adlandırılır [Zengin, 2004]. İnternet üzerinden sesin bir noktadan diğer bir noktaya iletimi esnasında ses kalitesini etkileyen bazı etmenler vardır. İnternet üzerinden ses iletimi gerçek zamanlı olarak gerçekleştiğinden ağda oluşabilecek gecikmeler görüşme kalitesini doğrudan etkilemektedir. Ses paketi iletilirken yaşanacak gecikmelerin fazlalığı görüşmeyi anlaşılmaz hale getirir. Bir diğer etmen ise ses iletiminde paket kayıpları yaşanmasıdır. İdeal kablolama yapılmış yerel ağlarda, dış etmenlere daha çok açık olan diğer ağlara (kablosuz ağlar, uydu veya 3G mobil şebeke kaynaklı ağlar, adsl, metroethernet, metronet v.b.) göre daha az paket kaybı yaşanmaktadır. Yine bir diğer etmen ise gecikmenin 50 milisaniyenin üstünde olduğu ağlarda echo denilen yankı etkisinin yüksek düzeyde olmasıdır. Son olarak ses iletimi için mevcut ağın kapasitesinin daha etkin ve verimli olarak kullanılabilmesi için ses iletiminin ihtiyaç duyduğu ve tükettiği bant genişliği çok önemlidir. Bant genişliği ihtiyacının yüksek düzeyde olması ağın kapasitesinin yetersiz olduğu durumlarda ses iletimini olumsuz yönde etkilemektedir. Bu çalışmada hedef, yerel ağ ortamında ofis içi iki nokta arası internet üzerinden ve arada sunucu olmadan sesli iletişimin sağlanabilmesi için kaynak tüketimi açısından 2 benzer uygulamalara göre daha az bant genişliği isteyen, ses paketlerinin gecikmeye uğramadığı, paket kaybı olmayan, echo (yankı) etkisinin kabul edilebilir düzeyde olduğu bir uygulama geliştirmektedir. Uygulama, soket programlama ve directx teknolojisi kullanılarak mikrofondan alınan sesi bir noktadan karşıdaki diğer bir noktaya internet üzerinden iletecektir. Bunun yanı sıra internet üzerinden ses iletimi (Voice over IP - VoIP) incelenerek bu konuyla ilgili kavramlar, ilkeler ortaya konulacak ve işlenecektir. İnceleme kapsamı yerel ağ üzerinden ofis içi iletişimin yukarıdaki hedefler ışığında voip teknolojisi kullanılarak yapılmasına odaklanılarak belirlenmiştir. Yapılan akademik çalışmalarda internet üzerinden ses iletimi (VoIP) kavramsal olarak detaylı bir şekilde ele alınmış ve voip hizmetinin ekonomik faydaları ortaya konulmuştur. Şişko (2006), tarafından yapılan çalışmada voip’yi detaylı bir şekilde incelemiş, ses ve katma değerli hizmetlerin ip ağları üzerinden kullanımını, gerçek sistem bileşenleri ve yeterliliklerini araştırmıştır. Türk Telekom tabanlı PSTN hat ile 0811 erişim numaraları ve IP erişim karşılaştırılarak kurumsal VoIP uygulamaları ile VoIP’in ekonomik faydalarını açıklamıştır. Çalışması sonucunda, IP erişimle şehirlerarası telefon görüşmelerinde ciddi bir avantaj sağlanmış, uluslararası telefon görüşmelerinde fiyat avantajının daha da arttığı ortaya konulmuştur. Yine IP erişimli hizmetlerin tasarruf oranının 0811 erişimli hizmetlerin tasarruf oranından %70’e kadar daha avantajlı olduğu gösterilmiştir. [Şişko, 2006]. Bunun yanı sıra Can (2006) tarafından yapılan çalışmada, IPv6 üzerinden H.323 ve SIP protokolleri kullanılarak ses uygulamaları için oluşturulan test ortamlarında örnek senaryolar uygulanarak sonuçları değerlendirilmiştir. Oluşturulan test ortamında Nextone SBC, Linksys Phone Adapter, WellGate 3540A, Cisco IPPhone 7912, Cisco 2811 Yönlendirici, Cisco Catalyst 2948 serisi switch araçları kullanılmıştır. Uygulama yanında VoIP’in olumlu ve olumsuz yanları, VoIP sisteminin işleyişi, ses sıkıştırma teknikleri, servis kalitesini etkileyen unsurlar ve sesin gerçek zamanlı olarak taşınabilmesi için geliştirilmiş olan şebeke elemanları, IP 3 üzerinden ses aktarım’a ilişkin protokol tanımlamaları ve bu protokollerin karşılaştırmaları yapılması konularında bilgi verilmiştir [Can, 2006]. Doğruöz (2007), tarafından yapılan çalışmada, yoğunluklu olarak telefonla iş geliştiren kurumlar başta olmak üzere, bir organizasyonun telefon trafiğini kontrol edecek bir sistem gerçekleştirmiş ve bu sistem sayesinde, uygun görülmeyen görüşmelerin engellenmesi veya belirli kurallar dahilinde düzenlenmesi gibi bir takım dinamik fonksiyonların kullanımı ile organizasyondaki iş verimliliğinin artırılmasını hedeflemiştir. Java programlama dili kullanarak gerçekleştirilen uygulama ile Gelen Telefonların Engellenmesi, Gelen Telefonları Yönlendirme, Giden Çağrıların Denetlenmesi ve Engellenmesi kuralları açık kaynak kodlu bir yazılım olan Asterisk üzerinden yapılan görüşmelere tanımlanarak iletişim trafiği izlenmiş ve düzenlenmiştir [Doğruöz, 2007]. Erman (2009), tarafından yapılan çalışmada, SIP tabanlı mobile bir VoIP istemcisinin tasarımını ve gerçeklenmesini ele almıştır. Çalışması, çoktürel ağlar üzerinde çalışabilen bir VoIP istemcisi tasarımının çözülmesi gereken iki sorununun üzerinde yoğunlaşır. Erman (2008)’e göre birinci sorun farklı erişim teknolojileri arasında kullanıcıya fark ettirmeden yer değişim desteği sağlanmasıdır. Kullanıcıya fark ettirmeden el değiştirme yönetimi uygulama katmanında, multimedya oturumunu başlatmak, sonlandırmak ve değiştirmek için kullanılan Oturum Başlatma Protokolü (SIP) kullanılarak ele alınmıştır. Kullanıcıya fark ettirmeden el değiştirmeyi destekleyebilmek için, VoIP istemcisi üzerinde çalışan SIP tabanlı bir bağlantı yöneticisi önerilmiştir [Erman, 2009]. Bayhan (2006), tarafından yapılan çalışmada, iki katmanlı bir uydu sisteminde, ağın o anki durumu dikkate alınarak yapılan yeni bir yönlendirme mekanizmasını tanıtmaktadır. Yerdurağan uydu (GEO) sistemleri uçtan uca 250-270 ms gecikme değerlerinden dolayı VoIP servisleri için elverişli değildir. Çalışmasında, alçak yörünge uyduları (LEO) ve orta yörünge uydularından (MEO) oluşan yerdurağan 4 olmayan uydu (NGEO) sistemlerinin VoIP uygulamalarının gereksinimlerini sağlayabileceğini ortaya koymuştur [Bayhan, 2006]. Tüysüz (2007), tarafından yapılan çalışmada, internet protokolü ve ağdaki bozulmalar sebebiyle meydana gelebilecek durumları da göz önünde tutarak internet üzerinden ses kalitesinin yükseltilmesini ve faktörlerini açıklamıştır. Tezinde, ses kalitesini ölçmek için kullanılabilecek 3 adet kalite ölçütünü irdelemiştir: Ortalama yargı değeri (Mean Opinion Score- MOS), Algısal Konuşma Kalite Ölçümü (Perceptual Speech Quality Measurement – PSQM), Konuşma Kalitesinin Algısal Değerlendirmesi (Perceptual Evaluation of Speech Quality - PESQ). Tüysüz (2007), ses kalitesini ölçmek için bu üç kalite ölçütünden ortalama yargı değeri testini kullanmıştır. Farklı kodek ve bit oranlarını içeren 16 test yapmıştır. Çalışma sonucunda, jitter ve paket kaybı problemlerinin çözülmesi durumunda G723.1 6.3 kbps kodeği konuşma için yeterli kaliteyi sunacağı ortaya konmuştur [Tüysüz, 2007]. Pelit (2005), tarafından yapılan diğer bir çalışmada, sesin internet üzerinden iletimi sırasında karşılaşılacak tıkanıklığın tespit edilmesi alanındaki mevcut yayınları taramış, adaptif hızlarında çalışan bir ses kodlayıcısına ağda oluşan tıkanıklık durumunu bildirebilecek bir mekanizmayı incelemiştir. SNMP (Simple Network Management Protocol) ile Ankara Üniversitesi ağındaki A.Ü. Geliştirme Vakfı Okullarının hat kullanım oranlarını anlık olarak almış ve adaptif veri hızlarında çalışmakta olan bir VoIP uygulamasına tıkanıklık bildirme parametreleri olarak vermiştir. Yapılan testler sonucunda orijinal ses ile adaptif hızlarında çalışan bir ses kodlayıcısı uygulanmış ses arasında kalite açısından herhangi bir fark görülmemiştir. Noktadan noktaya ağda uygulanan bu çalışmanın gelecekte birden fazla atlama noktası olan sistemlerde uygulanması düşünülmektedir [Pelit, 2005]. Yavuz (2004), tarafından yapılan çalışmada, internet protokolü üzerinden ses haberleşmesinde sesin kaliteli ve kesintisiz bir şekilde iletilmesi için gerekli olan paramatreleri analiz etmiştir. Çalışmasında, servis kalitesine etki eden bandgenişliği, gecikme, paket kayıpları, network hataları gibi parametreler incelenmiştir. Uzak 5 nokta ile yapılan uygulamada kullanılan cihazların aynı marka ve model olması, sıkıştırma ve kodlama tekniklerinin birebir aynı konfigüre edilmesi kriterleri sağlanmıştır. Bu sayede, bandgenişliği daha verimli kullanılmıştır. Yakın noktada gerçekleştirilen uygulamada ise farklı cihazlar, farklı sıkıştırma ve kodlama teknikleri kullanılmıştır [Yavuz, 2004]. Zengin (2004), tarafından yapılan çalışmada, mevcut IP telefonu mimarileri, standartları hakkında temel bilgiler ve Sakarya Üniversitesi veri ağı yapısının IP temelli gerçek zamanlı sesli haberleşme uygulamalarında gösterdiği performans ve analizleri konularında çalışma yapmıştır. Mevcut ağ içerisinde emülasyon tekniği kullanılarak gerekli ses ve görüntü, web sayfası (http), dosya transfer protokolü (ftp), elektronik mektup (e-mail), ağır veri performans trafiği, çoklu yayım (multikast) ve ip televizyon trafiği oluşturulmuş ve ağın performansı ölçülmüştür. Analiz ve ölçüm için Netiq-Chariot yazılımı kullanılmıştır. Kullanılan yazılım, karşılıklı görüşen bilgisayarların ağda ne kadar trafik oluşturduklarını, farklı türlerdeki veri paketlerinde meydana gelen kayıpları ve gecikmeleri, IP telefonu uygulamasında kullanılan ses kodlama/sıkıştırma standartlarının performans değerlerini sayısal bilgi olarak sunmuştur [Zengin, 2004]. Karaaslan (2006), yaptığı çalışmada, VoIP kullanılarak yapılan haberleşmede kaynak ile hedef arasında en kısa yolun bulunarak telefon trafiğinin bu yol üzerinden yönlendirilmesini hedeflemiştir. Haberleşme ağlarında kullanılmakta olan Dijkstra ve AntNET yönlendirme algoritmaları model ağa uygulananmış ve elde edilen sonuçlar karşılaştırılmıştır [Karaaslan, 2006]. 6 2. İNTERNET PROTOKOLÜ ÜZERİNDEN SESLİ İLETİŞİM (VOIP) 2.1. Devre ve Paket Anahtarlama Devre anahtarlamada, haberleşecek iki nokta arasında bu haberleşme için ayrılmış bir yol kurulur ve bu yola “devre” adı verilir. Bu yol, birçok anahtarlama noktası üzerinden geçerek bağlantı süresince kurulu kalır ve veri aktarımı gerçekleşir (Şekil 2.1). Şekil 2.1. Devre anahtarlama [Oktuğ, 2013] Devre anahtarlama üç evreden oluşur: devre kurulması, veri transferi ve devrenin sonlandırılması. Devre kurulması süresince yol üzerindeki her bir noktada boş bir kanal ayrılmalıdır. Veri, ağ yapısına bağlı olarak analog veya sayısal olabilir. Veri transferinde, ses ve verinin sayısal iletimi ağırlıklıdır ve tipik olarak çift yönlüdür. Haberleşen istasyonlardan herhangi birinin isteği ile ayrılmış kaynaklar boşaltılır ve devre sonlandırılır [Kunal, 2012]. Devre anahtarlamanın tarihi, kamu telefon ağında standart telefon haberleşmesi için tasarlandığı 1878 yılına kadar uzanmaktadır. Kamu telefon ağında, ilk manuel anahtarlama makinesi 2 Ocak 1878’de New Hawen Connecticut’da faaliyete geçmiştir. Kapasitesi 21 aboneyle sınırlıydı. Operatör arayan ve aranan abonelerin bağlantılarını manuel olarak yapmaktaydı [Stallings, 2007]. 7 Devre anahtarlamada, kanal kapasitesi kullanıma bakılmaksızın bağlantı süresince ayrılmıştır. Ses iletimi olmadığı durumlarda bile tüm kapasite tahsislidir. Bu durum hat kanal kapasitesinin verimsiz kullanımına yol açmaktadır (Şekil 2.2). Veri hızı sabittir. Günümüzde, devre anahtarlamanın veri haberleşmesi için kullanımı giderek artmaktadır. Şekil 2.2. Devre anahtarlama kapasite kullanımı [Şişko, 2006] Paket anahtarlama, veri haberleşmesi gerçekleştiren iki nokta arasında bağlantıyı sağlamak için 1970’li yılların başında geliştirilmiştir. Paket, bir bağlantı sırasında aktarılması planlanan verinin küçük parçalara bölünmüş halidir. Genel kabul görmüş tek bir paket yapısı yoktur. Ağ ve donanım teknolojisine göre paket yapısı da değişmektedir [Oktuğ, 2013]. Paket anahtarlamada, paketler kullanıcı verisi, yönlendirilecek adres bilgisi ve kontrol bilgilerini içerirler. Paket anahtarlamalı ağlarda paket, yönlendirici olarak adlandırılan ilk ağ düğümüne gönderilir. Yönlendirici kendisine ulaşan paketlerin başlıklarını inceleyerek sonraki uygun yönlendiriciye gönderir (Şekil 2.3). Bu süreç paket hedefine ulaşıncaya kadar yol üzerindeki her yönlendiricide tekrarlanarak devam eder. Hedefe ulaşınca, hedef uç cihazı paket başlığını ayırarak kaynağından gönderilen asıl veriyi elde eder [Şişko, 2006]. 8 Şekil 2.3. Paketin izlediği rota Paket anahtarlamada paketler datagram ve sanal devre yaklaşımlarıyla işlenmektedir. Bağlantı zamanı süresince, bağlantı birçok paket tarafından paylaşıldığından hat verimli kullanılmaktadır. Paketler noktalar arasında sıralı olarak ve en kısa sürede iletilir. Ancak ağda tıkanma oluştuysa teslim süreleri artar. Noktalar arası hız farkı olduğundan paket saklama tekniğiyle veri iletim hızları uyarlanır. 2.2. VoIP ve Tarihsel Gelişimi Voice over Internet Protocol (VoIP), ses iletişiminin kamusal anahtarlamalı telefon ağı yerine paket anahtarlamalı internet ağı üzerinden gerçekleştirilmesini sağlayan teknolojidir. 9 VoIP’de ses verisi, IP paketlerine dönüştürülerek internet üzerinden uçtan uca iletilir. Sesin paket haline dönüştürülmesinde, paketin izleyeceği rota bilgisini de içeren başlıklarda ses verisine eklenir. Küçük parçalara ayrılmış ses sinyalleri ağ üzerinden birer birer hedefe gönderilir. Özetle, ses sinyalleri paketlenirken sıkıştırılır, ağ üzerinden transfer edilir, sonra sıkıştırılan paket tekrar açılır [Hallock, 2004]. VoIP teknolojisinin en büyük avantajlarından birisi, çok uzun mesafelere internet ücreti dışında bir ücret ödemeden ya da standart telefon tarifesinin çok daha altında ücret ödeyerek görüşme yapılabilmesidir. VoIP çözümlerinin gelişimi, büyük ticari işletmelere kendi organizasyonları içerisinde mevcut internet hatları üzerinden sesli görüşme imkanı sağlamıştır. VoIP klasik devre anahtarlamalı servislerle karşılaştırıldığında, aynı band genişliği üzerinde 5 ila 10 kez fazla sayıda ses görüşmesi taşıyabilir [Hallock, 2004]. Bilgisayardan bilgisayara, bilgisayardan telefona, telefondan bilgisayara ve telefondan telefona gibi internet üzerinden ses iletimi senaryolarında cihazların birbirlerine çağrı yapmaları, çağrıyı sonlandırmaları v.b. iş ve işlemleri gerçekleştirirken kullandıkları protokoller vardır. Birbirinden farklı VoIP uygulama geliştiricilerin veya cihaz üreticilerinin, kullanıcıları birbirleriyle görüştürebilmeleri için ortak birtakım protokoller kullanmaları gereksinimi çeşitli protokoller geliştirilmesini sağlamıştır. Geliştirilen protokollerden bazıları H.323 ve SIP, RTP, RTCP ve IAX’ dir. Bu protokoller arasında en yaygın kullanılanlar H.323 ve SIP’ tir [Wikipedia, 2012]. İlk VoIP uygulaması Şubat 1995’de Vocaltec Inc. tarafından sunulmuştur. InternetPhone adı verilen ürünleri, bir kullanıcıya başka bir kullanıcıyı bilgisayardan bilgisayara arama imkanı sağlamıştır. Bu ürünle, sadece arayan ve arananın aynı uygulama kurulumunu kullandığı durumda görüşülmektedir. 10 1998 yılıyla birlikte bazı girişimciler bilgisayardan telefona ve telefondan telefona çözümleri pazara sunmuşlardır. 1998’in sonlarında VoIP çağrıları tüm sesli görüşme trafiği içerisinde %1 seviyelerindeydi. 2000’li yıllarla birlikte, VoIP çağrıları %3 seviyelerine, 2003’le birlikte bu rakam %25 seviyelerine gelmiştir [Hallock, 2004]. 2010 yılı itibariyle ev abonelerinin %30’u VoIP kullanmaktadırlar. Amerikada VoIP abone sayısı 30 milyona ulaşmıştır [Wigfield, 2010]. Mobil cihazlarda (iphone, android, blackberry) VoIP kullanımı 2011 yılı sonları itibariyle 29 milyon kişiye ulaşmıştır [Dickson, 2009]. Türk Telekom’un VoIP çözümü Wirofon, 2010 sonu itibariyle 320 bin aboneye ulaşmıştır [Bozkurt, 2010]. Dünyada VoIP uygulamalarınca oluşturulan veri trafiği boyutu Resim 2.1’de görüldüğü gibi 2011 itibariyle yaklaşık 150 milyon petabyte’a ulaşmıştır. Bu rakamın 2014 sonu itibariyle 160 milyon petabyte’a ulaşması beklenmektedir [VNI, 2011]. Resim 2.1. Dünya çapında voip için oluşturulan veri trafiği [VNI, 2011] 11 2.3. VoIP Senaryoları İnternet protokolü üzerinden ses iletimi beş şekilde gerçekleştirilmektedir. Bilgisayardan bilgisayara ses iletimi. Bilgisayardan telefona (PSTN) ya da telefondan (PSTN) bilgisayara. Telefondan (PSTN) telefona (PSTN). Mobil voip. Kablosuz voip. Geleneksel telefon sisteminde (PSTN) ITU-T E.164 tavsiye kararına göre numaralandırma yapılmaktadır. Bu numaralandırma sistemine göre telefon numaraları ülke kodu, alan kodu/ulusal hedef kodu (şehirlerarası kod) ve abone numarasından oluşur. PSTN şebekesindeki bir telefonun internet erişimi olan bir bilgisayarla iletişim kurması için, aranacak bilgisayarın ITU-T E.164 tavsiye kararına uygun bir numarasının olması gereklidir. Türk Telekom’un sunduğu Wirofon adlı VoIP hizmetinde abonelere 850 alan koduyla başlayan bir numara verilmiştir. Geleneksel telefon sistemiyle (PSTN) VoIP sistemi arasında geçiş geçit (gateway) yardımıyla sağlanmaktadır. Geçit (gateway), geleneksel telefon sistemi (PSTN) ile VoIP sistemleri arasında ses ve diğer sinyalleşme bilgilerini dönüştürme vazifesi yapmaktadır. 2.3.1. Bilgisayardan bilgisayara ses iletimi Bilgisayardan bilgisayara ses iletimi, genelde karşı tarafın IP adresi girilerek gerçekleşir (Şekil 2.1). Bunun dışında alan adı, e-posta adresi, üye adı-şifresi girilmesi gibi yöntemler de tercih edilebilir. Şekil 2.4. Bilgisayardan bilgisayara ses iletimi. 12 2.3.2. Bilgisayardan telefona ya da telefondan bilgisayara ses iletimi Bilgisayardan telefona ya da telefondan bilgisayara ses iletimi, internete bağlı bir bilgisayara ITU-T E.164 tavsiye kararına uygun bir numara verilmiş olmasını gerektirir. Aranılacak bilgisayarın açık ve sürekli bir internet bağlantısı olması da diğer bir gereksinimdir. Bu yapıda iletişim kurulması için, bilgisayar internete erişim sağladıktan sonra geçit (gateway) ile irtibata geçer. Geçit (gateway) ses ve diğer bilgileri içeren IP paketlerini pstn şebekeye uygun hale dönüştürür. Telefondan bilgisayar aranırken yapı ters yönde işlemektedir (Şekil 2.2). Şekil 2.5. Bilgisayardan telefona ya da telefondan bilgisayara ses iletimi. 2.3.3. Telefondan telefona ses iletimi Telefondan telefona ses iletimi, aynı pstn şebekesindeki pstn abonelerinin ya da farklı pstn şebekelerindeki pstn abonelerinin birbirlerini internet protokolü ağı üzerinden aramaları şeklinde gerçekleşir (Şekil 2.3). Bir başka değişle, aynı il içerisindeki abonelerin birbirlerini aramaları şeklinde olabileceği gibi, daha uzak mesafelerdeki ya da uluslararası abonelerin birbirlerini aramaları şeklinde de olabilir. ITU-T E.164 tavsiye kararına uygun numarası olan abone önce geçide (gateway) yönlendirilir, ses ve diğer sinyalleşme bilgileri IP protokolüne dönüştürülür, karşı tarafın geçidine (gateway) ulaşan paket tekrar dönüşüme uğrar. Son olarak da ITU-T E.164 tavsiye kararına uygun numarası olan karşı aboneye ulaştırılır. 13 Şekil 2.6. Telefondan telefona ses iletimi. 2.3.4. Mobil voip Mobil VoIP, mobil şebekelerin 3G sistemine geçişi ile birlikte yeni bir VoIP senaryosu olarak yaygınlaşmaya başlamıştır. 2G sistemiyle çalışan mobil şebekeler devre anahtarlama mantığıyla çalışırken, 3G’ye geçiş ile birlikte 2G’ye ilaveten paket anahtarlamalı veri iletişimi mümkün olmuştur. 3G sisteminde paket anahtarlaması sayesinde bant genişliği sadece veri alışverişi esnasında kullanılmakta ve çok daha yüksek veri iletim hızları desteklenmektedir. 3G teknolojisi getirdiği yeniliklerle, kullanıcıların mobil şebeke (EDGE, GPRS, HSPA+) üzerinden veya kablosuz ağlar kullanılarak VoIP görüşmelerini yapmalarına destek vermektedir [Boucadair, 2007]. VoIP görüşmeleri cep telefonundan cep telefonuna yapılabildiği gibi, cep telefonundan PSTN şebekesindeki sabit telefonlar ve bilgisayarlar aranabilmektedir. Şekil 2.4’de görüldüğü gibi bilgisayardan pstn telefona doğru aramayla benzer bir yapı ihtiva eder. Şekil 2.7. Mobil voip 2.3.5. Kablosuz voip Kablosuz VOIP, 802.11x standart ailesiyle uyumlu olarak kablo olmadan internet ağına bağlantı sağlayabilen ve kablosuz ağlar üzerinden VoIP protokolleriyle ses iletişimi yapmak üzere tasarlanmış telefonlar ile gerçekleştirilir. WLAN her ne kadar 14 IP şebekelerini genişletmek için tasarlanmış olsa da, ses iletişimi için de bir alternatif oluşturmuştur. Kablosuz VOIP sistemleri son yıllarda gelişim göstermesine rağmen Wi-Fi VoIP telefonların batarya ömrü, güvenlik desteği, internet tarayıcı desteği konularında geliştirilmesine ihtiyaç vardır. Wi-Fi teknolojisi az enerji harcamak için tasarlanmadığından, Kablosuz VoIP telefonların küçük bataryaları yetersiz kalmaktadır. Bazı kablosuz ağ alanı (Hotspot) sağlayıcılar, kablosuz ağa giriş için bir internet sitesi yardımıyla güvenlik kontrolü yaparlar. Wi-Fi VoIP telefonu internet tarayıcı desteğine sahip değilse, hotspot girişi için gerekli internet sitesini açamayacağından kablosuz ağı kullanamayacaktır. Wi-Fi VoIP telefonun 802.11x standart ailesindeki güncel kablosuz şifreleme yöntemlerini desteklemesi, ses iletişiminin güvenli gerçekleşmesini sağlayacaktır [Ganguly, 2008]. Sonuç olarak Kablosuz VoIP senaryosunun yaygınlaşması için yukarıda sayılan özellikleri mümkün kılan teçhizat sayısını artırmaları gerekmektedir. 2.4. H.323 H.323, ITU Telekomünikasyon Standardizasyon Sektörü (ITU-T) tarafından paket anahtarlamalı ağlar üzerinde sesli ve görüntülü iletişim oturumlarını sağlamak üzere geliştirilen bir protokoldür. Bir başka deyişle, ITU (International Telecommunication Union) tarafından iki ya da daha fazla taraf arasında IP benzeri servis kalitesi desteği olmayan bir ağ üzerinde ses ya da görüntü trafiği taşımak için geliştirilen H.323 standardı bir protokol grubudur [Karaaslan, 2006]. H.323, ses ve videokonferans cihazları üreticileri, dünya çapında servis sağlayıcılar ve IP ağları üzerinden ses ve video servisi sunan işletmeler tarafından yaygın bir biçimde kullanılmaktadır [Wikipedia, 2012]. 15 Çizelge 2.1. H.323 protokol yapısı Ses Video Konferans Kontrolü ve Veri G.711 H.261 Çağrı Sinyalleşmesi T.120 G.722 H.263 G.723.1 H.264 H.225, H.245 G.726 G.728 RTP G.729 RTCP TCP UDP IP Fiziksel Katman H.323 protokolü 1996 yılı Kasım ayında yayınlandı. İlk etapta yerel alan ağlarında videokonferans görüşmesi yapmak için geliştirilen H.323, sonradan sesli iletişimi sağlayacak şekilde genişletilmiştir. H.323 protokolüne bir şemsiye protokol olarak bakılabilir. H.225, H.245, RTP gibi alt protokollerle birlikte çalışır (Çizelge 2.1). 2.4.1. H.323 avantajları H.323 içerdiği ses sıkıştırma teknikleri ile IP gibi servis kalitesi desteği olmayan bir ağda kaliteli görüşme yapılmasını hedeflemektedir. H.225, H.245, RTP gibi alt protokolleri içermesi nedeniyle şemsiye bir standart grubu olduğundan farklı üreticilerin cihazlarının birlikte çalışabilirliğini sağlar (Çizelge 2.2). Cihaz, uygulama, işletim sistemi, ağ bağlantı tipinden bağımsız olması bunlardan herhangi birinde yaşanacak gelişmeler, H.323 tabanlı çözümlerin gelişiminde olumlu yönde etkileyecektir. 16 Çoklu nokta (Multicast) konferans görüşmesi desteği sayesinde tüm uçlara aynı paketi gönderilir. Bu nedenle de ağı daha verimli kullanır. Bunun yanında konferans görüşmeye sadece ses veya sadece video gibi farklı yetenekleri olan terminaller katılabileceğinden oldukça esnek bir yapıda çalışır [Epstein, 2009]. Ayrıca bant genişliği yönetimi sağlamasıyla bağlantı sayısı ve mevcut bant genişliği H.323 uygulamaları için sınırlanabilir. Bu sayede ağ trafiği video ve ses iletimi için az düzeyde etkilenir. 2.5. Sip (Oturum Başlatma Protokolü) SIP, Session Initiation Protocol (Oturum Başlatma Protokolü) ifadesinin kısaltmasıdır. IETF (Internet Mühendisliği Görev Gücü) tarafından internet üzerinden ses ve video iletişim oturumlarını kontrol etmek üzere geliştirilen bir sinyalleşme protokolüdür. RFC 3261 belgesinde tanımlanmıştır [Epstein, 2009]. İlk sürümü 1996 yılında geliştirilen SIP, 2002 yılında son halini almıştır. Tek yöne (unicast) ve çok yöne (multicast) oturumları oluşturabilir, değiştirebilir ve sonlandırabilir. Bu oturumlar en az bir multimedya akışı içerir. SIP protokolü ITU-T E.164 tavsiye kararına uygun olarak numaralandırma kullanır. Bunun yanı sıra eposta ve dns kaydı şeklindeki numaralandırmayı da destekler. SIP protokolü metin tabanlı yapısı ile http ve smtp protokollerinin birçok öğesini içerir. SIP multimedya iletişimi kurulması ve sonlandırılmasının şu beş yönünü destekler [IETF, 2012]: Kullanıcı konumu: Haberleşme için kullanılacak uç noktanın belirlenmesi; Kullanıcı kabiliyetleri: Kullanılacak medya ve medya parametrelerinin belirlenmesi; Kullanıcı uygunluğu: Haberleşme yapılmaya çalışılan arananların katılma isteğinin belirlenmesi; 17 Çağrı kurulması: Zil çalma, arayan ve aranılanlar için çağrı parametrelerinin belirlenmesi; Çağrı yönetimi: Çağrıların transferi ve sonlandırılmaları; 2.5.1. Sip avantajları SIP avantajlarından biri, Internet tabanlı protokolleri kendi sinyalleşme protokollerini tamamlamak için kullanabilmesidir. Çünkü SIP sadece oturumların nasıl oluşturulacağı, düzenleneceği ve sonlandırılacağı ile ilgilenir. Diğer özellikler HTTP 1.1, Session Definition Protocol (SDP), DNS, DHCP, RTP, RTCP gibi protokoller vasıtasıyla sağlanır. SIP protokolü ses paketinin varış hedefinin durumunu tespit edebilir. Bu sayede varış hedefi o anda mevcut değilse veya müsait değilse SIP protokolü bu durumu saptayabilir. Böylece hedefe ulaşmanın başka yollarını dener. Adres çözme, adres eşleştirme, çağrı yönlendirme yapabilir [Durkin, 2003]. H.323 protokolüne göre basit, ölçeklenebilir ve genişletilebilir yapıdadır. H.323 çağrı kurulumu için yaklaşık 20 veri paketine ihtiyaç duyarken sip protokolünde 4 veri paketi yeterlidir. H.323 çok yetenekli bir santrale ihtiyaç duyarken, sip görece daha az özellikli bir santral ve ip telefon ile kurulabilir. H.323 çağrı esnasında tcp ve udp protokollerini birlikte kullanır. Sip ise udp üzerinde çalışır. 2.6. Ses İletiminde Kaliteyi Etkileyen Unsurlar İnternet üzerinden ses iletimi gerçek zamanlı olarak gerçekleştiğinden ağda oluşabilecek gecikmeler görüşme kalitesini doğrudan etkilemektedir. Ses paketi iletilirken yaşanacak gecikmelerin fazlalığı görüşmeyi anlaşılmaz hale getirir. Bazı VoIP uygulamalarında az miktardaki gecikmeler telafi edilebilirken, yüksek miktrarlara ulaşan gecikmeler kalite sorununu beraberinde getirmektedir. 18 Ses iletiminde kaliteyi etkileyen unsurlar temel olarak bant genişliği, jitter, echo, paket kaybı ve gecikme, ses sıkıştırma standartları olarak incelenecektir [Ellis, 2003]. 2.6.1. Bant genişliği IP şebekelerinde bir veri paketinin uçtan uca iletim süresini belirleyen etkenlerden birisi de bant genişliğidir. Bant genişliği verinin taşındığı ağın kapasitesidir. Büyük boyutlu verileri daha hızlı taşımak için daha fazla bant genişliğine ihtiyaç vardır. Genel kullanımda olan bir ağda sürekli bir veri iletimi olması durumunda bant genişliğini veri transferi dolduracağından ses iletiminde kalite problemleri yaşanacaktır. Bu problemin yaşanmaması için ses paketlerinin veri paketlerine göre önceliklendirilmesi önem arz etmektedir [Ellis, 2003]. Ses iletimi için yeterli ve sabit bir kaynak ayrılması ise paket kayıplarını engelleyecektir. Ses iletiminin kaliteli olması için gereken yaklaşık bant genişliği hesaplanırken Çizelge 3.1’de yer alan değerlere göre hareket edilmelidir. Çizelgedeki değerler, ideal koşullarda ethernet (ADSL, G.SHDSL, Metroethernet) bağlantısı için yaklaşık olarak ihtiyaç duyulacak bant genişliğini verir. Frame Relay, ATM gibi bağlantı çeşitleri için çizelgedeki değerler değişkenlik gösterebilir. Çizelgenin ilk sütununda ses sıkıştırma tekniği yani kodek adı ve bit oranı yer almaktadır. Bit oranı saniyede işlenen verinin oranıdır. Çizelgede kbps (kilobit per second-saniyede bir kilobit) cinsinden verilmiştir. Bir voip görüşmede seçilen kodeğe göre bu oran değişir. Bit oranı, ( örnek boyutu / örnek aralığı ) formülüyle hesaplanır. Örneğin G.711 için 1 byte 8 bit olduğu için örnek boyutu 80byte x 8= 640bit olmaktadır. 1 kbit ise 1000 bit olduğundan 640 bit 0,64 kbit yapar. Örnek aralığı 10 mili saniye olduğundan 0.01 saniyeye eşittir. Bit oranı ise 0,64/0.01=64 kbps olmaktadır. 19 Örnek boyutu ise, her örnek aralığında yakalanan bitlerin sayısını verir. Kodeğe göre bu değer değişmektedir. Çizelgede byte cinsinden verilmiştir. Örnek aralığı, ms cinsinden örnek boyutu ve bit oranı miktarlarında alınan örneğin zaman aralığını verir. Çizelge 2.2. Seçilen kodeğe göre bant genişliği hesabı [Cisco, 2012] Ses Sıkıştırma Tekniği (Kodek) Bilgileri Adı ve Bit Oranı (Kbps) Örnek Boyutu (Bytes) Örnek MOS Aralığı Puanı (ms) Bant Genişliği Hesaplaması Ses Yük Boyutu (Bytes) Ses Yük Boyutu (ms) Saniyedeki Paket Miktarı (PPS) Ağ Bant Genişliği (Kbps) G.711 (64 Kbps) 80 Bytes 10 ms 4,1 160 Bytes 20 ms 50 87.2 Kbps G.729 (8 Kbps) 10 Bytes 10 ms 3,92 20 Bytes 20 ms 50 31.2 Kbps G.723.1 (6.3 24 Bytes Kbps) 30 ms 3,9 24 Bytes 30 ms 33,3 21.9 Kbps G.723.1 (5.3 20 Bytes Kbps) 30 ms 3,8 20 Bytes 30 ms 33,3 20.8 Kbps G.726 (32 Kbps) 20 Bytes 5 ms 3,85 80 Bytes 20 ms 50 55.2 Kbps G.726 (24 Kbps) 15 Bytes 5 ms 60 Bytes 20 ms 50 47.2 Kbps G.728 (16 Kbps) 10 Bytes 5 ms 3,61 60 Bytes 30 ms 33,3 31.5 Kbps G722_64k (64 Kbps) 80 Bytes 10 ms 4,13 160 Bytes 20 ms 50 87.2 Kbps MOS puanı, daha önce de anlatıldığı gibi voip görüşmelerde ses kalitesini derecelendiren bir sistemdir. Derecelendirme olarak 1’den 5’e kadar olan göstergede 1 en kötü 5 en iyidir. 20 Ses yük boyutu, ses paketindeki byte cinsinden yükün boyutunu verir. Örnek boyutunun katları şeklinde olmak zorundadır. Örneğin G.711 için örnek boyutu 10 byte olduğundan yük boyutu 20 byte olmalıdır. Ses yük boyutu ms cinsinden yükün boyutunu verir. Byte cinsinden ses yük boyutu örnek boyutunun kaç katı olarak alındıysa ses yük boyutu da örnek aralığının o kadar katı olmak zorundadır. Saniyedeki paket miktarı, kodek bit oranını sağlamak için her saniyede iletilmesi gereken paketlerin sayısını verir. Formüle edilirse bit oranı / yük boyutu (her paketteki bit cinsinden yük) saniyedeki paket miktarını verir. Örneğin G.711 için ses yük boyutu 160 byte (1280 bit) olduğundan 64kbps/1,280kbit =50 pps yapmaktadır. Bant genişliği hesaplanırken toplam paket boyutu (ses yük oranı+ethernet başlığı) x pps olarak hesaplanmaktadır. Çizelgeye göre G.723 ve G.729 en iyi bant genişliği kullanan ses sıkıştırma yöntemidir. 2.6.2. Jitter Paket anahtarlamalı ağlarda, paketin geçtiği ağın o anki durumu yüzünden paket iletilirken gecikebilir, kaybolabilir ya da paketin sırası değişebilir. Bu duruma jitter etkisi denir. Jitter etkisinin giderilmesi için paketler önbellekte paketler biriktirilir ve paketlerin geliş zamanları arasındaki farklılıklar giderilir. Böylece paket sırasının değişmesi ve gecikmelerin etkisi azaltılmış olur [Ellis, 2003]. Ancak ses iletimi gerçek zamanlı bir uygulama olduğundan geciken paketlerin çok uzun süre biriktirilmesi de bir gecikmeye yol açacaktır. Bundan dolayı jitter önbelleğinin boyutunun değişken olması ve ağın mevcut durumuna uygun çalışması önemlidir. 21 2.6.3. Echo Paket anahtarlamalı ağlarda, ağ yapısında empedans uyumsuzluğundan meydana gelen ses sinyallerinin yansıyarak geri dönmesine yankı (echo) denilir. Yankı geleneksel telefon şebekelerinde de (pstn) bulunur ancak gecikme 50 milisaniyenin altında olduğundan kabul edilebilir düzeydedir. Paket anahtarlamalı ağ türü olan IP tabanlı şebekelerde bu değerin 50 milisaniyenin üstünde olabilmesi VOIP sektöründe yankı önlemeyi önemli hale getirmiştir [Ellis, 2003]. Bu durumu gidermek için yankı kontrolü (echo control) ve yankı iptal edici (echo cancellation) sistemler IP ağları üzerine konumlandırılmıştır. 2.6.4. Paket kaybı Ses paketlerinin iletiminde gönderilen paket sayısı ile ulaşan paket sayısının aynı olmaması durumunda paket kaybı oluşur. Bu durum fiziksel ağlarda oluşacak hatalardan kaynaklanabileceği gibi bağlantının yapısından da kaynaklanabilir. Örneğin dış etkiye daha kolay maruz kalabilen uydu, 3g gibi kablosuz ağlarda paket kaybı ideal kablolaması yapılmış bir yerel ağa göre daha fazla olacaktır. Ağda yaşanacak herhangi bir tıkanıklık ya da hata durumunda IP şebekeleri ses ve veri paketlerini ayrım yapmadan iptal eder ve tekrar göndermeye çalışırlar. Veri paketleri iletimi gerçek zamanlı yapılmaya ihtiyaç duymadığından iptal edilen paket yeniden transfer edilerek düzeltilebilir [Dixit, 2003]. Ancak ses ve video paketleri iletilirken iletişimin gerçek zamanlı olması nedeniyle paketin yeniden transferi kayıp ses paketini düzeltmez. Bu sorunun giderimi için VOIP cihaz üreticileri ve yazılım geliştiriciler çeşitli yaklaşımlar benimsemişlerdir. Bunlardan biri kayıp paketin boşluğu bir önceki paketin tekrarı ile giderilmesidir. Bu sayede sık olmayan paket kayıplarının etkisi azaltılmış olur. Ancak paket kayıplarının fazlalaştığı noktalarda iyi çalışmaz. 22 Bir diğer çözüm yaklaşımı daha az bant genişliği harcayan bir ses sıkıştırması kullanılarak her paketin yedeklenmesidir. Her ses paketinin ardından bu şekilde oluşturulmuş yedek bir ses paketi daha yollanır. Pratikte ses kayıplarını giderse de bant genişliğini azaltması ve gecikme oranını artırması nedeniyle başka problemlere yol açacağından tam bir çözüm getirmez. 2.6.5. Gecikme Paketin ağda iletiminde beklenenden fazla bir sürede gönderilmesi, ses sıkıştırma işlemi, ses sıkıştırma işlemi sonunda kodlanmış örneklemelerin iletim için paket haline getirilme süresi, jitter etkisinin giderilmesinde önbellekle ilgili gecikme gibi sesin iletimi esnasında yaşanan tüm bu gecikmeler toplam gecikmeyi oluşturur [Ellis, 2003]. Toplam gecikme oranı konuşma kalitesini etkiler. ITU-T G.114 standardına göre gecikmenin 150 milisaniyenin altında olması kabul edilebilirdir (Çizelge 3.2). Gecikmenin 400 milisaniyenin üstüne çıkması ise VOIP kullanıcıları için kabul edilemez bir durumdur. Bu değerin üstüne çıkıldığında görüşmenin geri planında bir önceki konuşma tekrarlanabilir (yankı) ve kaliteli bir görüşme olmaz. Gecikmenin giderilmesi için: Görüşme için en uygun ses sıkıştırma tekniği uygulanmalıdır. Ses iletimi için kaynak ayrılarak yeterli bant genişliği sağlanmalıdır. Veri ve ses paketleri aynı kuyruktan gönderilmemelidir. Ses paketleri önceliklendirilmelidir. Çizelge 2.3. ITU-T G.114 standardına göre gecikme [ITU-T, 2013] Gecikme Kabul Edilebilirlik 0-150ms kabul edilebilir düzey 150-400ms kullanıcının voip uygulamasına etkisi düşük olursa kabul edilebilir 400ms üstü kabul edilemez 23 2.6.6. Ses sıkıştırma standartları Ses sıkıştırma standartları (Codec – Encoder Decoder), analog ses sinyallerini dijitale çevirmek için kullanılırlar. Analog ses sinyallerine uygulanan sıkıştırma işlemi mevcut hattın bant genişliğini ve ses iletimi senaryomuzda kullandığımız cihazın belleğini daha etkin ve verimli kullanabilmemizi sağlar. Ses sıkıştırma standartları ITU-T (Uluslararası Telekomünikasyon Birliği Telekomünikasyon Standartlaşma Birimi) tarafından belirlenmektedir. Bu standartlar G.711, G.722, G.723.1, G.726, G.728, G.729’dir (Çizelge 3.3). Çizelge 2.4. Ses sıkıştırma standartları [Olejniczak, 2009] Sıkıştırma Bit Oranı (Bit Örnekleme Oranı Sıkıştırma MOS Yöntemi Rate) kbps (Sampling Rate) hz Gecikme ms Puanı G.711 64 8 <1ms 4.1 G.722 64 16 <2ms 4.49 G.723.1 5.3-6.3 8 30 3.8-3.9 G.726 32 8 1 3.85 G.728 16 8 <2ms 3.61 G.729 8 8 10 3.92 Ses sıkıştırma standartlarından her biri belirli oranda bir kalite sağlar. İletilen konuşmanın kalitesi kişiden kişiye değişmektedir. Ses sıkıştırma standartlarının ürettiği sesin kalitesini ölçmek için yaygın olarak MOS (Mean Opinion Score) adı verilen test kullanılır [Ellis, 2003]. Ses için kullanılan MOS testleri yöntemi ITU-T tarafından P.800 standardıyla belirlenmiştir. MOS testleri sonucunda 1 kötü 5 en iyi olmak üzere bir puan verilir. Çizelge 3.3’de ses sıkıştırma yöntemleri aldıkları MOS puanına göre listelenmiştir. Çizelgeye göre G.722 en iyi sıkıştırma yöntemi olurken, en zayıf ses sıkıştırma yöntemi G.728 olmuştur. 24 3. İNTERNET ÜZERİNDEN SES İLETİMİ UYGULAMALARI Bu bölümde, geliştirilen uygulamaya benzer uygulamalar bant genişliği kullanımı, arayüz ve işlevsel açıdan karşılaştırmalı olarak incelenecektir. Diğer uygulamaların olumlu ve olumsuz yönleri ortaya konulacaktır. Bu bölümde incelenecek uygulamalar bağımsız araştırma kuruluşu raporunda kullanıcı sayısına göre ilk üç sırayı alan Skype (%82), Yahoo Messenger (%7.2) ve Google Talk (%1.9) olarak belirlenmiştir [Opswat, 2013]. 3.1. Skype Windows işletim sisteminde çalışan bu program, internet üzerinden bilgisayardan bilgisayara, bilgisayardan telefona ve mobil voip şekillerinde iletişim sağlamaktadır. 2003 yılında faaliyete geçen program 2011 yılında Microsoft firması tarafından satın alınmıştır. 2013 yılı Şubat ayı itibariyle 800 000 000 kullanıcı sayısına ulaşmıştır [Ntvmsnbc, 2013]. Resim 3.1’de görüleceği üzere “Kişiler” bölümünde seçilen kullanıcıyla veya doğrudan cep telefonu/sabit telefon numaralarıyla sesli veya görüntülü iletişim kurabilmektedir. Bunun yanısıra dosya gönderimi, ekran paylaşımı ve sms/chat mesajı gönderimi gibi özellikleri de mevcuttur. Sesli iletişim esnasında birden fazla kişinin görüşmeye katılması da (konferans görüşme) mümkündür. Skype kullanabilmek için üyelik zorunludur. Skype üyesi kişileri üyelik adına veya e-posta adresine göre arama yaparak listeye eklemek mümkündür. Resim 3.2’de Çağrı yap düğmesine basınca arama esnasında çıkan karşılama ekranı görülmektedir. Bu ekranda görüntülü konuşma, mikrofonu susturma, konferans görüşme/dosya gönderme/ekran paylaşımı, çağrıyı sonlandırma, çağrı kalite bilgisi, tam ekran seçenekleri mevcuttur. 25 Resim 3.1. Skype arayüzü Resim 3.3’de ise karşı tarafla sesli iletişim kurulduğu anda gelen ekran yer almaktadır. Bu ekranda yer alan seçenekler Resim 3.2’dekiyle aynıdır. Program dosya gönderme, görüntülü konuşma, ekran paylaşımı gibi seçeneklerle program avantajlıdır. Bizim uygulamamızda kullandığımız ve önemsediğimiz yerel ağ ortamında arada herhangi bir sunucu kullanmadan doğrudan sesli iletişim kurabilme özelliği mevcut değildir. Sesli iletişim isteği başlatıldığında öncelikle dünyanın herhangi bir yerinde olan skype sunucuları ile iletişim kurulmaktadır. Sunucu vasıtasıyla karşı tarafla sesli iletişim kurulabilmesi güvensiz bir ortama yol açmaktadır. Sunucu bizim kontrolümüz dışında olduğu için, her türden kişisel bilgileri, iletişim içeriğini ve trafik verilerini sunucu üzerinde isteğimiz dışında saklanabilir kılmaktadır. Nitekim bu durum skype gizlilik ilkeleri tarafından da doğrulanmaktadır [Skype, 2013]: 26 Resim 3.2. Skype arayüzü 2 “Talep ettiğiniz Skype ürünlerini sağlamak amacıyla, Skype bazen gerekirse, kişisel ve trafik verilerinizi Skype'ın grup şirketleri, taşıyıcıları, iş ortağı hizmet sağlayıcıları ve/veya acenteleriyle paylaşabilir. Skype her zaman bu üçüncü tarafların kişisel bilgilerinizi ve trafik verilerinizi korumak için gerekli kurumsal ve teknik önlemleri almasını ve ilgili kanunlara uymasını talep edecektir. Skype, Skype'ın yerel ortağı veya operatör ya da iletişiminize aracılık eden şirket, bu tür bilgileri yasal olarak talep eden hukuk, emniyet veya devlet makamına kişisel bilgiler, iletişim içeriği ve/veya trafik verilerini sağlayabilir. Skype, bu talebi karşılamak için makul yardım ve bilgileri sağlayacaktır ve siz işbu belge ile bu paylaşımı kabul etmiş oluyorsunuz. Skype ve/veya Microsoft tarafından toplanan veya bunlara gönderilen bilgiler Microsoft veya iş ortaklarının, iştiraklerinin veya hizmet sağlayıcılarının hizmet araçlarını sürdürdüğü Amerika Birleşik Devletleri'nde veya başka herhangi bir ülkede saklanabilir ve işleme koyulabilir. Bu bakımdan veya işbu 4. maddeye uygun olarak bilgi paylaşımı ve ifşası amacıyla Skype, ülkenizin dışına bilgi aktarma hakkını saklı tutar.” 27 Resim 3.3. Skype arayüzü 3 Skype belirli bir anda karşı taraftan ses bilgisi alınırken Resim 3.4’de görülen Windows Kaynak İzleyicisi programında 25260 byte/saniye kaynak harcamaktadır. Yine belirli bir anda ses bilgisi alınırken yaklaşık 24800 byte/saniye kaynak harcamaktadır. Bunun dışında bir çok farklı uzak ip adresine değişik portlarda bağlantı kurmaya çalıştığı ve bunların bilgisayarın yerel güvenlik duvarında izinli olduğu gözlemlenmiştir. Yine iletişimde bir miktar gecikme mevcuttur. Programın güçlü ve zayıf tarafları aşağıda yer almaktadır. Güçlü tarafları; Sesli, görüntülü olarak bilgisayardan bilgisayara, bilgisayardan telefona ve mobil voip olarak iletişim kurabilmesi 28 Karşı tarafa dosya gönderimi ve ekran paylaşımı yapabilmesi Sms veya chat mesajı gönderilebilmesi Konferans görüşme yapılabilmesi İletişim kurulacak kişilere e-posta adresi ya da cep telefonu ile ulaşılabilmesi Türkçe dil seçeneği olması Resim 3.4. Kaynak izleyicisi 29 Zayıf tarafları; Yerel ağda iletişim kurulacak kişilerle bir sunucu vasıtasıyla iletişim kurması Her türden kişisel bilgileri, iletişim içeriğini ve trafik verilerinin sunucu üzerinde isteğimiz dışında saklanabilir olması Sunuculara bağlanabilmesi için varsa güvenlik duvarında ilgili port ve uzak ip adreslerine izin verilmesi zorunluluğu Reklam içermesi Üyelik gerektirmesi 3.2. Google Talk Windows işletim sisteminde çalışan bu program, internet üzerinden bilgisayardan bilgisayara ve mobil voip şekillerinde iletişim sağlamaktadır. Program 2006 yılında faaliyete geçmiştir. Güncel kullanıcı sayısı hakkında bilgiye ulaşılamamıştır. Resim 3.5. Google talk arayüzü Resim 3.5’de görülen ekran Google Talk’ın ana ekranıdır. Bu ekranda kişi ekleme, görünüm ayarları, yardım, ayarlar, kişi listesinde arama, durum ayarları seçenekleri yer almaktadır. Kişi listesinde yer alan kullanıcıyla chat mesajlaşması yanında sesli 30 iletişim de kurulabilmektedir. Google Talk kullanabilmek için üyelik ve gmail eposta adresi almak zorunludur. Google Talk üyesi kişileri üyelik adına veya e-posta adresine göre arama yaparak listeye eklemek mümkündür. Resim 3.6. Google talk arayüzü 2 Resim 3.6’de kişi listesinden seçilen bir kişiyle Sesli Görüşme düğmesine basınca arama esnasında çıkan karşılama ekranı görülmektedir. Bu ekranda çağrıyı sonlandırma, çağrı kalite bilgisi, tam ekran, chat mesajı gönderme seçenekleri mevcuttur. Resim 3.7. Google talk arayüzü 31 Resim 3.7’de ise karşı tarafla sesli iletişim kurulduğunda gelen ekran görünmektedir. Bu ekranda Resim 3.6’deki seçeneklere ilaveten sessize alma seçeneği mevcuttur. Menülerin Türkçe olduğu program, oldukça basit ve sade bir arayüze sahip olmasıyla ve az bant genişliği ve gecikmeye uğramasıyla avantajlıdır. Yerel ağ ortamında arada herhangi bir sunucu kullanmadan doğrudan sesli iletişim kurabilme özelliği mevcut değildir. Sesli iletişim isteği başlatıldığında öncelikle dünyanın herhangi bir yerinde olan google talk sunucuları ile iletişim kurulmaktadır. Sunucu vasıtasıyla karşı tarafla sesli iletişim kurulabilmesi, verileri sunucu üzerinde isteğimiz dışında saklanabilir kılmaktadır. Google talk gizlilik ilkelerinde bu durumdan şu şekilde bahsedilmektedir [Google, 2013]: “Gizlilik Politikamızdaki ve diğer geçerli gizlilik ve güvenlik tedbirlerindeki talimatlara dayanarak ve bunlara uygun bir şekilde kişisel bilgileri bizim adımıza işlemeleri için bağlı kuruluşlarımıza veya diğer güvenilir işletmelere ya da kişilere veririz. Aşağıdaki durumlarda bilgilere erişimin, bilgilerin kullanımının, korunmasının veya ifşasının makul düzeyde gerekli olduğuna iyi niyetimizle inanırsak, kişisel bilgileri şirketlerle, kuruluşlarla veya Google dışından kişilerle paylaşırız: Geçerli yasaları, düzenlemeyi, yasal süreci veya zorunlu resmi talepleri karşılamak. Potansiyel ihlalleri araştırmak da dahil olmak üzere geçerli Hizmet Şartlarını uygulamak. Dolandırıcılığı, güvenlikle ilgili konuları ve teknik sorunları tespit etmek, önlemek veya çözmek. Google’ın, kullanıcılarımızın veya kamunun haklarını, mülkiyetini veya güvenliğini, yasaların gerektirdiği veya izin verdiği şekilde korumak.” Google Talk belirli bir anda karşı taraftan ses bilgisi alınırken Resim 3.8 ve 3.9’da görülen Windows Kaynak İzleyicisi programında 13412 byte/saniye kaynak harcamaktadır. Yine belirli bir anda ses bilgisi alınırken yaklaşık 13700 byte/saniye kaynak harcamaktadır. Bunun dışında bir çok farklı uzak ip adresine değişik portlarda bağlantı kurmaya çalıştığı ve bunların bilgisayarın yerel güvenlik duvarında izinli olduğu gözlemlenmiştir. Yine iletişimde bir miktar gecikme mevcuttur. 32 Resim 3.8. Kaynak izleyici Programın güçlü ve zayıf tarafları aşağıda yer almaktadır. Güçlü tarafları; Sesli, görüntülü olarak bilgisayardan bilgisayara ve mobil voip olarak iletişim kurabilmesi Karşı tarafa dosya gönderimi yapabilmesi Chat mesajı gönderilebilmesi 33 İletişim kurulacak kişilere e-posta adresi ile ulaşılabilmesi Türkçe dil seçeneği olması ve basit arayüzü Resim 3.9. Kaynak izleyici 2 Zayıf tarafları; Yerel ağda iletişim kurulacak kişilerle bir sunucu vasıtasıyla iletişim kurması 34 Her türden kişisel bilgileri, iletişim içeriğini ve trafik verilerinin sunucu üzerinde isteğimiz dışında saklanabilir olması Sunuculara bağlanabilmesi için varsa güvenlik duvarında ilgili port ve uzak ip adreslerine izin verilmesi zorunluluğu Gmail e-posta servisine üye olma zorunluluğu Sadece mikrofonu ya da hoparlörü kapatma seçeneği olmaması Gmail abonesi olmayanlarla sesli iletişim kurulamaması Resim 3.10. Yahoo arayüzü 35 3.3. Yahoo Messenger Windows işletim sisteminde çalışan bu program, internet üzerinden bilgisayardan bilgisayara ve mobil voip şekillerinde iletişim sağlamaktadır. Program 1998 yılında Yahoo Pager adıyla faaliyete geçmiştir. Resim 3.10’da görüleceği üzere “Kişiler” bölümünde seçilen kullanıcıyla sesli veya görüntülü iletişim, doğrudan cep telefonu/sabit telefon numaralarıyla sms yoluyla iletişim kurabilmektedir. Bunun yanısıra dosya gönderimi, oyun ve sms/chat mesajı gönderimi gibi özellikleri de mevcuttur. Resim 3.11. Yahoo arayüzü 2 36 Sesli iletişim esnasında birden fazla kişinin görüşmeye katılması da (konferans görüşme) mümkündür. Yahoo kullanabilmek için üyelik zorunludur. Yahoo üyesi kişileri üyelik adına veya e-posta adresine göre arama yaparak listeye eklemek mümkündür. Resim 3.11’de ise karşı tarafla sesli iletişim kurulduğu anda gelen ekran yer almaktadır. Program dosya gönderme, görüntülü konuşma, ekran paylaşımı gibi seçeneklerle ve az bant genişliği harcamasıyla avantajlıdır. Yerel ağ ortamında arada herhangi bir sunucu kullanmadan doğrudan sesli iletişim kurabilme özelliği mevcut değildir. Programı kullanabilmek için Yahoo mail üyesi olmak gereklidir. Yahoo belirli bir anda karşı taraftan ses bilgisi alınırken Resim 3.12’de görülen Windows Kaynak İzleyicisi programında 9800 byte/saniye kaynak harcamaktadır. Yine belirli bir anda ses bilgisi alınırken yaklaşık 9730 byte/saniye kaynak harcamaktadır. Bunun dışında bir çok farklı uzak ip adresine değişik portlarda bağlantı kurmaya çalıştığı ve bunların bilgisayarın yerel güvenlik duvarında izinli olduğu gözlemlenmiştir. Yine iletişimde yüksek miktarlarda gecikme mevcuttur. Programın güçlü ve zayıf tarafları aşağıda yer almaktadır. Güçlü tarafları; Sesli, görüntülü olarak bilgisayardan bilgisayara ve mobil voip olarak iletişim kurabilmesi Karşı tarafa dosya gönderimi ve oyun oynanabilmesi Sms veya chat mesajı gönderilebilmesi Konferans görüşme yapılabilmesi İletişim kurulacak kişilere e-posta adresi ya da cep telefonu ile ulaşılabilmesi 37 Resim 3.12. Kaynak izleyicisi Zayıf tarafları; Yerel ağda iletişim kurulacak kişilerle bir sunucu vasıtasıyla iletişim kurması Her türden kişisel bilgileri, iletişim içeriğini ve trafik verilerinin sunucu üzerinde isteğimiz dışında saklanabilir olması 38 Sunuculara bağlanabilmesi için varsa güvenlik duvarında ilgili port ve uzak ip adreslerine izin verilmesi zorunluluğu Reklam içermesi Üyelik gerektirmesi Türkçe dil seçeneği olmaması Bağlantıda yüksek gecikme oranı olması 3.4. Genel değerlendirme Yukarıda anlatılan programların her birinin kendilerine özgü avantajları olmakla beraber, sunucu olmadan yerel ağ üzerinde sesli iletişim yapılamaması, türkçe dil seçeneğinin sınırlı olması, teknik desteğin yurtdışına bağımlılığı, güvenlik duvarında ekstra izin gerektirmesi, yüksek bant genişliği kullanımları ve üyelik gerektirmeleri nedeniyle ofis içinde telefon maliyetlerini azaltmada yetersiz olacakları düşünülmektedir. Programların sunucu tabanlı çalışması güvenlik endişelerini de beraberinde getirmektedir. Sunucuya ihtiyaç duymadan ofis içi iletişim maliyetlerini düşürecek, güvenli, üyelik gerektirmeyen, az bant genişliği kullanan, yurt dışına bağımlı olmayan bir sesli iletişim ihtiyacı tespit edilmiştir. 39 4. İKİ NOKTA ARASINDA İNTERNET ÜZERİNDEN SES İLETİMİ Bu bölümde, yerel ağ ortamında ofis içi iki nokta arası internet üzerinden ve arada sunucu olmadan sesli iletişimin sağlanabilmesi için kaynak tüketimi açısından benzer uygulamalara göre daha az bant genişliği isteyen, ses paketlerinin gecikmeye uğramadığı, paket kaybı olmayan, echo (yankı) etkisinin kabul edilebilir düzeyde olduğu bir uygulama geliştirilmiştir. Bu uygulama ile telefon maliyetleri ortadan kalkacak, daha etkin ve verimli çalışan bir uygulama vasıtasıyla iletişim sağlanmış olacaktır. Uygulama bilgisayardan bilgisayara voip modeli baz alınarak geliştirilmiştir. Sip ve H.323 protokollerinde olduğu gibi UDP protokolüyle çalışmaktadır. 4.1. Uygulama Geliştirme Yöntemi ve Kullanılan Araçlar Uygulamanın gerçekleştirilmesi sırasında Visual Studio 2008 ve C# programlama dilinden faydalanılmıştır. Framework olarak da .NET 3.5 sürümü kullanılmıştır. Bunun dışında mikrofondan ses alımı için yazılım geliştirme kütüphanesi olarak Microsoft DirectX SDK kullanılmıştır. Microsoft C# .NET 3.5 dilini tercih etme nedenleri: C#’in görsel programlamaya dönük olması nedeniyle öğrenilmesinin ve kullanımının kolay olmasıdır. Microsoft DirectX SDK yazılım geliştirme kütüphanesiyle uyumlu çalışabilmesidir. Güncel bir yazılım geliştirme ortamı olmasıdır. Thread ve Socket programlamanın kolay bir şekilde geliştirilebilmesidir. .NET Framework 3.5’da , .NET Framework 3.0 sürümüne eklenen yeni özelliklere ilavelerde bulunmuştur. Örneğin, Windows Workflow Foundation (WF), Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF) ve 40 Windows CardSpace'deki özellik kümeleri. Ek olarak. NET Framework 3.5, birçok teknoloji alanında, değişikliklerin bozulmaması için yeni derlemeler olarak eklenmiş bazı yeni özellikler içerir [Microsoft, 2012]. Bunlar: Dil ile Tümleştirilmiş Sorgu (LINQ) ve veri duyarlılığının derin tümleştirmesi. Bu yeni özellik, aynı söz dizimini kullanarak birçok türdeki SQL verisi, koleksiyon, XML ve DataSet projeksiyonlarını filtreleyen, numaralandıran ve oluşturan LINQ özellikli dillerde kod yazmanızı sağlar. ASP.NET AJAX, en popüler tarayıcıların tümünde çalışan daha verimli, daha etkileşimli ve yüksek düzeyde kişiselleştirilmiş Web deneyimleri oluşturmanızı sağlar. AJAX, JSON, REST, POX, RSS, ATOM ve birçok yeni WS-* standardı gibi WCF hizmetleri oluşturmaya yönelik yeni Web protokolü desteği. WF, WCF ve WPF için Visual Studio 2008'de, yeni iş akışı kullanan hizmet teknolojisi dahil olmak üzere tam araç oluşturma desteği. .NET Framework 3.5 temel sınıf kitaplığında (BCL) birçok ortak müşteri isteğini karşılayan yeni sınıflar [Microsoft, 2012]. Mikrofon donanımı bilgisayara bağlanır/aktif hale getirilir Karşı bilgisayarın IP adresi uygulamaya girilir Bağlan tuşuna basılır Karşı bilgisayarla karşılıklı olarak bağlantı kurulur Sesli iletişim gerçekleştirilir Şekil 4.1. Genel tasarım 41 Geliştirilen uygulama da mikrofondan ses kaydı yapılmaktadır. Bunun için Microsoft DirectX SDK paketinin bilgisayarda kurulu olması gerekmektedir. Uygulama DirectX kütüphanesi yardımıyla bilgisayarın mikrofon donanımından ses kaydı almaktadır. Alınan bu ses kaydı socket programlama mimarisi yardımıyla UDP protokolü üzerinden karşı bilgisayara ulaştırılmaktadır. Sesli görüşme senkron yani eş zamanlı gerçekleşmesi gereken bir süreç olduğu için karşılıklı çalıştırılan bir thread (iş parçacığı) yardımıyla ses alışverişi yapılmaktadır. 4.2. Çalışma Mantığı ve Arayüz Uygulama bir W32 (32 bit) Windows uygulaması olarak geliştirilmiştir. Sade bir görünüme sahip ekran arayüzü resim 4.1 de görülebilir. Ekranın sol kısmında bilgisayarımızın IP adresi yer almaktayken, sağ kısımda arayacağımız bilgisayarın IP adresinin girileceği bir kutu bulunmaktadır. Ekranın alt kısımında bağlan ve bağlantıyı kes şeklinde iki buton vardır. Resim 4.1. Ekran arayüzü. Bilgileriniz bölümünde karşı noktaya bildirilecek IP adresi görünmektedir. Bağlanılacak IP kısmında ise sesli iletişim kurulacak noktanın IP adresi yazılacaktır. Bağlanılacak IP adresi yazıldıktan sonra bağlan düğmesine basılarak Şekil 4.1’deki genel tasarım senaryosu işletilir. Son olarak sesli iletişimi sona erdirmek için bağlantıyı kes düğmesine basılmalıdır. 42 Uygulamanın geliştirme aşamaları ve çalışma mantığı şu şekildedir: Visual Studio’da Solution Explorer penceresinde References bölümünde sağ tıklanarak Add Reference bölümüne girilir. Burada Resim 4.2’de görüleceği üzere Microsoft.DirectX ve Microsoft.DirectX.DirectSound araçları seçilerek projeye eklenir. Resim 4.2. Add reference ekranı Uygulama DirectX DirectSound kütüphanesi yardımıyla mikrofondan ses kaydı yapar. Örneğin sesi Mono kanal, 16 örnek bit (per sample bits) ve 22050hz’ de geçici tampon belleğe kaydeder. Sesin karşı tarafa gönderilmesi için bir Thread oluşturulur. Kaydedilen ses bilgisi UDP protokolü kullanılarak oluşturulan bir socket yardımıyla karşı bilgisayara gönderilir. 43 Karşı bilgisayarda sesin alınması için bir Thread çalışmaktadır. Karşı bilgisayarda yine DirectX DirectSound Kütüphanesi yardımıyla ikinci bir tampon belleğe ses verisi kaydedilir ve oynatılır. Sesin gönderilmesi ve sesin alınması, oynatılması için çalıştırılan thread ler her iki bilgisayarda da senkron şekilde çalışır. Toplamda 4 thread çalışmaktadır. Ses iletimi bu şekilde gerçekleşmiş olur. 4.3. Kaynak Tüketimi Geliştirilen uygulama belirli bir anda karşı taraftan ses bilgisi alınırken ve gönderilirken Windows Kaynak İzleyicisi programıyla izlenmiştir. Kaynak tüketimini etkileyen etmenler sesin saniyede alacağı mono ya da stereo kanal, her ses örneğindeki bit sayısı, saniyedeki her bir örnek değerlerinden oluşur. Bu değerleri incelediğimizde DirectX’de; HerOrnektekiBit değeri 8 ya da 16, Kanal (1) olursa Mono, (2) olursa stereo, SaniyedekiHerBirOrnek değeri ise Çizelge 4.1’de görüleceği üzere 8.0 kHz, 11.025 kHz, 22.05 kHz, or 44.1 kHz (program kodlanırken hertz cinsinden kullanılmıştır) değerlerinden oluşmaktadır. Bir sesin saniyede harcayacağı bant genişliği hesabı şu şekilde formülize edilmiştir: Bant genişliği (bit/saniye) = SaniyedekiHerBirOrnek * HerOrnektekiBit * kanalsayısı * saniye Byte cinsine çevrilirken ise her byte 8 bit’ten oluştuğu için: 44 Bant genişliği (byte/saniye) = Bant genişliği (bit/saniye) / 8 Program kodlanırken yukarıda anlatılan etmenlerin seçildiği değerlere göre kaynak tüketimi artıp azalmaktadır. Çizelge 4.1. Ses örnekleme frekansları Saniyedeki Her Bir Açıklama Ornek 8.0 kHz Sabit telefon ses kalitesi 11.025 kHz CD ses kalitesinin 4’de 1’i seviyesinde bir ses kalitesi 22.05 kHz CD ses kalitesinin yarısı seviyesinde bir ses kalitesi 44.1 kHz CD kalitesinde (VCD, MP3) ses Yukarıda anlatılanlar ışığında, sesin kaynak tüketimini etkileyen etmenlerin çeşitli durumlardaki kaynak tüketimlerini Windows Kaynak İzleyicisi programıyla izlediğimizde aşağıdaki durumlar oluşmuştur. Ses mono, her örnekteki bit sayısı 8 ve saniyedeki her bir örneğin 8000 olduğu durumda 2,30 saniye çalıştırıldığında kodda: “short kanal = 1; short HerOrnektekiBit = 8; int SaniyedekiHerBirOrnek = 8000;” değişkenleri atanmaktadır. Resim 4.3’de görülen Windows Kaynak İzleyicisi programında 18234 byte/saniye kaynak harcamaktadır. Yine belirli bir anda ses bilgisi alınırken yaklaşık 8148 byte/saniye kaynak harcamaktadır. Ses gönderiminde ise 10085 byte/saniye kaynak harcamaktadır. Bunun dışında karşı ip adresine değişik portlarda bağlantı kurmaya çalıştığı ve bunların bilgisayarın yerel güvenlik duvarında izinli olduğu gözlemlenmiştir. Gecikme mevcut değildir. 45 Resim 4.3. Kaynak izleyicisi Ses mono, her örnekteki bit sayısı 16 ve saniyedeki her bir örneğin 11025 olduğu durumda 1,30 saniye çalıştırıldığında kodda: “short kanal = 1; short HerOrnektekiBit = 16; int SaniyedekiHerBirOrnek = 11025;” değişkenleri atanmaktadır. Resim 4.4’de görülen Windows Kaynak İzleyicisi programında 28308 byte/saniye kaynak harcamaktadır. Yine belirli bir anda ses bilgisi alınırken yaklaşık 13349 46 byte/saniye kaynak harcamaktadır. Ses gönderiminde ise 14958 byte/saniye kaynak harcamaktadır. Bunun dışında karşı ip adresine değişik portlarda bağlantı kurmaya çalıştığı ve bunların bilgisayarın yerel güvenlik duvarında izinli olduğu gözlemlenmiştir. Gecikme mevcut değildir. Resim 4.4. Kaynak izleyicisi Ses stereo, her örnekteki bit sayısı 16 ve saniyedeki her bir örneğin 11025 olduğu durumda 1,72 saniye çalıştırıldığında kodda: 47 “short kanal = 2; short HerOrnektekiBit = 16; int SaniyedekiHerBirOrnek = 11025;” değişkenleri atanmaktadır. Resim 4.5. Kaynak izleyici Resim 4.5’de görülen Windows Kaynak İzleyicisi programında 75853 byte/saniye kaynak harcamaktadır. Yine belirli bir anda ses bilgisi alınırken yaklaşık 37927 byte/saniye kaynak harcamaktadır. Ses gönderiminde ise 37927 byte/saniye kaynak 48 harcamaktadır. Bunun dışında karşı ip adresine değişik portlarda bağlantı kurmaya çalıştığı ve bunların bilgisayarın yerel güvenlik duvarında izinli olduğu gözlemlenmiştir. Gecikme mevcut değildir. Windows Kaynak İzleyicisi programıyla yapılan incelemelerde ses örnekleme ayarları, kanal tercihi ve her örnekteki bit sayısı ayarları ideal bir şekilde yapıldığında az bant genişliği harcayacağı görülmüştür. Ses kalitesinin iyileştiği ve kanal tercihinin stereo olduğu durumlarda bant genişliği tüketimi artmaktadır. Bununla beraber ses iletiminde gecikme olmaması da incelemelerde ön plana çıkmıştır. Geliştirilen programın bağlantı kurulan hedef nokta dışında başka bir noktayla iletişime geçmemesi de güvenlik açısından olumlu bir sonuç olmuştur. 4.4. Geliştirilen Uygulamanın Diğer Uygulamalara Göre Üstünlükleri Geliştirilen uygulamanın mevcut uygulamalardan farklı olarak avantajları şunlardır: Türkçe olması, kullanım kolaylığı ve sade tasarıma sahip olması, Çizelge 4.2. Gecikme süreleri (ms) 350 300 320 250 200 220 150 Gecikme 100 120 50 0 0 Skype Google Talk Yahoo Messenger Geliştirilen Uygulama ses paketlerinin ağ üzerinde gecikmeye uğramadan iletilmesi (Çizelge 4.2.), 49 Çizelge 4.3. Yankı etkisi (Puanlama: 4-kabul edilebilir düzey, 1-kabul edilemez) 4 4 3 3 2 Yankı 2 1 1 0 Skype Google Talk Yahoo Messenger Geliştirilen Uygulama yankının kabul edilebilir düzeyde olması (Çizelge 4.3.), paket kaybının minimum düzeyde olması, herhangi bir sunucu gerektirmeden doğrudan karşı tarafla bağlantı kurulabilmesi, ses iletişimi kurulacak hedef dışında başka noktalarla bağlantı kurulmaması, reklam içermemesi, Çizelge 4.4. Kaynak tüketimi (byte/saniye) 60000 50000 50060 40000 Gönderilen 30000 Alınan 27112 Toplam 20000 19530 18233 10000 0 Skype Google Talk Yahoo Messenger Geliştirilen Uygulama düşük miktarda bant genişliği harcamasıdır (Çizelge 4.4.). 50 5. SONUÇ VE ÖNERİLER Bu bölümde geliştirilen iki nokta arasında internet üzerinden sesli iletişim uygulamasına ve kullanım ayrıntılarına yönelik sonuçlara yer verilmiştir. Hedefler doğrultusunda, yerel ağ ortamında ofis içi iki nokta arası internet üzerinden ve arada sunucu olmadan sesli iletişimin sağlanabilmesi için kaynak tüketimi açısından benzer uygulamalara göre daha az bant genişliği isteyen, ses paketlerinin gecikmeye uğramadığı, paket kaybı olmayan, echo (yankı) etkisinin kabul edilebilir düzeyde olduğu bir uygulama geliştirilmiştir Sonuçlar: Uygulama ile ofis ortamında telefon maliyetlerinin düşürülmesi amacıyla internet üzerinden iki nokta arasında sesli iletişim kurulabileceği ortaya konmuş ve Windows Kaynak İzleyicisi programıyla geliştirilen uygulamanın kaynak tüketimi ve gecikme değerleri gözlemlenmiştir. Bu değerlerle uygulamanın avantajları, dezavantajları, kullanışlılığı ve uygulamanın hedeflerine ne kadar ulaştığı incelenmiştir. Geliştirilen uygulama test ortamında 6 farklı IP adresi ile denenmiş ve başarılı olmuştur. Windows Kaynak İzleyicisi programıyla yapılan incelemelerde ses örnekleme ayarları, kanal tercihi ve her örnekteki bit sayısı ayarları ideal bir şekilde yapıldığında az bant genişliği harcayacağı görülmüştür. Ses kalitesinin iyileştiği ve kanal tercihinin stereo olduğu durumlarda bant genişliği tüketimi artmaktadır. Bununla beraber ses iletiminde gecikme olmaması da incelemelerde ön plana çıkmıştır. Uygulama ITU-T G.114 standardına göre kabul edilebilir düzeyde gecikmeye sahiptir. Gecikmenin 50 milisaniyenin altında olması (0 ms) nedeniyle echo yani yankı oluşumunun kabul edilebilir düzeyde olduğu tespit edilmiştir. İletişimin ofis içinde kurulan yerel ağda gerçekleşmesi paket kaybının minimum düzeyde olmasını sağlamıştır. 51 Geliştirilen programın bağlantı kurulan hedef nokta dışında başka bir noktayla iletişime geçmemesi de güvenlik açısından olumlu bir sonuç olmuştur. Uygulamanın mevcut uygulamalardan farklı olarak avantajları Türkçe olması, kullanım kolaylığı ve sade tasarıma sahip olması, ses paketlerinin ağ üzerinde gecikmeye uğramadan iletilmesi, yankının kabul edilebilir düzeyde olması, paket kaybının minimum düzeyde olması, herhangi bir sunucu gerektirmeden doğrudan karşı tarafla bağlantı kurulabilmesi, ses iletişimi kurulacak hedef dışında başka noktalarla bağlantı kurulmaması, reklam içermemesi ve düşük miktarda bant genişliği harcamasıdır. Öneriler: Tezde incelenen mevcut diğer sesli iletişim uygulamalarının yetersizliklerini büyük ölçüde gidermekle beraber ilavelere açıktır. Bu çalışmada ele alınan konuyla ilgili olarak gelecekte aşağıdaki yönlerde araştırma yapılabileceği düşünülmektedir: Sadece kullanıcı girişi için sunucu ortamında çalışması sağlanarak üyelik sistemi yardımıyla, sistemde ip adresleri ile üyelik bilgileri uyuşan kişilerin kendi aralarında haberleşmesi sağlanabilir. Uygulama üzerine konulacak bir ses fitreleme mekanizması ile çalışma esnasında oluşabilecek gürültü azaltılabilir. Ses sıkıştırma algoritmaları kullanılarak kullanılan bant genişliği daha da azaltılabilir. Konferans görüşme, karşılıklı sunum yapılması ve dosya paylaşımı eklentileriyle zenginleştirilebilir. Cevapsız çağrı bilgisi tutularak aktif değilken arayan kişiler listelenebilir. Hızlı arama yapılması için sık görüşülen kişiler ve bu kişilerin ip adresleri bir veri tabanında saklanılabilir. İki nokta arasında görüntülü konuşma yapılması sağlanabilir. Çevrimiçi ve çevrimdışı uçlar arasında metin veya resim göndererek mesajlaşma yapılması sağlanabilir. 52 Uçlardan herhangi birinin görüşme yapmaya müsait olmadığı durumlarda uygun durumda olan başka bir kişiye çağrılarını yönlendirmesi sağlanabilir. 53 KAYNAKLAR Bayhan, S., “Araç Üstü İşleme Yapabilen Ngeo Uydu Sistemlerinde VoIP Başarımı”, Yüksek Lisans Tezi, Boğaziçi Üniversitesi, 1-19 (2006). Boucadair, M., “IP Telephony Interconnection Reference: Challenges, Models, and Engineering”, CRC Press, 21-22, 2002. Bozkurt, G., Aralık 2010, Hürriyet Gazetesi, Ekonomi Sayfası 2 (2010). Can, E., “IPv6 Üzerinden Ses Uygulaması ve Paket Analizi”, Yüksek Lisans Tezi, Beykent Üniversitesi Fen Bilimleri Enstitüsü, İstanbul, 15-40 (2006). Cisco, “Voice Over IP - Per Call Bandwidth Consumption”, http://www.cisco.com/image/gif/paws/7934/bwidth_consume.pdf, (2012). Dickson, F., “Mobile VoIP—Transforming the Future of Wireless Voice” In-Stat, 1 (2009). Dixit, S., “Wireless Ip and Building the Mobile Internet”, Artech House, 185-186, 2003. Doğruöz, B., “Ses Haberleşme Sistemleri İçin Dinamik Erişim Kontrolü Tasarımı ve Uygulaması”, Yüksek Lisans Tezi, Yıldız Teknik Üniversitesi Fen Bilimleri Enstitüsü, İstanbul, 6-15 (2007). Durkin, J., “Voice-Enabling the Data Network: H.323, Mgcp, Sip, Qos, Slas, and Security”, Cisco Press, 30, 2003. Ellis, J., “Voice, Video, and Data Network Convergence”, Academic Press, 212, 2003. Epstein, J., “Scalable VoIP Mobility: Integration and Deployment”, Newnes, 32, 2009. Erman, K., “Kablosuz Ağlar İçin SIP Tabanlı, Mobil, IP Üzerinden Ses İstemcisi”, Yüksek Lisans Tezi, İstanbul Teknik Üniversitesi Fen Bilimleri Enstitüsü, 1-9 (2008). Ganguly, S, “VoIP: Wireless, P2P and New Enterprise Voice over IP”, Wiley, 149151, 2008. Hallock, J., “A Brief History of VoIP”, COM 538, Masters of Communication in Digital Media, 1-11 (2004). 54 İnternet: International Telecommunication Union, “ITU-T G.114 Standardı” http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-G.114-200305-I!!PDFE&type=items (2013) İnternet: IETF: IETF RFC 2543 Standardı http://www.ietf.org/rfc/rfc2543.txt RFC 2543 (2012). İnternet: İstanbul Teknik Üniversitesi: “Bilgisayar Haberleşmesi” http://web.itu.edu.tr/oktug/BH/notlar/bolum2.pdf (2012). İnternet: Gmail https://www.google.com/intl/tr/policies/privacy/ (2013) İnternet: Microsoft: .NET 3.5 http://www.microsoft.com/downloads/tr-tr/details.aspx?FamilyID=33332 5fd-ae52-4e35-b531-508d977d32a6 (2012). İnternet: Ntvmsnbc http://www.ntvmsnbc.com/id/25425079/ (2013) İnternet: Skype http://www.skype.com/tr/legal/privacy/?intsrc=client-_-windows-_-6.3-_-goprivacy#collectedInformation (2013) İnternet: Opswat: “Instant Messenger Market Share” http://www.opswat.com/about/media/reports/antivirus-june-2012#instant-messengermarket-share (2013) İnternet: Wikipedia: “Voice over IP” http://en.wikipedia.org/wiki/Voice_over_IP (2012). İnternet: Yıldız Teknik Üniversitesi: “Veri Haberleşmesi” http://www.yildiz.edu.tr/~kunal/veri_hab.html (2012). Karaaslan, B.,, “VoIP İnternet Üzerinden Sesli Haberleşme Ağının Optimizasyonu”, Yüksek Lisans Tezi, Erciyes Üniversitesi Fen Bilimleri Enstitüsü, 5-51 (2006). Pelit, C., “Adaptif Veri Hızlarında Çalışan VoIP Uygulamalarında Kullanılmak Üzere Tıkanıklık Bildirimi”, Yüksek Lisans Tezi, Ankara Üniversitesi Fen Bilimleri Enstitüsü, 2-59 (2005). Stallings, W., Data And Computer Communications Eighth Edition, New Jersey: 2007,s.298-301. Şişko, B., “Oturum Başlatma Protokolü – SIP, Internet Protokolü Üzerinden SesVoIP ve Uygulamaları”, Yüksek Lisans Tezi, İstanbul Teknik Üniversitesi Fen Bilimleri Enstitüsü, İstanbul, 1-74 (2006). 55 Tüysüz, M., “Improving Voice Quality in VoIP”, Yüksek Lisans Tezi, Dokuz Eylül Üniversitesi, 1-9 (2007). Wigfield, M., “Second Collection to Comprehensively Include Interconnected VoIP”, FCC Report, 515 F 2d 385, 1-2, (2010). VNI, C., “Cisco Visual Networking Index: Forecast and Methodology, 2010-2015”, Cisco, FLGD 09748, 1-16, (2011). Yavuz, E., “İnternet Protokolü (IP) Üzerinden Ses Haberleşmesinde Servis Kalitesine Etki Eden Parametrelerin Analizi”, Yüksek Lisans Tezi, Süleyman Demirel Üniversitesi Fen Bilimleri Enstitüsü,2-69 (2004). Zengin, E., “Internet Protokolü Üzerinden Telefon Görüşmesi (IP Telefonu) Kampüs Uygulaması ve Performans Değerlendirmesi”, Yüksek Lisans Tezi, Sakarya Üniversitesi Fen Bilimleri Enstitüsü, Sakarya, 4-37 (2004). 56 ÖZGEÇMİŞ Kişisel Bilgiler Soyadı, adı : ÖZGÖKÇE, Hüseyin Salih Uyruğu : T.C. Doğum tarihi ve yeri : 1983 Ankara Medeni hali : Evli e-mail : [email protected] Eğitim Derece Eğitim Birimi Mezuniyet tarihi Lisans Gazi Üniversitesi/Bilgisayar Eğitimi Bölümü 2006 Lise Ankara Anafartalar Anadolu Tic. Mes. Lisesi 2001 İş Deneyimi Yıl Yer Görev 2005 Gazi Üniversitesi Kısmi Zamanlı Öğrenci Çalışan Yabancı Dil İngilizce Hobiler Futbol, Bilgisayar teknolojileri, Seyahat etmek