Tuesday, June 26, 2007

Bikin ntp server yuuu'

NTP merupakan singkatan dari network time protokol.
Digunakan untuk sinkronisasi waktu pada aplikasi client-server.

Kali ini saya mau terima kasih dulu buat stevi yang udah ngajarin bikin ntp server.

Here it is, file konfigurasi yang saya tanamkan pada /etc/ntp.conf

====================================================
#peer 10.14.200.136

# My simple client-only ntp configuration.
server 10.14.200.136

driftfile /etc/ntp/drift

restrict 0.0.0.0 mask 0.0.0.0 ignore
restrict 127.0.0.0 mask 255.0.0.0
restrict 10.14.200.0 mask 255.255.255.0

multicastclient
broadcastdelay 0.008

#keys /etc/ntp/ntp.keys
server 127.127.1.0
===================================================

Kalau dilihat dari konfigurasi di atas, dapat dilihat bahwa server memiliki IP 10.14.200.136 dan restrict digunakan untuk mengizinkan subnet mana yang di allow untuk menggunakan ntp server ini.

Peer biasanya digunakan untuk referensi server yang lain.

Start dengan perintah: ntpd
dan stop ntp dengan menggunakan perintah: killall ntpd

Beberapa literatur menggunakan stratum sebagai tingkatan time server.
Yang saya buat disini adalah time server kecil-kecilan aja kok...

Selamat mencoba aja deh...
-----------------
little white daisy

Wednesday, June 20, 2007

TE - 03 GOES TO CIWIDEY

Asik juga jalan-jalan bareng anak-anak kelas ku TE-27-03.
Walaupun datang telat (nggak ikut jalan-jalan ke kawah putih.. T_T), tapi alhamdulilah sore bisa nyampe penginapan yang jaraknya kurang lebih 500 meter dari pintu depan kawah putih.

Di tempat yang dingin tadi.. kami bermalam sambil bernyanyi2 di depan api unggun.



Lalu main kartu UNO sampai malam (sempat kalah tapi dengan semangat 45 langsung balas dendam sampai menang juara 1). Sampai ditinggal tidur ma temen-temen cewek lainnya.

Paginya setelah masak-masak, sempat untuk foto-foto didepan villa



Dan nggak sabaran pengen berenang di kolam air panas...
Akhirnya kesampaian dah...



asik.. asik.. bisa berenang...
udah lama gak berenang.. terkhir waktu SMA kelas 2 kayaknya...

Akhirnya setelah selesai berenang... bisa melanjutkan pulang ke rumah....
Tapi kita sempat loh mampir ke kebun stroberi..


Sekarang fokus lagi ke TA nya...
T_T

-----------------
little white daisy

Thursday, June 14, 2007

my problems of kphone-3.11.ipv6 solve by dns srv and my ipfw

Problem solve!!

Awalnya saya menggunakan kphone-3.11-ipv6 sebagai user agent untuk sip ipv6 dengan eror:
  • user sangat lama untuk membangun sesi establish (connected) ketika proses call sudah dilakukan di sisi user agent lainnya.
  • suara tidak keluar. Sehingga tidak dapat diamati paket rtp yang berjalan di sisi user lainnya.

Jadi, butuh waktu yang sangat lama untuk membangun koneksi, dan hampir 1 menit waktu yang dibutuhkan untuk connected. Itupun dengan catatan suara tidak keluar.

Setelah saya amati, tampak bahwa si user agent terus query alamat ipv6 nya. Tepatnya query untuk proxy dan domainnya.

Awalnya tampak bahwa query untuk domain diterima oleh user agent, namun rtp proxy dianggap null.

Lalu saya coba untuk melihat dns yang saya buat untuk domain dan rtpproxy. Dan ini yang telah saya lakukan dengan domain dns saya:
====================================================
$TTL 86400
@ IN SOA sagita.edu. root.sagita.edu. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

IN NS sagita.edu.
IN NS ns.sagita.edu.

ns IN AAAA 2001:Db8::1a49:1212:1313:fefe:1111
reg IN AAAA 2001:Db8::1a49:1212:1313:fefe:1117
tiwi IN AAAA 2001:db8::1a49:1212:1313:fefe:1113
sip6 IN AAAA 2001:Db8::1a49:1212:1313:fefe:1117

;If we place the SRV record above the next line it fails to load
$ORIGIN sagita.edu.

_sip._udp.sip6.sagita.edu. IN SRV 0 0 5060 sip6.sagita.edu.
_sip._udp.sip6.sagita.edu. IN SRV 0 0 5062 sip6.sagita.edu.

sip6 IN AAAA 2001:db8::1a49:1212:1313:fefe:1117

sip6.sagita.edu. IN NAPTR 1 0 "s" "SIP+D2T" "" _sip._tcp.sip6.sagita.edu.
sip6.sagita.edu. IN NAPTR 2 0 "s" "SIP+D2U" "" _sip._udp.sip6.sagita.edu.
sip6.sagita.edu. IN NAPTR 3 0 "s" "SIP+D2S" "" _sip._udp.sip6.sagita.edu.
====================================================

Di dalam konfigurasi yang saya buat, terlihat ada dua informasi penting.

Pertama saya menggunakan domain sip6.sagita.edu dengan record AAAA sebagai domain untuk uri dari alamat SIP.

Kedua saya menggunakan sip6.sagita.edu dengan record SRV untuk membantu rtpproxy membawa paket udp dikenali oleh user agent ipv6 tadi.

Untuk suara, hasilnya sangat memuaskan..
Benar-benar terasa real time.

Adapula saya menggunakan ipfw sebagai firewall untuk ipv6.

Untuk mengizinkan port yang di izinkan untuk digunakan untuk sip dan rtpproxy saya menambahkan ini pada rc.firewall6:

#untuk ser-sip
${fw6cmd} add pass tcp from any to ${ip} dst-port 5060 in setup
${fw6cmd} add pass udp from any to me dst-port 5060
${fw6cmd} add pass udp from me 5060 to any
${fw6cmd} add pass tcp from any to ${ip} dst-port 5061 in setup
${fw6cmd} add pass udp from any to me dst-port 5061
${fw6cmd} add pass udp from me 5061 to any
${fw6cmd} add pass tcp from any to ${ip} dst-port 5062 in setup
${fw6cmd} add pass udp from any to me dst-port 5062
${fw6cmd} add pass udp from me 5062 to any

#rtpproxy
${fw6cmd} add pass udp from any to me dst-port 35000-40000
${fw6cmd} add pass udp from me 35000-40000 to any

Satu masalah solve...
Berarti tulisan sebelumnya... ada yang dikurangi nih untuk sip ipv6 problems.

-----------------
little white daisy

Saturday, June 09, 2007

SIP IPv6 problems

Saya sedang ngoprek aplikasi SIP untuk IPv6.
Memang saya melakukan rujukan kepada test bed yang pernah dilakukan di tahun 2004.

Server yang saya gunakan adalah SER-0.9.6 dengan modul tambahan nathelper untuk membuat proxy yang sering disebut dengan SIP proxy, rtpproxy atau mini sip proxy, dimana OS yang saya gunakan karena mudah dan tinggal "make install clean" adalah FreeBSD 6.2 dengan graphis gnome yang baik tentunya...

Beberapa masalah yang saya temukan dalam menjalankan aplikasi ini, diantaranya:
  • Softphone yang support ipv6, dan *lumayan hanya kphone-3.11-ipv6. Ada linphone, namun ketika saya coba beberapa kali dia tidak bisa register ke server nya.
  • Sementara kphone-3.11-ipv6 memiliki dependency linux yang lama, sehingga beberapa kali saya mencoba, dapat dijalankan pada redhat9, saya mencoba install di freebsd 6 keatas, fedora core 3 ke atas, slackware 10 ke atas, dan mengalami kegagalan.
  • Suara pada kphone-3.11-ipv6 tidak bisa keluar.
Sementara saya merujuk pada paper yang dibuat Interoperability between IPv4 and IPv6 User Agent , yang melakukan testbed untuk aplikasi ipv4 dan ipv6 dengan metode dual stack di sisi server, namun ketika saya mencoba lagi ada beberapa hal yang terjadi dan unsolve:
  • saya mencoba client IPv4 pada windows dengan UA x-lite dan client kphone-3.11-ipv6 pada redhat9 tadi, ternyata panggilan hanya dapat dilakukan dari sisi inside NAT (dengan seting proxy nathelper: RTPProxy -l /ipv4 dan -6 ipv6 maka call hanya dapat dilakukan dari ipv4 ua ke ipv6 ua dan tidak bisa sebaliknya kecuali RTPProxy diubah)
  • memang signalling dapat dilakukan dengan baik antara ipv4 dan ipv6, namun sayang, si cleint kphone ipv6 tadi lemmot banget... ketika sudah ada ringing ke UA IPv4, dan panggilan establish pada UA IPv4, sementara UA IPv6 masih trying to call dan akan menerima pesan connected dengan waktu yang lamma sekali, bisa selang atau delay sampai 1 menit...
  • voice juga tidak bisa keluar diantara panggilan ini, kalau analisa saya si, dari UA IPv6 nya yang salah... dan belum stabil (buktinya connected aja selang 1 jam). Namun pada sisi server sebenarnya saat IPv4 UA establish, dia sudah saling mengirimkan pesan RTP yang harusnya suara sudah dapat di transmisikan...
Yah.. memang ini lah TA yang sedang saya kerjakan juga...
Kalau mengolah data, mungkin saya bisa.. tapi kalau rasanya suara tidak bisa keluar hanya karena UA IPv6 yang jelek.. kecewa juga...

Ini sekilas konfigurasi yang saya gunakan:

ipv4 ua ----- rtpproxy ipv4 ---- registrar SER ----- rtpproxy ipv6 ----ipv6 ua

ditambah dns yang diberi rcord srv sebagai bantuan untuk panggilan nama domain metode RFC 3261. Misal 1111@10.14.200.136 diganti karena ada record srv ip 10.14.200.136 = sagita.edu maka menjadi 1111@sagita.edu.

Perbandingan skenario yang saya lakukan adalah dengan menggunakan rtpproxy juga untuk ipv4-ipv4 beda subnet dan ipv6-ipv6 beda subnet. Hanya saja kalau menggunakan perbandingan kali ini saya harus menambahkan konfigurasi NAT untuk SER tadi...

Mungkin konfigurasinya seperti ini:

ipv4 ua (192.168.x.x) --- rtpproxy (192.168.x.x) --- registrar SER --- rtpproxy (10.14.x.x) ---ipv4 ua (10.14.x.x)

dan kurang lebih begitu untuk ipv6...

untuk testbed yang saya lakukan sebenernya untuk signalling berhasil dan memuaskan.. namun my RTP did not stream...

:(

Kesimpulan utama masalah problem SIP IPv6 ini adalah:
  1. client yang jelek untuk IPv6
  2. voice yang tidak bisa stream
Penyelesaian masalah sementara dapat dilakukan apabila ditemukan client IPv6 (UA IPv6) yang lebih stabil...

Sambil nulis blog, sekalian dokumentasi sedikit untuk TA yang saya kerjakan...

-----------------
little white daisy