Saya bicara soal Asterisk. Setelah sukses instalasi Asterisk (baik itu vanilla, Briker, Elastix, PIAF, Trixbox atau yang distribusi Linux yang lain), maka buru-buru kita add extensions beberapa buah, meregistrasikan minimal 2 SIP softphone (atau 2 IP phone) lalu mencoba dial untuk melihat apakah sesama extension dapat saling telepon.
Apabila anda melakukan uji coba diatas ini dalam lingkungan yang sederhana dan ideal yaitu dengan 1 server Asterisk dan 2 PC dalam 1 LAN, biasanya 2 softphone itu langsung bisa saling kring dan ngobrol. Sukses mudah diperoleh pada kondisi ini. Tentu lain soal bila anda tidak mengerti Asterisk atau distro VoIP yang saya sebutkan diatas, pada situasi ini biasanya hal kecil dan relatif mudah saja bisa menjadi hambatan besar untuk sukses.
Untuk memahami apa yang saya tulis pada artikel ini maka anda perlu minimal berada pada 3 situasi dibawah ini:
- Pernah melakukan instalasi Asterisk atau distro yang saya tulis diatas
- Pernah benar-benar menggunakannya, baik untuk iseng saja, untuk belajar atau serius
- Pernah terbentur suatu masalah dan tidak tahu harus periksa apa, yang mana dulu dan bagaimana. Bahkan bingung harus laporan apa.
Untuk poin 1, saya sarankan anda cari manual instalasi Asterisk. Sekarang sudah banyak yang menulisnya, dan dalam Bahasa Indonesia pula 🙂 Atau lebih cepat lagi anda dapat lakukan instalasi distro Asterisk seperti Briker (manuals) atau Elastix (manuals).
Untuk poin 2, cobalah menggunakan Briker pada kondisi ideal (1 server, 2 PC dalam 1 LAN). Pasti langsung sukses.
Untuk poin 3, setelah sukses di poin 2 maka gunakan instalasi Briker itu untuk telepon ke account VoIP Rakyat atau telepon nomor 901 di VoIP Rakyat. Anda bisa juga coba-coba dial nomor PSTN walaupun belum melakukan konfigurasi apa-apa. Dijamin menemui kegagalan bila anda tidak fasih konfigurasi Asterisk atau Briker/Elastix.
Duh kok ga konek nih ?
Kalo sudah pernah kepentok kalimat ini, mari lanjut baca 🙂
Siapkan peralatan debug sederhana. Tidak banyak, hanya 2 item, yaitu:
- Full log Asterisk
- Install ngrep
Full log Asterisk
Aktivasi log dengan level debug full khusus digunakan saat testing and debugging saja, hal ini karena saat log level debug full diaktifkan maka hampir seluruh kegiatan yang terjadi dicatat dalam file log atau ditampilkan di layar. Kegiatan ini menyebabkan penurunan kinerja Asterisk, tetapi penurunan ini hanya terjadi apabila Asterisk anda memang digunakan untuk menangani jumlah user dan concurrent call (panggilan bersamaan) yang cukup besar, atau server yang anda gunakan spesifikasinya kurang memadai.
Walaupun ada warning diatas pada banyak kesempatan saya tetap mengaktifkan log level debug full, karena menurut saya overall tidak begitu ngaruh dengan kualitas suara maupun kuantitas panggilan yang ditangani bersamaan.
Pesan saya: “jangan nekad”. Anda harus paham betul situasi dan paham betul skala implementasi Asterisk-nya. Coba saja dulu, begitu ada komplen harus langsung matikan log level debug full dan hanya log yang dibutuhkan saja.
Yang jelas aktifkan log level debug full apabila anda perlu mengetahui apa yang terjadi. Mengapa anda gagal konek misalnya.
Tahapan aktivasi log level debug full:
- Edit /etc/asterisk/logger.conf
- Tambahkan baris berikut dibagian bawah logger.conf, dibawah context [logfiles]:
full => notice,warning,error,debug,verbose
- Simpan perubahan pada logger.conf
- Reload Asterisk untuk mengaktifkan perubahan pada logger.conf
asterisk -r logger reload
Selanjutnya aktivitas log dapat dilihat pada file log /var/log/asterisk/full.
Cara terbaik memanfaatkan log file adalah dengan menjalankan tail sambil melakukan aktivitas yang sedang diselidiki.
Misal, kita sedang menyelidiki mengapa panggilan ke PSTN gagal, maka jalankan tail pada file log lalu lakukan panggilan ke PSTN sebanyak 1 kali saja, setelah itu Control+C pada tail agar berhenti.
tail - f /var/log/asterisk/full -n0 | tee log-pstn.txt
Perintah diatas akan membaca file log dan mencatatnya di file log-pstn.txt. Analisa apa yang ada pada file log-pstn.txt tersebut, dan apabila menemui kesulitan maka anda dapat kirimkan ke saya atau ke yang anda anggap lebih mengerti.
Install ngrep
Tidak jarang informasi yang tercatat dalam file log, bahkan setelah level debug full diaktifkan, tidak menjawab persoalan yang sedang diselidiki.
Kembali ke contoh soal, anda sedang menyelidiki mengapa panggilan ke PSTN pada Asterisk, dari softphone yang anda gunakan, gagal. Hasil analisa file log menunjukkan bahwa panggilan gagal karena SIP channel tidak dapat dibuat, atau terdapat pesan Congestion. Apa yang menyebabkan Congestion ini pada beberapa kasus tidak tercatat pada file log.
Apabila kondisi ini yang anda temui maka sudah waktunya anda memanfaatkan ngrep untuk memantau paket-paket SIP.
Instalasi ngrep cukup mudah, anda dapat gunakan apt-get:
apt-get install ngrep
Cara mudah menjelaskan ngrep adalah dengan contoh soal.
Kasus 1: IP Asterisk anda adalah 192.168.56.45 pada eth0, SIP channel aktif pada port 5060 UDP.
Begini cara memantaunya:
nrep -p -q -W byline -d eth0 udp port 5060
Kasus 2: Seperti pada kasus 1, hanya saja yang ingin anda pantau adalah paket-paket SIP yang berasal atau menuju IP tertentu yaitu IP salah satu extension, IP 192.168.56.81
Begini cara memantaunya:
ngrep -p -q -W byline udp port 5060 and src 192.168.56.81
Kasus 3: Kali ini analisa perlu dilakukan belakangan karena satu dan lain hal, yang anda butuhkan adalah hasil ngrep disimpan pada sebuah file, misal log-sip.txt.
Begini cara menyimpannya:
ngrep -p -q -W byline udp port 5060 > log-sip.txt
File log-sip.txt ini dapat anda baca untuk analisa lebih lanjut, atau anda kirimkan ke yang anda anggap lebih mengerti. Apa yang tersimpan pada file tersebut adalah apa yang ngrep tangkap dengan kriteria yang diberikan padanya. Perlu ketelitian dan pemahaman pada protokol SIP agar benar-benar memahami hasil ngrep.
Kesimpulan
Instalasi dan konfigurasi yang anda lakukan tidak selamanya bebas dari masalah. Mengaktifkan log dengan level debug full dan menggunakan ngrep adalah cara yang cukup mudah dilakukan untuk mengumpulkan informasi dan membantu kita menemukan jawaban atas permasalah yang ditemui. Paling tidak informasi yang terkumpul ini dapat anda serahkan pada yang lebih mengerti untuk dianalisa dan mereka akan berterima-kasih karena informasi yang diberikan cukup jelas. Pada banyak kesempatan informasi dari log file dengan level debug full dan ngrep langsung dapat menjelaskan apa masalahnya sekaligus rekomendasi perbaikannya.
Jujur, tidak mudah memahami isi file-file log ini, apalagi ketika jumlahnya banyak, barisnya banyak dan file nya besar. Tambah lagi apabila anda tidak disiplin, misal harusnya dilakukan uji coba sekali saja, tetapi anda lakukan berkali-kali dan anda kumpulkan pada 1 file saja, alhasil file log nya menjadi besar dan terkumpul beberapa kejadian di dalamnya.
Saran saya bagi yang belum pernah mencoba debug Asterisk: “Tidak perlu gentar”.
Coba saja dulu. Error, kesalahan atau permasalahan, biasanya langsung terlihat dengan membacanya secara hati-hati. Perhatikan IP, nomor port, pesan-pesan yang terkandung pada file-file log tersebut.
Insya Allah, dikesempatan lain akan dibahas tips bagaimana membaca log tersebut, bukan hanya cara mengumpulkan informasinya saja.
Sangat membantu pak anton artikelnya, tapi saya masih bingung pak terkait pertanyaan saya tempo hari via FB tentang memasang 2 buah line PSTN dan membedakan jalur inbound routenya, klo boleh bisa konsultasi pak sambil ngopi2 aja gitu :), keliatannya kantor kita deketan pak 🙂
Silakan 🙂 tp saya lebih sering diluar kantor, skrg lg di setiabudi building
Bisa minta no kontaknya mas, bisa kirim ke imam—@—
Terima kasih mas