เทคนิคการใช้งานคำสั่ง NoCDR ใน Asterisk Dialplan ครับ

Asterisk Opensource IP Pbx

เทคนิคการใช้งานคำสั่ง NoCDR ใน Asterisk Dialplan ครับ

โพสต์โดย nuiz » 04 มี.ค. 2020 16:05

จากบทความนี้นะครับ เทคนิคการสร้างและกำหนดค่าตัวแปรใน PHP-AGI เพื่อนำมาใช้ใน Asterisk Dialplan

มี Case หนึ่งครับ ผมเขียน Script ดักจับเบอร์ปลายทางไว้ ให้เช็คว่าเบอร์ปลายทางนี้โทรได้หรือไม่ได้ ซึ่งสคริปต์มันก็ทำงานได้ตามปกตินะครับ แต่พอสคริปต์มันบล๊อคไม่ให้โทรออก ใน Reports > CDR Reports บน Issabel มันแสดงเบอร์ปลายทางเป็น chkcall ตามรูปนี้ครับ

รูปภาพ

ผมอยากจะไม่ให้ Asterisk สร้าง CDR กรณีที่เบอร์ถูกบล๊อค ผมต้องใช้คำสั่ง NoCDR() ครับ ด้านล่างนี้เป็นตัวอย่างการใช้งานครับ

สคริปต์ผมจะสร้างตัวแปร LET_CALL_OUT ถ้ามีค่าเป็น 0 แสดงว่าไม่ให้โทรครับ (บล๊อค) ต่อมาก็สร้าง Dial Plan


[from-internal]
...
exten => chkcall,n,ExecIf($["${LET_CALL_OUT}" = "0"]?Macro(outisbusy-2,))
...

ถ้าเบอร์ถูกบล๊อคก็จะไม่มี CDR แล้วครับ

เพิ่มเติมครับ... ผมว่าเบอร์ที่ถูกบล๊อคน่าจะโชว์ใน CDR ด้วยครับ โดยอาจจะส่ข้อความ blocked ไว้ในฟิลด์ที่ว่างๆอยู่ อย่างเช่นฟิลด์ "Accountcode" ครับ ไว้เป็นเฟสต่อไปครับ
[macro-outisbusy-2]
...
exten => s,n,NoCDR
exten => s,n,Hangup
...


เทคนิคการใช้งาน Issabel
เทคนิคการใช้งาน Elastix
เทคนิคการใช้งาน Asterisk
เทคนิคการใช้งาน FreePBX
เทคนิคการคอนฟิก Elastix/Issabel ให้ทำงานเป็น Time Server
ตัวอย่างการใช้งาน Action URL บน Grandstream IP Phone
รวมเทคนิคการใช้งาน PHP-AGI
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 6993
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

ย้อนกลับไปยัง Asterisk SIP Server

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 3 ท่าน