Membatasi Call Out Berdasarkan EXT


(Mastering Voip) #1

Dear Pak Anton,

Apakah ada cara mensetting privileges outbound di freepbx

misal :

ext : 4001 hanya bisa call antara extensions
ext : 4002 bisa call ke gsm only
ext : 4003 bisa call ke pstn & gsm
ext : 4004 bisa call ke SLI only

Jika menggunakan custom context seperti apa yah pak, saya menggunakan freepbx 2.11 asterisk 1.8

Thanks


(Anton Raharja) #2

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


(Mastering Voip) #3

Pak Anton,

OK sudah bisa pak, module tersebut harus di aktifkan dulu di bagian conenctivity:)

Thanks


(godril) #4

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:

  1. 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!

(Mastering Voip) #5

Mantaf Pak Goril tutorialnya, sungguh membantu,

Bisa minta alamat email:) atau telp pak:)


(godril) #6

ini mas Mustafa bukan? kalo iya kemaren sudah diemail.


(Mastering Voip) #7

Pak Godril,

Saya masih kurang paham point 3 dan 5 pak, saya coba jalankan file itu tidak ada outputnya di file /etc/asterisk/whitelist

Contoh default no 5 itu seperti apa pak?

Thanks


(Mastering Voip) #9

Pak Godril,

Saya punya ext 4001, dan 4002

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’.

Masalahnya dimana lagi?


(godril) #10

file script bash nya dieksekusi langsung dari console bisa? ada error ndak?


(Asoka Wardhana) #11

Malam bapak2, itu didepan exec kayanya harus dikasih # deh ?


(godril) #12

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.


(anton purnama) #13

sudah ikuti cara ini tapi setelah coba nelpon ga bisa malah keluar warning “Notfound”


(hanan) #14

saya coba berhasil. thank mas


(Muhammad irvan nur arifin) #15

mas kalo untuk elastix agar tidak bisa menelfon ke nomor berawalan 0822 gimana yah.


(Asoka Wardhana) #16

Halo,

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.


(oki) #17

Maaf untuk point 6 saya masih belum nemu, saya pake freepbx.

Mohon bimbingannya all, agar dapat limit outbound per extensions

Terimakasih


(riezal) #18

assalamu’alaikum… bang godril… maaf saya baru belajar secara otodidak… kalau nomor 4 ini saya kurang paham maksudnya bagaimana saya buatnya ya…
terimakasih sebelumnya