เทคนิคการตัดตัวเลขออกจากเบอร์โทรศัพท์

Asterisk Opensource IP Pbx

เทคนิคการตัดตัวเลขออกจากเบอร์โทรศัพท์

โพสต์โดย nuiz » 04 ก.ย. 2022 19:45

พอดีต้องใช้ฟีเจอร์แบบนี้ครับ เขียนไว้กันลืม
ไม่ว่าจะเป็นเบอร์ Extension หรือเบอร์ปลายทาง หรือเบอร์ต้นทางก็แล้วแต่ เราสามารถตัดตัวเลขออกจากเบอร์ได้นะครับ เขามีศัพท์เรียกด้วยนะว่า Digit Manipulation ฟอร์แม็ตของมันคือ

${variable[:skip[:length]}

โดยที่
variable คือชื่อตัวแปร เช่น CALLERID(number) เป็นต้น
skip ตัดเลขข้างหน้าออกกี่ตัว เช่น 0 คือไม่ต้องตัด 1 คือตัดออก 1 หลัก 2 คือตัดออก 2 หลัก เป็นต้น ถ้ามีค่าเป็น - เช่น -1 หมายถึง เอาเฉพาะตัวเลข 1 หลักสุดท้าย หรือ -2 คือเอาเฉพาะ 2 หลักสุดท้าย อย่างนี้เป็นต้นครับ
length หลังจากตัดเลขข้างหน้าออกไปแล้ว เลขที่เหลือจะเอากี่หลัก เช่น ${CALLERID(number):0:2} หมายถึง ไม่ต้องตัดข้างหน้าออก ให้เอามา 2 หลัก หรือ ${CALLERID(number):1:4} หมายถึง ตัดเลขข้างหน้าออก 1 หลัก ที่เหลือเอามาแค่ 4 หลัก ข้างหน้านะ ไม่ใช่ข้างหลัง

ยกตัวอย่างเช่น ผมมีเบอร์ Caller ID 023456789 ต้องการตัด 0 ข้างหน้าออก ก็เขียนแบบนี้ครับ

exten => _X.,1,Set(CALLERID(number)=${CALLERID(number):1}

ก็จะได้ ${CALLERID(number)} ใหม่คือ 23456789


เขียน Context เต็มๆก็จะได้ประมาณนี้ครับ หน้าที่มันคือตัด 0 ข้างหน้า CALLERID ออก

[strip-zero]
exten => s,1,Set(CALLERID(number)=${CALLERID(number):0}
exten => s,n,Return
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 7058
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

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

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

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

cron