Page 1

İTÜ ELEKTRİK-ELEKTRONİK FAKÜLTESİ

STAJ DEFTERİ

2011


İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK FAKÜLTESİ

STAJ DEFTERİ Adı Soyadı

: Erhan YILMAZ

Numarası

: 040090257

Bölümü ve Yarıyılı

: Telekomünikasyon Mühendisliği / 4. Yarıyıl

YAPILAN STAJ Tarih Kurum Airties Kablosuz İletişim Airties Kablosuz İletişim Airties Kablosuz İletişim Airties Kablosuz İletişim

Yapılan Çalışma VoIP ve cihazlar Hakkında Genel Bilginin Alınması Asterisk Yazılımının Kurulması ve Konfigürasyonu Asterisk Arama Planının Oluşturulması Test Ortamının Kurulması

Başlama

Bitirme

Hafta Adedi

08.08.2011

12.08.2011

1

15.08.2011

26.08.2011

2

05/09/2011

09/09/2011

1

12/08/2011

15/08/2011

1

Bölüm Müdürü


STAJLARIN ELEKTRİK-ELEKTRONİK FAKÜLTESİ STAJ ESASLARI UYARINCA YAPILMASI GEREKLİDİR. AKSİ HALDE GEÇERLİ SAYILMAYACAKTIR.

Staj Defterlerinin Kullanılmasında Dikkat Edilecek Noktalar: 1. Yapılan iş ile ilgili açıklamalar 1.1. Her sayfanın başlık kısmı doldurulacaktır. 1.2. İş konusu hakkında özet olarak bir ön bilgi verilecektir. 1.3. Yapılan iş teknik bir rapor şeklinde yazılacaktır. 2. Yapılan şema ve yazılan yazılar ile ilgili açıklama. 2.1. Şema ve planlar temiz, ölçekli ve düzenli olacaktır. 2.2. Yazılar düzgün, okunaklı ve normlara uygun olacaktır. 2.3. Yazılar bizzat iş ile ilgili olacaktır. 3. Staj defterlerinin kabul edilmesi ile ilgili açıklama. 3.1. Defterin 1. sayfasındaki yapılan staj tablosu ile son sayfalarındaki iş yeri tabloları, çalışılan kurumun resmi mührü ile mühürlenmiş, yetkili teknik sorumlusu tarafından da ilgili yerler doldurulmuş ve imzalanmış olacaktır. Aksi durumlarda yapılan çalışmalar staj komisyonunca geçerli sayılmayacaktır. 3.2. Defterler, stajın yapıldığı aylardan sonraki ilk yarıyıl başlangıcından en geç bir ay içinde Staj Komisyonu Sekreterliğine verilecektir.


Yapılan İş: VoIP Hakkında Genel Bilginin Alınması

08/08/2011

VoIP (Voice Over Internet Protocol) Bilgisayar ağları ve ağ bileşenlerindeki teknolojik gelişim son yıllarda noktalar arası veri haberleşme hızları ile paralel bir gelişim süreci içerisine girmiştir. Bu gelişmelere paralel olarak mevcut ağ altyapıları üzerine eklenen yeni teknolojiler, geliştirilen yeni protokoller ve teknikler ile birlikte bilgisayar ağları sadece bilgisayarlar için veri haberleşmesi alanında değil, başka alanlarda da hizmet vermeye başlamışlardır. Bunlardan en etkileyici olanı ise VoIP olarak karşımıza çıkmaktadır. Aslında VoIP genel olarak mevcut telefon şebekesi ağ mimarisi üzerinde yapılan geliştirme çalışmaları sonucunda ortaya çıkan bir teknolojidir. Önceki zamanlarda anahtar devreli telefon sistemleri üzerinde ses haberleşmesi sağlarken günümüzde artık telekominikasyon şirketleri paket devreli sistemler üzerine geçerek IP tabanlı altyapılara dönmeye başlamışlardır. Telefon şebekelerinde kullanılan SS7 sinyalleşmesi ağ yapısı, IP tabanlı ağlar olarak çok daha düşük maliyetli sistemlere dönüşmüş ve bunlar üzerinden ses aktarımı gerçekleşmiştir. Bu değişim süreci kullanıcılara analog hatlardan digital hatlara geçiş olarak yansımış ve gerek ses kalitesi olsun gerek bağlantı süreleri olsun pekçok gelişmeyi beraberinde getirmiştir. VoIP telekom alanında gerçekleşen gelişmeleri takiben bilgisayar ağları üzerine geliştirilen sıkıştırma protokolleri ve ekipmanlar ile hayatımıza girmeye başlamıştır. VoIP için yazılımsal ve donanımsal çözümler mevcuttur. PC’lere kurulabilen ve standart bir PC’de olabilecek donanımlar yardımı ile görüşme yapılabilen yazılımlar bulunmaktadır. VoIP ile görüşme yapabilmek için en ucuz çözüm budur. Bunun yanında IP telefonlar kullanılarak da VoIP görüşmeleri yapılabilir. Bu çözümler yazılımsal çözümlerden daha maliyetlidir. VoIP, normal telefon görüşmelerine göre, ülke içi görüşmeler %70, ülkeler arası görüşmelerde ise %90 oranında maliyeti düşürmektedir. Bu nedenle her gün yeni ürünler ve çözümler piyasaya sunulmakta ve yeni servis sağlayıcılar hizmet vermeye başlamaktadır.

Stajı yapanın imzası

Stajı yaptıranın imzası


Yapılan iş: Linux İşletim Sistemine Asterisk yazılımının kurulması

09/08/2011-10/08/2011

Asterisk Nedir? Asterisk PBX açık kaynak sistemi ile geliştirilmiş yazılım tabanlı bir santral programıdır. Telefon uygulamaları ile ilgili aklınıza gelebilecek tüm özellikleri barındırır. Kişisel ya da ticari amaçlı kullanılabilir, tamamen ücretsizdir. Günümüz PBX(Private Branch Exchange) üreten şirketlerin ürünlerinden daha iyi, kullanımı ve ayarlanması daha kolaydır. Klasik donanım tabanlı PBX'lerde genişleme problemi vardır. Sınırlı sayıda hattınız vardır ve bunları ayarlarken çok titiz davranmanız gerekir. Ama Asterisk PBX size teorik olarak 'sınırsızlık' getirir. İstediğiniz kadar telefonu bağlarsınız. Onun dışında aramaları kayıt altına alabilirsiniz, basit bir şekilde çağrıları yönlendirir ya da size ulaşılamaması durumunda sesli mesaj bırakılmasının sağlayabilirsiniz. Asterisk ile internet üzerinden telefonla görüşmeler yapılabilir, IVR (İnteraktif sesli yanıt sistemi) ve sınırsız kapasitede sesli mesaj sistemi kurulabilir. Asterisk PSTN ve IP ağ arabirimlerini kullanır. PSTN (Public Switched Telephone Network) Türkçe karşılığı, "genel aktarmalı telefon şebekesi"dir. PSTN, dünya genelinde kullanılan devre aktarmalı telefon ağıdır. Başlangıçta sabit analog telefon şebekesi olarak kurulan bu ağ günümüzde neredeyse tamamen sayısaldır ve sabit telefonların yanı sıra mobil telefon hatlarını da içerir. PSTN kavramının yanında, FXO ve FXS kavramları da önemlidir. FXS (Foreign Exchange Station), analog hattı aboneye ulaştıran hattır. Çevir sesini ve çalma sesini taşır. FXO (Foreign Exchance Office), FXS’ten hattı alan porttur. VoIP, belirli ses sıkıştırma sistemlerini kullanır. Bunlar codec olarak adlandırılırlar. Codec’ler genel anlamda analog sesi, sayısal sese dönüştürürler ve tam tersini yaparlar. Codec

Hız (Kbps)

G.711

64

G.721

32

G.722

48/56/64

G.726

16/24/32/40

G.728

16

G.729

8 Tablo 1 - VoIP uygulamalarında kullanılan bazı codec'ler

Stajı yapanın imzası

Stajı yaptıranın imzası


Yapılan iş: DAHDI Kartları

11/08/2011-12/08/2011

DAHDI, Digium Asterisk Hardware Device Interface’in kısaltmasıdır. Asterisk ve telefon arayüz kartlarını kontrol etmek için kullanılan açık kaynak kodlu bir cihaz arayüz teknolojisidir. Dİgium kartlarının yönetilmesi için de DAHDI modülleri ve kanalları kullanılır. Çeşitli Digium kartları, standart bir PC’ye analog telefon hattı ya da analog telefon bağlamaya yarayan half-length PCI kartlardır. Üzerine FXS ve/veya FXO modüller takılarak değişik kombinasyonlar yapılabilir. PC yazılım donanımlarıyla ve dünyada kullanılan hat arayüzleri ile kolayca uyum sağlayabilirler.

Şekil 1 – The Digium PCI Card

Bu kartlar kullanılarak, arama yöntemleri çeşitlendirilebilir. Proje dahilinde, Ubuntu Server kurulu PC’ye kurulu Digium kartı ve VoIP portlu modem birbirine bağlanmış ve çağrı simülasyonları yapılmıştır.

Stajı yapanın imzası

Stajı yaptıranın imzası


Yapılan iş: Linux İşletim Sistemine Asterisk yazılımının kurulması

15/08/2011-26/08/2011

Asterisk’in kurulumu Kurulumda, Asterisk 1.8.5.0 ve Ubuntu Server 10.10 sürümleri kullanıldı. Öncelikle PC sistemi üzerine Ubuntu Server 10.10 kuruldu. Kurulum bitince, sisteme ait yönetici kullanıcıları ve şifreleri oluşturuldu. Linux sistemde yönetici olarak oturum açıp, ağ ayarları yapıldı. Asterisk kurulumunda öncelikle “ncurses, ncurses-devel, zlib, zlib-devel, gnutls-devel, gcc, c++” paketlerini kurmak gerekir. Bu paketler; sudo apt-get install paket_ismi komutu yardımı ile kurulabilir. Bu aşamada kuruluma DAHDI (The Digium Asterisk Hardware Device Interface) ile devam edildi. DAHDI, Asterisk yazılımı arayüzü ile telefon donanımını kullanır. Bu aşamadan sonra DAHDI’ye bağlı modüllere göre kurulum gerçekleştirildi. DAHDI için gerekli paketler indirilip kuruldu. mkdir /usr/asterisk-complete mkdir /usr/asterisk-complete/dahdi cd /usr/asterisk-complete/dahdi svn co http://svn.asterisk.org/svn/dahdi/linuxcomplete/tags/2.5.0+2.5.0/ cd 2.5.0+2.5.0 make make install sudo make install Daha sonra Asterisk kurulumu yapıldı. tar –zxvf /usr/src/asterisk-1.8.5.0 Kurulum dosyaları derlenip çalıştırılır. cd /usr/src/asterisk-1.8.5.0 ./configure make make install

Stajı yapanın imzası

Stajı yaptıranın imzası


Yapılan iş: Linux İşletim Sistemine Asterisk yazılımının kurulması

15/08/2011-26/08/2011

Kurulum doğru yapıldıysa, ekranda aşağıdaki görüntüye benzer bir çıktının görünmesi gerekmektedir.

Şekil 2 - Asterisk kurulum sonu

Kurulumun ardından, program kullanacak kullanıcı için gerekli izinlerin verilmesi gerekir. Bunun için aşağıdaki komutlar çalıştırılır. sudo sudo sudo sudo sudo sudo

chown chown chown chown chown chown

Stajı yapanın imzası

-R asterisk:asterisk /usr/lib/asterisk/ -R asterisk:asterisk /var/lib/asterisk/ -R asterisk:asterisk /var/spool/asterisk/ -R asterisk:asterisk /var/log/asterisk/ -R asterisk:asterisk /var/run/asterisk asterisk:asterisk /usr/sbin/asterisk

Stajı yaptıranın imzası


Yapılan iş: Asterisk’in Konfigüre Edilmesi

15/08/2011-26/08/2011

Asterisk, modüller ve konfigurasyon dosyaları üzerine kurulmuş bir yazılımdır. Bu nedenle kurulumun ardından, gerekli dosyaların oluşturulması gereklidir. Asterisk’in içerdiği modüller; 

Applications

Bridging modules

Call detail recording (CDR) modules

Channel event logging (CEL) modules

Channel drivers

Codec translators

Format interpreters

Dialplan functions

PBX modules

Resource modules

Addons modules

Test modules

Asterisk’in içerdiği bazı konfigurasyon dosyaları; 

asterisk.conf

modules.conf

musichold.conf

extensions.conf

manager.conf

sip.conf

Stajı yapanın imzası

Stajı yaptıranın imzası


Yapılan iş: Asterisk’in Konfigüre Edilmesi

15/08/2011-26/08/2011

modules.conf dosyası, Asterisk’in hangi modülleri kurması gerektiğini içerir. Örnek modules.conf dosyası: [modules] autoload=yes chan_dahdi=yes chan_dahdi.so=yes cdr_addon_mysql.so=yes Tablo 2 - modules.conf file

asterisk.conf dosyası, program dosyalarının konumlarını ve işlevlerini içerir. Örnek asterisk.conf dosyası: [directories](!) astetcdir => /etc/asterisk astmoddir => /usr/lib/asterisk/modules astvarlibdir => /var/lib/asterisk astdbdir => /var/lib/asterisk astkeydir => /var/lib/asterisk astdatadir => /var/lib/asterisk astagidir => /var/lib/asterisk/agi-bin Tablo 3 - asterisk.conf file

exten.conf dosyası da Asterisk arama yönlendirmelerinin tanımlandığı, arama sırasında yapılacakların belirlendiği, CDR aramalarının yönetilebildiği dosyadır. Örnek extension.conf dosyası: [generals] [LocalSets] exten => 5000102,1Dial(SIP/SIP1) exten => 5000103,1,Dial(DAHDI/1) exten => 5000103,1,GoTo(Test2,start,1) Tablo 4 - extension.conf file

Stajı yapanın imzası

Stajı yaptıranın imzası


Yapılan iş: Asterisk’in Konfigüre Edilmesi

15/08/2011-26/08/2011

Asterisk ile birlikte kullanılan SIP donanımları, yazılımları ve diğer kanal ayarları için, sip.conf ve extension.conf dosyaları düzenlenmelidir. Bu dosyalar arasındaki ilişki aşağıdaki resimde gösterilmiştir.

sip.conf dosyası, SIP protokolu ile çalışan cihaz, yazılımların ve kanalların belirtildiği, gerekli ayarların yapıldığı dosyalardır. Örnek dosya ve açıklamaları: [general] context=unauthenticated allowguest=no srvlookup=yes udpbindaddr=0.0.0.0

; ; ; ; ; ;

default context for incoming calls disable unauthenticated calls enabled DNS SRV record lookup on outbound calls listen for UDP requests on all interfaces

[office-phone](!) type=friend context=LocalSets

; create a template for our devices ; the channel driver will match on username first ; this is where calls from the device will enter ; the dialplan host=dynamic ; the device will register with asterisk nat=yes ; assume device is behind NAT secret=s3CuR#p@s5 ; a secure password for this device dtmfmode=auto ; accept touch-tones from the devices, negotiated ; automatically disallow=all ; reset which voice codecs this device will accept or offer allow=ulaw ; which audio codecs to accept from, and request to, the ; device allow=alaw ; in the order we prefer ; define a device name and use the office-phone template [0000FFFF0001](office-phone)

Stajı yapanın imzası

Stajı yaptıranın imzası


Yapılan iş: Asterisk’in Konfigüre Edilmesi

15/08/2011-26/08/2011

Gerekli konfigürasyon dosyaları tamamlanınca Asterisk’in modüllerinin yeniden yüklenmesi gereklidir. Bunun için terminale aşağıdaki komutlar girilir: sudo asterisk –r module reload modul_adi (chan_sip.so, chan_aix2.so, …)

Kanalların yüklendiğini test etmek için aşağıdaki komut girilir ve şekildeki gibi bir çıktının görülmesi gerekir. sudo asterisk –r sip show peers

Name/username

Host

Dyn

Nat ACL Port

Status

0000FFFF0001/0000FFFF0001

192.168.1.100

D

N

5060

Unmonitored

0000FFFF0002/0000FFFF0002

192.168.1.101

D

N

5060

Unmonitored

Kanalların ayarları tamamlanınca temel dialplan oluşturulup, ayarlar test edilmelidir. extension.conf dosyası örneği: [LocalSets] exten => 100,1,Dial(SIP/0000FFFF0001) exten => 101,1,Dial(SIP/0000FFFF0002) exten exten exten exten

=> => => =>

102,1,Dial(DAHDI/1) 103,1,Dial(DAHDI/2) 104,1,Dial(DAHDI/3) 105,1,Dial(DAHDI/4)

exten => 200,1,Answer() same => n,Playback(hello-world) same => n,Hangup()

extension.conf dosyası her düzenlendiğinde dialplan modulu yeniden yüklenmelidir. Bunun için her düzenlemenin ardından aşağıdaki komut girilmelidir. sudo asterisk -rx "dialplan reload"

SIP yazılımlarının da ayarları, Asterisk’e ve kurulu olduğu sunucuya göre yapılır. Ayarlar tamamlandıktak sonra, extension.conf dosyasında belirtilen bir numara yazılım yardımıyla aranarak, çağrı başlatılmış olur.

Stajı yapanın imzası

Stajı yaptıranın imzası


Yapılan iş: Asterisk Arama Planının Oluşturulması

05/09/2011-09/09/2011

Asterisk yazılımında extension.conf dosyasının içindeki exten sözcüğü, arama planındaki özgün adımların numaralarını temsil eder. Bunu kullanarak, arama planı içinde çeşitli arama yolları kurularak, etkileşimli arama sağlanabilir. exten => isim,oncelik,uygulama()

exten exten exten exten exten

=> => => => =>

123,1,Answer() 123,2,do something 123,3,do something else 123,4,do one last thing 123,5,Hangup()

Öncelik numarası, eğer aynı “exten” için sıralı olarak devam ediyorsa, ilk sıradakine “1” verilip, diğerlerine “n” yazılabilir. (n, next anlamında kullanılmıştır) Arama planını, Answer(), Dial(), Hangup() gibi çeşitli Asterisk uygulamaları ile zenginleştirmek mümkündür. [general] [globals] PHONE1=SIP/SIP1 PHONE2=SIP/SIP2 [LocalSets] ;Modem numaraları exten => 5000201,1,Dial(DAHDI/1) exten => 5000202,1,Dial(DAHDI/2) exten => 5000203,1,Dial(DAHDI/3) exten => 5000204,1,Dial(DAHDI/4) ;SIP numaraları exten => 5000101,1,Dial(SIP/SIP1) exten => 5000102,1,Dial(SIP/SIP2) exten => 100,1,GoTo(Test2,start,1) exten => 3000000,1,Dial(DAHDI/1/201)

Stajı yapanın imzası

Stajı yaptıranın imzası


Yapılan iş: Asterisk Yönetici Arayüzü (AMI) ve Uzaktan Komut Yollanması

05/09/2011-09/09/2011

AMI Asterisk Yönetici Arayüzü (AMI) Asterisk tarafından sağlanan bir sistem izleme ve yönetim arabirimidir. AMI, bazı isteklerinize karşılık, sistemde meydana gelen olayları canlı olarak izlenmesine olanak verir. Asterisk AMI sayesinde kolay bir biçimde komutları alabilir ve bunlara karşılık geniş bir şekilde cevap verir. Olumlu ve/veya olumsuz geri dönen komutlar açıkça belirtilir. Bu sebeple, Asterisk’i diğer yazılımlar karşısında avantajlı hale getiren modüllerin başında AMI gelir.

AMI’yi kullanmak için /etc/asterisk/manager.conf dosyasını düzenlenmesi gereklidir. [general] enabled = yes webenabled = yes bindaddr = 127.0.0.1 ; Create an account called "asterisk", with a password ; of "asterisk" [asterisk] secret=asterisk

Stajı yapanın imzası

Stajı yaptıranın imzası


Yapılan iş: Asterisk Yönetici Arayüzü (AMI) ve Uzaktan Komut Yollanması

05/09/2011-09/09/2011

TCP üzerinden AMI’yi kullanmak için birkaç farklı yol vardır. Projede gerekli ayarlar yapılarak, TELNET ile bağlantı sağlandı ve komutlar çalıştırıldı. Bunun için 5038 portu kullanıldı. Login komutu ile giriş yapıldığında aşağıdakine benzer bir çıktı alınacaktır:

$ telnet localhost 5038 Trying 127.0.0.1... Connected to localhost. Asterisk Call Manager/1.1 Action: Login Username: asterisk Secret: asterisk Response: Success Message: Authentication accepted

Stajı yapanın imzası

Stajı yaptıranın imzası


Yapılan iş: Cucumber’ın Kurulması

12/09/2011-15/09/2011

Cucumber adı verilen açık kaynak kodlu program ile, yazılım geliştiriciler, yazılımlarının belirli bir yol dahilinde nasıl davranacağının komutlarını verirler. Böylece, sık sık tekrar edilen veya belirli koşullarda aynı komutun verildiği koşullarda, bu komutların otomatik olarak verilmesi sağlanır. Cucumber, kendine özgü bir komut dili kullanır ve bu dille arka planında çeşitli yazılım dillerinde oluşturulan komutları çalıştırır. Bu projede Cucumber ve Ruby dili kullanıldı. Öncelikle, Asterisk kurulu PC’ye uzaktan bağlanacak bilgisayara, Cucumber ve ruby ile ilgili gerekli yazılımlar kuruldu. Cucumber temel olarak iki dosya yapısından oluşur. Birincisi “features” adı verilen, Cucumber’a özgü bir dille yazılan dosyadır. Bu dosyada, hangi koşullarda ne yapılacağı ve çeşitli veriler yer alır. Bu verileri kullanan diğer dosya da, ruby, java, c# gibi diller kullanılarak yazılan adımların komutlara dönüştürüldüğü dosyadır. Features dosyası içinde, amaç ve senaryo belirtilir. Burada kısa ve anlaşılır ifadeler kullanılmalıdır. Adımlarda kullanılacak veriler var ise “ ” işareti içinde yazılmalıdır. “Feature:” kısmında yazılan veriler, kullanıcıyı bilgilendirme amaçlıdır ve herhangi bir komu çalıştırmaz. Fakat “Senario:” bölümünde belirtilen ifadeler, arka plandaki adımları çalıştıracağı için sırası ve kullanılan ifadeler önemlidir. Feature: Call Call given numbers Play music Hangup call Scenario: Call SIP1 Given I connected host And I called "SIP/SIP1" And wait for response When hangup channel Then close connection Şekil 3 – Features Given /^I connected host$/ do so.gets so.print("Action: Login\n") so.print("Username: asterisk\n") so.print("Secret: asterisk\n") so.print("Event: On\n\n") end Şekil 4 - Steps

Stajı yapanın imzası

Stajı yaptıranın imzası


Yapılan iş: Test Ortamında Gerekli Dosyaların Oluşturulması

12/09/2011-15/09/2011

Aşağıdaki örnekte, Cucumber yardımı ile, Asterisk kurulu sunucuya, Telnet 538 portu ile bağlanıp, önce Login komutu ile giriş yapılmış, ardından da DAHDI kanalı ile önceden belirlenmiş exten numarası yani SIP numarası aranmıştır. Bu işlemin ardından cevap beklenip, çağrı sonlandırılmıştır. Originate komutu ile, Asterisk’in belirtilen kanal üzerinden, arama yapması sağlanır. Originat ile birlikte kullanılan bazı parametreler ve açıklamaları: Channel: Aramanın yapılacağı kanal Context: Arama yapılırken kullanılan context Exten: Arama yapılırken kullanılan exten Priority: Bağlanma önceliği Timeout: Originate aramadaki Timeout süresi (milisaniye cinsinden) CallerID: Arayan kimliği Account: Aramanın yapıldığı hesap Application: Aramada kullanılan uygulama ActionID: Gönderilen komuta verilen kimlik. Bu kimlik çok sayıda ve rasgele gönderilen komutlara karşılık verilen cevapları ayırt etmek için yararlıdır #global require 'socket' puts 'Connecting to host' port = 5038 so = TCPSocket.open('172.16.9.57', port)

Bu bölümde Asterisk’in kurulduğu sunucuya bağlanıyor

Given /^I connected host$/ do

so.gets so.print("Action: Login\n") so.print("Username: asterisk\n") so.print("Secret: asterisk\n") so.print("Event: On\n\n")

Stajı yapanın imzası

AMI arayüzüne giriş yapılıyor

Stajı yaptıranın imzası


Yapılan iş: Test Ortamında Gerekli Dosyaların Oluşturulması

12/09/2011-15/09/2011

count=0 while (count!=2) line = so.gets if line!="\r\n" puts line.chop else count = count +1 end end puts "\n Call is succeed \n"

“line =so.gets” AMI’nin cevabı alınıp ekrana basılıyor.

end Given /^I called "([^"]*)"$/ do |sip_name| so.print("Action: Originate\n") so.print("Channel: DAHDI/2\n") so.print("Context: LocalSets\n") so.print("Exten: 8010103\n") so.print("Priority: 1\n") so.print("Callerid: 5322002020\n") so.print("Timeout: 30000\n") so.print("Variable: var1=23|var2=24|var3=25\n") so.print("ActionID: ABC4567890123456789\n\n") so.print("Timeout: 40000\n")

count2=0 while(count2!=5) count=0 while (count!=2) line = so.gets if line!="\r\n" puts line.chop else count = count +1 end end count2=count2+1 puts "\n" end

“Originate” ile belirtilen kanal ve context üzerinden arama planındaki exten numarası belirtilerek çağrı gerçekleştiriliyor.

Arama sonlandırılıyor.

end

Stajı yapanın imzası

Stajı yaptıranın imzası


Yapılan iş: Test Ortamında Gerekli Dosyaların Oluşturulması

12/09/2011-15/09/2011

When /^wait for response$/ do sleep(3) count2=0 while(count2!=5) count=0 while (count!=2) line = so.gets if line!="\r\n" puts line.chop else count = count +1 end end count2=count2+1 puts "\n" end end

When /^hangup channel$/ do sleep(20) so.print("Action: Hangup\n") so.print("Channel: DAHDI/2-1\n\n") puts "Hangup is succeed \n" count2=0 while(count2!=6) count=0 while (count!=2) line = so.gets if line!="\r\n" puts line.chop else count = count +1 end end count2=count2+1 puts "\n" end end

Stajı yapanın imzası

Arama sonlandırılıyor.

Stajı yaptıranın imzası


Yapılan iş: Test Ortamında Gerekli Dosyaların Oluşturulması

Then /^close connection$/ do so.print("Action: Logoff\n\n") puts "Logoff is succeed \n" count2=0 while(count2!=1) count=0 while (count!=1) line2 = so.gets if line2!="\r\n" puts line2.chop else count = count +1 end end count2=count2+1 puts "\n" end end

12/09/2011-15/09/2011

Bağlantı sonlandırılıyor

Sonuç Asterisk açık kaynaklı yazılımı ile, VoIP cihazlarının test ortamı hazırlanmıştır. Örneklerde verilen arama planları ve AMI komutları geliştirilerek, üst üste arama ve ses iletimi otomatik olarak gerçekleştirilmiştir. Asterisk kurulu sunucuya uzaktan bağlanılarak, test ortamının bir arayüzle ve önceden belirlenen komutlarla yapılması sağlanmıştır. Bu proje dahilinde, Linux ve açık kaynaklı yazılımlar kullanılmış, socket programing ile sunucuya bağlanılmış ve ruby dili ile otomatik komut sistemi oluşturulmuştur.

Stajı yapanın imzası

Stajı yaptıranın imzası


İş Yeri Kurum: Bölüm:

Stajyer Öğrencinin Durumu

Genel Davranış : Çalışkanlık

:

Yeterlilik

:

/ /20 Bölüm Müdürü

Diğer Hususlar:

(İmza ve Mühür)

Kurum veya Bölüm Müdürünün Unvanı:

Adı Soyadı:

Erhan YILMAZ - Airties Staj Defteri  

Airties Staj Defteri