Panduan Singkat Untuk Pembangunan Jaringan VoIP Perjuangan di Indonesia

Panduan ini diberikan untuk beberapa skenario:

1.	End user dengan PC yang ada sambungan ke Internet (IP Public) tanpa proxy server.
2.	End user dengan PC yang tersambung ke Internet melalui proxy server.
3.	End user yang menggunakan peralatan gateway VoIP.
4.	Operator proxy server, seperti WARNET, kantor dll.
5.	Operator gatekeeper di Internet.

Selamat Berjuang ……
Merdeka!
5 Januari 2003

Onno W. Purbo
Rakyat Indonesia biasa-biasa ajah ..

Usulan penggunaan nomor telepon di jaringan VoIP Perjuangan

Agar jaringan VoIP perjuangan dapat beroperasi dengan lancar perlu kesepakatan alokasi nomor telepon yang akan di gunakan. Saya usulkan menggunakan format:

0111 aaa ttttt xx

misalnya

0111 021 12345 xx

dimana

0111	= call area untuk VoIP Perjuangan
021	= kalau anda berada di Jakarta (3 digit), Bogor 251, Bandung 022 dll.
12345	= adalah 5 digit pertama dari nomor telkom di daerah anda
xx	= silahkan mengarang sendiri, isi 01, 02, 03, 04, 05, 06, 07 dst.

Perhatikan bagian aaa, kita mengambil tiga (3) digit dari area code milik telkom untuk mengidentifikasi dari daerah mana lokasi dari pesawat telepon VoIP anda. Perhatikan untuk mengguna yang mempunyai area code dua digit, seperti Jakarta 21, Bandung 22, maka bagian aaa di isi 021, atau 022 di beri angka nol di awalnya. Sedang  bagi anda yang mempunya area code tiga digit seperti Bogor 251, maka tidak perlu di beri angka nol lagi.

Penomoran ini dalam jaringan VoIP Perjuangan di kenal menggunakan format E.164.

Sebetulnya kurang tepat untuk menggunakan hanya call area 0111, secara internasional harusnya menggunakan 62 111 bukan 0 111. Jika nanti dibutuhkan untuk interkoneksi secara nasional / internasional bisa dilakukan proses rewrite nomor E.164 di gatekeeper, jadi tidak masalah menggunakan nomor 0111.

Gatekeeper yang di operasikan di jaringan VoIP perjuangan sebetulnya secara teknis dapat mengenali nomor-nomor milik telkom telkom maupun operator telekomunikasi lainnya, misalnya 021 1234567, atau 0811 123456 dsb. Oleh karena itu sebetulnya kalau di ijinkan jaringan VoIP Perjuangan dapat saja tersambung ke jaringan milik Telkom, Indosat maupun operator telekomunikasi lainnya.

Bagi operator gateway VoIP & gatekeeper yang cukup pandai sebetulnya dapat dengan mudah mengintegrasikan jaringan VoIP perjuangan ke jaringan milik telkom dsb. Tentunya harus dilakukan dengan hati-hati supaya anda tidak terkena sangsi penjara.

End user dengan PC yang ada sambungan ke Internet (IP Public) tanpa proxy server.

Peralatan yang dibutuhkan sangat sederhana

1.	PC yang ada sambungan langsung ke Internet; dial-up pun OK.
2.	sound card + mic + headphone (sebaiknya menggunakan handphone supaya suara tidak feedback ke mic).
3.	software NetMeeting 3.01, biasanya sudah tersedia di Windows 98 ke atas. Jika belum ada, dapat di download gratis di www.microsoft.com/netmeeting/. Bagi anda yang menggunakan Linux, dapat menggunakan GnomeMeeting.

Persiapan setup software untuk VoIP, untuk pengguna Windows dan NetMeeting 3.01, 
anda hanya perlu menset:

Tools -> Options -> General -> Advanced Calling
-> Use a gatekeeper to place a calls (isikan IP gatekeeper)
-> log on using my phone number (isikan nomor telepon sesuai konsensus di atas)

Pada saat panduan ini di tulis belum ada gatekeeper untuk keperluan public. Instalasi gatekeeper untuk keperluan public akan dilakukan di Indonesia Internet Exchange (IIX) atas dukungan APJII. Silahkan memonitor / menanyakannya di mailing list genetika@yahoogroups.com untuk keterangan lebih lanjut tentang gatekeeper untuk keperluan public ini.

Pada saat anda dial ke Internet, secara automatis NetMeeting akan mencari gatekeeper untuk meregistrasikan PC (nomor telepon anda). Jika NetMeeting berhasil terregistrasi pada pojok kanan bawah console NetMeeting akan ada gambar dua buah komputer yang saling tersambung dengan warna yang jelas, sebelumnya warnanya tidak jelas.

Setelah NetMeeting terregistrasi ke gatekeeper, anda bisa menelpon ke rekan lain yang menggunakan jaringan VoIP perjuangan & menggunakan nomor 0111 xxx xxxxxxxx..

End user dengan PC yang tersambung ke Internet melalui proxy server.

Jika anda merupakan PC end user di belakang proxy / wingate / winroute atau LAN dengan IP 192.168.x.x atau 10.x.x.x maka anda termasuk kategori end user dengan PC yang tersambung ke Internet melalui proxy.

Secara prinsip tidak berbeda dengan end user yang mempunyai sambungan langsung ke Internet.

Bedanya anda harus registrasi ke gatekeeper yang berada di mesin proxy / wingate / winroute anda. Anda tidak mungkin registrasi & mengoperasikan VoIP tanpa bantuan gatekeeper di proxy server karena port VoIP tidak bisa menembus proxy.

Hal ini akan menjadi masalah bagi sebagian besar pengguna Internet di Indonesia karena umumnya berada di belakang proxy. Sarannya anda harus meminta kepada operator proxy server tersebut untuk mengoperasikan gatekeeper di proxy servernya.

Teknik Instalasi Software Gatekeeper

Software yang digunakan adalah Open H.323 gatekeeper. Software tersebut dapat di ambil di www.sourceforge.net atau www.sf.net dengan menggunakan keyword openh323 gatekeeper. Atau langsung dari www.gnugk.org. Open H.323 gatekeeper tersedia dalam beberapa versi Linux maupun Windows.

Perlu di catat bahwa software gatekeeper yang digunakan adalah open source sehingga dapat digunakan secara cuma-cuma / gratis tanpa melanggar hak cipta sama sekali.

Beberapa versi yang berhasil saya jalankan dengan baik,

•	gk-2.0a-linux-bin.tgz berjalan dengan baik di Linux Mandrake 8.0.
•	gk-2.0.2-linux-bin.tgz berjalan dengan baik di Linux Mandrake 9.0
•	gk-2.0.2-windows-bin.zip berjalan dengan baik di Windows 98 (dan kemungkinan di versi Windows yang lebih tinggi).

Bila anda melihat di www.gnugk.org ada versi developmentnya 2.1 silahkan dicoba digunakan & menanggung resikonya sendiri heheheh ….

Bagi anda pengguna Windows, anda dapat mengoperasikan gatekeeper tersebut di mesin Windows dan juga dapat di operasikan berdampingan dengan software proxy yang ada seperti Wingate atau Winroute. Sayangnya Windows rentan sekali dengan virus & tidak terlalu sereliable Linux untuk di operasikan sebagai server.

Langkah instalasi di Windows sebetulnya lebih mudah daripada di Linux:

1.	copykan gk-2.0.2-windows-bin.zip ke salah satu directory, misalnya D:\temp.
2.	extrak gk-2.0.2-windows-bin.zip menggunakan Winzip.
3.	anda akan melihat folder D:\temp\openh323gk\
4.	File gnugk.exe terdapat di folder D:\temp\openh323gk\bin\
5.	File-file contoh konfigurasi ada di folder D:\temp\openh323gk\etc\

Pada titik ini anda dapat masuk ke D:\temp\openh323gk\bin\ dan dapat menjalankan gnugk dengan cara mengetikan

	gnugk –h

untuk melihat semua perintah command line yang di dukung.

Bagian yang akan membuat kepala pusing adalah menset parameter dari file konfigurasi yang akan saya terangkan dibawah. Jika telah selesai menset konfigurasi file-nya maka bisa diletakan di folder yang sama dengan gnugk.exe misalnya D:\temp\openh323gk\bin\, misalnya dengan nama warnetvoip.ini. 

Selanjutnya gatekeeper dapat di jalankan secara automatis ke dalam bagian StartUp atau mungkin autoexec.bat di windows, agar command line di bawah dapat di operasikan saat Windows mulai di operasikan.

	D:\temp\openh323gk\bin\gnugk –c d:\temp\openh323gk\bin\warnetvoip.ini

Terus terang saya belum pernah mencoba-nya dengan baik, jadi anda mungkin harus berexperimen sedikit. Akan tetapi mengoperasikan gatekeeper secara manual melalui MSDOS Prompt sudah pasti berhasil dengan baik.

Pada saat proses debugging ada baiknya menjalankan gnugk dari MSDOS Prompt  langsung di d:\temp\openh323gk\bin\ dengan mengaktifkan trace sbb:

	gnugk –ttt –c warnetvoip.ini

Kita bisa melihat trace message untuk proses debugging kerja dari gatekeeper.

Bagi anda pengguna Linux, langkah instalasi di Linux agak sedikit lebih rumit daripada di Windows. Saya menggunakan Linux Mandrake yang mudah di operasikan, saya tidak dapat memberikan komentar terlalu banyak untuk pengguna Linux selain Mandrake karena belum mencoba di distro lain. Adapun caranya adalah sbb:

1.	masuk sebagai root
2.	copykan gk-2.0a-linux-bin.tgz ke /usr/local/src
3.	pindah ke /usr/local/src
4.	tar zxvf gk-2.0a-linux-bin.tgz
5.	cd openh323gk
6.	cd bin
7.	cp gnugk /usr/bin
8.	cp lib* /usr/lib
9.	atau cp lib* /lib
10.	contoh file konfigurasi adalah di folder /usr/local/src/openh323gk/etc.

Bagi anda yang menggunakan Linux Mandrake 9.0 dapat menggunakan openh323 gatekeeper versi 2.0.2 tanpa masalah yang berarti. Agak berbeda dengan versi 2.0a, pada versi 2.0.2 tidak ada file lib*, anda cukup menginstalasi openh323 di Linux Mandrake 9.0 untuk menggantikan lib* yang dibutuhkan. Sisa proses instalasi tidak berbeda dengan versi 2.0a.

Pada titik ini anda bisa menjalankan gnugk dengan cara mengetikan

	gnugk –h

untuk melihat semua perintah command line yang di dukung.

Bagian yang akan membuat kepala pusing adalah menset parameter dari file konfigurasi yang akan saya terangkan dibawah. Jika telah selesai menset konfigurasi file-nya maka bisa diletakan di /etc, misalnya dengan nama warnetvoip.ini. Selanjutnya gatekeeper dapat di jalankan secara automatis dengan memasukan pada line terakhir di /etc/rc.d/rc.local sebagai

	/usr/bin/gnugk –c /etc/warnetvoip.ini &

pada saat proses debugging ada baiknya menjalankan gnugk dari console dengan mengaktifkan trace sbb:

	/usr/bin/gnugk –ttt –c /etc/warnetvoip.ini

perhatikan tanda & tidak digunakan supaya tidak dijalankan di background & kita bisa melihat trace message untuk proses debugging kerja dari gatekeeper.

Pada saat gatekeeper di operasikan, se orang operator dapat dengan mudah memonitor operasi sebuah gatekeeper dengan cara masuk ke mesin gatekeeper menggunakan telnet pada status port 7000, tentunya juga di ijinkan. Melalui status port tersebut, seorang operator dapat melihat aktifitas gatekeeper misalnya siapa saja yang sedang registrasi ke gatekeeper yang kita operasikan, hubungan komunikasi / telepon mana yang sedang di langsungkan dsb.

Operator proxy server, seperti WARNET, kantor dll.

Jika anda operator dari proxy server di WARNET / kantor, maka bagian ini untuk anda. 

Agar sebuah gatekeeper dapat di operasikan sebagai proxy VoIP berdampingan dengan program proxy lainnya, seperti squid (di Linux) atau Wingate / Winroute (di Windows), anda perlu melihat file /usr/local/src/openh323gk/etc/proxy.ini dan child.ini sebagai referensi untuk membuat file konfigurasi warnetvoip.ini. 

Dari contoh konfigurasi proxy.ini anda perlu mencuri terutama section [Proxy] & setting secara benar,

InternetNetwork=.

Dari child.ini anda perlu mencuri terutama section [Endpoint] & setting secara benar,
Gatekeeper= (ini merupakan gatekeeper di ISP atau di IIX)
E164=
Prefix=
Dimana sesuai dengan usulan di atas maka contoh
E164 = 0111 251 12345 00
Prefix = 0111 251 12345
Untuk nomor di daerah bogor (251) yang 5 digital awal nomor telkom-nya adalah 12345.

Untuk memudahkan hidup anda, saya sertakan dibawah contoh warnetvoip.ini sebagai referensi. Mohon di perhatikan bahwa gatekeeper pada proxy server di warnet atau di kantor akan meregistrasikan diri-nya ke gatekeeper yang berada di ISP atau di IIX sebagai gateway, bukan sebagai gatekeeper untuk memudahkan integrasi ke jaringan.

Perhatikan saya memberikan highlight (warna kuning) pada bagian-bagian yang perlu anda sesuaikan dengan parameter / kondisi jaringan anda.
##
## This example shows how to use the gatekeeper as an H.323 proxy.
##
## Suppose the host of the gatekeeper has two network interfaces:
##
##   WAN: 	Menggunakan WLAN
##   LAN:	IP=192.168.0.1	Network=192.168.0.0/24
##
## A proxy gatekeeper is usually register with a parent gatekeeper as a
## gateway. See child.ini for the configuration.
##

[Gatekeeper::Main]
Fourtytwo=42
Name=Warnet_Anda_Proxy
TimeToLive=600

[RoutedMode]
GKRouted=1
H245Routed=0
CallSignalPort=1721
CallSignalHandlerNumber=2
RemoveH245AddressOnTunneling=1
DropCallsByReleaseComplete=1
SupportNATedEndpoints=1
Q931PortRange=30000-39999
H245PortRange=40000-49999

[Proxy]
Enable=1
InternalNetwork=192.168.0.0/24
T120PortRange=50000-59999
RTPPortRange=50000-59999

[Endpoint]
Gatekeeper=parent.gatekeeper.di.internet.com
Type=Gateway
H323ID=Warnet_Anda_Proxy
E164=01112511234599
Prefix=011125112345
TimeToLive=900
RRQRetryInterval=10
ARQTimeout=2

[GkStatus::Auth]
rule=allow
Operator gatekeeper di Internet.

Secara umum proses instalasi gatekeeper di Internet tidak berbeda dengan proses instalasi gatekeeper di proxy server di WARNET / Kantor. Yang berbeda sangat jauh adalah isi konfigurasi file-nya. Bagi anda yang penasaran silahkan dilihat secara detail di bagian operator proxy server di atas.

Peralatan yang dibutuhkan untuk sebuah gatekeeper tidak terlalu besar, tentunya sangat tergantung jumlah endpoint & call/detik yang harus di handle. Untuk menghandle sekitar 200-an endpoint & 3-5 call/detik mungkin sebuah PC

	Kelas Pentium II
	64Mbyte RAM
	2 Gbyte disk

cukup untuk di terjunkan sebagai gatekeeper, tentunya PC dengan spesifikasi di atas itu dapat menghandle kapasitas yang lebih besar lagi.

Beberapa contoh file .ini pada /usr/local/src/openh323gk/etc yang perlu diperhatikan oleh operator gatekeeper agar dapat beroperasi secara baik adalah minimal sekali file sbb:

	gnugk.ini
	neighbor.ini

tentunya bagi anda yang berfikiran maju silahkan untuk melihat file-file yang lain. Untuk mempersingkat diskusi, saya sertakan sebuah contoh file gatekeeper.ini yang disiapkan untuk sebuah gatekeeper yang masuk ke dalam jaringan gatekeeper.  Beberapa parameter yang diberi highlight warna kuning harus diganti di sesuaikan dengan kondisi jaringan yang ada.

Perhatikan entry,

[RasSvr::Neighbors]
GatekeeperIDAnda=202.111.222.161:1719;011102212345

Harus di share dengan gatekeeper lainnya yang beroperasi di jaringan agar saling mengenal satu dengan lainnya & dapat beroperasi sebagai jaringan gatekeeper dan dapat melakukan registrasi nomor satu sama lain. Perhatikan prefix yang digunakan harus benar supaya jaringan dapat beroperasi dengan baik. Pada hari ini, saya melalui e-mail onno@indo.net.id yang akan mengkoordinasikan proses sharing informasi antar gatekeeper ini.

# Entry supaya bisa menjadi bagian jaringan Gatekeeper
#
# Anda harus mengganti GatekeeperID dengan ID yang anda inginkan
# misalnya APJIIGK, KantorGK, RTRWNetGK, GK1, GK2, dll …
# dua entry di bawah harus di share dengan rekan lain di
# jaringan gatekeeper
#
# [RasSvr::Neighbors]
# GatekeeperID=202.111.222.161:1719;011102212345
#
# [EndPoint]
# Prefix=011102212345
#

[Gatekeeper::Main]
Fourtytwo=42
Name=GatekeeperGK
# Prefix=011102212345
TimeToLive=600

[RoutedMode]
GKRouted=1
H245Routed=0
CallSignalPort=1721
CallSignalHandlerNumber=2
RemoveH245AddressOnTunneling=1
DropCallsByReleaseComplete=1
SupportNATedEndpoints=1
Q931PortRange=30000-39999
H245PortRange=40000-49999

 [RasSvr::Neighbors]
GK1=202.159.123.162:1719;011122450
GK2=202.123.111.222:1719;011121250
GK3=202.154.222.111:1719;0111251678
GK4=167.205.123.111:1719;*

[EndPoint]
Prefix=011102212345

[GkStatus::Auth]
rule=allow

End user yang menggunakan peralatan gateway VoIP.

Gateway VoIP adalah peralatan yang dapat menghubungkan VoIP di Internet dengan jaringan telepon yang menggunakan sambungan RJ-11. Biasanya peralatan gateway VoIP ini di sambungkan ke PBX / PABX di kantor atau di wartel agar telepon biasa yang ada dapat terkait ke jaringan VoIP juga.

Operasi VoIP yang akan sangat menantang & dapat berbenturan dengan pemerintah terutama jika anda menggunakan peralatan VoIP gateway dan menyambungkannya ke jaringan Public Switch Telephone Network (PSTN) milik Telkom melalui peralatan PABX. (Private Automated Branch Exchange). Biasanya peralatan VoIP gateway memiliki dua jenis port, yaitu:

•	FXS – yang digunakan untuk di hubungkan langsung ke pesawat telepon biasa melalui konektor RJ-11.
•	FXO – yang tidak dapat dihubungkan ke pesawat telepon biasa; hanya dapat di hubungkan ke PABX / PBX maupun langsung ke saluran telkom melalui konektor RJ-11.

Ada beberapa vendor yang memproduksi peralatan gateway VoIP ini, salah satu yang kebetulan saya familiar dari Planet (www.planet.com.tw) yang di distribusikan oleh Corexindo di Mangga Dua.

Operasi gateway VoIP tidak terlalu sulit karena setting parameter-nya dapat dilakukan melalui Web maupun telnet menggunakan text mode. Logika berfikirnya tidak berbeda jauh dengan setting gatekeeper di atas. Sebagai contoh untuk Internet Telephony Gateway (ITG) dari Planet menggunakan text mode dapat di set agar:

	set h323 gk_mode manual
	set h323 gk_addr 202.111.222.123
	set h323 endpoint_prefix 011125212345
	set h323 term_id ITG_percobaan
	set h323 gk_id GatekeeperIDAnda

Masih banyak lagi fasilitas yang dapat di set menggunakan sebuah ITG, beberapa parameter di atas cukup untuk meregistrasi ITG anda ke sebuah gatekeeper untuk di kenali nomor-nya. Tentunya di pihak gatekeeper dapat juga meregistrasikan secara manual sebagai permanent endpoint jika di inginkan.

Teknik yang lumayan membuat pusing kepala adalah menyambungkan Internet Telephony Gateway (ITG) melalui port FXO ke peralatan PABX supaya telepon dari Internet, baik dari NetMeeting maupun dari ITG lain dapat terhubung ke telepon biasa.

Jika anda cukup jeli teknik ini dapat dikembangkan agar nomor telepon telkom, seperti 022 2504567, di tempat anda dapat dikenali di jaringan VoIP Perjuangan dan dapat di telepon langsung melalui jaringan VoIP perjuangan tanpa perlu melalui telkom sama sekali.