By Mark Spencer <[email protected]> and the Asterisk.org developer community.
Copyright (C) 2001-2021 Sangoma Technologies Corporation and other copyright holders.
Anda harus membaca dan memahami sepenuhnya isi dokumen informasi keamanan sebelum Anda mencoba mengkonfigurasi dan menjalankan server Asterisk.
Lihat Pertimbangan Keamanan Penting untuk informasi lebih lanjut.
Asterisk adalah Open Source PBX dan toolkit telepon. Dalam arti tertentu, ini adalah perangkat tengah antara saluran Internet dan telepon di bagian bawah, dan aplikasi Internet dan telepon di bagian atas. Namun, Asterisk mendukung lebih banyak antarmuka telepon daripada sekadar telepon Internet. Asterisk juga memiliki banyak dukungan untuk telepon PSTN tradisional.
Untuk informasi lebih lanjut mengenai proyek itu sendiri, silakan kunjungi beranda Asterisk dan dokumentasi resminya. Selain itu Anda akan menemukan banyak informasi yang dikumpulkan oleh komunitas Asterisk di voip-info.org.
Ada buku tentang Asterisk yang diterbitkan oleh O'Reilly di bawah Lisensi Creative Commons. Buku ini tersedia di toko buku dan juga dalam versi yang dapat diunduh di situs web asteriskdocs.org.
PBX Sumber Terbuka Asterisk dikembangkan dan diuji terutama pada sistem operasi GNU/Linux, dan didukung pada setiap distribusi utama GNU/Linux.
Asterisk juga telah 'porting' dan dilaporkan berjalan dengan baik pada sistem operasi lain, termasuk Sun Solaris, Mac OS X milik Apple, Cygwin, dan varian BSD.
Pertama, pastikan Anda memiliki perangkat keras yang didukung (tetapi perhatikan bahwa Anda tidak memerlukan perangkat keras khusus APAPUN, bahkan kartu suara) untuk menginstal dan menjalankan Asterisk.
Perangkat keras telepon yang didukung meliputi:
Jika Anda memperbarui Asterisk dari versi sebelumnya, pastikan Anda membaca file UPGRADE.txt di direktori sumber. Ada beberapa file dan opsi konfigurasi yang harus Anda ubah, meskipun kami berupaya semaksimal mungkin untuk mempertahankan kompatibilitas ke belakang.
Untuk menemukan fitur baru untuk digunakan, silakan periksa contoh konfigurasi di direktori konfigurasi distribusi kode sumber. Untuk daftar fitur baru pada Asterisk versi ini, lihat file PERUBAHAN.
Pastikan sistem Anda berisi kompiler dan pustaka pengembangan yang kompatibel. Asterisk memerlukan GNU Compiler Collection (GCC) versi 4.1 atau lebih tinggi, atau kompiler yang mendukung spesifikasi C99 dan beberapa ekstensi bahasa gcc. Selain itu, sistem Anda harus memiliki header pustaka C yang tersedia, serta header dan pustaka untuk ncurses.
Ada banyak modul yang memiliki dependensi tambahan. Untuk melihat pustaka apa yang sedang dicari, lihat ./configure --help
, atau jalankan make menuselect
untuk melihat dependensi modul tertentu.
Pada banyak distribusi, dependensi ini diinstal oleh paket dengan nama seperti 'glibc-devel', 'ncurses-devel', 'openssl-devel' dan 'zlib-devel' atau serupa.
Jadi mari kita lanjutkan:
Ada lebih banyak dokumen daripada yang ini di direktori doc. Anda mungkin juga ingin memeriksa file konfigurasi yang berisi contoh dan panduan referensi di direktori configs.
./configure
Jalankan skrip konfigurasi untuk menebak nilai variabel bergantung sistem yang digunakan selama kompilasi. Jika skrip menunjukkan bahwa beberapa komponen yang diperlukan tidak ada, Anda dapat menjalankan ./contrib/scripts/install_prereq install
untuk menginstal komponen yang diperlukan. Perhatikan bahwa ini akan menginstal semua dependensi untuk setiap fungsi Asterisk. Setelah menjalankan skrip, Anda perlu menjalankan kembali ./configure
.
make menuselect
[opsional]Ini diperlukan jika Anda ingin memilih modul yang akan dikompilasi dan untuk memeriksa dependensi berbagai modul opsional.
make
Dengan asumsi pembangunan selesai dengan sukses:
make install
Jika ini pertama kalinya Anda bekerja dengan Asterisk, Anda mungkin ingin menginstal contoh PBX, dengan ekstensi demonstrasi, dll. Jika ya, jalankan:
make samples
Melakukannya akan menimpa semua file konfigurasi yang telah Anda instal.
# asterisk -vvvc
Anda akan melihat banyak pesan verbose terbang di layar Anda saat Asterisk diinisialisasi (itulah mode "sangat sangat verbose"). Jika sudah siap, jika Anda menentukan "c" maka Anda akan mendapatkan konsol baris perintah, yang terlihat seperti ini:
*CLI>
Anda dapat mengetik "core show help" kapan saja untuk mendapatkan bantuan terkait sistem. Untuk bantuan dengan perintah tertentu, ketik "core show help ". Untuk memulai PBX menggunakan kartu suara Anda, Anda dapat mengetikkan "console dial" untuk memutar PBX. Kemudian Anda dapat menggunakan "jawaban konsol", "konsol hangup", dan "dial konsol" untuk menyimulasikan tindakan telepon. Ingatlah bahwa jika Anda tidak memiliki kartu suara dupleks penuh (dan Asterisk akan memberi tahu Anda di suatu tempat dalam pesan verbose jika Anda memiliki/tidak) maka kartu tersebut tidak akan berfungsi dengan baik (belum).
"man asterisk" pada prompt perintah Unix/Linux akan memberi Anda informasi rinci tentang cara memulai dan menghentikan Asterisk, serta semua opsi baris perintah untuk memulai Asterisk.
Jangan ragu untuk melihat file konfigurasi di /etc/asterisk
, di mana Anda akan menemukan banyak informasi tentang apa yang dapat Anda lakukan dengan Asterisk.
Semua file konfigurasi Asterisk memiliki format yang sama. Komentar dibatasi oleh ';' (karena '#' tentu saja, sebagai digit DTMF, dapat muncul di banyak tempat). File konfigurasi dibagi menjadi beberapa bagian yang namanya muncul di []'s. Setiap bagian biasanya berisi dua jenis pernyataan, yang berbentuk 'variabel = nilai', dan yang berbentuk 'objek => parameter'. Secara internal penggunaan '=' dan '=>' sama persis, jadi keduanya hanya digunakan untuk membantu membuat file konfigurasi lebih mudah dipahami, dan tidak memengaruhi cara penguraiannya.
Entri dalam bentuk 'variabel=nilai' menetapkan nilai beberapa parameter dalam tanda bintang. Misalnya, di chan_dahdi.conf, seseorang dapat menentukan:
switchtype=national
Untuk menunjukkan kepada Asterisk bahwa sakelar yang mereka sambungkan bertipe "nasional". Secara umum, parameter akan berlaku pada instanisasi yang terjadi di bawah spesifikasinya. Misalnya, jika file konfigurasi berbunyi:
switchtype = national
channel => 1-4
channel => 10-12
switchtype = dms100
channel => 25-47
Tipe sakelar "nasional" akan diterapkan pada saluran satu hingga empat dan saluran 10 hingga 12, sedangkan tipe sakelar "dms100" akan diterapkan pada saluran 25 hingga 47.
"Objek => parameter" membuat instance objek dengan parameter yang diberikan. Misalnya, baris "saluran => 25-47" membuat objek untuk saluran 25 hingga 47 pada kartu, memperoleh pengaturan dari variabel yang ditentukan di atas.
Mereka yang menggunakan telepon SIP harus menyadari bahwa Asterisk sensitif terhadap lompatan waktu yang besar. Mengubah waktu sistem secara manual menggunakan tanggal(1) (atau perintah serupa lainnya) dapat menyebabkan kegagalan registrasi SIP dan proses internal lainnya. Jika sistem Anda tidak dapat menyimpan waktu akurat dengan sendirinya, gunakan NTP untuk menjaga jam sistem tetap tersinkronisasi ke "waktu nyata". NTP dirancang untuk menjaga jam sistem tetap tersinkronisasi dengan mempercepat atau memperlambat jam sistem hingga disinkronkan ke "waktu nyata" daripada melompati waktu dan menyebabkan diskontinuitas. Sebagian besar distribusi Linux menyertakan versi NTP yang telah dikompilasi. Waspadalah terhadap beberapa metode sinkronisasi waktu yang mendapatkan waktu nyata yang benar secara berkala dan kemudian mengatur jam sistem secara manual.
Perubahan waktu yang nyata karena waktu musim panas hanya sebatas itu saja. Penggunaan waktu musim panas di sistem Linux murni masalah antarmuka pengguna dan tidak mempengaruhi pengoperasian kernel Linux atau Asterisk. Jam sistem pada kernel Linux beroperasi pada UTC. UTC tidak menggunakan waktu musim panas.
Perhatikan juga bahwa masalah ini terpisah dari pencatatan jam kerja saluran TDM, dan diketahui setidaknya memengaruhi registrasi SIP.
Bergantung pada ukuran sistem dan konfigurasi Anda, Asterisk dapat menggunakan deskriptor file dalam jumlah besar. Di UNIX, deskriptor file digunakan lebih dari sekedar file di disk. Deskriptor file juga digunakan untuk menangani komunikasi jaringan (misalnya panggilan SIP, IAX2, atau H.323) dan akses perangkat keras (misalnya perangkat keras trunk analog dan digital). Asterisk mengakses banyak file di disk untuk segala hal mulai dari informasi konfigurasi hingga penyimpanan pesan suara.
Kebanyakan sistem membatasi jumlah deskriptor file yang dapat dibuka Asterisk pada satu waktu. Hal ini dapat membatasi jumlah panggilan simultan yang dapat ditangani sistem Anda. Misalnya, jika batasnya ditetapkan pada 1024 (nilai default umum) Asterisk dapat menangani sekitar 150 panggilan SIP secara bersamaan. Untuk mengubah jumlah deskriptor file, ikuti petunjuk untuk sistem Anda di bawah ini:
Jika sistem Anda menggunakan PAM (Pluggable Authentication Modules) edit /etc/security/limits.conf
. Tambahkan baris ini ke bagian bawah file:
root soft nofile 4096
root hard nofile 8196
asterisk soft nofile 4096
asterisk hard nofile 8196
(sesuaikan angkanya sesuai selera). Anda mungkin perlu me-reboot sistem agar perubahan ini diterapkan.
Jika tidak ada instruksi khusus yang disesuaikan dengan sistem Anda di atas, Anda dapat mencoba menambahkan perintah ulimit -n 8192
ke skrip yang memulai Asterisk.
Lihat direktori doc untuk dokumentasi lebih lanjut tentang berbagai fitur. Sekali lagi, harap baca semua contoh konfigurasi yang menyertakan dokumentasi opsi konfigurasi.
Terakhir, Anda mungkin ingin mengunjungi situs dukungan dan bergabung dengan milis jika Anda tertarik untuk mendapatkan informasi lebih lanjut.
Selamat datang di komunitas pengguna Asterisk yang terus berkembang di seluruh dunia!
Mark Spencer, and the Asterisk.org development community
Asterisk adalah merek dagang dari Sangoma Technologies Corporation