Memblokir Panggilan Keluar Dari Ekstensi Tertentu

Gara-gara ada thread https://asterisk.id/t/membatasi-call-out-berdasarkan-ext/195/12, saya jadi ingat script untuk membatasi panggilan keluar dari ekstensi tertentu sebelum ada module Custom Context di FreePBX. Setelah dicari-cari akhirnya ketemu juga dan perlu saya tulis di sini supaya tidak lupa cara ini. Mungkin lain waktu ada IP PBX yang butuh workaround karena tidak dimungkinkan memasang Custom Context. Dan jujur sih, sebenarnya saya juga belum mencoba module satu itu. Jadi untuk sementara pakai cara berikut sepertinya lebih cepat.

  • Edit file /etc/asterisk/extensions_custom.conf melalui menu PBX -> PBX Confguration -> Tools -> Asterisk File Editor. Lalu tambahkan baris:
[from-internal-restricted]
#exec /var/lib/asterisk/bin/restricted.sh
  • Setelah itu edit file /etc/asterisk/asterisk.conf dan tambahkan baris:
execincludes = yes
  • Buat file shell script /var/lib/asterisk/bin/restricted.sh yang isinya:
#!/bin/bash
numbers=/etc/asterisk/whitelist
awk '/^;/{f=0} f{print} /^\[from-internal-additional\]/{f=1}' /etc/asterisk/extensions_additional.conf |grep -v "include => outbound-allroutes"
while read number comments; do
echo "exten => $number,1,Dial(Local/$number@from-internal)"
done < "$numbers"

File /etc/asterisk/whitelist berisi daftar nomer telpon dengan format nomertelpon keterangan. Misal: 14045 McDonald. Variabel numbers akan menyimpan daftar nomer telepon dengan keterangannya, yang kemudian akan dibaca oleh:

while read number comments; do ... done < "$numbers"

Sedangkan baris perintah awk akan mengeluarkan semua context yang digunakan untuk ekstensi internal, dengan pengecualian context outbound-allroutes. Setelah diedit, simpan file tersebut lalu ubah menjadi executable :

chmod + x /var/lib/asterisk/bin/restricted.sh
  • Buat file /etc/asterisk/whitelist dengan isi (misal) seperti berikut:
147 CSTelkom
14045 McDonald
113 Damkar
110 Polisi
108 Informasi
  • Masuk ke menu Web GUI dan cari ekstensi yang akan kita blacklist untuk tidak bisa menggunakan outbound PSTN call. Klik ekstensi tersebut, lalu pada bagian Device Options, pada parameter context, isikan "from-internal-restricted" seperti di bawah ini:

restricted

  • Test panggilan dari ekstensi yang diberlakukan context from-internal-restricted ke nomer luar, lalu bandingkan dengan panggilan yang sudah dimasukkan ke whitelist.

 

2 thoughts on “Memblokir Panggilan Keluar Dari Ekstensi Tertentu”

  1. Rahmat Aprisal

    assalamu’alaikum..
    bang godril,,,, tolong buatin tutorial dong bagaimana cara untuk blokir extention call keluar dan hanya bisa ke extention saja..
    maklum bang… belajar otodidak
    mudah2an tambah berkah ilmunya…
    terimakasih sebelumnya…

Leave a Comment

Your email address will not be published. Required fields are marked *