Setting Log File di Elastix untuk troubleshoot

Salah satu file yang membantu saya dalam melakukan troubleshoot IP PBX Elastix adalah /var/log/asterisk/full. Output file ini tergantung dari setting yang ada di dalam file logger_logfiles_custom.conf . Setelah upgrade dari Elastix 2.4 ke 2.5, saya menemukan setup default file logger menjadi:

full => notice,warning,error,debug,verbose

Setting ini tidak terlalu membantu dalam troubleshoot, sehingga harus diubah menjadi:

full => notice,warning,error,debug,verbose(3),dtmf,fax

[stextbox id=”alert”]Untuk mengedit file ini tidak bisa dilakukan dari console shell. Editing harus dilakukan dari webGUI Elastix yang dapat diakses melalui menu PBX -> Tools -> Asterisk File Editor. Jika tidak, maka setiap kali reload config, Elastix akan meng-override semua perubahan yang sudah kita buat.[/stextbox]

Jika ingin menampilkan isi dari SIP packet ke dalam log /var/log/asterisk/full, masuk ke CLI Asterisk (asterisk -vvvr), lalu ketik:

*CLI> sip set debug on

Keluar dari CLI dengan mengetik quit, lalu periksa file log dengan tail -f /var/log/asterisk/full. Kali ini SIP packet akan dimunculkan juga. Untuk mematikan, masuk ke CLI lagi seperti di atas, lalu jalankan perintah:

*CLI> sip set debug off

[Elastix] Akses CDR dan Call Recording Untuk User Tertentu

Untuk keperluan monitoring penggunaan telepon dan rekaman panggilan, sebuah perusahaan memerlukan menambah user tertentu untuk login di WebGUI Elastix. Tapi karena user ini tidak masuk ke group administrator, maka CDR (Call Detail Record) dan call recording yang bisa diakses adalah untuk nomer ekstensi yang terkait dengan user tersebut. Agar supaya user tersebut tetap bisa melihat seluruh CDR dan call recording, yang perlu dilakukan adalah mengedit file /var/www/html/libs/paloSantoACL.class.php, terutama di blok:

[stextbox id=”grey” shadow=”false” image=”null”]function isUserAdministratorGroup($username)
{
$is=false;
$idUser = $this->getIdUser($username);
if($idUser){
$arrGroup = $this->getMembership($idUser);
//$is = array_key_exists(‘administrator’,$arrGroup);
$is = array_search(‘1’, $arrGroup);
}
return $is;
}[/stextbox]

Misalkan user yang kita tambahkan adalah user HRD, maka, tambahkan pada blok tersebut menjadi seperti:

[stextbox id=”grey” shadow=”false” image=”null”]function isUserAdministratorGroup($username)
{
$is=false;
$idUser = $this->getIdUser($username);
if($idUser){
$arrGroup = $this->getMembership($idUser);
//$is = array_key_exists(‘administrator’,$arrGroup);
$is = array_search(‘1’, $arrGroup);

     if(isset($arrGroup[‘HRD’]))
     $is=true;

}
return $is;
}[/stextbox]

Save file dan restart HTTPD untuk memastikan perubahan. Setelah itu login sebagai HRD (dengan asumsi, user HRD sudah disetup memiliki akses ke halaman CDR dan call recording – untuk cara setup tidak akan dibahas di sini), dan seluruh CDR dan call recording sudah bisa dilihat dari user tersebut.

Auth Squid3 Dengan User/Password

Untuk Apa?

Jika kita mengakses proxy dengan ip address yang bisa diprediksi/static/dhcp LAN,  setup ACL menjadi cukup mudah, karena kita tinggal memasukkan src address dari blok ip address yang hendak diperbolehkan mengakses proxy. Menjadi masalah jika kita mengakses dari luar jaringan LAN, dan menggunakan ISP yang melakukan provisioning dengan dynamic ip address. Oleh karena itu ACL dengan source ip address akan merepotkan.

Caranya?

Dengan asumsi Squid3 sudah terinstall (bisa dilakukan dengan perintah apt-get install -y squid3 di Ubuntu), edit file /etc/squid3/squid.conf dengan format konfigurasi:

[stextbox id=”grey” shadow=”false” image=”null”]auth_param basic program /usr/lib/squid3/basic_ncsa_auth <lokasi file penyimpan password>
auth_param basic realm <nama realm – bebas>
acl <nama acl> proxy_auth REQUIRED
http_access allow <nama acl>[/stextbox]

Jadi kira-kira setup di server saya adalah sebagai berikut:

[stextbox id=”grey” shadow=”false” image=”null”]auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords
auth_param basic realm proxy
acl test proxy_auth REQUIRED
http_access allow test[/stextbox]

Lalu buat file password dengan cara sebagai berikut:

htpasswd -c /etc/squid3/passwords godril

Masukkan password baru ketika ditanya password baru, dan konfirmasi sekali lagi. Setelah itu restart Squid:

service squid3 restart

Masukkan konfigurasi ip address dan port proxy ke browser dan browse ke sembarang site. Jika langkah di atas sudah dijalankan dengan benar, maka akan muncul permintaan memasukkan user dan password.

auth