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:

Value Description
0|60|2|1|21|2000 Outdialdata – not  necessary, but something has to be written
aaa://sivr01.grameenphone.com.bd:1812;transport=tcp OwnDiameterURI -this is actually our identity to operator side IN(Operator will provide this URI)
CCN1.grameenphone.com.bd Own Realm – same as the destinationRealm
ccn1.grameenphone.com.bd DestinationRealm – realm i.e. domain of the destination peer
aaa://10.182.35.3:1812 Destination AAA server
10.183.188.101 INRequester host IP
test client ProductName – Name of the product
6 OwnVendorId – Vendor Id of our company
3999 INRequester listening port
0 DummyCode – not necessary, but something has to be written
/ismp/test/cgw/IN/log/ Log Directory
0 Log enable
Asia/Dhaka TimeZone
360
2222 CommandPort – port for communicating with the INRequester
0 ThreadSwitchOption – 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 Name Description Example Values
RateID Different RateID are defined in CGW DB’s RatePolse table 100Paisa-120SecSportsNonReg
Serviceproviderid Set by Operator 30
Extensionno Set by Operator for each rateid 2
Extensiontext Set by Operator for each rateid gpgp_ssdt_ssdt_MFEE
Eventnumber Set 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 Name Description Example Values
LISTEN_PORT In which port application will listen 3999
CMD_PORT Port to access Application’s command line interface 3650
RPC_ENDPOINT Which API IN will call http://10.16.22.99:8680//services/CBSInterfaceAccountMgrService
OPERATOR_ID Provided by operator VAS_Robibazar
USER_ID Provided by operator VAS_Rbazar
PASSWORD Provided by operator Rbazar!123$
REMOTE_IP In Which IP OCS will recognize the INRequester IP 10.101.60.7
IS_PURPOSE_ENABLED Is remarks applicable in CGW Application; now no need 0

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

Fields are described:

FieldName Description Example Value
Shortcode To which user will dial to get service 2008
Service Name Provide By operator to identify rate VAS_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