How to Integrate with Operator IN and Postpaid Billing

Pre Readings

  1. Postpaid Charging Integration
  2. Prepaid Charging Integration

Pre Requisite of Deployment

Java -1.6

Charging Gateway to IN and Postpaid Application

Charging Gateway call IN for Prepaid user billing and keep CDR record in CGW database for postpaid user billing. And an application is used to write those CDR from database to file.

Following configuration shoold be done at CGW config.ini to call IN via INRequester.

BILLING_HOSTà IN requester server IP
BILLING_PORTà IN requester listening Port

There are three types of Application to write CDR from database to flat file: ETL, JETL, and Postpaid CDRWriter

CDR Writer application check the status from CDR table. If found any CDR in “QUE” status then write these CDR in flat file and update the status of this record to “WRITTEN” in CDR table.

Supported List of Vendor side IN

  1. NSN-PPI
  2. Erricson-Diamter SCAP
  3. Huawei- OCS

Vendor wise IN Package Structure

Diameter SCAP

Directory Structure

In Linux

/ismp/test/cgw/IN/
Or
/ismp/produection/cgw/IN/

In Windows

D:ismptestcgwIN
Or
D:ismpproductioncgwIN

Package Structure

  1. IN requester binary- diameter.jar
  2. Configuration file- dmconfig.txt
  3. rateConfig.txt

Deployment Steps

  1. Place all package elements in one folder and copy that folder & deploy in defined directory structured folder
  2. Set execution permission on required binary file so that it can run from that folder
  3. Make changes in required configuration files

Configure IN

Change the configuration in dmconfig.txt. Here is a sample of this file:

ValueDescription
0|60|2|1|21|2000Outdialdata – not  necessary, but something has to be written
aaa://sivr01.grameenphone.com.bd:1812;transport=tcpOwnDiameterURI -this is actually our identity to operator side IN(Operator will provide this URI)
CCN1.grameenphone.com.bdOwn Realm – same as the destinationRealm
ccn1.grameenphone.com.bdDestinationRealm – realm i.e. domain of the destination peer
aaa://10.182.35.3:1812Destination AAA server
10.183.188.101INRequester host IP
test clientProductName – Name of the product
6OwnVendorId – Vendor Id of our company
3999INRequester listening port
0DummyCode – not necessary, but something has to be written
/ismp/test/cgw/IN/log/Log Directory
0Log enable
Asia/DhakaTimeZone
360
2222CommandPort – port for communicating with the INRequester
0ThreadSwitchOption – not necessary

Change the configuration in rateConfig.txt file. Here is a sample of this file:

For each RateID, there are five fields in the rateConfig.txt file. Description of each field and some possible values:

Field NameDescriptionExample Values
RateIDDifferent RateID are defined in CGW DB’s RatePolse table100Paisa-120SecSportsNonReg
ServiceprovideridSet by Operator30
ExtensionnoSet by Operator for each rateid2
ExtensiontextSet by Operator for each rateidgpgp_ssdt_ssdt_MFEE
EventnumberSet by Operator for each rateid. There will be no eventnumber for session-based rateid.15

OCS

Directory Structure

In Linux

/ismp/test/cgw/IN/
Or
/ismp/produection/cgw/IN/

In windows

D:ismptestcgwIN
Or
D:ismpproductioncgwIN

Package Structure:

  1. INrequester Binary- CBS.jar (shoold be executable)
  2. Configuration file- config.cfg
  3. Service config file- operatorConfig.txt

Deployment Steps

  1. Place all package elements in one folder and copy that folder & deploy in defined directory structured folder
  2. Set execution permission on required binary file so that it can run from that folder
  3. Make changes in required configuration files

Configure IN

Change the configuration in config.cfg file. Here is a sample of this file:

Description of the each fields:

Field NameDescriptionExample Values
LISTEN_PORTIn which port application will listen3999
CMD_PORTPort to access Application’s command line interface3650
RPC_ENDPOINTWhich API IN will callhttp://10.16.22.99:8680//services/CBSInterfaceAccountMgrService
OPERATOR_IDProvided by operatorVAS_Robibazar
USER_IDProvided by operatorVAS_Rbazar
PASSWORDProvided by operatorRbazar!123$
REMOTE_IPIn Which IP OCS will recognize the INRequester IP10.101.60.7
IS_PURPOSE_ENABLEDIs remarks applicable in CGW Application; now no need0

Change operator config.txt.  Sample file is given in the below:

Fields are described:

FieldNameDescriptionExample Value
ShortcodeTo which user will dial to get service2008
Service NameProvide By operator to identify rateVAS_SSD_Mradio

Postpaid Billing

Vendor Specific CDR Format

Diameter SCAP:

SequenceNO,CDRID,ano,bno,direction,serviceid,chargingtype,rateid,starttime,endtime,duration,Amount,CPID,subscriptionstatus,channel,BlankField1,BlankField2

Here is a sample CDR record:

5433,8895,1713013156,789,0,HealthLineCC,SESSION_STOP,HealthLine_500paisapermin,2014-05-02 22:20:37.000,2014-05-02 22:23:48.000,191,1577,,1,,,

OCS:

CDRtype|ServiceType|CDRSequenceNumber|Blank|ChargingCode|ChargeAmount|DateTimeStamp (24Hr format) |MSISDN

Here is a sample CDR record:

2|47002GAKKIVR|00003957||22|2.30|2014032100738|1850666790|;

CDR push to the billing system

CGW keep postpaid CDR record in CGW database and ETL or JETL write this CDR to flat file. Billing system collect the postpaid CDR from flat file using FTP or SFTP.

How to Run INRequester

From Linux console

  1. Go to the Application directory.
  2. Run the appropriate INRequester binary.

Check process

  1. Type ps -ef|grep INRequester (here INRequester= Specific INRequester binary name)
  2. Output will be shown like below

[root@ssd-robi1 ~]# ps -ef | grep CBS.jar
root      5198  5193  0 May09 ?        00:00:00 /bin/sh -c cd /ismp/test/cgw/CBS ; java -jar CBS.jar
root      5199  5198  0 May09 ?        00:00:00 java -jar CBS.jar
root     30858 16589  0 17:30 pts/2    00:00:00 grep CBS.jar

From Webmin

    1. Create Button as like as below

  1. Click Start IN requester

Check process

  1. Click Status check of IN requester button
  2. Output will be

From Windows console

  1. Go to the Application directory.
  2. Run the appropriate INRequester binary.

Check process

  1. Go to task manager
  2. Click process.
  3. INRequester process name will be in list as follows

From AppMonitor:

    1. Configure IN requester application as follows

  1. Click start button

At first run IN Requester, then CGW, then renewSubscription application.
Cause: renewSubscription send request to CGW and CGW send request to IN. so IN shoold be start first then cgw.

Further Readings

  1. Step By Step Guide to Deploy Charging Gateway
  2. Step By Step Guide to Deploy ETL
  3. Step By Step Guide to Deploy JETL
  4. How to configure AppMonitor to run an Application
[feather_share size="24" show="twitter, google_plus, facebook, linkedin, mail " hide="reddit, pinterest, tumblr"]

We love to hear from you