Kali ini saya sedang development( atau lebih tepatnya sedang belajar) asterisk di FreePBX untuk keperluan VoIP server yang nantinya akan digunakan sebagai server produksi. Semenjak awal instalasi FreePBX saya merasakan kejanggalan yang dimana asterisk(FreePBX web GUI) selalu tidak dapat melakukan sambungan terhadap asterisk yang dimana pada saat itu service asterisk sedang berjalan. Ah, saya pikir itu hal kecil yang bisa diselesaikan dengan chown folder yang bersangkutan.
Tapi, kok rasanya masalah ini sering terjadi? Ada apa? Apakah ada yang saya lewatkan dalam melakukan konfigurasi? Saat itu, saya belum bisa menjawab dan masih dengan cara yang sama pada paragraf diatas untuk menyelesaikan masalah.
Dan masalah itu terjadi lagi ketika saya akan melakukan konfigurasi untuk a2billing**. **Ah, saya rasa ini kayaknya memang masalah yang mesti diselesaikan. Asterisk tidak bisa melakukan sambungan setiap kali server direstart karna ternyata ownership pada folder yang bersangkutan selalu berubah ownership menjadi root:root yang dimana itu menyebabkan asterisk pada FreePBX gui tidak dapat melakukan sambungan karna tidak memiliki hak akses untuk menjalankan service dan itu juga terjadi ketika saya menambahkan extension untuk SIP pada FreePBX yang mengakibatkan asterisk tidak dapat melakukan penulisan data terhadap konfigurasi file dan asterisk data. Contoh saat menambahkan chan_SIP extensiondan melakukan apply config pada FreePBX seperti pada gambar dibawah ini :
Bila kita lihat permission pada folder /var/run/asterisk/ akan seperti berikut :
[root@localhost ~]# ls -al /var/run/asterisk/
total 4
drwxr-xr-x 2 root root 80 Jan 17 15:11 .
drwxr-xr-x 31 root root 940 Jan 17 13:08 ..
srwxr-xr-x 1 root root 0 Jan 17 15:11 asterisk.ctl
-rw-r--r-- 1 root root 5 Jan 17 15:11 asterisk.pid
Nah, asterisk.ctl mempunyai hak akses dan group root sedangkan hak akses pada FreePBX web gui adalah asterisk. Itu menyebabkan tidak dapatnya melakukan penambahan data pada konfigurasi file sip di asterisk. Untuk menyelesaikan masalah seperti diatas kita cukup melakukan modifikasi pada file /etc/asterisk/asterisk.conf dan tambahkan seperti berikut:
[files]
astctlpermissions=770
astctlowner=asterisk
astctlgroup=asterisk
Lalu, restart asterisk service yang sedang berjalan
[root@localhost ~]# /etc/init.d/asterisk stop
[root@localhost ~]# /etc/init.d/asterisk start
Dan bisa kita lihat bahwa folder /var/run/asterisk/ sudah berganti hak akses dari user dan group root menjadi asterisk seperti berikut :
[root@localhost ~]# ls -al /var/run/asterisk/
total 4
drwxr-xr-x 2 root root 80 Jan 17 15:25 .
drwxr-xr-x 31 root root 940 Jan 17 13:08 ..
srwxrwx--- 1 asterisk asterisk 0 Jan 17 15:25 asterisk.ctl
-rw-r--r-- 1 root root 5 Jan 17 15:25 asterisk.pid
Dengan ini tidak akan terjadi masalah lagi unable to connect terhadap remote asterisk yang sedang berjalan karna kita sudah melakukan konfigurasi yang sesuai dengan hak akses yang dibutuhkan dan ownership dari folder tersebut akan menjadi asterisk walaupun melakukan restart server. Akhir kata, saya berharap artikel ini bisa bermanfaat
Referensi: