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

Asterisk Opensource IP Pbx

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

โพสต์โดย nuiz » 02 มี.ค. 2019 20:29

พอดีผมต้องเขียน 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
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 6993
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

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

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

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