Anda di halaman 1dari 14

PIPELINE

1 SESSION 1: PIPELINE MANAGER


1.1 INTRODUCTION

Pipeline manager is an application used for rating wireless usage events.


It processes Call Detail Records (CDRs) using a series of task specific modules.
CDRs are the Data created by IP telephony gateways and telephone switches to record
telephony usage, such as call origin and destination.

Pipeline is highly configurable to process EDRs


Rating
Discounting
Zone mapping
Aggregation

CDR

PIPELINE

1.2 HOW CDRs ARE CREATED

Mediation

When person A dails person Bs number, The signal travells from mobile to tower and then
from tower to telephone switch.
Telephone switch locates the person Bs location, It sends the signal to tower where person
B is located
Tower sends the signal to mobile B
After the call is completed the telephone switch records all the information and stores it in
the CDR files.
CDR files are then sent to mediation.

1.2.1 SAMPLE CDR FILE

CDR
CDR file

December 11, 2014

PIPELINE

1.2.2 SYNTAX OF A CDR RECORD

1.3 PIPELINE MANAGER ARCHITECTURE

1.3.1 PIPELINE MANAGER FRAMEWORK

Pipeline manager framework is also called as ifw.


In the above picture the entire yellow box is the pipeline manager framework.
It contains many components which is used to control pipeline manager and its modules.
Controller and transaction manager are two of the many components of the framework.

December 11, 2014

PIPELINE

1.3.1.1 Framework Components

1.3.1.2

Data module

December 11, 2014

PIPELINE

Provides an interface between the database and In-memory.


Data modules fetch the required information from the database and store it in the inmemory of the pipeline manager.
DBC module in the data module is responsible for connecting to the database.
There is 1 DBC module for each database (Ex: 1 for BRM database and 1 for pipeline
database).
DBC can be configured to take data from: File and database.

December 11, 2014

PIPELINE

1.3.1.3 Pipeline and its modules

Pipeline is a mechanism by which Event Detail Records (EDRs) are processed.


EDR is a in-memory representation of CDRs.
Pipeline consist of 3 modules:
1. Input module
2. Function module (processing module)
3. Output module
These 3 modules may run simultaneously or 1 after the other using threads.
Input to a pipeline can be given from File, DB or a Socket.
In the below figure the entire blue box is a pipeline and the boxes inside the big blue box are
its modules.

File
DB
Socket

Input Module converts CDRs to EDRs and places it in the input buffer.
Function Module processes the EDR and stores it in output buffer. It processes rating,
discounting, roaming, etc.
Output module converts internal EDRs to output format and write the data to the output
streams (Rated Event Loader).

1.4 HOW USAGE EVENTS ARE RATED?

Mediation

REL

CDR files are generated by the telephone switch which will be in.or, this has to be converted
to SOL format. This is done by the mediation.
CDR file (In SOL format) is given as an input to the input module of the pipeline.

December 11, 2014

PIPELINE

Input module reads the contents from input file and converts it into internal EDR format
with the help of Input Description files.
It takes the help of EDR container which contains template and describes how to create a
EDR.
Imagine EDR containers like Java classes and EDRs like java objects.
EDR Container are created by EDR factory (framework component).
These are then stored in Input buffer.
Function module fetches this EDR and processes it (or rates it). Then these EDRs are stored
in output buffer.
Output module fetches these EDRs and converts it into rated events file using output
description files.
Rated events are finally stored in the database by Rated Event Loader (REL).

1.5 HOW CDRs are mapped to EDRs


1. After the call is completed or after a certain period of time in a call, CDR is generated which
contains the call details.
2. This CDR is given as input to the input module.
3. Depending on the input CDR, EDR factory creates the EDR container by using the
information in the Input Grammar description, EDR Description file and Input mapping file.
4. IScript inside the Grammar file creates the EDR Container and tells the location of the data
to be copied.
5. Mapping file maps the data in the Input description file and grammar file.
6. Finally the values are copied from the CDR to the EDR container fields.

December 11, 2014

PIPELINE

CDR
CDR record
(Detail part)

Input Description file

Input module

EDR Conatiner
Header
RECORED_LENGTH
RECORED_TYPE
SENDER

Detail
BASIC_SERVICE
A_NUMBER
B_NUMBER
DURATION
TEL
00491732410

Trailer
RECIPIENT
SEQUENCE_NUMBER

004941067600
300

FIRST_START_TIMESTAMP

December 11, 2014

PIPELINE

1.5.1 EDR Container Description file

The EDR container description includes the fields in the EDR container, their field
types, and their default values
EDR container file is in the PATH -> /home/pin01/opt/ifw/formatDesc/Portal
A configuration file for pipeline rating or for processing AAA requests by AAA
Gateway Manager that contains the definition of the EDR container.

QUESTIONS
1. WHAT IS A PIPELINE MANAGER?

Pipeline manager is an application used for rating wireless usage events.

December 11, 2014

PIPELINE

Pipeline Manager processes Call Detail Records (CDRs) using series of task specific modules.

2. WHAT IS A PIPELINE?

Pipeline is a mechanism by which Event Detail Records (EDRs) are processed.


EDR is a in-memory representation of CDRs.
Pipeline consist of 3 modules:
4. Input module
5. Function module (processing module)
6. Output module
These 3 modules run simultaneously using threads.
In the below figure the entire blue box is a pipeline and the boxes inside the big blue box are
its modules.

Input Module converts CDRs to EDRs and places it in the input buffer.
Function Module processes the EDR and stores it in output buffer. It processes rating,
discounting, roaming, etc.
Output module converts internal EDRs to output format and write the data to the output
streams (Rated Event Loader).

3. WHY DO WE NEED BATCH PIPELINE WHEN WE HAVE REALTIME


PIPELINE?

December 11, 2014

10

PIPELINE

3 reasons why we need batch pipeline are


1. Parallel processing.
2. It can manage huge amounts of load.
3. It contains in-memory hence it need not hit the database each time it requires some
data.

4. What is debit and credit in a customer account?


1.5.2 DEBIT

An increase in resource balance in customers account.


Debits can be applied to both currency and non-currency resources, such as US
Dollars and Bulk Hours.

BEFORE DEBIT

AFTER DEBIT

1.5.3 CREDIT

A decrease in a resource balance in a customer's account.

December 11, 2014

11

PIPELINE

Credits can be applied to both currency and non-currency resources, such as US Dollars
and Bulk Hours.
You can set up rates to automatically give credits, for example, 10 free Internet access
hours per month.

BEFORE CREDIT

AFTER CREDIT

5. What is the difference between monthly cycle forward and monthly


cycle arrear?
1.5.4 MONTHLY CYCLE FORWARD ARREAR EVENT

Monthly cycle forward arrear only calculates charges at the beginning of the month
but bills the charges only at the end of the month.

To bill the charges of monthly cycle forward arrear use


PCM_OP_BILL_MAKE_BILL_NOW opcode.
As you can see in the above pic only charges are accumulated ( Bill in progress
(estimate) ) at the beginning of the month but it is not billed.

December 11, 2014

12

PIPELINE

1.5.5 MONTHLY CYCLE FORWARD EVENT

A recurring event that is typically used for charging a fee in advance of service.

Monthly cycle forward event bills the customer at the beginning of the month itself.

As you can see in the above pic charges are both accumulated and billed at the
beginning of the month.
The charges are billed only for the monthly cycle forward event.

December 11, 2014

13

PIPELINE

2 SESSION 2: CONFIGURING PIPELINE MANAGER


2.1 How to start a pipeline?
Ans: ./bin/ifw -r conf/wireless.reg &

December 11, 2014

14

Anda mungkin juga menyukai