Overview
The CDR logger collects signaling event reports from multiple instances of ss7boost. The events are stored in a flat file in the order in which they are received. The information in the flat files can be read into an RDBMS for report generation and long term storage. CDR Logger and the RDBMS should run on a machine that is physically different from any of the the SMG feeding it information so that logging, sorting, and reporting does not impact the real-time performance of the SMG.
Contents
Features
- Built in configurable periodic file rotation.
- Collects information from multiple SMG.
- CSV format output files are compatible with spreadsheets and databases.
- Configurable location and file name prefix for CDR files.
- Fine grained epoch-based time-stamps
Installation
Use the SMG installer as follows:
- cd /usr/loca/smginstall-<revision>
- ./smginstall cdr_logger
Or you can manually do the following:
- Copy binary executable file cdr_logger to /usr/local/ss7box/
- Copy cdr_logger.conf to /etc/ss7box
Configuration
The contents of the configuration file is as follows:
# This is the cdr_logger.conf file used by cdr_logger.
# Copyright (c) 2006 Xygnada Technology, Inc.
[CONNECT]
# Opposite config should be used by CDR event pushers like ss7boost and
# sangoma_mgd
#
# Local
# address port
192.168.1.141 55011
# Remote (don't care, not used)
# address port
192.168.1.202 55011
[OUTPUT]
# CDR file path and prefix file rotate period (minutes)
/usr/local/ss7box/cdr/cdrfile- 30
Operation
Note that ss7boost and CDR Logger may be running on separate machines.
- Start the CDR Logging daemon.
cd /usr/local/ss7box
./cdr_logger
Use ./cdr_logger -h
for help with command syntax.
- Start CDR ouput on ss7boost
- Verify functioning
- Examine the contents of /var/log/messages on the CDR Logger machine to see the report on opening the CDR file.
- Verify calls are being made through SMG. Place some tracer test calls.
- List the detailed contents of the subdirectory for CDR files; ensure the CDR file is growing as calls are being made.
- Edit the current CDR file to review the contents. Search for evidence of test calls that might have been made.
CDR Log File Format
The CDR log file is a sequence of lines where each line is a set of comma separated values. Each lines corresponds to a call event in ss7boost. There are four line types:
- Callstart
- IAM
- Common
- Release
Call Event Field Reference
mt - message type
md - message direction
sy - system id
y - year
mn - month
d - day
h - hour
m - minute
s - second
sn - call serial number
es - epoch timestamp seconds
esu - epoch timestamp micro-seconds
cs - call state
cd - call direction
su - csupid, call setup id
tg - trunk group
sp - span
ch - chan
ci - circuit id code
dc - called number digit count
dd - called number digits
gc - calling number digit count
gd - calling number digits
gpi - calling number presentation indicator
rc - release cause
Call Event Record: Callstart
Message Type: 128
mt | md | sy | sn | y | mn | d | h | mi | s | es | esu | cs | cd |
128 | 1 | 1 | 0 | 2006 | 09 | 29 | 10 | 23 | 17 | 1159420 | 54085 | 0 | 1 |
Call Event Record: IAM
Message Type: 1001
mt | md | sy | sn | y | mn | d | h | mi | s | es | esu | cs | cd | su | tg | sp | ch | ci | dc | dd | gc | gd | gpi |
1001 | 0 | 1 | 0 | 2006 | 09 | 29 | 10 | 23 | 17 | 1159420 | 5414 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 4 | 1111 | 4 | 2222 | 0 |
Call Event Record: Common
Message Type | Value |
a | 130 |
d | 131 |
b | 1012 |
c | 501 |
mt | md | sy | sn | es | esu | cs |
130 | 1 | 1 | 0 | 1159467526 | 590026 | 2002 |
501 | 1 | 1 | 0 | 1159467531 | 593045 | 1009 |
1016 | 1 | 1 | 0 | 1159467532 | 158290 | 1009 |
131 | 0 | 1 | 0 | 1159467532 | 158398 | 1009 |
Call Event Record: Release
Message Type: 1012
mt | md | sy | sn | es | esu | cs | rc |
1012 | 0 | 1 | 0 | 1159467531 | 593128 | 1009 | 16 |
Creating Call Records
The CDR Logger files are designed to be imported to a spreadsheet or database for storage, sorting, and reporting. A call report is created by first sorting on the system id (sy), then by the epoch time (es/esu), and then by the call serial number (sn). This will group the calls by system, time, and call. The call start time, end time, and duration are derived by using the calendar date/time and epoch times.
Schema Example
The call event records can be parsed in to a dB using a schema as shown in this section.
mt | md | sy | sn | y | mn | d | h | mi | s | es | esu | cs | cd | su | tg | sp | ch | ci | dc | dd | gc | gd | rc |
128 | 1 | 1 | 0 | 2006 | 09 | 29 | 10 | 23 | 17 | 1159467520 | 54085 | 0 | 1 | - | - | - | - | - | - | - | - | - |
1001 | 0 | 1 | 0 | 2006 | 09 | 29 | 10 | 23 | 17 | 1159467520 | 54124 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 4 | 1111 | 4 | 2222 |
130 | 1 | 1 | 0 | - | - | - | - | - | - | 1159467526 | 590026 | 2002 |
1012 | 0 | 1 | 0 | - | - | - | - | - | - | 1159467526 | 590064 | 2002 |
501 | 1 | 1 | 0 | - | - | - | - | - | - | 1159467531 | 593045 | 1009 |
1012 | 0 | 1 | 0 | - | - | - | - | - | - | 1159467531 | 593128 | 1009 |
1016 | 1 | 1 | 0 | - | - | - | - | - | - | 1159467532 | 158290 | 1009 |
131 | 0 | 1 | 0 | - | - | - | - | - | - | 1159467532 | 158398 | 1009 |