1 / 42

İnternet Protokolü Üzerinden Ses İletimi Ve Bir Yazılım Uygulaması Gerçeklenmesi

İnternet Protokolü Üzerinden Ses İletimi Ve Bir Yazılım Uygulaması Gerçeklenmesi. NURTEN ERKAN. Y.BİLGİSAYAR MÜHENDİSİ. BİLİM, SANAYİ ve TEKNOLOJİ KOCAELİ İL MÜDÜRLÜĞÜ . nurten.erkan@sanayi.gov.tr. Sunuş Özeti. 1-VoIP nedir? 2-VoIP Protokolleri 3-VoIP Uygulaması

coralia
Télécharger la présentation

İnternet Protokolü Üzerinden Ses İletimi Ve Bir Yazılım Uygulaması Gerçeklenmesi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. İnternet Protokolü Üzerinden Ses İletimi Ve Bir Yazılım Uygulaması Gerçeklenmesi NURTEN ERKAN Y.BİLGİSAYAR MÜHENDİSİ BİLİM, SANAYİ ve TEKNOLOJİ KOCAELİ İL MÜDÜRLÜĞÜ nurten.erkan@sanayi.gov.tr

  2. Sunuş Özeti 1-VoIP nedir? 2-VoIP Protokolleri 3-VoIP Uygulaması 4-Özet 5-Sonuçlar

  3. VoIP NEDİR ? VoIP, normal telefon sistemindeki sesin IP tabanlı internet üzerinden aynı kalitede ve güvenilirlikte taşınmasıdır. VoIP’de, DSP (Digital Signal Processing – Sayısal Sinyal İşleme) segmentleri ile ses sinyali frame’lere çevrilir ve belli bir gurup oluşturduklarında ses paketlerine çevrilir ve IP tabanlı bir şebeke üzerinden gönderilir. VoIP uygulamaları üç türlü gerçekleştirilmektedir. Geleneksel uluslararası ve uzun mesafe telefon hizmetlerinde (Telefon-Telefon) Geleneksel telefon şebekesi ile bilgisayar ve İnternet tabanlı telefon hizmetlerinde (Telefon-PC) Tamamen bilgisayar ve internet tabanlı telefon uygulamalarında (PC- PC)

  4. Düşük destek maliyeti, sadece standart temelli bir network maliyeti gerektirir. • Potansiyel telefon görüşmelerinden tasarruf, herkese açık telefon • şebekesi imkanı sağlar. • Daha büyük esneklik - insanlar, aldıkları servisler kesilmeksizin ofisler arasında ses görüşmesi yapabilir ve çok düşük miktarda kesinti ile karşılaşırlar. • Birleşik mesajlaşma ve ilişki merkezleri gibi yeni üretken servislere erişim sağlar. • Daha yüksek seviyelerde ölçeklenebilirlik ,yeni kullanıcılar hızla ve kolaylıkla eklenebilme imkanına sahip olurlar. • Veri servisleriyle gerçek zamanlı ses iletim servislerinin birleştirilebilmesi imkanı sağlar. VoIP’in Avantajları

  5. VoIP Nasıl Çalışır ? 01100101010110…………0110………00101010110 IP Gateway Gateway Ses )) ADC – Sıkıstırma Algoritması - RTP’nin TCP/IP içine yerlestirilmesi ----- ----> | <---- | Ses (( DAC – Açma Algoritması - RTP’nin TCP/IP’den ayıklanması

  6. VoIP’ de Güvenlik

  7. VoIP PROTOKOLLERİ • İşaretleşme Protokolleri; • H.323 • Oturum Başlatma Protokolü (Session Initaition Protocol-SIP) • Veri Aktarım Protokolleri • Kaynak Protokolü (Resource Reservation Protocol-RSVP ) • Gerçek Zaman İletim Protokolü (Real time protocol-RTP) • Gerçek Zaman İletim Kontrol Protokolü (Real time control • protocol-RTCP)

  8. Veri Kontrol ve işaretleşme Sistem Kontrolü Ses Çözücüler Görüntü Çözücüler Ses ve Görüntüsel Araçlar G.7xx H.26x RTCP T.12 H.245 H.225.0 H.225.0 RAS RTP UDP/TCP UDP IP Değişken Katman 2 Protokolleri Değişken Katman 1 Protokolleri H.323 Protokolü • H.323 1990’ ın ortalarında ITU (İnternational Telecommunications • Union) tarafından geliştirilmiştir. • Ses, görüntü ve veri haberleşmesi için şemsiye standarttır. • Çağrı kontrolü ve ortam akış protokollerini tanımlar.

  9. H.323 Bileşenleri

  10. Gateway, ses ve fax çağrılarını, IP Paketlerine dönüştürerek genel anahtarlamalı telefon ağları (PSTN: Public Switched Telephone Network) ile IP Ağları arasında gerçek zamanlı olarak taşımaya yarayan cihazlardır. • VoIP Gateway’in ana işlevi, bir sıkıştırma algoritması (Codec) kullanarak ses ve fax sıkıştırması yapması ve karşı tarafta sıkıştırmayı yeniden açma (Decoder), paketleme, çağrı yönlendirme ve sinyal kontrolü yapmasıdır. Ağ Geçidi (Gateway) Gateway Gateway IP NETWORK

  11. MCU ağda ikiden fazla terminalin ya da Gateway’ in çoklu bir konferansa katılımlarını sağlamaya yarayan cihazlardır. Sonradan çoklu bir konferansa dönüşebilecek ikili görüşmeler de MCU‘ lar aracılığı ile sağlanabilir. Çok Noktalı Kontrol Ünitesi(Multipoint Control Unit - MCU) MCU

  12. Geçit sorumlusu, terminallerin ve gatewaylerin kayıt, kabul ve statü (Registration, Admission and Status -RAS-) takibinden sorumlu olan ağ modülüdür. • Geçit solumlusu zone yönetimini ve çağrı işleme/işaretleşme işlevlerini de yerine getirirler. Aranan telefon numaralarının iletileceği gatewaylerin IP adresleri geçit sorumlusu cihazlarında ya da yazılımlar kullanılarak tutulur. • Geçit sorumlusu aşağıdaki fonksiyonları yerine getirir: • Adres Dönüşümleri • Yetki Denetimleri • Bant genişliği Yönetimi • Zone Yönetimi Geçit Sorumlusu (Gatekeeper)

  13. Gerçek zamanlı iki yönlü haberleşme sağlar. • H.323.terminaller H.245, Q931, RAS (Remote Access Server-Uzak Erişim Sunucusu), RTP(Real Time Protocol) protokollerini desteklemelidir. • H.323 terminaller MCU ve Gateway ile haberleşme özelliğine sahiptir. H.323 Terminal

  14. SIP Protokolü 1999 yılında internet mühendisliği grubu (İnternet • Engineering Task Force (IETF) tarafından yayınlanmıştır. • Bir veya daha fazla katılımcı arasında multimedia oturumları • oluşturur ve sonlandırır. • ASCII tabanlı(metin bazlı) kolay anlaşılabilir bir protokoldür. • SIP basit ve genişleyebilir bir protokoldür. Oturum Başlatma Protokolü (Session Initaition Protocol - SIP)

  15. SIP Bileşenleri Proxy Sunucusu (Proxy Server) Yönlendirme Sunucusu (Redirect Server) Kayıt Sunucusu (Registrar Server) Sunucu Kullanıcı Birimi (User Agent Server-UAS) İstemci Kullanıcı Birimi (User Agent Client-UAC)

  16. SIP (SessionInitiationProtocol) Bileşenleri • Kullanıcı Arabirimi(UserAgent-UA) : • İstemci Kullanıcı Arabirimi(UserAgentClient-UAC): İstemci Kullanıcı Birimi SIP oturumunu çağrı gönderme isteği ile başlatır. • Sunucu Kullanıcı Birimi(UserAgent Server-UAS): Sunucu Kullanıcı Birimi çağrının gönderildiği hedef kullanıcıyı tanımlar. UAS’ın görevi gelen çağrıyı cevaplamaktır. • Proxy Server • SIP Sunucu Kullanıcı arabiriminden gelen SIP oturum taleplerini alır ve oturum talebini hedef kullanıcı arabirimi ya da hedef kullanıcının bulunduğu taraftaki başka bir sunucuya gönderir. • Hem istemci hem de sunucu rolünü üstlenir. • SIP protokolünü kullanmayan kullanıcılarla oturum kurulabilmesini • sağlamaktadır.(H.323 protokolünü kullanan bir kullanıcı ile)

  17. Yönlendirme Sunucusu (Redirect Server) • Kullanıcı Arabiriminden gelen SIP taleplerini alır,hedef kullanıcı ile • Bağlantı kurulabilmesi için çağrı gönderen kullanıcıya hedef kullanıcının • adresini gönderir. • Kayıt Sunucusu (Registrar Server) • Kullanıcıların konum bilgilerini girmelerini sağlayan sunucudur. • İstek gönderen kullanıcıların konum bilgilerini veritabanında günceller.

  18. H.323 – SIP Özellik Karşılaştırması

  19. Gerçek Zaman Protokolü (Real time protocol-RTP) • Gerçek Zaman Kontrol Protokolü (Real time controlprotocol-RTCP) • Kaynak Ayırma Protokolü (ResourceReservationProtocol-RSVP) VERİ AKTARIM PROTOKOLLERİ

  20. IP ağlarında kaynak rezervasyonu yapar. • Paketlerin uğrayacağı her noktadaki bant genişliği ve gecikme değerleri • tespit eder. • Kendi mesajları için lokal yönlendirme tablolarına bakarak yol çizer • Servis kalitesinin kontrolünde kullanılır • Yol kurma ve Yer ayırma olmak üzere iki çalışma modu vardır. Kaynak Ayırma Protokolü (RSVP)

  21. Gerçek zamanlı ses ve görüntü verilerinin uçtan uca taşınmasını sağlar. • Veri paketlerinin gerçek zamanlı iletimini garanti etmez. • Veri iletimini gözlemlemek için RTCP’den faydalanır. • RTP , UDP servisleri kullanılarak iletilir. • Veri akışının senkronizasyonunu kontrol eder. • Paket kayıplarını tespit eder.Fakat telafi etmez. Gerçek Zaman Taşıma Protokolü (RTP)

  22. RSVP ,RTP ile bağlantılı olarak çalışan kontrol protokolüdür. • Veri iletimi kalitesi konusunda geribildirim sağlamak için kullanılır. • Periyodik olarak kontrol paketlerinin iletilmesine dayanan bir protokoldür. • Gönderici ve alıcı raporları tüm katılımcılara periyodik olarak iletilir. • (raporlar: paket sayısı, paket kayıp oranları, paket iletim gecikmeleri ve • gecikme süresi farkıdır.) Gerçek Zaman Taşıma Kontrol Protokolü (RTCP)

  23. Uygulama internet üzerinden ses iletiminin gerçekleştirilmesi için tasarlanmıştır. • Uygulama Visual C++ geliştirme ortamında nesne tabanlı programlama teknikleri kullanılarak geliştirilmiştir. • Kullanıcı (Client) – Sunucu (Server) tabanlı bir uygulamadır. ( PC to PC) • Kullanıcı sunucuya uygulamanın kullanıcı arayüzünden bir isim yazarak bağlanırlar. • Sunucuya bağlanan kullanıcı sistemde online olan diğer kullanıcıların listesini alır. • Kullanıcı listesinden istediği kişiyi seçerek ses görüşmesi yapar. • Uygulamanın bağlantı kısmında TCP/IP haberleşmesi, iletim kısmında ise TCP protokolü kullanılmıştır. VoIP UYGULAMA

  24. Visual C++, C++ ile program yazmak üzere donatılmış, görsel yönelimli bir yazılım geliştirme ortamıdır. • C++ veya C dilinde yazılması olası olan her türlü program Visual C++ ile yazılabilir. • C++, C’ nin üst kümesidir. • C dilinin geliştirilmesiyle oluşturulmuştur. • C++, C nin kapsamakta olduklarına ek olarak nesneye dayalı programlamayı (OOP – Object Oriented Programming ) da destekler. Visual C++ Geliştirme Ortamı

  25. IP NETWORK TCP / IP Soket Yapısı Gönderici Soket = Kaynak IP Adresi + Kaynak Port Numarası Alıcı soket = Hedef IP Adresi + Hedef Port Numarası

  26. MFC microsoft windows ortamında işletim sisteminin Uygulama • Programlama Arayüzü (Application Programming Interface – API)’ ne ulaşıp işlem • yapmamızı sağlar. • MFC sınıf sistemi içerisinde yüzden fazla sınıf ve binlerce üye fonksiyon vardır. • Sınıf sisteminin en tepesinde Cobject denilen bir sınıf bulunur. Bu Object sınıfı uygulamalar için diğer sınıflara taban sınıfı işlevini yerine getirmektedir. • MFC sınıflarının büyük çoğunluğu Cobject sınıfından türetilmiştir. • MFC sınıf isimleri C harfi ile başlayarak isimlendirilir. • MFC sınıfları kullanım alanlarına göre çeşitli gruplara ayrılabilir. Microsoft Temel Sınıfları (MFC)

  27. Uygulama için Oluşturulan Arayüzler • Uygulamanın kullanıcı arayüzü sunucuya bağlanma, • sunucu bağlantısını kesme, diğer kullanıcılar ile konuşma işlevlerini yerine getirir. Seçilen bir kullanıcı ile konuşmayı sağlar. • Uygulamanın sunucu arayüzü kullanıcı bilgilerini tutma, güncelleme ve diğer kullanıcılara sunma işlevlerinin yerine getirir.

  28. User : msj(tunc, deniz), istemci listesi ( Mesaj Yönü: server- client) New : msj(tunc), istemci adı (Mesaj Yönü : client - server) Down : msj(NULL), sunucu kapanma (Mesaj Yönü : server - client) İkinci format, (header : length : mesg) şeklinde belirlenmiştir. Header : Ses gönderen kullanıcının ip ve port numarasını içermektedir. Length : Ses bilgisinin boyutunu gösterir. Mesg :Ses bilgisinden oluşmaktadır. Uygulamada Kullanılan Mesaj Formatları

  29. Sunucu Uygulamasının Çalışma Akışı Sunucu Akış Diyagramı :

  30. Port bilgisi kısmına port no (1051) yazılarak Çalıştır • butonuna tıklandığında, portun uygunluğu kontrol edilir, • eğer port no uygunsa Sunucu Soketi oluşturulur. • Yeni bağlantı oluşturma aşaması; Sunucu ilk • aşamadan sonra çalışmaya başlar ve portu dinlemeye • alır. • Herhangi bir kullanıcıdan bağlantı isteği geldiğinde, bu • bağlantı isteği değerlendirilir ve uygun bir bağlantı ise, • kullanıcı bilgileri, IP ve kullanıcı adı, alınarak bağlantı • oluşturulur.

  31. Bağlantı kuruldu ve bu bağlantı kurulan • kullanıcı’ın bilgilerini bir liste yapısında • tutabilmek için var olan kullanıcı listesine yeni • bağlantı kurulmuş olan kullanıcının bilgileri • eklenir. • Bir önceki aşamada yapılan değişiklikler yani • kullanıcı listesinin güncel hali tüm kullanıcılara • gönderilmesi işlemi yapılmalıdır.

  32. Kullanıcı Uygulamasının Çalışma Akışı Kullanıcı Akış Diyagramı :

  33. Kullanıcı uygulamasının başlaması için bir • soket oluşturmaya gerek vardır. • Bu soket sayesinde kullanıcı sunucudan güncel • kullanıcılara hem de diğer kullanıcılara ses • mesajı gönderebilmektedir. • Kullanıcı listesini alabilmektedir. • Sunucu IP’ si, port numarası, kullanıcı adı • girildikten sonra Bağlan butonuna basılır.

  34. Girilen IP ve port bilgileri doğruysa kullanıcı sunucu • bağlantısı sağlanacaktır. • Bağlantı kabul edilmişse True, kabul edilmemişse • False değeri elde edilir. Bağlantı sağlanmazsa • kullanıcıya bilgilerini kontrol etmesi için uyarı verir. • Kullanıcı bilgileri oluşturulan soket bağlantısı • sayesinde sunucuya iletilir. (New : tunc) • Kullanıcı sunucuya dahil olmuş olur. Sunucu-kullanıcı • arası mesaj alışveriş işlemi başlatılabilir.

  35. Kullanıcı sunucuya bağlandıktan sonra portu dinlemeye başlar. • Gelen mesajların içeriği çözülür. • Mesaj içeriği kullanıcı listesi ise bu mesaj sunucudan gelmiştir. • Alınan yeni listeye göre kullanıcı kendi listesini günceller. • Mesaj içeriği ses bilgisi ise başka bir kullanıcıdan gelmiştir. • Alınan bu ses mesajı hoparlörden çalınır.

  36. Ses Bilgisinin Çalınması : • Ses verisi buffer (tampon) içerisine alınır. • Buffer içerisindeki ses verisinin büyüklüğü kontrol edilir. • Eğer buffer da belirlenen değerden büyük değil ise işleme alınır. • Bu aşamadan sonra ses verisi bir iş parçacığı vasıtasıyla ses cihazına (sound device) gönderilir. • Uygulamada yer alan fonksiyonlar yardımıyla ses bilgisi hoparlörden çalınır.

  37. Seçilen Kullanıcıya Ses Verisinin Gönderilmesi

  38. Kullanıcı listesinden istenilen kişi seçilerek • (DENİZ) başlat butonuna basılır. • Mikrofondan alınan ses sinyali, frekans 8000 Hz • ve bit derinliği 8 olarak sayısal değerlere • çevrilerek 2000 bitlik bir buffer yazılıyor. • Başlat butonuna basıldığında buffer da olan • ses bilgisi bağlı olduğumuz kullanıcıya • gönderilir.

  39. ÖZET • VoIP, PSTN sistemlerine göre daha avantajlıdır. Çünkü PSTN yeni • özelliklere adapte olma konusunda yeterince uygun değildir. • VoIP’ de yeni uygulamalar geliştirip ve mevcut sisteme entegre edilebilir. • VoIP’ in önünde aşması gereken bazı engeller olsa da PSTN’ e karşı • sağladığı ekonomik avantajlar (düşük işletme ve kurulum giderleri), bu • sistemin yakın bir gelecekte standart devre bağlaşmalı telefon • şebekelerinin yerini alacağını göstermektedir. • Tez kapsamında gerçekleştirilen VoIP uygulama yazılımı internet • ortamında bulunan kullanıcıların ses görüşmesi yapmasına imkan vermektedir.

  40. SONUÇLAR • VoIP, PSTN sistemlerine göre daha avantajlıdır. Çünkü PSTN yeni • özelliklere adapte olma konusunda yeterince uygun değildir. VoIP’ de yeni uygulamalar • geliştirip ve mevcut sisteme entegre edilebilir. • VoIP’ in önünde aşması gereken bazı engeller olsa da PSTN’ e karşı • sağladığı ekonomik avantajlar (düşük işletme ve kurulum giderleri), bu • sistemin yakın bir gelecekte standart devre bağlaşmalı telefon • şebekelerinin yerini alacağını göstermektedir. • Tez kapsamında gerçekleştirilen VoIP uygulama yazılımı İnternet • ortamında bulunan kullanıcıların ses görüşmesi yapmasına imkan vermektedir. • Uygulamaya yeni yazılımlar eklenerek (multimedia yazılımı, filtreleme yazılımı) daha üst • kapsamlı bir uygulama haline getirilebilir.

  41. KAYNAKLAR [1] Kumar, V., Korpi, M., and Sengodan, S., ” IP Telephony with H.323: Architectures for Unified Networks and Integrated Services ”, John Wiley&Sons , (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,”SIP:Sesion initiation protocol ’’, IETF RFC 3261, June, ( 2002). [4] Fincan, E., “ İnternet Protokolü Üzerinden Ses Haberleşmesi”, Yüksek Lisans Tezi, İstanbul Teknik Üniversitesi Fen Bilimleri Enstitüsü, İstanbul, 45-48, (2002). [5] Bük , O., ”İnternet Protokolü Üzerinden Ses İletimi ve Askeri Amaçlı Kullanımı ’’, Yüksek Lisans Tezi, İstanbul Teknik Üniversitesi Fen Bilimleri Enstitüsü, İstanbul, (2004). [6]http://www.iptelephony.org/cgibin/DataMaker/DataMaker.pl?Selection=PublicViewData&dbIdNum=1&dfIdNum=1 (ZiyaretTarihi: 22 Mayıs 2007). [7]http://http://www.programlama.com/sys/c2html/viewCategory.php?DocCategory=3&DocType=1 (Ziyaret Tarihi : 22 Mayıs 2007). [8] Çölkesen ,R. , ” C Proglama Dili ”, Papatya Yayıncılık, (2001). [9] özkan, Y., ” Nesneye Yönelik Programlama:C++ ile Programlama’’, AlfaYayıncılık, (2003).

  42. TEŞEKKÜRLER

More Related