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

รบกวนสอบถามเรื่อง .csv ของ asterisk cdr ครับ

โพสต์โพสต์แล้ว: 11 ก.พ. 2010 16:59
โดย rookie
รูปภาพ

ตามรูปนะครับขอรบกวนด้วยครับคือว่าใน .csv ของผมที่เก็บการโทรนะครับ หากเป็นการตัด 9 เพื่อรอสัญญาณแล้วกดหมายเลขโทรออกระบบจะบันทึกแค่ 9 เท่านั้นครับ
โดยไม่ยอมบันทึกหมายเลขที่ตามหลัง 9 ทำให้ไม่สามารถทราบได้เลยว่า ext ไหนโทรไปไหนหากเป็นการกดโดยที่ 9xxxxxxxxx โดยไม่รอสัญญาณสายนอกจะไม่สามารถโทรออกได้ครับ
ไม่ทราบว่าผมจะแก้ไขปัญหานี้ได้อย่างไรครับ ขอรบกวนด้วยครับ

ขอบคุณครับ

Re: รบกวนสอบถามเรื่อง .csv ของ asterisk cdr ครับ

โพสต์โพสต์แล้ว: 11 ก.พ. 2010 20:12
โดย jubjang95
ผมว่าไฟล์ extensions.conf น่าจะมีอะไรผิดปกติครับ พอยูสเซอร์กด 9xxxxxx ถึงโทรออกไม่ได้ ลองเอามาโพสต์ให้ดูหน่อยก็ดีครับ หรือไม่ก็เข้า asterisk console แล้วก็ดูข้อความที่เห็นบนหน้าจอเวลากด 9xxxxxx

ส่วนสาเหตุที่ไฟล์ cdr บันทึกแค่ 9 ก็เป็นสาเหตุมาจาก asterisk รับรู้แค่ว่ายูสเซอร์กด 9 แต่หลัง 9 ไม่รับรู้แล้วเพราะมันตอบรับ (answer) ไปเรียบร้อยแล้ว มันนึกว่าเป็น voice หน่ะครับ

ผมมีตัวอย่าง Dial Plan ง่ายๆมาฝากครับ

exten => _9X.,1,Dial(DAHDI/g0,30,tT)
exten => _9X.,n,Hangup()

อาจต้องเขียนเพิ่มให้มันตัด 9 ออกก่อน ส่งเฉพาะตัวเลขที่เหลือออกไปทาง DAHDI channel ครับ ตัวอย่าง

[from-internal]
exten => _9X.,1,Goto(from-internal-outbound,${EXTEN:1},1)
exten => _9X.,n,Hangup

[from-internal-outbound]
exten => _X.,1,Dial(DAHDI/g0,45,tT)
exten => _X.,n,Hangup

Re: รบกวนสอบถามเรื่อง .csv ของ asterisk cdr ครับ

โพสต์โพสต์แล้ว: 12 ก.พ. 2010 17:50
โดย rookie
ผมลองอย่างงี้ครับ

exten => _9x.,1,set(${EXTEN})
exten => _9x.,n,DIAL(DAHDI/g0/${EXTEN})

ทำยังไงที่ผมจะตัด 9 ออกครับเพราะตอนนี้มส่งไปหมดเลยทั้ง 9xxxxxxxxx เหอๆคิดทั้งวันเลยคิดไม่ออก ;)
ระบบเลยเข้าใจว่าเรากด 9xxxxxxxxx เลยโทรออกไม่ได้ :cry: เกือบจะได้แล้วแท้ๆ :cry: เอไม่ทราบว่า
ใน asterisk มันตัดคำยังไงอะครับช่วยแนะนำด้วยครับ เสร็จงานนี้ต้องขอเลี้ยงข้าวคุณ jubjang สักมื้อละถามบ่อย
ชักเกรงใจ :D

รบกวนด้วยนะครับ

Re: รบกวนสอบถามเรื่อง .csv ของ asterisk cdr ครับ

โพสต์โพสต์แล้ว: 12 ก.พ. 2010 23:06
โดย jubjang95
ตอนเขียน Dial Plan นี้ ตัว Wildcard ผมใช้แต่ X (ตัว X ใหญ่นะครับ) ไม่เคยลอง x (ตัว x เล็กเลย) ไม่รู้ว่ามีผลทำให้ไม่เวอร์คหรือเปล่า

วิธีการตัด 9 ออก ใช้ Goto ก็ได้ครับ ตัวอย่าง

exten => _9X.,1,Goto(from-internal-outbound,${EXTEN:1},1)
exten => _9X.,n,Hangup

[from-internal-outbound]
exten => _X.,1,Dial(DAHDI/g0,45,tT)
exten => _X.,n,Hangup

โดยที่
${EXTEN:1} ตัวเลข 1 หมายถึงตัดข้างหน้าเบอร์ออก 1 หลัก ซึ่งก็คือ 9 แล้วก็โยนไปที่คอนเท็ค from-internal-outbound ส่วนตัวเลข 1 ตัวสุดท้ายหมายถึงโยนไปที่บรรทัดที่มี priority เป็น 1

ดังนั้นผมลองเทียบกับ Dial Plan ของคุณ rookie ดู ก็จะได้ประมาณนี้อ่ะครับ

exten => _9X.,1,Goto(from-internal-outbound,${EXTEN:1},1)
exten => _9X.,n,Hangup

[from-internal-outbound]
exten => _X.,1,set(${EXTEN})
exten => _X.,n,DIAL(DAHDI/g0/${EXTEN})
exten => _X.,n,Hangup

ลองดูครับ ไม่รู้ว่าจะเวอร์คมั๊ย

Re: รบกวนสอบถามเรื่อง .csv ของ asterisk cdr ครับ

โพสต์โพสต์แล้ว: 13 ก.พ. 2010 17:11
โดย rookie
ได้ละครับ ขอบคุณมักๆเลยครับกว่าจะได้เหอๆ :D