หน้า 1 จากทั้งหมด 1

ตัวอย่างการเขียน Dialing Plan เพื่อเช็คข้อมูลใน Asterisk DB

โพสต์โพสต์แล้ว: 02 มี.ค. 2019 20:29
โดย nuiz
พอดีผมต้องเขียน Dial Plan เช็คข้อมูลใน Asterisk Database เพื่อเอามาเป็นพารามิเตอร์ในการโทรครับ นี่คือตัวอย่างที่ผมทำครับ

โค้ด: เลือกทั้งหมด
exten => _0[2-9].,1,Set(DSTNUM=${DB(AMPUSER/${EXTEN:0}/device)})
exten => _0[2-9].,n,ExecIf($["${DSTNUM}" != ""]?Goto(ext-findmefollow,${EXTEN:0},1))
exten => _0[2-9].,n,Set(CALLERID(all)=${DB(AMPUSER/${CALLERID(number)}/outboundcid)})
exten => _0[2-9].,n,AGI(a2billing.php,1)


คำอธิบายของแต่ละบรรทัดเป็นดังนี้ครับ

1. เช็คเบอร์ที่ยูสเซอร์โทร
- ขึ้นต้นด้วย 0 ตามด้วย 2 ถึง 9 กี่หลักก็ได้
- เอาเบอร์ที่ยูสเซอร์โทรมาเช็คใน Database แล้วกำหนดค่าให้ตัวแปรชื่อ DSTNUM
2. ถ้า DSTNUM มีค่า แสดงว่าเบอร์ที่โทรไปเป็นเบอร์ Extension ในระบบ ก็ให้ส่งไปยัง Context ชื่อ ext-findmefollow เพื่อเข้าลูปการโทรของ FreePBX (เครื่องนี้ติดตั้ง FreePBX ครับ)
3. ถ้า DSTNUM ไม่มีค่า แสดงว่าไม่ใช่เบอร์ในระบบ ก็ให้เซ็ต CALLERID ให้เป็นค่าตามที่เซ็ตไว้ใน outboundcid
4. ส่งเข้า a2billing.php เพื่อโทรออกแบบคิดเงินค่าโทร

ก็เวอร์คดีครับ ทำงานอย่างที่ผมต้องการเลย

เปิดบริการ อบรม Elastix ด้วยคอร์สพิเศษ ให้ติดตั้ง คอนฟิกคล่อง ใช้งานคล่อง ได้ใน 3 วัน
เทคนิคการแก้ปัญหาเมื่อ Asterisk ฟ้อง No RTP Engine
เทคนิคการติดตั้ง Asterisk-GUI เพื่อคอนฟิก Asterisk
การเขียน Dialplan เพื่อโอนสายไปยังเบอร์อื่นตามเงื่อนไขการโทร
เทคนิคการดาวน์โหลดไฟล์เสียง mp3 จากเว็บ TTS (ใหม่)
เทคนิคการติดตั้ง Asterisk 16.x + DAHDI 2.11.1 บน CentOS 7
เทคนิคการติดตั้ง Asterisk 15.x + DAHDI 2.11.1 บน CentOS 7