Difference between revisions of "Implementasi ENUM"

From OnnoWiki
Jump to navigation Jump to search
(New page: ==Konsep Sederhana ENUM == ENUM adalah sebuah mekanisme pemetaan nomor telepon Telkom yang kita kenal, seperti, +628113334567 atau +62555334567, agar di kenali di dunia VoIP yang mengguna...)
 
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Konsep Sederhana ENUM ==
+
Pada dasarnya sebuah [[ENUM server]] adalah sebuah [[DNS server]]. Jadi jika anda mempunyai sebuah DNS server, dapat langsung berfungsi sebagai [[ENUM server]].
  
ENUM adalah sebuah mekanisme pemetaan nomor telepon Telkom yang kita kenal, seperti, +628113334567 atau +62555334567, agar di kenali di dunia VoIP yang menggunakan nomor telepon, seperti, 20333@voiprakyat.or.id atau 5007987@fwd.pulver.com. Jadi sebetulnya isi sebuah ENUM hanya tabel saja.
+
Untuk menginstalasi [[ENUM Server]], yang perlu dilakukan tidak banyak, yaitu,
  
Tentunya konsep ENUM tidak terbatas pada pemetaan saja, dengan menggunakan ENUM sebuah nomor telepon +6255534567 dapat mempunyai beberapa pesawat penerima dengan sistem prioritas, misalnya,
+
Install [[DNS Server]], pada [[Linux]] biasanya sudah ada paket BIND yang merupakan [[DNS server]] yang dapat di operasikan dengan mudah.
  
+6255534567 prioritas 1 245678@voiprakyat.or.id
+
* Edit file /etc/named.conf untuk memberitahukan dimana kita menyimpan data untuk domain yang akan kita buat.
+6255534567 prioritas 2 6543686@fwd.pulver.com
+
* Edit file data-data [[ENUM]] untuk memasukan nomor telepon masing-masing pelanggan.
+6255534567 prioritas 3 +62215678976 (nomor kantor)
 
+6255534567 prioritas 4 +62856789654 (nomor handphone)
 
+6255534567 prioritas 5 mail:oknum@salemba.co.id
 
  
Dalam bahasa yang lebih manusiawi, jika seseorang berusaha menelepon ke +6255534567 akan diusahakan untuk menghubungi ke VoIP Rakyat 245678@voiprakyat.or.id, jika gagal maka akan berusaha menghubungi nomor VoIP di Pulver 6543686@fwd.pulver.com, jika gagal maka akan berusaha menghubungi kantor di +62215678976, jika gagal lagi maka akan berusaha menghubungi handphone di +62856789654. Terakhir jika semua cara gagal, apa boleh buat masuk ke voice mail untuk oknum@salemba.co.id.
 
  
Cara penulisan ENUM di Internet, misalnya menggunakan top level domain e164.id, adalah sebagai berikut
+
==Setup BIND untuk ENUM==
  
+6255512345678 8.7.6.5.4.3.2.1.5.5.5.2.6.e164.id
+
Misalnya kita memperoleh alokasi nomor +625XXXX, maka kita perlu mengedit file
+6281812345678 8.7.6.5.4.3.2.1.8.1.8.2.6.e164.id
 
  
perhatikan nomor ENUM mempunyai urutan terbalik dari nomor telepon yang kita kenal biasa.
+
vi /etc/bind/named.conf.local
Contoh ENUM
 
 
 
Salah satu contoh ENUM yang paling baik adalah e164.org, kita dapat mendaftarkan diri secara automatis dengan mekanisme authentikasi yang baik dengan cara menelepon nomor telepon yang akan di mapping ke account VoIP.
 
 
 
Tentunya e164.org bukan satu-satunya ENUM server di dunia. Rekan-rekan VoIP Rakyat-pun mengembangkan ENUM sendiri yang dapat di akses di http://www.enum.voiprakyat.or.id.
 
 
 
 
 
Tampilan maupun menu ENUM VoIP Rakyat akan secara berangsur-angsur berubah dengan akan di adakannya ENUM Indonesia yang menggunakan domain e164.id. Jika e164.id sudah  berjalan dengan baik, maka akan digunakan delegasi dari ARPA menggunakan domain 2.6.e164.arpa untuk kode negara +62 (Indonesia).
 
  
 +
masukan entry domain 5.2.6.e164.id
  
 +
zone "5.2.6.e164.id" IN {
 +
        type master;
 +
        file "/etc/bind/5.2.6.e164.id.db";
 +
};
  
==Konsep Delegasi Nomor Telepon dan ENUM==
+
Semua data nomor telepon harus dimasukan ke file /etc/bind/5.2.6.e164.id.db
  
Untuk mengerti dengan jelas konsep ENUM, ada baiknya anda sudah mengerti cara kerja Domain Name System (DNS) karena ENUM menggantungkan dirinya pada DNS. Pada kesempatan ini tidak akan di terangkan cara kerja DNS.
+
vi /etc/bind/5.2.6.e164.id.db
  
Jadi, pada dasarnya logika berfikir ENUM adalah sama dengan sistem DNS, hanya saja yang dilakukan disini adalah mendelegasikan nomor telepon. Mohon di resapi bahwa server ENUM berbeda sama sekali dengan SIP Server yang kita gunakan, walaupun dapat di satukan.
+
Isi, '''misalnya''' (contoh) dengan data sbb
 
 
Bayangkan pada tingkat nasional sebuah alokasi nomor +62555 dengan domain 5.5.5.2.6.e164.id, mempunyai beberapa ENUM Name Server (NS) sebagai berikut
 
 
 
ENUM Server Domain 5.5.5.2.6.e164.id
 
+62555 ENUM NS 202.123.123.124
 
+62555 ENUM NS 235.123.123.234
 
 
 
Perhatikan bahwa pada tingkat nasional, ENUM server tidak perlu mempunyai data lengkap dari nomor-nomor pesawat telepon / pelanggan.
 
 
 
Misalnya, sebuah operator telekomunikasi, memperoleh alokasi nomor sentral 4444, maka alokasi nomor yang dapat digunakan oleh operator tersebut adalah
 
 
 
+6255544440000 s/d +6255544449999
 
 
 
artinya dapat memberikan nomor bagi 10000 pelanggan. Maka operator telekomunikasi tersebut harus mempunyai ENUM sendiri untuk domain 4.4.4.4.5.5.5.2.6.e164.id, misalnya dengan NS
 
 
 
ENUM Server Domain 4.4.4.4.5.5.5.2.6.e164.id
 
+62555444 ENUM NS 212.234.234.234
 
+62555444 ENUM NS 212.234.234.235
 
 
 
Dalam proses delegasi, informasi NS dari 4.4.4.4.5.5.5.2.6.e164.id harus dimasukan ke ENUM 5.5.5.2.6.e164.id yang memberitahukan bahwa
 
 
 
4.4.4.4.5.5.5.2.6.e164.id IN NS 212.234.234.234
 
4.4.4.4.5.5.5.2.6.e164.id IN NS 212.234.234.235
 
 
 
Tentunya konsep ENUM tidak di batasi hanya untuk operator, sebuah perusahaan yang besar dengan 100 extension dapat saja mempunyai nomor ENUM misalnya dengan alokasi nomor
 
 
 
+6255566666600 s/d +6255566666699
 
 
 
Maka perusahaan tersebut harus mempunyai ENUM sendiri untuk domain 6.6.6.6.6.6.5.5.5.2.6.e164.id, misalnya dengan NS
 
 
 
ENUM Server Domain 6.6.6.6.6.6.5.5.5.2.6.e164.id
 
+62555666666 ENUM NS 212.234.234.4
 
+62555666666 ENUM NS 212.234.234.5
 
 
 
Dalam proses delegasi, informasi NS dari 6.6.6.6.6.6.5.5.5.2.6.e164.id harus dimasukan ke ENUM 5.5.5.2.6.e164.id yang memberitahukan bahwa
 
 
 
6.6.6.6.6.6.5.5.5.2.6.e164.id IN NS 212.234.234.4
 
6.6.6.6.6.6.5.5.5.2.6.e164.id IN NS 212.234.234.5
 
 
 
Tentunya konsep ini tidak terbatas pada perusahaan saja, sebuah RT/RW-net dapat juga membangun ENUM sendiri dsb. Dengan cara ini maka sebetulnya nomor tidak lagi menjadi monopoli operator, rakyat biasapun sebetulnya mampu untuk memperoleh nomor telepon sendiri. Tentunya mekanisme Authentikasi dan juga tanggung jawab perlu dikembangkan karena nomor telepon akan menjadi resource yang terbatas seperti juga IP address.
 
 
 
 
 
 
 
==Install & Operasional ENUM Server==
 
 
 
Pada dasarnya sebuah ENUM server adalah sebuah DNS server. Jadi jika anda mempunyai sebuah DNS server, dapat langsung berfungsi sebagai ENUM server.
 
 
 
Untuk menginstalasi ENUM Server, yang perlu dilakukan tidak banyak, yaitu,
 
 
 
Install DNS Server, pada Linux biasanya sudah ada paket BIND yang merupakan DNS server yang dapat di operasikan dengan mudah.
 
Edit file /etc/named.conf untuk memberitahukan dimana kita menyimpan data untuk domain yang akan kita buat.
 
Edit file data-data ENUM untuk memasukan nomor telepon masing-masing pelanggan.
 
 
 
 
 
Misalnya kita memperoleh alokasi nomor +6255566666600 s/d +6255566666699, maka kita perlu mengedit file /etc/named.conf untuk domain 6.6.6.6.6.6.5.5.5.2.6.e164.id dengan cara menambahkan entry
 
 
 
zone "6.6.6.6.6.6.5.5.5.e164.id" IN {
 
        type master;
 
        file "6.6.6.6.6.6.5.5.5.e164.id.db";
 
        allow-update { none; };
 
};
 
 
 
Semua data nomor telepon harus dimasukan ke file 6.6.6.6.6.6.5.5.5.e164.id.db yang pada Fedora Core 5 terletak di /var/named/chroot/var/named/6.6.6.6.6.6.5.5.5.e164.id.db.  Contoh entry file 6.6.6.6.6.6.5.5.5.e164.id.db adalah sebagai berikut,
 
  
 
  $TTL    86400
 
  $TTL    86400
Line 109: Line 38:
 
             IN NS ns.warnet.co.id.
 
             IN NS ns.warnet.co.id.
  
  0.0 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2000@warnet.co.id!" .
+
  0.0.0.2 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2000@192.168.0.3!" .
  1.0 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2001@warnet.co.id!" .
+
  1.0.0.2 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2001@192.168.0.3!" .
  2.0 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2002@warnet.co.id!" .
+
  2.0.0.2 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2002@192.168.0.3!" .
  7.8 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:8700@warnet.co.id!" .
+
3.0.0.2 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2003@192.168.0.3!" .
 +
4.0.0.2 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2004@192.168.0.3!" .
 +
5.0.0.2 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2005@192.168.0.3!" .
 +
0.2.0.2 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2020@192.168.0.3!" .
 +
  1.2.0.2 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2021@192.168.0.3!" .
 +
2.2.0.2 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2022@192.168.0.3!" .
 +
0.3.0.2 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2030@192.168.0.3!" .
 +
1.3.0.2 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2031@192.168.0.3!" .
 +
2.3.0.2 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2032@192.168.0.3!" .
 +
3.3.0.2 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2033@192.168.0.3!" .
 +
0.5.0.2 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2050@192.168.0.3!" .
 +
1.5.0.2 NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2051@192.168.0.3!" .
  
 
Yang artinya, nomor
 
Yang artinya, nomor
  
  +6255566666600 0.0.6.6.6.6.6.6.5.5.5.2.6.e164.id 2000@warnet.co.id
+
  +6252000 0.0.0.2.5.2.6.e164.id 2000@192.168.0.3
  +6255566666601 1.0.6.6.6.6.6.6.5.5.5.2.6.e164.id 2001@warnet.co.id
+
  +6252001 1.0.0.2.5.2.6.e164.id 2001@192.168.0.3
  +6255566666602 2.0.6.6.6.6.6.6.5.5.5.2.6.e164.id 2002@warnet.co.id
+
  +6252002 2.0.0.2.5.2.6.e164.id 2002@192.168.0.3
+6255566666687 7.8.6.6.6.6.6.6.5.5.5.2.6.e164.id 8007@warnet.co.id
 
 
 
Setelah proses editing file dilakukan, jangan lupa untuk mengaktifkan dan men-start DNS melalui perintah,
 
 
 
# chkconfig named on
 
# service named restart
 
 
 
  
  
==Konfigurasi Asterisk enum.conf==
+
Setelah proses editing file dilakukan, jangan lupa untuk mengaktifkan dan men-start [[DNS]] melalui perintah,
  
Agar ENUM mekanisme dapat berjalan dengan baik di Asterisk, kita perlu mengedit file enum.conf dan menambahkan entry berikut
+
/etc/init.d/bind9 restart
  
search => e164.id
+
==Test ENUM==
search => e164.org
 
search => e164.arpa
 
  
Jika kita mempunyai ENUM server sendiri, dapat saja menambahkan entry sendiri misalnya
 
  
search => 6.6.6.6.6.6.5.5.5.2.6.e164.id
+
Mengunakan perintah dig di lokalhost BIND
  
Tentunya sebuah ENUM server tidak harus menggunakan kata-kata e164, dapat saja enum server menggunakan domain seperti di VoIP Rakyat
+
dig NAPTR 0.0.0.2.5.2.6.e164.id @127.0.0.1
  
search => voiprakyat.or.id
+
Harus keluar jawaban kira-kira berbunyi
  
 +
; <<>> DiG 9.6.1-P1 <<>> NAPTR 0.0.0.2.5.2.6.e164.id @127.0.0.1
 +
;; global options: +cmd
 +
;; Got answer:
 +
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10744
 +
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
 +
 +
;; QUESTION SECTION:
 +
;0.0.0.2.5.2.6.e164.id. IN NAPTR
 +
 +
;; ANSWER SECTION:
 +
0.0.0.2.5.2.6.e164.id. 86400 IN NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2000@192.168.0.3!" .
 +
 +
;; AUTHORITY SECTION:
 +
5.2.6.e164.id. 86400 IN NS ns.warnet.co.id.
 +
 +
;; ADDITIONAL SECTION:
 +
ns.warnet.co.id. 86335 IN A 76.163.126.2
 +
 +
;; Query time: 0 msec
 +
;; SERVER: 127.0.0.1#53(127.0.0.1)
 +
;; WHEN: Tue Nov 24 08:12:11 2009
 +
;; MSG SIZE  rcvd: 137
  
  
==Konfigurasi Asterisk extensions.conf==
 
  
Agar proses pencarian ENUM dapat berjalan dengan baik, maka sebaiknya di tambahkan pada file /etc/asterisk/extensions.conf entry berikut
+
==Pranala Menarik==
  
exten => _62X.,1,ENUMLOOKUP(${EXTEN},sip,,1,e164.id)
+
* [[Instalasi ENUM di Asterisk Ubuntu]]
exten => _62X.,2,Dial(${ENUM})
+
* [[Implementasi ENUM di Asterisk 1.2]]
exten => _62X.,102,Playback(im-sorry)
+
* [[Implementasi ENUM di Asterisk 1.6]]
 +
* [[Relay ke PSTN Menggunakan SER]]
 +
* [[Menggunakan ENUM di SER]]
 +
* [[Relay ke PSTN Menggunakan OpenSER]]
 +
* [[ENUM Query di OpenSER]]
 +
* [[VoIP: Interkoneksi dan Alokasi Nomor Telepon]]
 +
* [[VoIP: Nomor Telepon Washington State Gratis]]
 +
* [[VoIP: Nomor Gratis Negara Internet +882]]
 +
* [[VoIP: Menggunakan ENUM VoIP Rakyat]]
 +
* [[VoIP]]
 +
* [[Konsep Dasar ENUM]]
 +
* [[Implementasi ENUM]]
 +
* [[Implementasi ENUM Server | Implementasi ENUM Server di Ubuntu]]
 +
* [[Implementasi ENUM di Asterisk 1.6]]
 +
* [[VoIP: ENUM Demo Data]]
 +
* [[VoIP: ENUM Test Server ENUM]]
  
Atau untuk entry yang juga mencakup Internasional, dapat menggunakan entry,
 
  
exten => _+X.,1,ENUMLOOKUP(${EXTEN},sip,,1,)
+
[[Category: VoIP]]
exten => _+X.,2,Dial(${ENUM})
+
[[Category: Internet Telepon]]
exten => _+X.,102,Playback(im-sorry)
+
[[Category: DNS]]
 +
[[Category: ENUM]]

Latest revision as of 15:48, 10 May 2010

Pada dasarnya sebuah ENUM server adalah sebuah DNS server. Jadi jika anda mempunyai sebuah DNS server, dapat langsung berfungsi sebagai ENUM server.

Untuk menginstalasi ENUM Server, yang perlu dilakukan tidak banyak, yaitu,

Install DNS Server, pada Linux biasanya sudah ada paket BIND yang merupakan DNS server yang dapat di operasikan dengan mudah.

  • Edit file /etc/named.conf untuk memberitahukan dimana kita menyimpan data untuk domain yang akan kita buat.
  • Edit file data-data ENUM untuk memasukan nomor telepon masing-masing pelanggan.


Setup BIND untuk ENUM

Misalnya kita memperoleh alokasi nomor +625XXXX, maka kita perlu mengedit file

vi /etc/bind/named.conf.local

masukan entry domain 5.2.6.e164.id

zone "5.2.6.e164.id" IN {
        type master;
        file "/etc/bind/5.2.6.e164.id.db";
};

Semua data nomor telepon harus dimasukan ke file /etc/bind/5.2.6.e164.id.db

vi /etc/bind/5.2.6.e164.id.db

Isi, misalnya (contoh) dengan data sbb

$TTL    86400
@	IN SOA  ns.warnet.co.id admin.warnet.co.id. (
			42              ; serial (d. adams)
			3H              ; refresh
			15M             ; retry
			1W              ; expiry
			1D )            ; minimum
            IN NS	ns.warnet.co.id.
0.0.0.2	NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2000@192.168.0.3!" .
1.0.0.2	NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2001@192.168.0.3!" .
2.0.0.2	NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2002@192.168.0.3!" .
3.0.0.2	NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2003@192.168.0.3!" .
4.0.0.2	NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2004@192.168.0.3!" .
5.0.0.2	NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2005@192.168.0.3!" .
0.2.0.2	NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2020@192.168.0.3!" .
1.2.0.2	NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2021@192.168.0.3!" .
2.2.0.2	NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2022@192.168.0.3!" .
0.3.0.2	NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2030@192.168.0.3!" .
1.3.0.2	NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2031@192.168.0.3!" .
2.3.0.2	NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2032@192.168.0.3!" .
3.3.0.2	NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2033@192.168.0.3!" .
0.5.0.2	NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2050@192.168.0.3!" .
1.5.0.2	NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:2051@192.168.0.3!" .

Yang artinya, nomor

+6252000	0.0.0.2.5.2.6.e164.id	2000@192.168.0.3
+6252001	1.0.0.2.5.2.6.e164.id	2001@192.168.0.3
+6252002	2.0.0.2.5.2.6.e164.id	2002@192.168.0.3


Setelah proses editing file dilakukan, jangan lupa untuk mengaktifkan dan men-start DNS melalui perintah,

/etc/init.d/bind9 restart

Test ENUM

Mengunakan perintah dig di lokalhost BIND

dig NAPTR 0.0.0.2.5.2.6.e164.id @127.0.0.1

Harus keluar jawaban kira-kira berbunyi

; <<>> DiG 9.6.1-P1 <<>> NAPTR 0.0.0.2.5.2.6.e164.id @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10744
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;0.0.0.2.5.2.6.e164.id.		IN	NAPTR

;; ANSWER SECTION:
0.0.0.2.5.2.6.e164.id.	86400	IN	NAPTR	10 100 "u" "E2U+sip" "!^.*$!sip:2000@192.168.0.3!" .

;; AUTHORITY SECTION:
5.2.6.e164.id.		86400	IN	NS	ns.warnet.co.id.

;; ADDITIONAL SECTION:
ns.warnet.co.id.	86335	IN	A	76.163.126.2

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Nov 24 08:12:11 2009
;; MSG SIZE  rcvd: 137


Pranala Menarik