Customer Usage Profiles

We explain in this article the basic principles for describing a profile of customer usages. Our intent is to provide users of our GEDIS CDR generator with a simple model to describe all the events generated for a given customers.

Call data record

In the real life, call data records are generated by the network equipements of a given telecom operator, collected by the mediation and then sent to the billing systems and other CDR management systems.

Each operator has is own way of modeling a CDR in the mediation, by selecting fields provided by the equipements records and gathering customer's data for each call before sending them to the other systems.

To give you an idea, operator's CDR are often made of more than 40 fields identifying customer, correspondents, calls types, network equipments, network services, balance credit, etc.

CDR Pivot

In our GEDIS call data generator we choose to work with only with a subset of those CDR attributes. We called this simplified CDR format the CDR Pivot.We choose the attributes of that simplified format in order keep them as minimal as possible and still relevant to model behaviours of customers.

Actually, when we use GEDIS to produce real-looking CDR for an operator, we add a post-processing step taking the CDR Pivot and enriching it with the additional attributes the mediation of that operator provides.

Format of CDR Pivot

Customer IMSI This is a unique identifier for a customer associated to its cell card inserted into its device. See ICCID WikiPedia about IMSI and ICCID
Customer (MS-)ISDN This is the unique phone number of the customer. When tehe CDR relates to a mobile network we talk about Mobilse Subscriber (MS-) See Wikipedia abut MS-ISDN and internal numbering plan
Customer IMEI This number identifies the mobile device S/N and type. See Wikipedia about IMEI
Call Type This code is used to identify the basic type of service used during the call. It can be voice, data, sms, mms, etc.
Date of call Date of the beginning of call. End of call may be on the day after.
Time of call Time of the beginning of call
1st Correspondent Type Type of correspondent gives information about who or what is behind the ISDN. It is a code specific to an operator but we choose to rely on international codes for identify network operator. So the type of correspondent for us is the correspondant operator - in some cases, specific codes may be used to identify for example special number subject to specific billing. See Wikipedia on PLMN . There's also a significant list of PLMN codes, MCC, MNC here.
1st Correspondent ISDN  The ISDN of the 1st correspondent
2nd Correspondent Type Like the type of the first correspondent.
2nd Correspondent ISDN The second correspondent is provided for some specific call type. For exemple, for some services like SMS or MMS, the first correspondent is the service platform delivering the service while the second correspondent is the actual person the customer is communicating with. 
Network Operator For a given operator, some CDR come from the operator's network some are coming  from the roaming out calls. This fields is used to identify the network issuing the call.

Incomming data volume

For data session, this field gives the volume of data received during the session.
Outgoing data volume

For data session, this field gives the volume of data sent during the session.

Customer Commercial Type

Multiple commercial companies may use the same network of a given operator. This field is used to identify the commercial company the customer is attached to.

See Wikipedia about  MVNO

Latitude and logitude on the cusotmer at the beginning of call.

Usage patterns

A usage pattern explains how a single customer is consuming one or more network services through multiple usages. A patterns is made of a couple of attributes used by the generator to produce, for a given customer, the CDR modeled by this pattern.

There are various way a pattern may be described. After working on several telecom projects we have found the following suitable for most of the cases:

  • Total number of calls to produce for the pattern,
  • Total amount of service consummed in the given number of calls. For a voice calls it will be the number of seconds, for a data session it will be the volume of downloaded and uploaded data.
  • The list of service codes / keywords each call may relate to.
  • Correspondents (1st and 2nd) concerned with the services
  • Network where services are consummed

Patterns of usage are described in XML configuration file. For example, the usage pattern :

The customer is calling, from the network of operator FRAF2, 10 times correspondents of the mobile operator FRAF3 for a total duration of 1 hour and 10 minutes.

This pattern can be described with its XML syntax:


Usage's services

When we are using the term service we relate to a network service such as voice, SMS, MMS, data session or any other service the network may provide. Actually, in our generator a service is identified by a free keyword. You can use whatever you want for the keyword.

By convention, we use the following list of keywords to identify services:

  • MOC : Mobile Originated Call (outgoing voice call - customer is calling someone)
  • MTC : Mobile Terminated Call (incomming voice call - someone is calling customer)
  • SMS-MO : SMS Mobile Originated (customer is sending a SMS)
  • SMS-MT : SMS Mobile Terminated (customer is receiveing a SMS)
  • MMS-MO : MMS Mobile Originated (customer is sending a MMS)
  • MMS-MT : MMS Mobile Terminated (customer is receiving a MMS)
  • GPRS : Data session for GPRS network

You can define a usage pattern for incoming voice calls, outgoing voice calls to local correspondents, outgoing voice calls to foreign countries, etc.

profiles patterns

It is a best practice to describe a single type of service consumption in a given pattern and to fill a profile with all the services available for the customers this profile will be associated to.

For example, a profile may have a pattern for outgoing voice calls, another for incoming voice calls, a third for incoming SMS, and so on.

But you can also define in the same profile two usage patterns for the same type of service usage but with different configurations.

For example, you may have a pattern for outgoing calls toward national correspondents and another pattern for outgoing call as well but this time towards correspondents of foreign countries in a predefined list.