TSP Lab GTPCAssembler - GTP-C CDR Assembler module GTPCAssembler

The GTP-C CDR Assembler module
("GTPCAssembler")

Table of Contents

Basic Operation

Collection of SRVCC transactions

The SRVCC procedure related GTPv2 control messages are collected into transactions based on the Sequence Number and the Source-IP:port+Destination-IP:port parameters. "SRVCC CS to PS" and "SRVCC PS to CS" transactions and the related "SRVCC CS to PS Complete/Cancel" or "SRVCC PS to CS Complete/Cancel" transactions are combined into "Sv-summary" records which are written into CDRs with the messages.
These summary records contain the following values: IMSI, MSISDN and IMEI are derived for transactions which do not contain these pieces of information and indicated by a question mark in the CDR at the end of the parameter.

User Interface

The main menu

Menu Menu item Shortcut(s) Meaning
[File]      
  Load state Load a previously saved memory dump
  Save state Save the memory content into a dump file (both context and open transaction statistics memories)
  Log counters Save counters into log file
  Save counters Save counters into CSV file
  Exit Shuts down the program
[Tools]      
  Start processing Enable data processing
  Stop processing Disable processing
  Clear state Reset internal states to the initial values
  Flush state Send messages from internal buffers to output channels
  Clear counters Reset counters to zero
  Settings Set INI file settings from menu
  Save settings Save current settings into the INI file
[Help]      
  Help Currently not used
  About Show information about the program

The bottom status-line

The "Log" tab


The "Log" view shows the latest log lines on the screen with their timestamps. The counters of the views are logged every quarter hour. The log level can be set through a drop-down list (Off, Normal, Detailed, Debug), the initial level is defined in the INI file. If the INI file does not exist (first-start without INI file), the default value is 'Normal'.

To search in the log entries, there is a 'Find' text-field. The 'next' button applies the text search and jumps to the next match.

Each log entry has a category, which is represented by the following icons:

The "GTP-C Assembler" tab

Sections in views can be collapsed and expanded using the triangle button at the right up corner of the sections.

Counters in the "Incoming messages" section

Counters in the "GTP-C Assembler overview" section

Counters in the "Transaction details" section

Counters in the "Session/Context details" section

Counters in the "Forward relocation details" section

Counters in the "CDR database details" section

The "Sv Assembler" tab

Sections in views can be collapsed and expanded using the triangle button at the right up corner of the sections.

Counters in the "Sv details" section

The "Connections" tab

This view shows the currently used inputs and outputs. Both input and output can be defined in INI file before starting the program, as well as during operation. Details of connections can be collapsed and expanded using the "expand" triangle button on the right side of the connections.


Controls of Input and Output connections

Connections of GTP-C Assembler

Connection management

The "Terminal" tab


The "Terminal" provides direct access to the core logic using commands. Available commands are listed on the right. Typically used for debug purposes.

Types of GTP records

Transaction records ('GTP-Tr')

These records contain the assembled GTP transactions from the relevant request and response (and acknowledgement) messages. When a transaction is closed (all messages arrived or the transaction time out expired) the collected messages are written into a transaction record. The record contains the important parameters of the transaction and the context parameters (if there is a context) and the messages belonging to the transaction with their main parameters.

The following transaction and context related parameters are stored in a transaction record:

After the general parameters the messages of the transaction are listed with their main parameters and Information Elements (IE).

The following message parameters are stored in a transaction record:

The following IEs are stored for all messages in a transaction record:

After the message part there are multiple Context/Session Information (CSInfo) if the transaction CDR is bound into Session(s).

CSInfo contains the following parameters:

Context records ('GTP-Ctx')

Contexts are managed based on the assembled GTP transactions. A GTPv1 'Create PDP context' transaction creates new context. The 'Update PDP context' transactions modify the context's parameters and the 'Delete PDP context' transaction (or context time out) closes the context. The same way is applied for GTPv2 sessions based on GTPv2 transactions. Three types of GTP-Context record exist in database: opening, periodic, and closing.

When a context is inactive but alive for a while (INI/[CDR]/CtxCheckPeriodMin) then a context record is put into the database ('GTP-Ctx' record type) containing the parameters of the context. It indicates that the context is ongoing and makes easier to follow and search it for the operator.

A context record contains the following parameters:

After the main parameters the Context/Session CDR contains one CSInfo part which contains the same parameters which were listed above.

Sv transaction summary records ('GTP-Sv')

SRVCC related GTP transactions are bound into transaction summary records. An Sv transaction summary record contains an "SRVCC PS to CS" and an "SRVCC PS to CS complete" or an "SRVCC PS to CS cancel" transaction. (The same is done for "SRVCC CS to PS" transactions.)

An Sv transaction summary record contains the following parameters:

After these main paramters comes the list of transactions.

Each transaction contains the following general parameters:

After these general parameters the messages of the transaction are listed with their main parameters and Information Elements (IE).

The following message parameters are stored in a transaction (same as the message parameters in GTP-Tr CDRs):

The following IEs are stored for all messages in Sv summary record:

Configuration (GTPCAssembler.ini) file settings

Section Entry Example Meaning
[Counters]      
  ClearOnWrite false Clear counters after history file written
  HistoryFile D:\LogFiles\GTPCAssembler.csv The path of the counter history file
  HistoryPeriod 15 The counter history file writing period in minutes
[GTPCAssembler]      
  SessionContextTimeout 1440 The session or context record timeout in minutes
  SvRecordTimeout 5 The Sv record timeout in seconds
  TEIDRemovingDelayTime 50 The TEID removing delay in milliseconds
  TransactionDelayCloseTime 50 The delay close time of the transactions in milliseconds
  TransactionTimeout 6000 The transaction timeout in milliseconds
  Caption Assembler_Sv_MSS1 Additional string in application title
  SCRecordPeriod 120 The session or context record timeout in minutes
  FwdRelocationTime 2000 The available time window for forward relocation procedure in milliseconds
  PreferredInterface s11 Selects the preferred GTP-C interface type; possible values:
- s11
- s5s8
- s2b
[Input]      
  RestoreChannels true Restores the active channels after restart
  SortingQueueDelay 0 The sorting queue delay in milliseconds
  SortingQueueLength 0 The maximum size of the sorting queue
  StoragePointerFilePath D:\DataFiles-7700 Path for optional storage pointer files (Sga-7700.xxx), if MUFI2 input is used
  SynchronizedIO false The input and the output channels will be synchronized
  inet1 socket-adg://127.0.0.1:17000?listen=1 Definition of the listening TCP socket for incoming connection from the INetAssembler module
[Log]      
  LogDetailLevel Normal Log detail level at startup:
0: Off
1: Normal
2: Detailed
3: Debug
  LogFilesPath D:\LogFiles Directory used for storing log files
[Output]      
  RestoreChannels true Restores the active channels after restart
  SortingQueueDelay 0 The sorting queue delay in milliseconds
  SortingQueueLength 0 The maximum size of the sorting queue
  cdrw socket-adg://127.0.0.1:4243?anycontent=GTPC.CSOpenStatItem&inverted=true Definition of the output connection in case only one CDRWriter module is running
  cdrw1 cdrw-1=socket-adg://127.0.0.1:4243?demux=active&anycontent=GTPC.CSOpenStatItem&inverted=true Definition of the output connection in case multiple CDRWriter modules are running
  stat socket-adg://127.0.0.1:42425?anycontent=GTPC.CSOpenStatItem&inverted=false Definition of the output connection towards the GTP Statistics module
  harwriter socket-adg://127.0.0.1:5001 Definition of the output connection towards the HAR Writer module
[RemoteUI]      
  TCPHost 127.0.0.1 Local IP address for the command interface
  TCPPort 16001 Local TCP port for the command interface
[State]      
  AutoStart true The initial state of the processing
  StateFile D:\GTPCAssembler.state The path of the state file

Version history