ข้อมูล CDR ที่ GSM VoIP Gateway ผลิตออกมามีทั้งที่โทรติดและโทรไม่ติดนะครับ ไม่สามารถทำให้มันส่งเฉพาะที่โทรติดหรือโทรไม่ติดได้
โปรแกรม Syslog Server ที่ผมว่าไว้ตอนแรก มีทั้งที่รันบน Windows (XP, Vista, 7, 2k3, 2k8) และ Linux ครับ โปรแกรมบน Windows ที่ดังๆก็มี Kiwi Syslog Server (โปรแกรมนี้ไม่ฟรีครับ แต่หาได้จากเว็บแชร์ไฟล์ทั้งหลาย 55+) ตอนท้ายๆผมจะมีตัวอย่างข้อมูล CDR ที่เก็บไว้ใน Kiwi Syslog Server ให้ดูด้วยครับ
1. ตั้งเวลาในเครื่อง GSM VoIP Gateway ให้ตรงกับเวลาปัจจุบัน
ควรจะตั้งเวลาครับ ไม่อย่างนั้นข้อมูลวันที่ เวลา ที่ GSM VoIP Gateway สร้างมันจะไม่ตรงกับเวลาจริง
เมนู "System Configuration" -> "System Configuration"
อาจจะใส่ไอพีของ Time Sever ตามอย่างที่ผมทำให้ดู หรือว่าจะใส่ไอพีอื่นๆแทนก็ได้นะครับ (แต่ต้องเป็น Time Server) อาทิเช่น
118.175.67.83 ของทหารเรือ (time.navy.mi.th)
65.55.21.23 ของ Microsoft (time.windows.com)
** ทำความเข้าใจนิดนึงครับเกี่ยวกับวันที่ เวลา ใน CDR ที่ GSM VoIP Gateway ทำออกมา **
เวลาเราดู CDR ใน Syslog Server เราจะเห็นวันที่ เวลา อยู่ 2 ส่วนด้วยกัน ส่วนแรกเป็นวันที่ เวลา ซึ่ง Syslog Server มันรับข้อมูลเข้ามา อีกส่วนนึงเป็นวันที่ เวลา ซึ่ง GSM VoIP Gateway มันผลิต CDR
ทีนี้ถ้าบังเอิญเราติดตั้ง GSM VoIP Gateway ไว้แบบเดี่ยวๆ ไม่ได้ให้ออกเน็ตเลยและในเน็ตเวอร์คก็ไม่ได้มีเครื่องที่ทำหน้าที่เป็น Time Server ด้วย มันก็จะอัพเดทเวลาในตัวมันไม่ได้ ดังนั้นเวลาที่มันสร้าง CDR ก็ (อาจ) จะไม่ตรงกับเวลาจริงๆ
แต่ปัญหานี้ไม่ใช่เรื่องใหญ่ครับ เพราะว่าเรายังมีวันที่ เวลา อีกส่วนหนึ่งคือ วันที่ เวลาที่ Syslog Server มันรับข้อมูลเข้ามา ซึ่งตราบใดที่เราตั้งวันที่ เวลาใน Syslog Server ตรง เราดูวันที่ เวลาตรงนี้แทนก็ได้ ถึงจะไม่ตรงกันเป๊ะๆก็พอใช้อ้างอิงได้ครับ
2. คอนฟิก GSM VoIP Gateway ให้ส่ง CDR
เมนู "Tools" -> "Syslog Parameter"
Enable Syslog = Yes
Syslog Address = ไอพีแอดเดรสของ Syslog Server
Syslog Level = NONE
Send CDR = Yes
บรรทัด Syslog Level ควรตั้งเป็น NONE ครับ หรือจะลองปรับเป็นค่าอื่นๆดูก็ได้ แต่ว่าข้อมูลที่เห็นมันจะเยอะเกินไป ไว้ถ้าผมมีข้อมูลเชิงลึกของรายละเอียดพวกนี้ผมจะเอามาเขียนให้อ่านกันครับ
3. คอนฟิก Syslog Server
คอนฟิกตามแต่ละโปรแกรมครับ
4. คอนฟิก Firewall
คอนฟิก Firewall บนเครื่องคอมพิวเตอร์ให้เปิดรับคอนเน็คชั่นพอร์ต UDP 514
5. ทดสอบ
ใช้ GSM VoIP Gateway โทรหาเบอร์อื่น แล้ววางสาย ดูผลงาน
ผมใช้โปรแกรม Kiwi Syslog Server คอยรับ Syslog messages จาก GSM VoIP Gateway นะครับ ฟิลด์ต่างๆมีความหมายเป็นตามนี้ครับ
Date วันที่ซึ่ง Syslog server ได้รับ Syslog messages
Time เวลาที่ได้รับ Syslog message
Priority เป็นประเภทของ Syslog message ในตัวอย่างคือ Info (Information)
Hostname ไอพีแอดเดรสของ GSM VoIP Gateway
Message ข้อมูลที่อยู่ใน Syslog messages
มาดูฟิลด์ต่างๆซึ่งอยู่ภายใน Syslog messages กันครับ
syslog: ลำดับของ Syslog messages ที่ผลิตออกมา หมายเลขลำดับนี้จะถูกรีเซ็ตใหม่ถ้าปิดเครื่อง GSM VoIP Gateway และยังมีข้อมูลวันที่ เวลาด้วย เป็นวันที่ เวลาซึ่ง GSM VoIP Gateway สร้าง CDR
CallReportType: ประเภทของ call ซึ่งมี call_fail (โทรไม่ได้) call_end (วางสายตามปกติ)
calling: เบอร์ต้นทาง
called: เบอร์ปลายทาง
origin: ทิศทาง callout คือโทรออก (โทรออกไปทาง GSM)
answer: รับสายตอนกี่โมง
end: วางสายตอนกี่โมง
billsec: คุยกันนานกี่วินาที
หากต้องการทำ Reports ก็ต้องอาศัยความสามารถของโปรแกรม Syslog Server ที่ใช้หล่ะครับ
6. คอนฟิก Syslog บน Linux/CentOS
สำหรับท่านที่คิดว่าจะใช้ Syslog บน Linux/CentOS เก็บ CDR Log ผมมีข้อแนะนำดังนี้นะครับ
สังเกตุใน Log Messages ที่ VoIP GSM Gateway ส่งมานะครับ จะมีคำว่า User.Info มาด้วยทุกครั้ง เราสามารถฟิลเตอร์เช็คข้อความนี้ ซึ่งถ้าเจอก็ให้มันไปเก็บไว้ในไฟล์ที่เราต้องการ
แก้ไขไฟล์ /etc/syslog.conf เพิ่มบรรทัดนี้
- โค้ด: เลือกทั้งหมด
User.Info /var/log/gsmvoip-cdr.log
รีสตาร์ท Syslog
- โค้ด: เลือกทั้งหมด
service syslog restart
บทความที่เกี่ยวข้อง
ชำแหละ GSM VoIP Gateway - 8 Ports
เทคนิคการใช้งาน GSM VoIP Gateway
คอนฟิก Syslog Server บน CentOS
