Pengertian Asterisk Denny Hartanto pengetahua pengetahuan n No comments comments Asterisk adalah implementasi perangkat lunak dari “telephone private branch exchange (PBX)”, diciptakan pada tahun 1999 oleh Mark Spencer dari Digium. Seperti PBX lainnya, dimungkinkan memasang pesawat telepon dan melakukan panggilan ke satu dengan lainnya, termasuk tersambung ke layanan telepon pribadi dan publik, termasuk layanan jaringan telepon umum (PSTN) dan Voice over Internet Protocol (VoIP). Nama Asterisk berasal dari * (tanda bintang). Asterisk dirilis menganut model lisensi ganda, menggunakan GNU/GPL sebagai lisensi perangkat lunak bebas dan lisensi perangkat lunak lunak berpemilik untuk mengizinka mengizinkan n pemegang pemegang lisensi untuk mendistribusikan mendistribusikan komponen komponen sistem proprietari yang tidak perlu dipublikasika dipublikasikan. n. Awalnya dirancang untuk Linux (salah satu distro: AsteriskNOW), namun Asterisk juga berjalan pada berbagai sistem sistem operasi lainnya, termasuk termasuk NetBSD, NetBSD, OpenBSD, FreeBSD, FreeBSD, Mac OS X, dan Solaris. Sebuah port untuk Microsoft Windows juga tersedia yang dikenal sebagai AsteriskWin32. Asterisk cukup kecil untuk dijalankan di lingkungan “Embedded “Embedded Systems” seperti pada peralatan peralatan hardware disisi pengguna yang menjalankan menjalankan OpenWRT. OpenWRT.
KONFIGURASI ASTERISK (MATERI KOMDAT XI TKJ) 1. Prosedur Instalasi Server Asterisk berbasis SIP :
Pengertian SIP
Pengertian SIP (Session Initiation Protokol) adalah suatu signalling protocol pada layer aplikasi yang berfungsi untuk membangun, memodifikasi, dan mengakhiri suatu sesi multimedia yang melibatkan satu atau beberapa pengguna. SIP tidak menyediakan layanan secara langsung , tetapi menyediakan pondasi yangdapat digunakan digunakan oleh protokol aplikasi lainnya lainnya untuk memberikan memberikan layanan yang lebih lebih lengkap bagi pengguna, misalnya dengan RTP (Real Time Transport Protocol) untuk transfer data secara real-time, dengan SDP SD P (Session Description Protocol) untuk mendiskripsikan sesi multimedia , dengan MEGACO (Media Gateway Control Protocol) untuk komunikasi dengan PSTN (Public Switch Telephone Network).
Instalasi server Asterisk berbasis SIP
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. 2. 3. 4. 5. 6. 7.
Caller ID Call Waiting 3-Way Calling Dinamic Call Forwarding Follow Me Voice Mail Conference
8. Interactive Voice Response (IVR) 9. Automatic Call Distribution (ACD) 10. Dan masih banyak lagi fitur lainnya 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: [211] : adalah context yang menjadi nomer extension untuk melakukan panggilan dan dipanggil type=friend : adalah tipe standar (bisa melakukan panggilan dan dipanggil) context=febrian : adalah nama context yang akan dikenali pada dial plan host=dynamic : adalah host yang digunakan oleh user, dynamic berarti account dapat digunakan dari host mana saja username=211 : adalah username dari user password=password : adalah password yang digunakan oleh user said untuk login Untuk menambahkan user lain, dapat dengan meng-copy-paste baris diatas kemudian isikan context dan user yg berbeda untuk masing-masing user. 2. 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: [voiptest] : adalah context yang mengatur semua user yang menggunakan context voiptest pada data account exten : adalah aturan di asterisk untuk menunjukkan nomor extension 211 : adalah nomor extension yang bisa dihubungi 1-2 : adalah prioritas action Dial : adalah aplikasi untuk men-dial Hangup : adalah aplikasi untuk mengakhiri koneksi SIP : adalah nama protokol yang digunakan dan untuk mengidentifikasi bahwa user berada di file sip.conf 211 setelah SIP : adalah nama context di sip.conf 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 it u. 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.