Langkah-langkah untuk mengkoneksikan asterisk server dengan
kanal analog
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 oleh protokol aplikasi lainnya untuk memberikan layanan yang lebih lengkap bagi pengguna, misalnya dengan RTP (Real Time Transport Protocol) untuk transfer data secara real-time, dengan SDP (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. 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
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 ServerAsterisk :
Ø 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 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 Comments:
Posting Komentar