เทคนิค GSM VoIP Gateway - ส่ง CDR ไปเก็บไว้ใน Syslog Server

GSM VoIP Configuration

เทคนิค GSM VoIP Gateway - ส่ง CDR ไปเก็บไว้ใน Syslog Server

โพสต์โดย nuiz » 28 ม.ค. 2012 10:18

GSM VoIP Gateway ตัวนี้สามารถส่ง CDR (Call Detailed Record หรือรายการโทรหลังจากวางสายแล้ว) ไปเก็บไว้ใน Syslog Server ได้ด้วยนะครับ ทำให้เรารู้ว่าวันไหน เวลาไหน เบอร์ไหน โทรไปหาเบอร์ไหน จะเก็บไว้ได้นานแค่ไหนก็แล้วแต่เราครับเพราะว่ามันเก็บไว้ใน Syslog ไม่ได้เก็บไว้ในตัว GSM VoIP Gateway

ข้อมูล 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"

gsmvoip-time-server.png
Time Server
gsmvoip-time-server.png (13.03 KiB) เปิดดู 307 ครั้ง


อาจจะใส่ไอพีของ 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"

gsmvoip-syslog.png
GSM VoIP Gatway Syslog
gsmvoip-syslog.png (9.96 KiB) เปิดดู 311 ครั้ง


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 โทรหาเบอร์อื่น แล้ววางสาย ดูผลงาน

gsmvoip-syslog-data.png
CDR Records
gsmvoip-syslog-data.png (9.79 KiB) เปิดดู 311 ครั้ง


ผมใช้โปรแกรม 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
** งานเร่งด่วนติดต่อที่เบอร์ 085-161-9439 อีเมล์ iamaladin@gmail.com ไลน์ไอดี nuizvoip ครับ ผมหนุ่ยครับ**
nuiz
Diamond Member
 
โพสต์: 7336
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: เทคนิค GSM VoIP Gateway - ส่ง CDR ไปเก็บไว้ใน Syslog Server

โพสต์โดย pakasuz » 02 พ.ค. 2012 08:56

แล้วสำหรับตัวนี้ ผมสามารถดูเป็น Report การใช้งานแบบเป็น port ๆ หรือเป็นแบบ Sim ๆ แยกกันได้ไหมครับ อย่างเช่นอยากดูรายงานการใช้งานของแต่ล่ะ port ว่ามีการใช้งานมากน้อยแค่ไหน เวลาโดยรวมแล้วใช้ไปเท่าไหร่ มีการโทรออกผ่าน port นี้กี่ครั้ง นานกี่นาที อะไรประมาณนี้นะครับ พอจะมีวิธีไหมครับผม
pakasuz
Silver Member
 
โพสต์: 24
ลงทะเบียนเมื่อ: 03 ต.ค. 2011 12:00

Re: เทคนิค GSM VoIP Gateway - ส่ง CDR ไปเก็บไว้ใน Syslog Server

โพสต์โดย nuiz » 02 พ.ค. 2012 14:12

บนตัวมันตอนนี้ยังโชว์ข้อมูลที่ต้องการไม่ได้ครับ เบื้องต้นสามารถดูได้จาก CDR บน Elastix หากให้พอร์ตบน GSM VoIP Gateway ทำงานแบบ Cyclic... โดยประมาณว่าจำนวนคอลที่แต่ละพอร์ตรับผิดชอบเท่ากับ จำนวนคอลทั้งหมดหารด้วยจำนวนพอร์ต แต่ก็ดูได้แต่จำนวนคอลครับไม่สามารถดูจำนวนนาทีได้
** งานเร่งด่วนติดต่อที่เบอร์ 085-161-9439 อีเมล์ iamaladin@gmail.com ไลน์ไอดี nuizvoip ครับ ผมหนุ่ยครับ**
nuiz
Diamond Member
 
โพสต์: 7336
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33


ย้อนกลับไปยัง GSM VoIP Gateway

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

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

cron