Pages

Jumat, 18 September 2020

LANGKAH-LANGKAH MENGKONEKSIKAN ASTERIK KE KANAL ANALOG

 Asterisk adalah software IP PBX untuk membuat sistem layanan komunikasi telepon melalui internet atau biasa disebut VoIP (Voice over Internet Protocol). Asterisk adalah software Open Source yang berjalan di linux. Asterisk juga memungkinkan komunikasi antar pengguna telepon regular dengan telepon berbasis sip (sip phones). Asterisk juga sudah dilengkapi banyak fitur baik standard telephony maupun advance, diantaranya:

 

1.       Caller ID
2.       Call Waiting
3.       3-Way Calling
4.       Dinamic Call Forwarding
5.       Follow Me
6.       Voice Mail
7.       Conference
8.       Interactive Voice Response (IVR)
9.       Automatic Call Distribution (ACD)
10.   Dan masih banyak lagi fitur lainnya 
 

 Instalasi server Asterisk berbasis SIP 

Untuk Anda baru mulai belajar VoIP, Asterisk bisa dimanfaatkan untuk membuat sebuah server VoIP sederhana. Tutorial berikut akan membahas bagaimana membuat sebuah VoIP server untuk jaringan LAN.  Saya menggunakan Asterisk sebagai VoIP servernya. Untuk membuatnya minimal diperlukan sebuah PC Linux, koneksi LAN, dan bisa juga koneksi Internet. Berikut ini langkah-langkah yang perlu dilakukan: 

1. Instalasi Asterisk 

 # apt-get install asterisk 

    Setelah instalasi selesai, pastikan 3 paket berikut sudah terinstall dengan baik:

    1.       asterisk
    2.       asterisk-config
    3.       asterisk-sounds-main
 

2. Konfigurasi File “sip.conf” 

  Selanjutnya adalah langkah yang paling menarik, konfigurasi. Namun sebelum memulai konfigurasi,   alangkah baiknya untuk mengenali dulu teknologi atau protocol-protocol telephony yang ada seperti SIP, H323, IAX, MGCP, juga termasuk didalamnya layanan PSTN, dll. Pada practice kali ini kita akan menggunakan SIP karna konfigurasinya yang relatif mudah dengan implementasi yang mudah juga. 

Untuk konfigurasi ini, kita cukup mengetikkan:

# pico sip.conf 

Pada pengaturan sip.conf kita akan mengkonfigurasi data account user. Pada percobaan ini saya menggunakan 211-219 sebagai nomor extension untuk melakukan panggilan dan dipanggil.  


 Pada gambar yang di bulatkan diatas, menunjukkan pembuatan untuk data account user, dimana:

a.       [211] : adalah context yang menjadi nomer extension untuk melakukan panggilan dan dipanggil

b.       type=friend : adalah tipe standar (bisa melakukan panggilan dan dipanggil)

c.      context=febrian : adalah nama context yang akan dikenali pada dial plan

d.  host=dynamic : adalah host yang digunakan oleh user, dynamic berarti account dapat digunakan dari host mana saja

e.       username=211 : adalah username dari user

f.        password=password : adalah password yang digunakan oleh user said untuk login

g.      Untuk menambahkan user lain, dapat dengan meng-copy-paste baris diatas kemudian isikan context dan user yg berbeda untuk masing-masing user.  

Konfigurasi Ekstensi dan dial-plan Server Asterisk : 

Ø  Konfigurasi ekstensi server Asterisk

Anda dapat mencari semua file konfigurasi Asterisk untuk instalasi standar dalam directory /etc/asterisk:

debian:/usr/src# cd /etc/asterisk

debian:/etc/asterisk# ls

adsi.conf cdr_tds.conf indications.conf

privacy.conf

adtranvofr.conf codecs.conf logger.conf queues.conf

agents.conf dnsmgr.conf manager.conf res_odbc.conf

alarmreceiver.conf dundi.conf meetme.conf rpt.conf

alsa.conf enum.conf mgcp.conf rtp.conf

asterisk.adsi extconfig.conf misdn.conf sip.conf

asterisk.conf extensions.ael modem.conf

sip_notify.conf

cdr.conf extensions.conf modules.conf skinny.conf

cdr_custom.conf features.conf musiconhold.conf

telcordia1.

adsi

cdr_manager.conf festival.conf osp.conf

voicemail.conf

cdr_odbc.conf iax.conf oss.conf vpb.conf

cdr_pgsql.conf iaxprov.conf phone.conf zapata.conf

debian:/etc/asterisk#

Untuk miniPBX kita, kita hanya perlu dua buah file. pertama, kita perlu menyalin file yang dibuat dengan make samples ke /etc/asterisk/backup/ (Kita dapat mengambilnya untuk keperluan nanti; secara umum, tindakan yang bagus untuk menyalin file asli ke directory backup ketika anda melakukan perubahan)

debian:/etc/asterisk# mkdir backup

debian:/etc/asterisk# mv sip.conf backup/

debian:/etc/asterisk# mv extensions.conf backup/

debian:/etc/asterisk#

Dengan menggunakan favorite editor anda, buat sebuah file baru / etc/asterisk/sip.conf dan masukkan berikut ini:

[general]

port = 5060

bindaddr = 0.0.0.0

context = others

[2000]

type=friend

context=myphones

secret=1234

host=dynamic

[2001]

type=friend

context=myphones

secret=1234

host=dynamic

Kita menulis sebuah dialplan sederhana pada /etc/asterisk/extensions.conf:

[others]

[myphones]

exten => 2000,1,Dial(SIP/2000)

exten => 2001,1,Dial(SIP/2001)

Apakah beberapa baris tersebut cukup untuk mengkonfigurasi PBX? Mari kita coba! Jalankan Asterisk dengan perintah shell

asterisk c:

debian:/etc/asterisk# asterisk c

Asterisk 1.4.2, Copyright (C) 1999 2005

Digium.

Written by Mark Spencer

* CLI>

Setelah Asterisk dijalankan, kita akan mendapatkan sebuah konsol yang memungkinkan kita untuk berkomunikasi dengan proses asterisk yang berjalan. Apa yang kita lihat sekarang adalah Asterisk CLI (command line interface) yang memperbolehkan kita untuk mengendalikan Asterisk secara interacktif. Aksi pertama kita adalah untuk menghentikan asterisk secara langsung dengan perintah stop now:

*CLI> stop now

debian:/etc/asterisk#

Kemudian, kita harus menghubungkan dua SIP phone ke miniPBX.Jika anda tidak memiliki ip phone, anda dapat menggunakan software phone (”softphones”) yang dapat diunduh dari Internet. Untuk konfigurasi pengguna pada telepon, gunakan informasi extension yang telah kita set di /etc/asterisk/sip.conf. Extension Sip 2000 harus dikonfigurasi untun ini:

·                     User: 2000

·                     Password: 1234

·                     SIPRegistrar: IP address server asterisk kita

·                     SIPProxy: IP address server asterisk kita

Jika anda tidak mengetahui alamat IP dari server astersik, anda dapat mencari dengan perintah berikut:

ifconfig | grep Bcast | sed s/Bcast.*//

Sekarang kita jalankan Asterisk kembali, untuk kali ini dengan konsole verbose yang lebih banyak, sehingga kita dapat melihat apa yang sedang terjadi ketika kita mencoba melakukan panggilan. Kita lakukan dengan menambahkan parameter vvvvvc setelah perintah (5 v artinya “verbosity level 5”). Dengan ini kita dapat melihat kapan SIP phone terdaftar pada PBX:

debian:/etc/asterisk# asterisk vvvvvc

[…]

Asterisk Ready.

*CLI>

 

Konfigurasi dial-plan server Asterisk 

Selanjutnya adalah setting dial plain, konfigurasinya terdapat pada file“extensions.conf”. 

 

dimana:

a)  [voiptest] : adalah context yang mengatur semua user yang menggunakan context voiptest pada data account

b)    exten : adalah aturan di asterisk untuk menunjukkan nomor extension

c)    211 : adalah nomor extension yang bisa dihubungi

d)    1-2 : adalah prioritas action

e)    Dial : adalah aplikasi untuk men-dial

f)     Hangup : adalah aplikasi untuk mengakhiri koneksi

g)    SIP : adalah nama protokol yang digunakan dan untuk mengidentifikasi bahwa user berada di file sip.conf

h)    211 setelah SIP : adalah nama context di sip.conf

i)      20 : adalah lamanya berdering saat terjadi pemanggilan oleh user yang lain

Dialplan menentukan telepon mana dapat menelepon telepon lain, dan bagaimana. Dialplan dibagi dalam contexts.

[others]

Pada bagian pertama pada konfigurasi ini adalah context [others]. Karena kita tidak memakai dalam contoh ini, maka bisa dikosongkan.

[myphones]

exten => 2000,1,Dial(SIP/2000,20)

exten => 2000,2,VoiceMail(2000,u)


Penulisan dialplan selalu mengikuti peraturan berikut:

exten => Nomor,Prioritas,Aplikasi

Ketika sebuah nomor dipanggil, Asterisk akan mengecek untuk mengetahui apakah sesuai dengan dialplan. Jika ditemukan kesesuaian, makan masukan itu akan dibaca dan dijalankan. Jika terdapat lebih dari sebuah masukan untuk nomor yang dipanggil, Asterisk akan menjalankan isi dengan prioritas 1 lebih dahulu. Parameter ketiga (”Application”) menentukan apa yang akan dilakukan Asterisk dengan panggilan itu. Berdasarkan pada konfigurasi contoh kita, yang terjadi ketika sebuah panggilan dari 2001 ke 2000 adalah:

·       Asterisk melihat context dari extesion yang memanggil (2001) dalam /etc/asterisk/sip.conf. Pada contoh kita, Contextnya adalah [myphones]. Asterisk menggunakan context ini untuk menentukan kelompak mana yang digunakan dalam /etc/asterisk/extensions.conf.

·  Setelah menemukan context [myphones] dalam /etc/asterisk/extensions.conf, Asterisk menjalankan isi yang sesuai dengan nomor yang dipanggil, 2000, dengan prioritasnya. Kita memiliki dua baris yang sesuai pada contoh kita.

·    Isi yang sesuai dengan prioritas 1 akan dijalankan terlebih dahulu, Tidak pedulu urutan secara fisik dalam isian. Disini, isian dengan prioritas 1 memiliki aplikasi Dial(SIP/2000,20). Aplikasi Dial() dijalankan dengan paramater yang telah diberikan; seperti pada isian nomor 2000 dalam /etc/asterisk/sip.conf dan bunyikan dalam 20 detik(angka “,20 s etelah SIP/2000).

·  Jika extension SIP 2000 tidak menjawab dalam 20 detik, Dial()selesai dan prioritas ditambah 1.

·   Isi yang sesuai selanjutnya — exten  2000,2,VoiceMail(2000,u)— dijalankan. Asterisk menjalankan aplikasi VoiceMail() dengan parameter “2000 dan “u”. “2000 adalah untuk nomor mailbox seperti yang dikonfigurasi dalam /etc/asterisk/voicemail.conf; “u” memberitahukan Asterisk untuk menggunakan pesan standar “unavailable”. tentu saja, voicemail tidak ada gunanya kecuali anda dapat mengambil pesan yang ditinggalkan kepada anda. Kita dapat memberi akses dengan mengisi:

exten => 2999,1,VoiceMailMain(${CALLERID(num)},s)

terdapat fungsi dialplan pertama kita di Asterisk! kita memanggil aplikasi VoiceMailMain() dengan fungsi ${CALLERID(num)} sebagai parameter. fungsi ${CALLERID(num)} mengembalikan nomor dari pihak yang memanggil. Dengan cara ini, VoiceMailMain() selalu tahu untuk mengambil pesan untuk telepon yang memanggilnya. Jika parameter tidak diisi, kita akan ditanya nomor mailbox. parameter “,s” memberitahu VoiceMailMain() untuk tidak meminta password untuk pemanggil.

Setelah dilakukan konfigurasi pada data account dan dial plan maka lakukan restart asterisk dengan mengetikkan  # /etc/init.d/asterisk restart.

 Pengujian

Untuk tahap pengujian ini kita menggunakan X-Lite. terlebih dahulu kita add account untuk melakukan panggilannya, seperti pada gambar dibawah ini. 

Lalu masukkan name, dan user name(account) panggilan untuk melakukan panggilan nanti. selain itu juga masukkan password dan IP domain agar saat melakukan panggilan dapat terhubung.

 

Setelah setting diatas selesai, baru lah diuji dengan melakukan panggilan berdasarkan data account yang telah di add sebelumnya. 



 

 

0 komentar:

Posting Komentar

SILAHKAN TINGGALKAN KOMENTAR