{"id":300,"date":"2016-03-13T00:06:07","date_gmt":"2016-03-12T17:06:07","guid":{"rendered":"http:\/\/www.otakudang.org\/?p=300"},"modified":"2016-11-02T00:16:11","modified_gmt":"2016-11-01T17:16:11","slug":"memblokir-panggilan-keluar-dari-ekstensi-tertentu","status":"publish","type":"post","link":"https:\/\/www.otakudang.org\/?p=300","title":{"rendered":"Memblokir Panggilan Keluar Dari Ekstensi Tertentu"},"content":{"rendered":"<p>Gara-gara ada thread <a href=\"https:\/\/asterisk.id\/t\/membatasi-call-out-berdasarkan-ext\/195\/12\">https:\/\/asterisk.id\/t\/membatasi-call-out-berdasarkan-ext\/195\/12<\/a>, 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.<\/p>\n<ul>\n<li>Edit file \/etc\/asterisk\/extensions_custom.conf melalui menu <strong>PBX -&gt; PBX Confguration -&gt; Tools -&gt; Asterisk File Editor<\/strong>. Lalu tambahkan baris:<\/li>\n<\/ul>\n<pre>[from-internal-restricted]\r\n#exec \/var\/lib\/asterisk\/bin\/restricted.sh<\/pre>\n<ul>\n<li>Setelah itu edit file\u00a0<strong>\/etc\/asterisk\/asterisk.conf<\/strong>\u00a0dan tambahkan baris:<\/li>\n<\/ul>\n<pre>execincludes = yes<\/pre>\n<ul>\n<li>Buat file shell script\u00a0<strong>\/var\/lib\/asterisk\/bin\/restricted.sh<\/strong>\u00a0yang isinya:<\/li>\n<\/ul>\n<pre lang=\"bash\">#!\/bin\/bash\r\nnumbers=\/etc\/asterisk\/whitelist\r\nawk '\/^;\/{f=0} f{print} \/^\\[from-internal-additional\\]\/{f=1}' \/etc\/asterisk\/extensions_additional.conf |grep -v \"include => outbound-allroutes\"\r\nwhile read number comments; do\r\necho \"exten => $number,1,Dial(Local\/$number@from-internal)\"\r\ndone < \"$numbers\"<\/pre>\n<p style=\"padding-left: 30px;\">File <strong>\/etc\/asterisk\/whitelist<\/strong> berisi daftar nomer telpon dengan format <em>nomertelpon keterangan<\/em>. Misal: 14045 McDonald<strong>. <\/strong>Variabel <em>numbers <\/em>akan menyimpan daftar nomer telepon dengan keterangannya, yang kemudian akan dibaca oleh:<\/p>\n<p style=\"padding-left: 30px;\"><em>while read <strong>number comments<\/strong>; do ... done &lt; \"$numbers\"<\/em><\/p>\n<p style=\"padding-left: 30px;\">Sedangkan baris perintah <em>awk<\/em> akan mengeluarkan semua context yang digunakan untuk ekstensi internal, dengan pengecualian context <em><strong>outbound-allroutes<\/strong><\/em>. Setelah diedit, simpan file tersebut lalu ubah menjadi <em>executable <\/em>:<\/p>\n<pre lang=\"bash\">chmod + x \/var\/lib\/asterisk\/bin\/restricted.sh<\/pre>\n<ul>\n<li>Buat file <strong>\/etc\/asterisk\/whitelist<\/strong> dengan isi (misal) seperti berikut:<\/li>\n<\/ul>\n<pre>147 CSTelkom\r\n14045 McDonald\r\n113 Damkar\r\n110 Polisi\r\n108 Informasi<\/pre>\n<ul>\n<li>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\u00a0<strong>Device Options<\/strong>, pada parameter\u00a0<strong>context<\/strong>, isikan \"<strong>from-internal-restricted<\/strong>\" seperti di bawah ini:<\/li>\n<\/ul>\n<p style=\"padding-left: 30px;\"><a href=\"http:\/\/www.otakudang.org\/wp-content\/uploads\/2016\/03\/restricted.png\" rel=\"attachment wp-att-302\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-302\" src=\"http:\/\/www.otakudang.org\/wp-content\/uploads\/2016\/03\/restricted.png\" alt=\"restricted\" width=\"672\" height=\"346\" srcset=\"https:\/\/www.otakudang.org\/wp-content\/uploads\/2016\/03\/restricted.png 672w, https:\/\/www.otakudang.org\/wp-content\/uploads\/2016\/03\/restricted-300x154.png 300w\" sizes=\"auto, (max-width: 672px) 100vw, 672px\" \/><\/a><\/p>\n<ul>\n<li>Test panggilan dari ekstensi yang diberlakukan context <em>from-internal-restricted <\/em>ke nomer luar, lalu bandingkan dengan panggilan yang sudah dimasukkan ke <em>whitelist<\/em>.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.otakudang.org\/?p=300\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Memblokir Panggilan Keluar Dari Ekstensi Tertentu&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-300","post","type-post","status-publish","format-standard","hentry","category-asterisk","entry"],"_links":{"self":[{"href":"https:\/\/www.otakudang.org\/index.php?rest_route=\/wp\/v2\/posts\/300","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.otakudang.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.otakudang.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.otakudang.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.otakudang.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=300"}],"version-history":[{"count":11,"href":"https:\/\/www.otakudang.org\/index.php?rest_route=\/wp\/v2\/posts\/300\/revisions"}],"predecessor-version":[{"id":401,"href":"https:\/\/www.otakudang.org\/index.php?rest_route=\/wp\/v2\/posts\/300\/revisions\/401"}],"wp:attachment":[{"href":"https:\/\/www.otakudang.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=300"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.otakudang.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=300"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.otakudang.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=300"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}