• Sonuç bulunamadı

Kurumsal Yazılım Telefonu Prototipi Geliştirme Süreci: İnceleme ve Ön ürün

N/A
N/A
Protected

Academic year: 2022

Share "Kurumsal Yazılım Telefonu Prototipi Geliştirme Süreci: İnceleme ve Ön ürün"

Copied!
5
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Kurumsal Yazılım Telefonu Prototipi Geliştirme Süreci: İnceleme ve Ön ürün

Elif Türkay, Hamdi Burak Dilek , Hüseyin Erkan Çetinkaya , Enis Karaarslan

Muğla Sıtkı Koçman Üniversitesi Bilgisayar Mühendisliği Bölümü, Muğla

eturkay35@gmail.com , hamdiburakdilek@gmail.com , erkan.cetinkaya3@gmail.com , enis.karaarslan@mu.edu.tr

Özet: Bu bildiride, Muğla Sıtkı Koçman Üniversitesi Android Grubu’nun yazılım telefonu (VoIP) uygulaması geliştirme sürecinde edindiği deneyimin paylaşılması hedeflenmiştir. VoIP teknolojisi, SIP protokolü ve açık kaynak kodlu sayısal santraller ele alınmıştır. Yapılmakta projenin ana hede- fi, istemcilerin IP ağları üzerinden telefon iletişimini sağlayan kurumsal bir çözüm oluşturmaktır.

Bu sistem aracılığıyla kullanıcıların birbirleriyle sesli görüntülü konuşma ve anlık mesaj aktarımını gerçekleştirmesi sağlanacaktır. Uygulama Android Mobil platformunda geliştirilmektedir ve yazılımın prototipi de sunulmuştur. Kullanıcılar arasında iletişimin kurulum ve yönetimi bir sayısal santral üze- rinden gerçekleşmektedir. Bunun için Linux sunucusu üzerinde çalışan Elastix sayısal santral plat- formu kullanılmaktadır.

Anahtar Sözcükler: Mobil Cihazlar, Akıllı telefon, yazılım telefonu, Android, VoIP, SIP, Sayısal Santral

Enterprise Soft Phone Prototoype Development Process: Analysis and Prototype

Abstract: This study aims to share the experience of Muğla Sıtkı Koçman Android Group during the SoftPhone (VoIP) application development process. VoIP technology, SIP protocol and open source digital santral (IP PBX) systems are described. Main aim of the project is to form an enterprise solution which will allow client telephone communication over IP network. Voice and video calls and instant messages are to be implemented by this system. The application is being developed in the Android platform and the prototype of the software is presented. Setup and management of the communication between the clients is carried out through a digital santral. Elastix digital santral platform that runs on Linux server is used for this purpose.

Keywords: Mobile Devices, Smart Phone, Soft Phone, Android, VoIP, SIP, IP PBX

1. Giriş

Son yıllarda mobil teknoloji alanında gözlemlenen hızlı gelişime bağlı olarak mobil cihazların önemi ve kullanım alanları gittikçe artmaktadır. Mobil cihazlardaki işletim sistemlerinden günümüzde en yaygın olarak kullanılanları; Android, iOS ve Windows Mobile işletim sistemleridir. IDC’nin raporuna[1] göre, 2014’ün ikinci çeyreğinde An- droid pazarın %84,73’üne hakim durumdadır.

Android’in diğer mobil işletim sistemlerine kıyasla en belirgin özelliği açık kaynak kodlu bir proje ol- ması[2] ve kullanım alanı yönünden geliştiricilere sunduğu imkanlardır.

Mobil cihazlar aracılığı ile iletişim çağımızda çok önemli hale gelmiştir. Sayısal santrallerin geliştir- ilmesiyle beraber iletişim bambaşka bir düzeye taşınmış ve üzerine bir çok yenilik eklenmesi için bir altyapı oluşturmuştur. Bu gelişim sayesinde telefonla sesli iletişim artık servis sağlayıcılarına bağımlı olmaktan çıkmış durumdadır. “Yazılım Telefonu” uygulamaları sayesinde sesli, görüntülü

konuşma yapabilme, anlık mesaj, resim, video gibi her türlü veriyi iletilebilir hale gelinmiştir.

Bu bildiride, öncelikle VoIP teknolojisi, SIP pro- tokolü ve açık kaynak kodlu sayısal santraller ele alınacaktır. SIP temelli yazılım telefon uygu- lamasının Android ortamında prototipinin geliştir- ilmesi ve etkinleştirilmesi kapsamında yapılanlar ve edinilen deneyim paylaşılacaktır.

2. Temel Kavramlar

VoIP (Voice Over Internet Protocol-İnternet Üze- rinden Ses İletim Protokolü), analog ses işaret- lerinin sayısallaştırılıp sıkıştırılarak internet ya da özel IP ağları üzerinden taşınabilmesini sağlayan bir teknolojidir. VoIP sesi internet üzerinde yolcu- luk yapabilecek bilgi paketlerine çevirir. İnternet üzerinden gönderilen bu bilgiler başka bir aygıt tarafından tekrar sese dönüşür. Başka bir dey- işle VoIP bilgisayar üzerinden telefon görüşmesi yapmaktır[4]. VoIP’in kullanılma nedenleri olarak şunları saymak mümkündür[5]:

(2)

1. VoIP analog hatlara oranla daha ucuzdur çünkü sadece internet bilgisi dönüştürüldüğünde ücretlendirme yapılır.

2. VoIP hesabı almak (numara tahsisi etmek) ücretsizdir. Coğrafi ve konumdan bağımsız nu- maralar VoIP altyapısı ile çağrı alabilirler.

3. İnternet tabanlı olduğu için kullanılan servislere bağlı olarak uluslararası görüşmeler yapmanıza daimkan sağlar. Yani VoIP telefonunuza kurduğunuz programlarla dünyanın her yerinde aynı hesap kullanabilir.

4. Akıllı telefonlara yüklenen uygulamalar ile sabit numaralardan da çağrı alıp arama yapılabilir.

SIP (Session Initiation Protocol-Oturum Başlatma Protokolü) iki veya daha fazla cihazın donanım (hardware) veya yazılım (software) yardımıyla birbirleri ile bağlantı kurmalarını sağlayan ve bu bağlantıyı yöneten bir ağ protokolüdür. SIP, IETF tarafından geliştirilmiş düz bir metin protokolüdür ve uygulama katmanında çalışır. Günümüzde IETF RFC 3261(daha önce RFC 2543[6]) stand- artı[7] kullanılmaktadır.

SIP’in esneklik özelliği olduğu için ölçeklendir- ilebilir, genişletilebilir, değişik mimari ve kurulum senaryolarına rahatça uyarlanabilir. SIP, birbiri ile konuşturulacak cihazlar için IP ağı üzerin- den oturum açabilir, oturumun parametrelerini değiştirebilir veya oturumu sonlandırabilir. Ayrıca SIP ses, görüntü ve veri aktarımını desteklemek- tedir. Fakat SIP bir veri taşıma protokolü değildir.

Veriler RTP (Real Time Protocol) ile gerçek zamalı olarak taşınabilir. Açılan oturumlarla karşılıklı IP telefon çağrılarının dışında anlık mesajlaşmaya ve çoklu ortam konferans görüşmelerine, mev- cut oturuma yeni kişi veya medya eklemeye de olanak sağlar[8]. SIP’in bir oturum kurmak ve sonlandırmak için gerçekleştirdiği 5 fonksiyon vardır[9]:

1. Kullanıcı konumunu belirlemek,

2. Bağlantıya katılacak kullanıcıları tespit etmek, 3. Uçların kapasitelerini tespit edip o şekilde me- dya parametrelerini ayarlamak,

4. Çağrı yapma ve iki uçtaki çağrı parametrelerini ayarlamak,

5. Oturumu yönetmek.

Sayısal (IP) santral[12], geleneksel ve pahalı analog pbx santrallerinin yazılımlaştırılmış ha- lidir. Sayısal santraller network üzerinde çalışan sunuculardır. Bu sayede iletişimi network üze- rinden sağlar. Sayısal santral kullanmanın avan- tajları olarak güvenlik, otokontrol, düşük mali- yet ve geliştirilebilirliği söyleyebiliriz. Otokontrol kavramını, kişinin tepkilerini, davranışlarını veya

başka amaca yönelme eğilimini denetleyip kısıtla- ması olarak düşünürsek; bu IP santralde istenirse yapılan görüşmeler kolayca kayıt altına alınabilir.

Bu sayede kişiler iş telefonlarını özel ihtiyaçlar için kullanmaktan kaçınır ve aynı zamanda müşteri ile olan iletişimde herhangi sakıncalı bir davranıştan uzak dururlar. Sayısal santral olarak Linux tabanlı olarak en çok kullanılan iki çözümden söz etmek mümkündür:

• Asterisk: Sayısal santraller üzerinde kullanılan bir özgür yazılımdır. Mark Spencer tarafından oluşturulmuş ve Digium tarafından desteklenen bu yazılım tamamen açık kaynak kodlu olduğun- dan kişisel ve ticari amaçlarla kullanımı ücret- sizdir[11]. Asterisk bir yazılım olmasının avantajı olarak bir çok özelliği de yanında getirmektedir.

Analog santrallerde yapılan bütün işlemlerin üzer- ine “Text to Speech”, Kara Liste, Görüşme Trans- feri gibi ek cihaz gerektiren işlemlerin[13] yapıl- masına olanak sağlar.

• Elastix, Asterisk PBX için mevcut araçları barındıran açık kaynak bir IP PBX santral sistemidir[14]. Elastix ile çağrıları bekletme, yön- lendirme, video konferansı ekleme, arama zamanı belirleme, anlık mesajlaşma, faks, mail gibi işlem- ler yapılabilir[15]. Elastix’in özelliklerini de şöyle sıralayabiliriz; Telefon Erişimi, IVR (Interactive Voice Responce)[16], Queues, Day / Night Con- trol, Time Groups, Time Conditions, Call Center Module ve Android, IOS Desteği[17].

3.VoIP ve SIP Güvenlik Açıkları

IP üzerinden görüşme sağlanırken, alınan ses- lerin paketlenip karşı tarafa iletilmesi söz konusu olduğu için ağ saldırılarına açık bir teknolojidir.

Veri çalma, yok etme, değiştirme ve engelleme gibi birçok saldırı tipine açık bir teknoloji olması sebebiyle güvenlik için uluslararası çapta bazı protokolleri de bünyesinde barındırabilmektedir.

Ağ saldırıları dışında telekom sistemini çökert- mek, sistemi kapatmak yada sistemin kaynak- larını kullanmak gibi kaynak tabanlı saldırılar da gerçekleşebilir. VoIP uygulamasında güvenliği sağlamak amacıyla alınabilecek bazı önlemler şunlardır[10]:

• Protokol sayesinde ses ve sinyal paketleri şifre- lenmelidir. Örn: TLS,SRTP

• Ağın güvenliği için güvenlik duvarları kullanıl- malıdır.

• VoIP ağındaki sunucular herhangi bir kaynak saldırısına karşın yedeklenmelidir.

• Ses ve veri trafiği birbirinden ayrı olmalıdır.

• Müşteriye yönelik saldırılara önlemek için harf ve sayı kombinasyonlarıyla şifrelenmelidir.

Protokollerin hiçbiri tek başına güvenliği sağla- mak için yeterli değildir. Uygulanan güvenlik ön-

(3)

Şekil 1. Android tabanlı belli başlı uygulamaların kıyaslanması lemleri seslerin iletilmesini yavaşlatabilir ve kul-

lanıcı şikayetlerine sebep olabilir.

SIP güvenliği ve Sayısal Santralda Yapılması Gereken Ayarlar:

SIP mesajlarında çok sayıda gizli bilgi açık bir şekilde iletilmektedir. Örneğin bağlantıda kul- lanılan IP ve port bilgileri, kullanıcı adları, SIP adresleri, codec bilgisi gibi özellikler, SIP pro- tokolünde güvenlik açığı oluşturmaktadır.

Sayısal santralle bağlantı gerçekleştirmek için oluşturduğumuz şifrenin (secret) harf/rakam karışımından

oluşması, kullanılan harflerin en az bir büyük ve bir küçük harf ve .?*! gibi özel karakterler içerme- si güvenlik açısından oldukça önemlidir. Ayrıca anonymous çağrıların da izni kaldırılarak engel- lenmesi gerekir.

Karşılaşılan diğer bir güvenlik sorunu ise bilin- meyen oturum açma isteklerinin gelmesi ve sunucuyu meşgul ederek sistem güvenlik açığı oluşturmasıdır. Bunun engellenebilmesi için IPT- ABLES[20] yapısı kullanılarak deneyenler blokla- nabilir veya fail2ban[21] yazılımı kullanılarak 5 defa hatalı giriş yapıldığında bu denemeyi yapan IP numarası tespit edilerek bloke edilir[22]. SIP TLS ile de ses trafiğini şifreleyerek iletmek de mümkündür [24].

4.Var olan Android tabanlı VoIP uygulama- larının kıyaslanması

Android tabanlı uygulamaların kıyaslanması Şekil 1’de verilmiştir.

5. Uygulama

Oluşturmakta olduğumuz kurumsal yazılım tele- fonu sistemi Şekil 2’de[23] gösterilmiştir. Uygula- ma üç aşamada gerçekleştirilmiştir:

• Sayısal Santralin Kurulumu

• Sayısal Santralda Kullanıcıların Açılması

• Ön Ürün Uygulamanın android ortamında geliştirilmesi

Sayısal Santralin Kurulumu:

Kimlik doğrulama için Elastix sunucusu kurul- muş, telefon altyapısına bağlantı sağlanması için ayrı bir SIP sunucusundan yararlanılmıştır.

Sayısal Santralda Kullanıcıların Açılması:

Elastix üzerinden iletişim kuracak her kullanıcı için hesap açılmıştır. Bu hesabı oluşturmak için öncelikle PBX sekmesindeki ‘Generic Sip De- vice’ seçeneğine tıklayarak açılan ‘Add SIP Ex- tension’ sayfasına gerekli bilgiler (User extension, displayname, secret, record incoming and record outgoing) girilmektedir. Daha sonra softphone uygulamasındaki hesap ayarları (account setting) bölümünde gerekli tanımlamaları (account name, caller id, local IP vb.) yaptıktan sonra hesap aktif bir şekilde kullanılabilmektedir[19].

(4)

Şekil 2. Kurumsal Yazılım Telefonu Sistemi Altyapısı

Şekil 3. Giriş Ekranı Şekil 4. Aranıyor Ekranı Ön Ürün Uygulamanın Android Ortamında Gerçekleştirilmesi:

SIP protokolü üzerinden iki cep telefonunun sayısal santral ile kimlik doğrulaması yaptıktan sonra birbirleriyle iletişim kurması denemeleri gerçekleştirilmiştir. Bunun için Android SIP API [18] kullanılmıştır. Referanstaki çalışma[3] baz alınan yazılımın ön ürünü (prototip) gerçekleştir- ilmiştir. Android Market’te benzer yazılımlar bu- lunmaktadır. Bu çalışma ile hedeflenen, sıfırdan bir uygulama geliştirerek görüntülü iletişim gibi farklı yeteneklerin geliştirilebilmesini sağlayacak bir ön ürünü gerçekleştirmektir.

Android grubu tarafından geliştirilen bir başka proje olan MSKU Mobil uygulaması, 2014 sonu itibariyle 1465 kullanıcı tarafından kullanılmak- tadır ve kullanıcıların %96’sı Android 4.0 ve üze- rini kullanmaktadır. Bu nedenle geliştirilmekte olan softphone yazılımı Android 4.0 ve üstü için tasarlanmıştır. Arayüzün örnek ekran görüntüleri Şekil 3 ve Şekil 4’te verilmiştir. Uygulamanın arayüzü tasarlanırken kolay kullanılabilmesine öncelik verildi. Ayrıca uygulamanın tamamen özgün bir görüntüye sahip olması için, kullanılan tüm simgeler MSKÜ Android grubu tarafından hazırlanmıştır.

6. Sonuç

Bu çalışmada, VoIP tabanlı kurumsal yazılım telefonu sistemi geliştirirken edinilen deneyim aktarılmıştır. Bilgisayar, telefon veya tablet gibi cihazlarda kullanılabilecek bu tür uygulamalarla ofis/şirket içi, cep veya yurtdışı görüşmelerini ücretsiz hale getirmek ve şirketlerin kendi san-

trallerinden daha güvenli görüşmeler yapması mümkündür. Ayrıca eğer santral bir SIP sunucu- su aracılığıyla telefon altyapısına bağlanırsa ağa dahil olmayan herhangi bir kişi ile de görüşme yapılabilecektir.

Yapmakta olduğumuz bu uygulama ile IP telefon- ların mobil platformda denemeleri gerçekleştir- ilmiştir. İlerleyen çalışmalarda; akıllı cihazların barındırdığı diğer özellikler (ileti, yer tespiti vs.) ile uygulamanın zenginleştirilmesi hedeflenmek- tedir. MSKÜ Android Grubu olarak edindiğimiz deneyimi, bu çalışmayı takip eden yayınlarda ve web sayfamızdan (http://android.mu.edu.tr/) paylaşmaya devam edeceğiz.

Teşekkürler

Bilgi İşlem Daire Başkanı Osman KELEŞ’e ve ARS Telekom’dan Levet KOYUNCU’ya desteklerinden ötürü teşekkür ederiz.

Kaynaklar:

[1] Smartphone OS Market Share, Q2 2014 14/08/2014 according to IDC

http://www.idc.com/getdoc.jsp?container- Id=prUS25037214

[2] Android Open Source Project. http://source.

android.com

[3] He, Keyi, Shaoyuan Wang, and Huiyan Zhu.

“Design and implementation of SIP protocol stack based on Android.” Computational and Information Sciences (ICCIS), 2012 Fourth Inter- national Conference on. IEEE, 2012.

[4] Vikipedi “VoIP”. 2014,7 Kasım. http://tr.wiki- pedia.org/wiki/VoIP

[5] Kandemir Kaan. “VoIP”. 2013,25 Ağus- tos. https://kaankandemir.wordpress.

com/2013/08/25/voip/#more-1221

[6] M. Handley( ACIRI), H. Schulzrinne(Columbia U.), E. Schooler(Cal Tech), J. Rosenberg( Bell Labs). ”SIP: Session Initiaiton Protocol”. March 1999.http://tools.ietf.org/html/rfc2543

[7] J. Rosenberg(dynamicsoft), H. Schulzrin- ne(Columbia U.), G. Camarillo(Ericsson), A.

Johnston(WorldCom), J. Peterson(Neustar),R.

Sparks(dynamicsoft), M. Handley(ICIR), E.

Schooler(AT&T). ”SIP: Session Initiaiton Proto- col”. June 2002.http://tools.ietf.org/html/rfc3261 [8 ] ”SIP ve yeni ağ iletişim modeli”. 4 Ağustos.

http://www.telepati.com.tr/agustos04/konu10.

(5)

htm[9] Vikipedi. “SIP”. 2014, 28 Temmuz.http://

tr.wikipedia.org/wiki/SIP

[10] Özdemir M.,”IP Tabanlı Şebekeler Üzerin- den Ses İletimi(VOIP) Düzenleme Yaklaşımı ve Düzenleme Önerileri”,Ankara,Şubat 2009. http://

tk.gov.tr/ekDosyalar/tezler/Mustafa_OZDEMIR.

PDF[11] Schwarz, Brett. “Asterisk open-source PBX system.” Linux Journal 2004.118 (2004): 6.

[12] Alam, Md Zaidul, et al. “Small office PBX using voice over internet protocol (VOIP).” Ad- vanced

Communication Technology, The 9th Interna- tional Conference on. Vol. 3. IEEE, 2007.

[13] Van Meggelen, Jim, Leif Madsen, and Jared Smith. Asterisk: the future of telephony. “ O’Reil- ly Media, Inc.”, 2007.

[14] Atıcı Hasan.”Elastix Nedir ve Kurulu- mu”.2013, Ekim. http://blog.hasanatici.com/

elastix-nedir-ve-kurulumu/

[15] Aydın Önsal.”Elastix Kurulumu ve Özel- likler”. 2013. http://www.mslinuxtr.com/elas- tix-kurulumu-ve-ozellikler/

[16] Vikipedi.”Interactive Voice Responce”.

2014. http://en.wikipedia.org/wiki/Interactive_

voice_response

[17] ”Elastix IP PBX Santral”. 2014. http://www.

xpuan.com/elastix-ip-pbx-santral/

[18] ”Session Initiation Protocol” http://develop- er.android.com/guide/topics/connectivity/sip.

html[19] ”Configure Elastix”.http://voip-sip-sdk.

com/p_53-elastix-pbx-setup-voip.html

[20] ORKUN Batur. “IP Yasaklama (IPTABLES)”.

2011, Ekim.http://wiki.baturorkun.com/?p=280 [21] ”Fail2Ban Installation”.2012.http://elastix.

wikia.com/wiki/Fail2Ban_installation

[22] DEMİROK Kenan. “Elastix Güvenliği”. 2012, Mayıs.http://blog.igotek.net/elastix-guvenligi/

[23] Şekil2. http://kwlug.org/sites/kwlug.org/

files/RarsaAndroidNetwork.png

[24] Secure Calling Tutorial, https://wiki.asterisk.

org/wiki/display/AST/Secure+Calling+Tutorial

Referanslar

Benzer Belgeler

Veri tipi (data type) program içinde kullanılacak değişken, sabit, fonksiyon isimleri gibi tanımlayıcıların tipini, yani bellekte ayrılacak bölgenin büyüklüğünü,

edilmesi, Bilgilerin ifşa dilmesi, Bilgilerin çalınması vb..  Kötü amaçlı yazılımların bilgisayarınıza girmesini önlemenin en yaygın yolu, bir anti malware ya da

Hesaplamanın hayata geçmesi ve görünür kılınması ile birlikte talep gerçekleştirme ve tamamlanma sürelerinde yapılacak iyileştirme, 2018 yılı şirket ve

4 Scaled Agile Software Lifecycle Experience in Automotive Heterogeneous and distributed software development on many automobile variants and configurations is the

Çocuğunun daha cep telefonu kullanamayacak kadar küçük olduğunu düşünen anne babalar için geliştirilen telefon ve uygulaması sayesinde anne babalar çocuklarını her

Gözetim ihtiyacınız arttıkça tek bir ortamda modüler olarak genişlemek için sunucu ekleyebilirsiniz veya dağıtık video yönetim ağları için tek noktadan erişim

Divan şiirin­ de ve söz konusu şiirlerde tavus kuşu, renkli bir manzara göstermesi.kanatlarınm güzelliği ve gezip dolaşması gibi özelliklerle ele alınmaktadır.. Çekseler

Because a healthier and more sustainable EU food system is a cornerstone of the European Green Deal, From Farm to Fork Strategy presents the ways to ensure