Linux’ta Linphone ile Wirofon’a baglanma

Turk Telekom’un VOIP servisi olan Wirofon‘un QT tabanli eski bir surumunun kaynak kodlari da yayinlanan ozel bir SIP istemcisi var. Ancak ne yeni surumlerinin kaynak kodlari yayinlandi ne Linux binary versiyonlari dagitildi. Ancak SIP protokolunu kullandigi icin temelde herhangi bir SIP istemcisi ile calisabilecek durumda. Basarisiz bir Ekiga denemesinin ardindan (ki belki Ekiga’dan erken pes etmemden de kaynaklanmis olabilir) Linphone ile Wirofon kullanmayi basardim. Linphone kurduktan sonra Settings > Manage SIP Accounts bolumunde hesap ekleyip su bilgileri girdim.

SIP Identity: sip:kullanici@wirofon.turktelekom.com.tr
SIP Proxy Address: sip:wirofon.turktelekom.com.tr

Ilk baglantida sifrenizi de girdikten sonra Wirofon kullanilabilir durumda.


Filed under: linux, sip, voip, wirofon

8 Haziran 2011

Posted In: linux, sip, voip, wirofon

Askerden yorumsuz

Aslında bu yazıyı çok önceden yazmayı planlamıştım ama şimdiye denk geldi. Tüm askerlere Yaşar Kurt’tan Anne gelsin.

korkuyorum anne al beni içine
alışamadım anne al beni yine
büyüdüm anne evler büyüdü
büyüdü pabuçlar yollar büyüdü
orduya istiyorlar savaş çıkar diyorlar
silah veriyorlar anne bana öldür diyorlar
yat diyorlar anne kalk diyorlar
beynimi yiyorlar anne beynimi yiyorlar
kapat televizyonu anne seni de kandırıyorlar
kapat televizyonu anne seni de kandırıyorlar
oyunu verme anne
oyunu verme anne
oyuna gelme anne


Yayınlandı gezegen, hayat, Türkiye

18 Ekim 2009

Posted In: Gezegen, hayat, Türkiye

Muğla/Kavaklıdere – Batının Ücra Bir Köşesi

10 gündür yeni yerimde askerliğe alışmaya çalışıyorum. Evet burası maalesef Muğla’da deniz olmayan nadir yerlerden ve 3000 nüfuslu ufak bir ilçe. Benim gibi büyük şehre alışmış birine ilk anda itici geliyor. Eh artık kafa sıfırlama yeri diye avutmaya çalışıyoruz kendimizi. Bunun dışında karakolun imkanları (yemek, banyo …) gayet iyi. Ve tabi diğer yerlere göre daha olaysız.

Günlerim nasıl geçiyor dersek kolluk nöbeti, yatış ve karakol nöbeti üçlüsü ile üçer üçer devirmeye çalışıyoruz şafağı. Bir yandan uzun dönemleri idare etmeye çalışırken bir yandan da üstlerin işlerini görmeye çalışıyoruz. Bu bazen gerçekten sıkıcı ve sinir bozucu olabiliyor.

Tekrar yazmak dileğiyle. Herkese iyi bayramlar.

Şafak 116 ya da 117 (Tam rakam veremiyorum zira kesin saymaya daha başlamadım)


Yayınlandı gezegen, hayat, Türkiye

22 Eylül 2009

Posted In: Gezegen, hayat, Türkiye

Askerden merhaba

Muğla İl Jandarma Komutanlığı beklediğimden de konforluydu. Herhalde yemekte Magnum dondurma çıkan her gün duş yapılabilecek başka bir birlik bulamam. Tabi hasretlik evden ayrı kalma gibi duyguları da yaşamadım değil ama bundan kaçış yok.

28 Ağustos’taki yemin törenine kadar asfalt eriten bir sıcakta hababam bi yürüyüş gerçekten zordu ama bir şekilde o günler de geçti. Ardından silah eğitimi ve atışlar (g3 ve mp5 ile) derken acemi birliği bitiverdi ve bugün usta birliğine teslim olacağım. Muğla’nın Kavaklıdere ilçesinde ilçe jandarma komutanlığında görevime devam edeceğim.

Tekrar yazabilmek dileğiyle görüşmek üzere…


Yayınlandı gezegen, hayat, Türkiye

11 Eylül 2009

Posted In: Gezegen, hayat, Türkiye

Kısa bir ara

Bir iki gün içinde sivil hayatıma 6 aylık kısa bir ara veriyor olacağım. Sivil kelimesini de kullanınca belli oldu tabi bu ayrılığın sebebi. Muğla İl Jandarma Komutanlığı’na kısa dönem jandarma er olarak teslim olacağım. Çıkan yer konusunda şanslı olduğumu düşünüyorum umarım bu fikrim değişmez.

5-6 ay içinde tekrar görüşmek üzere. Hakkınızı helal edin, sağlıcakla kalın.


Yayınlandı gezegen, hayat, Türkiye

10 Ağustos 2009

Posted In: Gezegen, hayat, Türkiye

JAX-WS ile WsGen kullanmadan web servisi oluşturma

Yakın zamanda farkettiğim bu özellik basit web servislerinin oluşturulmasını ve test edilmesini oldukça kolaylaştırıyor. Araştırdığımda çok daha eskiden beri JAX-WS sürümlerinde var olduğunu öğrendiğim bu özelliği şans eseri 1.6u14 sürümüne girdikten sonra fark ettim. Bu şekilde artık @WebService ile işaretlediğimiz sınıfları Endpoint.publish() ile direk sunabilmekteyiz. Örnek olarak aşağıdaki kodu direkt çalıştırdığımda ws erişilebilir ve kullanılabilir hale gelmekte. Ayrıca çalıştırılırken gerekli sınıfların çalışma anında oluşturulduğuna dair log mesajları oluşturmakta.

package service;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService
public class Hello {

	@WebMethod
	public String hello() { return "Hello"; }

	public static void main(String[] args) {
		Endpoint.publish("http://localhost:8080/hello", new Hello());
	}

}

Referanslar


Yayınlandı gezegen, java, yazılım

10 Haziran 2009

Posted In: Gezegen, java, yazılım

TTNet ve adi(l) kullanım

8 Mbps’e kadar ADSL paketlerinde, hattın desteklediği hız ile bağlantılı olarak 8 Mbps’e kadar hız sağlanmaktadır. Tüm “8 Mbps’e kadar ADSL paketleri” için aylık 15 GB adil kullanım uygulanacaktır. Aylık download miktarı 15 GB’ı aşması durumunda, ay sonuna kadar download hızı 512 Kbps olarak uygulanacaktır.

Yukarıdaki metin TTNet in sunacağı 8Mbit pkaetleri ile ilgili uyarıdır. Ben de bu paketi duyduğumda aylık az bir ödeme farkıyla bu hizmeti sunacaklar diye sevinmiş hatta geçmeyi de düşünmüştüm. Ancak her zamanki gibi bunun altından tüketiciye bir kazık çıktı. Neymiş evendim “Adil kullanım” mış. Evet ADİ hizmetlerine çok da güzel kılıf uydurmuşlar. Ne diyelim dünyanın en pahalı ve yavaş internet hizmetini almaya devam edeceğiz.


Yayınlandı dumur, gezegen, internet

25 Mayıs 2009

Posted In: dumur, Gezegen, internet

@Override annotation ve Java5 ile Java6 arasındaki farkı

Java5 ile gelen annatationlardan biri olan @Override bir metodun eskisini geçersiz kıldığını (override) ifade eder. Ancak Gentoo’da bir hata nedeniyle farkettiğim üzereanlamı Java5 ile Java6 arasında farklılık göstermektedir. Java6’dageçersiz kılınan ve gerçekleştirilen metodlar için @Override kullanılabilirken Java5’te sadece ilk kullanımı geçerlidir. Bu bir hata olarak Sun hata kayıt sistemine defalarca raporlanmıştır. (Benzer ve çift hata kayıtlarından anlaşıldığı üzere) Benim hataların yorumlarından anladığım amacın Java5 için de her iki durumu desteklemek olduğu ancak derleyicideki hata sebebiyle Java5 spesifikasyonunun revize edilerek sadece ilk kullanımın desteklendiği ve Java6’da her iki kullanımım geçerli sayıldığı yönünde. Bunun sebebi ise hatalı da olsa Java5 için uyumluluğu korumak.

Şimdi bu durumu bir örnek üzerinden inceleyelim.

interface Interface {
	public abstract void b();
}

abstract class Base {
	public abstract void a();
}

public class Sub extends Base implements Interface {

	@Override
	public void a() {
	}

	@Override
	public void b() {
	}

}

Bu kod Java6 ile gelen derleyici ile derlenmekte ancak Java5’teikinci @Override için şu hatayı vermektedir.

Sub.java:15: method does not override a method from its superclass
	@Override

İşin ilginç yanı Java6 derleyicisi ile -source 1.5 -target 1.5 parametreleri verildiğinde de hata vermemekte 1.5 ile olan uyumsuzluğu ancak ecj (Eclipse Java derleyicisi) yakalayabilmektedir. Bu sebepten ötürü arayüz metodları gerçekleştirilirken @Override kullanılmaması başka amaçla illa Java6 gerekmiyorsa kodun uyumluluğunu arttıracaktır.


Yayınlandı gentoo, gezegen, java

7 Mayıs 2009

Posted In: gentoo, Gezegen, java

Generics ve Reflection ile genelleştirilmiş dizi yaratma

Daha önceden buna benzer bir kodu Java 1.4 ile generics kullanmadan yazmıştım. Ancak Generics’in sağladığı özelliklerle tip dönüşümü kodunu metod içine alarak dışarıya tip güvenli bir metod sunabildim. Şimdi örnek kullanım ile metodumuzu görelim.

import java.lang.reflect.Array;

public class GenericArrayDemo {

	public static void main(String[] args) {
		System.out.println(getArray(String.class,10).getClass().getSimpleName());
		String theArray[] = getArray(String.class, 10);
	}

	@SuppressWarnings("unchecked")
	public static <T> T[] getArray(Class<T> clazz,int size) {
		T theArray[] = (T[])Array.newInstance(clazz, size);
		for(int i=0;i<size;i++)
			try {
				theArray[i]=clazz.newInstance();
			} catch (InstantiationException e) {
				e.printStackTrace();
			} catch (IllegalAccessException e) {
				e.printStackTrace();
			}
		return theArray;
	}
}

Burada çıktı olarak String[] üretilmekte ve oluşan dizi direk ve yalnız String dizisine atanabilmektedir. Şimdi örneğimizi genişletelim ve metodun sadece Number sınıfının alt sınıflarını üretebilmesini sağlayalım.

import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;

public class GenericArrayDemo {

	public static void main(String[] args) {
		/* Bu satırlar artık Number altsınıfı beklediğimizden hata alacaktır.
		System.out.println(getArray(String.class,10).getClass().getSimpleName());
		String theArray[] = getArray(String.class, 10);
		*/
		System.out.println(getArray(Double.class,10).getClass().getSimpleName());
		Long theArray[] = getArray(Long.class, 10);
		for (Long long1 : theArray) {
			System.out.println(long1);
		}
	}

	@SuppressWarnings("unchecked")
	public static <T extends Number> T[] getArray(Class<T> clazz,int size) {
		T theArray[] = (T[])Array.newInstance(clazz, size);
		for(int i=0;i<size;i++)
			try {
				/* 
				 * Number alt sınıfları parametresiz constructor
				 * içermediği için 0 ile ilklendiriyoruz
				 */
				Constructor<T> constructor=clazz.getConstructor(String.class);
				theArray[i]=constructor.newInstance("0");
			} catch (InstantiationException e) {
				e.printStackTrace();
			} catch (IllegalAccessException e) {
				e.printStackTrace();
			} catch (SecurityException e) {
				e.printStackTrace();
			} catch (NoSuchMethodException e) {
				e.printStackTrace();
			} catch (IllegalArgumentException e) {
				e.printStackTrace();
			} catch (InvocationTargetException e) {
				e.printStackTrace();
			}
		return theArray;
	}
}

Bu metod ise Double[] ve ardından 10 adet sıfır yazdırmaktadır. Artık Number alt sınıfı beklediğinden bir önceki örnekteki satırlar çalışmamaktadır. Burada sınıfa ait String parametresi alan Constructor üretilmekte ve o şekilde ilklenmektedir.

Bunu benim kullanım amacım veritabanında çağırılan stored procedure sonuçlarını uyumlu bir sınıf dizisine eşleyebilen genel bir metod yazmak idi. Belki daha farklı kullanım amaçları da olabilir.


Yayınlandı gezegen, java

29 Nisan 2009

Posted In: Gezegen, java

Geocities kapılarını kapatıyor

Uzun zamandan beri Türkiye’de mahkeme kararıyla kapalı olan Geocities hizmeti yahu tarafından durduruluyor. Yeni kullanıcı kayıtlarına kapatılan site yıl içinde tamamen kapanacak. 90’ların sonunda oldukça moda olan ve zamanının ötesindeki online editörüyle benim gibi pek çok insanı “1-2 tıkta” web sitesi sahibi eden Geocities de Yahoo Briefcase ile aynı kaderi paylaşıyor. O zamanlar için “aşmış” sayılabilecek bu iki hizmet de malesef zamana yenik düştü ve değerini yitirdi.

Güle güle Geocities!


Yayınlandı gezegen, internet, yahoo

24 Nisan 2009

Posted In: Gezegen, internet, yahoo

WP Twitter Auto Publish Powered By : XYZScripts.com