by default setiap extension di freepbx menggunakan context bawaan namanya from-internal
from-internal ini punya akses ke banyak dialplans, mudahnya dia punya akses nelpon kemana saja
dg custom context maka kita bs bikin context sendiri selain from-internal yg bs dibatasi hanya mengaktifkan bbrp dialplan saja, misal hanya bs ext local tp ga bs outbound etc
install custom context di freepbx nya, caranya bisa googling dulu, pasti ada
Halo… sekedar menambahi saja informasi dari mas @anton dan yang sudah ditemukan oleh mas @MASTERING_VOIP, beberapa instalasi FreePBX distro lain terkadang tidak ada module custom-context. Untuk workaroundnya bisa dibuat Custom context dengan cara seperti ini:
Edit file /etc/asterisk/extensions_custom.conf dan tambahkan baris:
#exec /var/lib/asterisk/bin/restricted.sh```
2. Setelah itu edit file /etc/asterisk/asterisk.conf dan tambahkan baris:
```execincludes = yes```
3. 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"```
4. Lalu jadikan executeable dengan perintah: chmod +x /var/lib/asterisk/bin/restricted.sh
5. Buat file whitelist di /etc/asterisk/whitelist. Lalu tambahkan semua nomer telpon yang kita whitelist ke dalam file ini sehingga bisa ditelpon dari ekstensi yang diberlakukan context from-internal-restricted, misal:
```08123456789 Ade
081811223344 Mustafa
147 CSTELKOM
14045 McDonald
14041 CimbNiaga```
Cantumkan nomer telpon dengan keterangan di sebelahnya dibatasi spasi.
6. Masuk ke menu Web GUI dan cari ekstensi yang akan kita blacklist untuk tidak bisa menggunakan outbound PSTN call. Misal ekstensi 26, klik ekstensi tersebut, lalu pada bagian Device Options, pada parameter context, tambahkan "-restricted" di belakang "from-internal" seperti di bawah ini:
<img src="/uploads/default/original/1X/a048ffc1a58c7a463d7f6c079100836203f3a50c.png" width="672" height="346">
Lakukan panggilan dari nomer ekstensi yang diberlakukan restrict, dan test ke nomer telepon yang masuk ke whitelist dan yang tidak.
Selamat mencoba!
4001 sudah saya set context=from-internal-restricted
kemudian di whitelist sudah saya tambahkan 4001
[root@localhost bin]# vim /etc/asterisk/whitelist
4001
Kemudian saya coba call ke pstn/gsm (sudah terhubung ke SIP TRUNK PSTN), namun tidak bisa call
[2016-03-11 15:30:17] NOTICE[2041]: chan_sip.c:23613 handle_request_invite: Call from ‘4001’ (XXX.XXX.XXX.XXX:22514) to extension ‘2016081287264002’ rejected because extension not found in context ‘from-internal-restricted’.
OOOOOOIYAAAAAAA… waktu copypaste kayaknya lolos blockingnya. Terima kasih banyak mas @asoka !
Dan saya juga ternyata salah keterangan. Nomer whitelist yang dimaksud adalah nomer telepon luar yang boleh diakses dari ekstensi yang diberlakukan context restrict. Karena bagaimanapun juga nomer extensi tersebut perlu menelpon keluar ke beberapa nomer, misal nomer panggilan pemadam kebakaran, polisi, atau delivery makanan. Maklum… ini sekrip sudah lama sekali sampai lupa kalo punya sekrip itu sampai dengan ada thread ini. Selamat mencoba lagi mas. Postingan saya di atas sudah saya edit.
Biasanya elastix untuk default extension menggunakan context from-internal, dan include context from-internal-custom , coba bapak buat dialplan context from-internal-custom di file /etc/asterisk/extensions_custom.conf yang isinya seperti ini :
[from-internal-custom]
exten => _0822X.,1,NoOp(Block call pattern 0822)
same => n,Playtones(busy)
same => n,Busy(20)
same => n,Hangup
Pastikan semua extension menggunakan context from-internal, atau sesuaikan dengan context yang digunakan.
assalamu’alaikum… bang godril… maaf saya baru belajar secara otodidak… kalau nomor 4 ini saya kurang paham maksudnya bagaimana saya buatnya ya…
terimakasih sebelumnya