Skip to content
IRI Logo
Solutions Products
  • Solutions
  • Products
  • Blog
  • BI
  • Big Data
  • DQ
  • ETL
  • IRI
    • IRI Business
    • IRI Workbench
  • Mask
  • MDM
    • Master Data Management
    • Metadata Management
  • Migrate
    • Data Migration
    • Sort Migration
  • Test Data
  • Transform
  • VLDB
  • VLOG

An IRI Voracity Use Case for CDR Data Processing

  • by Devon Kozenieski

This is the final article of 5 articles regarding ASN.1 support in SortCL and IRI Workbench. To begin reading from the first article in the series, click here.

Creating a Report on Filtered TAP3 CDRs:

Consider an input file that is based on the TAP3 schema standard (written in ASN.1) and BER (Basic Encoding Rules)-encoded. Trying to get information from this data is not simple. The file is binary, encoded and not human-readable.

SortCL capabilities can help sort, filter, aggregate and ultimately generate a report to focus on the important data. This input file can even be generated itself with RowGen capabilities, such as in this example(note that the fields for both the INFILE section and the OUTFILE section have been truncated for brevity):

/INFILE=rfp
     /PROCESS=RANDOM
     /INCOLLECT=1000
     /FIELD=(transferBatch_batchControlInfo_sender, POSITION=1, SEPARATOR=",",SET={ GBRCN,GBRVF,DEUD1,DEUD2})
     /FIELD=(transferBatch_batchControlInfo_recipient, POSITION=2, SEPARATOR=",",SET={ GBRCN,GBRVF,DEUD1,DEUD2})
     /FIELD=(transferBatch_batchControlInfo_fileSequenceNumber, POSITION=3, SEPARATOR=",",TYPE=WHOLE_NUMBER,SIZE=5)
     /FIELD=(transferBatch_batchControlInfo_fileCreationTimeStamp_localTimeStamp, POSITION=4, SEPARATOR=",",SET={20050907120940,20060907120940})
……

/REPORT
/OUTFILE="TAP-0310.asn;tapgen.ber"
     /PROCESS=ASN1
     /FIELD=(transferBatch_batchControlInfo_sendera=encode_hex(transferBatch_batchControlInfo_sender), POSITION=1, SEPARATOR=",")
     /FIELD=(transferBatch_batchControlInfo_recipienta=encode_hex(transferBatch_batchControlInfo_recipient), POSITION=2, SEPARATOR=",")
     /FIELD=(transferBatch_batchControlInfo_fileSequenceNumber, POSITION=3, SEPARATOR=",")
     /FIELD=(transferBatch_batchControlInfo_fileCreationTimeStamp_localTimeStampa=encode_hex(transferBatch_batchControlInfo_fileCreationTimeStamp_localTimeStamp), POSITION=4, SEPARATOR=",")
……

This example has an input file containing 1000 CDRs (Call Detail Records). It is filtered to a certain timestamp, sorted by call duration, and only relevant fields are output to the report, which is limited to 10 records by the /OUTCOLLECT=10 statement.

/INFILE="TAP-0310.asn;tapgen.ber"   # 1000 ASN.1 BER encoded CDRs
     /PROCESS=ASN1
     /SPEC=tap3.ddf
     /OMIT WHERE TRANSFERBATCH_CALLEVENTDETAILS_GPRSCALL_GPRSBASICCALLINFORMATION_CALLEVENTSTARTTIMESTAMP_LOCALTIMESTAMP NE "3230323030393037313230393430" 

/SORT

    /KEY=TRANSFERBATCH_CALLEVENTDETAILS_GPRSCALL_GPRSBASICCALLINFORMATION_TOTALCALLEVENTDURATION

/OUTFILE=tap3.data.out
     /PROCESS=RECORD
     /HEADREC="Timestamp Duration Network V_In V_Out Item\n"
     /SPEC=tap3formattedoutput.ddf  #select few fields

/OUTCOLLECT=10

This example shows a flat file report, but the report can also be output to other sources, including XLSX and XLS spreadsheet formats, even from the same script. To do that, add an outfile target for XLSX or XLS. The resulting script may then look like this:

/INFILE="TAP-0310.asn;tapgen.ber"   # 1000 ASN.1 BER encoded CDRs
     /PROCESS=ASN1
     /SPEC=tap3.ddf
     /OMIT WHERE TRANSFERBATCH_CALLEVENTDETAILS_GPRSCALL_GPRSBASICCALLINFORMATION_CALLEVENTSTARTTIMESTAMP_LOCALTIMESTAMP NE "3230323030393037313230393430" 

/SORT
    /KEY=TRANSFERBATCH_CALLEVENTDETAILS_GPRSCALL_GPRSBASICCALLINFORMATION_TOTALCALLEVENTDURATION

/OUTFILE=tap3.data.out
    /PROCESS=RECORD
    /HEADREC="Timestamp Duration Network V_In V_Out Item\n"
    /SPEC=tap3formattedoutput.ddf  #select few fields

/OUTCOLLECT=10

/OUTFILE=”HEADER;tap3data.xlsx”  # output header from field names - or specify manually in SDEF
    /PROCESS=XLSX

/SPEC=tap3formattedoutput.ddf  #select few fields

/OUTCOLLECT=10

Here is an IRI Workbench view of the script and mapping diagram for this job:

The data can be more robustly visualized from within one of these spreadsheet formats.

Wrap Up

Thanks to ASN.1 support in IRI’s SortCL program, users of the Voracity data management platform and its component products can now process CDRs from TAP3 encoded data, along with any combination of schema and ASN.1 encoding rules.

A secondary license for the Compile-and-Go Library (CAGL) from OSS Nokalva and your encoding rules are also needed for SortCL scripts processing ASN.1 data, or for the asn1_2ddf metadata converter to work.

The bottom line is that a wide array of data manipulation and generation functions can be performed with IRI support for ASN.1-encoded data in SortCL-compatible jobs … in ways other solutions for processing data (and much less this type of data) cannot. If you would like to discover, integrate, migrate, govern and/or analyze data in ASN.1 files directly, please set up a discussion or demo with us here.

Other articles in the series:

  • Introduction to ASN.1
  • ASN.1 Integration with SortCL
  • SortCL ASN.1 Examples
  • Using IRI Workbench with ASN.1 encoded data
Using IRI Workbench with ASN.1-Encoded Data
Table Lookups in SortCL-Compatible IRI Jobs
asn.1 CDR CDR TAP 3 IRI RowGen IRI SortCL IRI Voracity Microsoft Excel TAP3 xls xlsx

Related articles

IRI Data Class Map
Schema Data Class Search
Masking RDB Data in the…
Find & Mask File PII…
Importing Data Classes into the…
Data Class & Rule Library…
Prepare and Protect Data for…
Connecting MariaDB and MySQL to…
Sharing IRI Data Management Jobs…
Running IRI Software in a…
The IRI Platform

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • Big Data 66
  • Business Intelligence (BI) 77
  • Data Masking/Protection 163
  • Data Quality (DQ) 41
  • Data Transformation 94
  • ETL 122
  • IRI 229
    • IRI Business 86
    • IRI Workbench 162
  • MDM 37
    • Master Data Management 12
    • Metadata Management 25
  • Migration 65
    • Data Migration 60
    • Sort Migration 6
  • Test Data 102
  • VLDB 78
  • VLOG 40

Tracking

© 2025 Innovative Routines International (IRI), Inc., All Rights Reserved | Contact