cdr-demoCall Detail Record Generator

Our call detail records (CDR) generator is implemented with GEDIS Studio and is freely available on-line. To use it, you need to register for an account at and import into your private workspace the Telecom project available from the shared workspace.

Long Story Short

  1. The CDR Generator is freely available online,
  2. Generated CDR are controlled from XML configuration files,
  3. The configuration decribes usage profiles for a set of customers,
  4. You can define your own patterns of usages (voice, sms, etc.)
  5. We are providing 10 tutorials with their ready-to-go profiles.

Import the CDR Generator Project

To generate CDR with GEDIS Studio you first need to import the project "Call Detail Records Generator" available from the shared workspace "GenieLog". This import command will create a copy of the project in your workspace.

CDR Import Project

From there, you will have the required data generators and the data file production plans. This includes a generator for creating customer data (named "Community of Mobile Phone Customer Data"), a generator for creating CDR (named "CDR Pivot v2"), a generator to shuffle timstamps of CDR and a generator to computes statistics on CDR (per customers, services, etc.)

CDR Generators

and two sample production plans, one for the tutorials described hereafter and one for a simple case including generation of two sets of customer data, their CDR and a report.

CDR Simulations

Generate all the CDR files at once

You can generate all the files of a batch in one single command or select the files one after the others an generate them manually. Since some generated data may depend on data generated before it's always better to follow the order of the files in a batch.

In this CDR project, the first files (down to the file of the first tutorial) contain customer data that will be used for correspondents when generating CDR from profiles that refer to those files.


The Generated CDR

All the CDR generated in the proposed tutorials have the same output format corresponding to a generic / pivot format. Each CDR is produced from a usage pattern defined in a profile. The generated CDR embed information allowing to track back to the source usage patterns and profile (see CDR indexes and tracking sections).

CDR Indexes
cust_index The unique index of the customer the CDR is attached to.
cust_count The total number of customers
pattern_index The index of the CDR in the current pattern
cdr_count The total number of CDR generated for the current customer, including all patterns in the profile
pattern_duration The total duration of all the CDR in the pattern producing the current CDR
profile_duration The total duration of all the CDR, for all the patterns of the profile
pattern_marker The marker of the pattern generating the current CDR
profile_marker The marker of the profile generating the current CDR
Customer Data
cust_imsi The IMSI (ICCID) of the mobile phone of the customer
cust_isdn The phone number of the customer
cust_imei The IMEI of the mobile phone of the customer
cust_operator The international identifier of customer operator 
Call Type
call_type A keyword to identify the type of call.
call_service A keyword identifying the type of service associated to the call (Voice, Fax, Text SMS, Video MMS, etc.)
Timing Data
call_date The date in the format DD/MM/YYYY of the begining of call
call_time The time in the format HH:MM:SS the begining of call
Usage Volume
session_duration The duration of call in seconds
session_download Total Volume of Downloaded data in a data session (should be 0 for a MOC/MTC Voice)
session_upload Total volume of Uploaded data in a data session (should be 0 for a MOC/MTC Voice)
corresp1_type A keyword identifying the type of correspondent such as its operator code
corresp1_isdn The direct correspondent of the communication
corresp2_type The 2nd correspondent type
corresp2_isdn The intended correspondent of the customer (dialed by the customer)
Network & Location (*)
network_plmn The international operator code of the physical network
network_msc An identifier for the Mobile Service Center servicing the call
network_bts An identifier of the Base Tranceiver Station
network_latitude The expected or real customer latitude at the beginning of call
network_longitude The expected or real customer longitude at the beginning of call

The network and location data are not yet provided in the tutorial project. Please contact us for details about how to include those data into the generated CDR.

Call types and services

These are keywords used to differentiate CDR related to different type of usages. While you can use any keywords here by convention we, at GenieLog, use to followings:

Type Description Available service
 MOC Mobile Originated Call (eg. an outgoing call)  Voice, Fax, ... 
 MTC Mobile Terminated Call (eg. an incoming call)    Voice, Fax, ...
SMS-MO SMS Mobile Originated (eg. an outgoing SMS) Text
SMS-MT SMS Mobile Terminated (eg. an incoming SMS) Text
MMS-MO MMS Mobile Originated (eg. an outgoing MMS) Text, Video, Image,...
MMS-MT MMS Mobile Terminated (eg. an incoming MMS) Text, Video, Image, ...
GPRS Data session 3G, LTE

Generation of CDR from Usage Profiles

In this GEDIS project, the production is controlled with configuration files written in XML: the profiles. The CDR generator reads a profile and based on the parameters it finds in it produces the CDR.

CDR File

So to produce a CDR file, create it from the production tab, associate to this CDR file the CDR generator (named "CDR Pivot") and set the parameter PROFILE_FILENAME to the pathname of the profile you what to generate CDR from.


To help you to start with GEDIS Studio we provides a collection of profiles starting with very simple configurations and incrementally add complexity to model more sophisticated usage behaviors.

The profile of each tutorial is saved in a XML file located in the GenieLog's shared workspace in Data / Telecom / Profiles. You should import them into your own workspace to be able to modify them.

  • Tutorial #1: Generates a couple of similar CDR for one single customer.
  • Tutorial #2: Extends the profile for multiple customers with data generated on the fly.
  • Tutorial #3: A variant where the customer's data are extracted from an input file
  • Tutorial #4: Extends to allow each customer to have its own CDR count and duration
  • Tutorial #5: A variant allowing to control the total duration of calls per customer
  • Tutorial #6: Extends to have different random correspondents generated on the fly
  • Tutorial #7: A variant allowing to pick up randomly correspondents from a input file
  • Tutorial #8: Extends the profile with one pattern for voice calls and another for SMS
  • Tutorial #9: Extends with the control of activity between communities of customers
  • Tutorial #10: Extends with application of a reference configuration over multiple days

Writing your own usage profiles

Alternatively you can also create your own profiles. We strongly encourage you to go through the tutorials we propose to be able to build your own profile.

As a quick reference, here are the tutorial number you refer to for various profile configuration topics :

General structure of the profile, including how to control CDR timestamp and the basic structure of usage patterns are described in tutorial #1.

The control of the customers the CDR are generated for is described in tutorlal #2 and tutorial #3 where you will see how to generate those customers on the fly or use a dataset of existing customers generated first or imported from your own testing environment.

To control the duration of the CDR generated by a pattern of usage you should refer to tutorial #4 and tutorial #5. To control the correspondents of the CDR you should go to tutorial #6 and tutorial #7

In any case, do not hesitate to This e-mail address is being protected from spambots. You need JavaScript enabled to view it if you need more flexibility, volume, variability etc.