configuration model description gbg smsc v1_0

2
SOLUTION DESCRIPTION FOR PREPAID SOLUTION Covering GBG – SMSC integration INTERNAL USE ONLY Copyright © Acision BV 2008

Upload: anonymous-ie0oexp2e

Post on 31-Jan-2016

319 views

Category:

Documents


8 download

DESCRIPTION

onfig

TRANSCRIPT

CSI Prepaid Solution

Company ConfidentialSolution:Prepaid Solution Customer:ACISION

Company ConfidentialProject:Prepaid Solution descriptionPage 22 of 32Customer :ACISION

Solution Description

FORPrepaid solution

Covering GBG SMSC integration

INTERNAL USE ONLY

Copyright Acision BV 2008

Table of Contents

Company ConfidentialSolution:Prepaid Solution Customer:ACISION

Company ConfidentialProject:Prepaid Solution descriptionPage 2 of 32Customer :ACISION

Document version: 1.0C:\DOX\PrePaid\Solution\CSI prepaid solution GBG SMSC V1_0.docDocument version: 1.01Introduction41.1Document Scope41.2Audience41.3Reference Documents42Solution overview53Technical specification of the solution63.1Solution requirements63.2Solution pre-requisites63.3GBG Interfaces63.4Implementation models73.5Charging models83.5.1Debit-Credit Model83.5.2Reserve-Commit Model83.5.3Enhanced Reserve-Commit Model83.6Transaction flows94Solution implementation114.1Real-time billing mode: Prepaid subscribers provisioned on SMSC114.2Bulk billing mode: Prepaid subscribers NOT provisioned on SMSC114.3Roaming prepaid subscribers114.4Using Rule Based Decision Logic.114.4.1Example of Rule Based Decision Logic.114.5Standard configuration parameters114.5.1SMSC configuration114.5.2GBG SMSC connection114.5.3GBG IN connection114.5.4CDR Billing Configuration115Solution Tuning & Sizing115.1Troubleshooting prepaid configurations115.1.1Log files GBG115.1.2Log files SMSC115.1.3General logging115.1.4Tools115.2Sizing and redundancy116Solution - Frequently Asked Questions117Configuration examples117.1Basic example of GBG configuration for SMSC.117.2Basic example of GBG configuration for Diameter.11

Version and Configuration Management

Configuration History Sheet

Version No.DateDetails of Changes included in updateAuthor

Distribution

Version No.DateName

IntroductionDocument ScopeThe scope of this document to provide additional details on the integration of a solution consisting of the following components:- SMSC V5- GBG / DiameterNot in the scope of this document is the integration of GBG with: MMSC OMG PSA Message Plus

AudienceThis document is intended to be used by:- CSI engineers- Deployment engineers

Reference Documents

All referenced documents mentioned in the table below can be found on the distribution server.

Documents referenced

Version DateTitleAuthorTag

5.2SMSC Operator Manual

5.2SMSC Command Reference Manual

5.2SMSC Billing Manual

2.1GBG Installation Manual

2.1GBG Configuration Manual

1.6GBG Generic Diameter Module Configuration Manual

1.7.0SMS Prepaid Billing Protocol Interface Specification Version 1.7.0

2.1GBG Technical Product Description

Release note prepaid rdbl (5.1 of 5.2??)

Release note SMSC_V05_21_043

Solution overview

Problem description:

When a customer orders a prepaid solution from Acision, CSI and deployment engineers often have problems with integration of the relevant products. Because the deployment engineers most of the time have knowledge of one product only, integration takes much time and often leads to support and performance problems once the solution is taken into production.

Solution description summary:

This solution is intended to help CSI and deployment engineers with configuration and tuning of a prepaid solution consisting of the following products:

GBG V2.1 SMSC V5.2

The benefits of using this solution will be: faster deployment of the solution standardisation of the solution

Solution deliverables:

Solution deliverable nameBrief description of deliverableOwner of the deliverableUser of the deliverable

This documentDescription of integration of SMSC, GBG and IN for prepaid solutionCSISolution integrator, deployment engineer

Test documentation and reportsCSISolution integrator, deployment engineer

Technical specification of the solution

Solution requirements

GBG is a billing gateway which enables offloading of protocol conversions from other products. As such it differs from PSA which also offers rating models and stores subscriber information.

The table below provides a comparison of the functionality of the GBG and PSA component

Functionality

GBGPSA

Protocol conversion from SPBP to Diameter; several other protocols are supported but not mentioned here. The Diameter protocol implementation by PSA is not the same as the one by GBGVV

Service ratingV

Transaction databaseV

Subscriber database GBG cannot support routing based on individual subscriber information, but can do LDAP lookupsV

Credit/debit buffering (accumulation mode) is not available on GBG.V

Flexible Routing GBG supports routing on prefix and other patternsV

Solution pre-requisitesThis document assumes that the GBG and SMSC software has been installed on the system.

This solution description is based on the following software versions:

GBG 2.1 SMSC V5.2

This solution description is based on the following hardware and operating systems:

GBG software runs on NGP supported Linux platforms with Red Hat Linux.SMSC runs on Itanium or Alpha with OpenVMS.

Other hardware and operating systems are possible for GBG to run on, please contact CSI or product management (PM) in that case.Older versions of SMSC might be supported, please check with CSI or PM.

GBG Interfaces

GBG supports the following interfaces:

CategoryProtocolVersions

INPUT interfacesBIP1.0, 1.1, 2.0

SPBP 1.7.1 and previous Input interfaces compatible versions

PSP SAP 0x80 (OMG)SAP 0x51 (Telepath)

Output prepaid interfacesRTPP1.1

Diameter Base ProtocolRFC 3588IETF Draft 8

This document covers only SPBP and Diameter protocols.

For Diameter several solution packs have been developed which support the following IN platforms. Only SMSC packages are mentioned here. The generic solution is now used by

solution pack namesourceapplicationsupported Diameter application

SMSC-Diametergeneric solution packSMSC V5Acision Diameter for SMS Charging, v 1.0

SMSC-SCAPgeneric solution packSMSC V5Ericsson SCAP, v. CCN 5.1

SMSC-Tecnomen_DCCA_Diametergeneric solution packSMSC V5Tecnomen DCCA, release 2.1

SMSC-Comverse_Diametergeneric solution packSMSC V5Comverse Diameter

Implementation models

SMSC V5 supports two billing modes:

1. Real-time billing mode: SMS prepaid with on-board database of prepaid subscribers (option 19a) also referred to as real time. The subscribers are provisioned on SMSC.

The SMSC will only forward debit requests to the billing system where a prepaid subscriber is the charged party. All other messages are considered to be sent by post paid subscribers (see 4.1)

2. Bulk billing mode: SMS prepaid with external database of prepaid subscribers (option 19b) referred to as bulk mode. The subscribers are NOT provisioned on SMSC.

All debit requests where a mobile party is the charged party are forwarded to the billing system and based on the response of the billing system the message will be accepted or rejected by the SMSC (see 4.2).

Bulk mode should be considered when most of the subscribers are prepaid. The drawback of the on-board database solution is that data of prepaid subscribers has to be provisioned on several platforms, which leads to higher operational costs.

Another common configuration model is where prepaid subscribers are charged in the local network. The prepaid solution offers the possibility to charge internationally roaming subscribers (see 4.3). It also makes it possible to charge messages from application to mobile recipient.

When operating in Real Time mode, older versions of the SMSC provided only one way to determine whether a prepaid transaction would be initiated for the mobile originator. This was accomplished by checking if the MSISDN of the charged party was provisioned on the onboard prepaid database. With rule based decision logic it is possible to use different criteria to decide whether or not a prepaid trigger should be sent to the Prepaid System. For example: the originator IMSI can be used to determine if a mobile originator is prepaid. This alternative has the advantage that the provisioning of IMSI ranges is much more convenient than the provisioning of large numbers of discrete MSISDNs. Rule based decision logic (RBDL) offers a very flexible way to configure all kinds of complicated charging models. Besides this SMS Prepaid Real Time provisioning improvement, rule based decision logic also offers more flexibility regarding the SMS Prepaid configuration in general - the operator can now define his own rules for making Prepaid Charging decisions dependent on the characteristics of the submitted message (see 4.4).

How to configure the models mentioned above will be described in the next chapter.

Charging models

The SPBP protocol supports the following charging models:

Debit-Credit Model The debit-credit model is suited for true pre-service acceptance charging, when all charging parameters are known during initiation of the service. The account of the subscriber is debited real-time before the service is applied. Since the charging is complete, there is only need for further communication between the SMSC and the GBG when the service can not be finished successfully and a refund is required. The latter is done via a credit operation.

Reserve-Commit Model The reserve-commit model differs from the debit-credit model by always requiring a positive confirmation (the commit) that a service was delivered successfully. When that confirmation is not received within a certain time, it is concluded that apparently the service was not successful and the account should be credited. In the SPBP, the debit operation can be interpreted as the reserve from this model, while the commit is implemented via the info operation.

Enhanced Reserve-Commit Model Optionally, a credit operation can be added to the reserve-commit model (or equivalently, a commit could be added to the debit-credit model) to prevent the key role of timers in the reserve-commit model. In the enhanced reserve-commit model the SMSC will provide the GBG with an explicit confirmation of the outcome of the service delivery, irrespective whether it was successful or not. A second use of this model is to be able to do post-delivery charging on the GBG using parameters that a priori can only be obtained after service delivery such as recipient location.

In this document only the debit-credit model will be considered. Please ask first CSI or in second instance PM for assistance if the customer is using a different charging model.

Transaction flows

The following figures show the transaction flow of the most common configurations.

Transaction flow for SMS with sufficient credit

Transaction flow for SMS with insufficient credit

Transaction flow for SMS refund

Solution implementation

For all models the following licenses should be enabled in SYS$SYSTEM:CMG_LICENSE.DAT

SMSC_PREPAID_SMS_ENABLED SMSC_PP_BULK_ENABLED when the customer wants to use bulk mode.

The corresponding attributes should be enabled:SMSC_COMMON /PREPAID_SMS_ENABLED SMSC_COMMON /PP_SMS_BULK_ENABLED when the customer wants to use bulk mode.

Real-time billing mode: Prepaid subscribers provisioned on SMSCWhen prepaid subscribers are provisioned on the SMSC debit requests for prepaid subscribers only are forwarded to the billing system; all other messages are considered to be sent by post paid subscribers.

The table PP_REC in the SSD contains all prepaid users. SSD entities load these data in memory to determine if the MSISDN belongs to a prepaid user.The prepaid additions to the services database are installed by running the interactive script SMSC$ROOT:[SCRIPTS]SDB_CREATE_PREPAID.COM. This script assumes that the SDB itself has already been created and adds the prepaid table (PP_REC) to it. The operator is requested to supply the expected total number of expected prepaid users and the table is dimensioned accordingly. Extension of the prepaid table will be handled by the database software and will not have impact on a running SSD.

The prepaid user table can be maintained via PRL, SOG or LIW.

Parameter settings for this model:

ParameterClassValueExplanation

PREPAID_SMS_ENABLEDSMSCONThis parameter is used to specify whether the SMS Prepaid functionality is enabled by the SMSC

PP_SMS_BULK_ENABLEDSMSCOFFThis parameter is used to specify whether SMS Prepaid bulk functionality is enabled by the SMSC

PP_MODESMSCREAL_TIMEThis parameter is used to specify the operational mode of the SMSC for prepaid traffic

MAX_PP_USERSSSD_COMMONNumber of prepaid users in database + 10%This parameter is used to specify the maximum number of prepaid users that the SSD will hold in memory. MAX_PP_USERS can be set to values in the range of 0 to 20,000,000.

PP_OGT_LIST_TYPESSD_COMMONNOT_USEDNot relevant in this model

PP_OGT_LIST_SIZESSD_COMMON0Not relevant in this model

If the attribute PP_OGT_LIST_TYPE is set to MATCH_ALL, all originator global titles and point codes match the WHITE list. In that case the SMSC will always perform the prepaid checks when a prepaid mobile is the charged party.

If the attribute PP_OGT_LIST_TYPE is set to NOT_USED, the list is not searched and the originating network is unknown, but the OGT field will be populated in the prepaid request.

In the BULK prepaid operational mode, due to the NOT_USED value the prepaid checks are NOT performed for the mobile prepaid subscriber.

If the attribute PP_OGT_LIST_TYPE is set to BLACK, and the global title or point code is on the list, then there will be no prepaid request generated.

If the attribute PP_OGT_LIST_TYPE is set to WHITE and the global title or point code are on the list, then a prepaid request will be generated.

If the LIST_TYPE is BLACK or WHITE, and the blacklist is empty, then point code will not trigger a prepaid request, but global title will trigger a prepaid request.

NOTE: the PP_OGT_LIST can also contain prefix entries, so there can also be a match on the first digits of the global title.

Bulk billing mode: Prepaid subscribers NOT provisioned on SMSC

In BULK mode all debit requests where a mobile subscriber is the charged party are forwarded to the billing system and based on the response of the billing system the message will be accepted or rejected by the SMSC.

Parameter settings for this model:

ParameterClassValueExplanation

PREPAID_SMS_ENABLEDSMSCONThis parameter is used to specify whether the SMS Prepaid functionality is supported by the SMSC

PP_SMS_BULK_ENABLEDSMSCONThis parameter is used to specify whether SMS Prepaid bulk functionality is supported by the SMSC

PP_MODESMSCBULKThis parameter is used to specify the operational mode of the SMSC for prepaid traffic: REAL_TIME or BULK.

PP_OGT_LIST_TYPESSD_COMMONMATCH_ALLThe SMSC will always perform a prepaid check when a prepaid mobile is the charged party, independent of global title or point code.

PP_OGT_LIST_SIZESSD_COMMON0Not relevant for MATCH_ALL

Roaming prepaid subscribersA common configuration model is when all prepaid subscribers are charged in the network and only roaming subscribers need to be charged by the billing system. This can be configured with a blacklist or a white list of global titles. This model can be applied in BULK mode and in REAL_TIME mode.

If the SMSC Prepaid Originator GT list has been configured as a blacklist and the Global Title (GT) address of the originator of an SM appears on the list, then the blacklisted originators are seen to be in the home PLMN and the message has already been processed for billing in the network. No transactions are sent to the Prepaid billing system. In this case the OGT list is populated with all switches which belong to the network of the customer.

If the SMSC Prepaid Originator GT list has been configured as a white list and the Global Title (GT) address of the originator of an SM does not appear on the list, then the SMSC assumes that the message has already been processed for billing in the network, and the message is treated as FREE. No transactions are sent to the Prepaid billing system. In this case the OGT list is populated with all switches which do not belong to the network of the customer.

Parameter settings for BULK mode:

ParameterClassValueExplanation

PREPAID_SMS_ENABLEDSMSCONThis parameter is used to specify whether the SMS Prepaid functionality is supported by the SMSC

PP_SMS_BULK_ENABLEDSMSCONThis parameter is used to specify whether SMS Prepaid bulk functionality is supported by the SMSC

PP_MODESMSCBULKThis parameter is used to specify the operational mode of the SMSC for prepaid traffic: REAL_TIME or BULK.

MAX_PP_USERSSSD_COMMON0In BULK mode prepaid subscribers are not cached in memory

PP_OGT_LIST_TYPESSD_COMMONBLACK or WHITESee explanation above

Parameter settings for REAL_TIME mode:

ParameterClassValueExplanation

PREPAID_SMS_ENABLEDSMSCONThis parameter is used to specify whether the SMS Prepaid functionality is supported by the SMSC

PP_SMS_BULK_ENABLEDSMSCOFFThis parameter is used to specify whether SMS Prepaid bulk functionality is supported by the SMSC

PP_MODESMSCREAL_TIMEThis parameter is used to specify the operational mode of the SMSC for prepaid traffic: REAL_TIME or BULK.

MAX_PP_USERSSSD_COMMONNumber of prepaid users in database + 10%This parameter is used to specify the maximum number of prepaid users that the SSD will hold in memory.MAX_PP_USERS can be set to values in the range of 0 to 20,000,000.

PP_OGT_LIST_TYPESSD_COMMONBLACK or WHITESee explanation above

PP_OGT_LIST_SIZESSD_COMMONDefault 0This parameter is used to specify the maximum number of prepaid Global Titles (GTs) that the SSD will hold in memory

Using Rule Based Decision Logic.All models described above can also be implemented using rule based decision logic, in which case the characteristics of a prepaid user are captured in rules.

ParameterClassValueExplanation

MSG_RULES_ENABLEDSMSCONThis qualifier is used to specify whether the Rule Based Decision Logic functionality is supported by the SMSC. When set to ON, the SMSC expects a decision rule configuration in the SSD_MSG_RULES.CNF file. MSG_RULES_ENABLED can be set to OFF or ON.This attribute can only be set if all the SSD entities are stopped. The value ON is allowed when the SMSC_COMMON attribute /RECIPIENT_ADDR_RANGE_R is set to OFF.

MSG_RULES_PP_ENABLEDSSD_COMMONONThis qualifier is used to specify whether the Rule Based Decision Logic functionality supports Prepaid rulesets. When set to ON, the SMSC expects the operator to define Prepaid rulesets for making prepaid charging decisions. When set to OFF, the SMSC will not accept a Rule Based Decision Logic configuration containing Prepaid rulesets.This attribute can only be set when all SSD entities are stopped.

MAX_MSG_RULESSSD_COMMON0 - 512This qualifier is used to specify the maximum number of rules that can be stored in memory. If not all configured rules fit in memory, the rule based decision functionality is disabled.MAX_MSG_RULES can be set to values in the range of 0 to 512This attribute can only be modified when all SSD entities are stopped.

MAX_MSG_RULE_SETSSSD_COMMON0 - 20This qualifier specifies the maximum number of decision rule sets that can be stored in memory. If not all configured rule sets fit in memory, the rule based decision functionality is disabled.MAX_MSG_RULE_SETS can be set to values in the range from 0 to 20.This attribute can only be modified when all SSD entities are stopped.

RECIPIENT_ADDR_RANGE_RSMSCOFFSee explanation below

This feature cannot be enabled when the Recipient Address Range Routing (RARR) is enabled system-wide, i.e. when the SMSC_COMMON /RECIPIENT_ADDR_RANGE_R attribute is set to ON. However, within the RBDL functionality, the provisioned RARR ranges can still be checked for routing to an LA or catchall message gateway when the APPLY_RARR action is executed for a matching rule.

Rules need to be configured in the file SMSC$ROOT:[DATA]SSD_MSG_RULES.CNF

Example of Rule Based Decision Logic.This example shows the use of IMSI ranges and Originating Global Title to forward prepaid requests for roaming prepaid subscribers only. In order to decide on the SMSC whether a charging is necessary, the following rules are applied:

Rule 1: VLR (OGTI address) If the OGTI (Originating Global Title) is not MSC prefix 0039 (national roaming can be authorized in the network) then the SMS is submitted by an international roaming subscriber.Rule 2: IMSI If 6th digit of the IMSI equals 1, 2, 3 or 4 then this subscriber is a prepaid subscriber.

Rules 1 and 2 can be applied in sequence, which means the non-roaming traffic is filtered out before the prepaid rule is applied, and only the prepaid traffic is treated by GBG-CCN on-line billing.

SSD_MSG_RULES.CNF content:Rule_set Roaming_Prepaid{Rule rw1 Order 1 Conditions A_GT not in 3, A_IMSI in 4 Actions PP_SET_A_PP, PP_CHARGE_A}Rule Catchall order 30 Action APPLY_RARREval_on_submission Roaming_Prepaid, Catchall

Two rules are created: One for the prepaid roaming and one for RARR. Normal RARR has to be disabled, however it is used via RDBL like it is normally used.

SDB content:PRL> sea ag_prefix TON NPI ADDR_PREFIX ADDR_GROUP_ID 1 ? "39*" 3 ? 6 "222881*" 4 ? 6 "222882*" 4 ? 6 "222883*" 4 ? 6 "222884*" 4PRL> show addr_group 3 ADDR_GROUP_ID: 3 SUBS_PROFILE_ID: 0PRL> show addr_group 4 ADDR_GROUP_ID: 4 SUBS_PROFILE_ID: 0

The OGTI prefix has been added to the address_prefix table in the SDB.

Standard configuration parameters

This section contains all configuration settings that are independent of the implementation model.

SMSC configuration

ParameterClass ValueExplanation

PP_SUPPORTED_SPBP_MSGSSMSC1This parameter is a bitmask that is used to specify which messages of the SPBP are supported by the SMSC. See note below

PP_SUPPORTED_ADD_SERSMSC0This parameter is a bitmask that is used to specify which additional services of the SPBP are supported by the SMSC. See note below

NOTE: PP_SUPPORTED_SPBP_MSGS and PP_SUPPORTED_ADD_SER are important parameters that determine how many requests will be sent to the prepaid system. When these parameters are not configured correctly this will lead to sending unnecessary prepaid transactions to the prepaid system, which can lead to overloading the prepaid system and loss of prepaid service. The default setting of these parameters is to enable all possible prepaid requests, which results in twice the normal load of prepaid requests and the default setting should always be modified.The possible values of PP_SUPPORTED_SPBP_MSGS are credit requests, delivery messages, and statistical triggers. Credit requests are used to refund messages, which could not be delivered. Delivery messages are used if the subscriber is charged after the message has been delivered or can be relevant in case of concatenated messages. Statistical triggers are used for free messages.In most cases PP_SUPPORTED_SPBP_MSGS can be set to 1 which will result in a refund if the messages cannot be delivered. If refunds in this case are not allowed by the operator this parameter should be set to 0. There are customers who need different settings for this parameter, for example if the recipient is charged when he is roaming, or when the reserve-commit model is used. In these cases contact CSI for assistance with configuration.

PP_SUPPORTED_ADD_SER is used to charge additional services like notifications, forwarding, last resort addressing, provisioning, reply-path, SMS commands and forwarding to a unified mailbox.In most cases PP_SUPPORTED_ADD_SER can be set to 0. When an additional service is supported by the billing system the setting of this parameter should be discussed with the prepaid specialists CSI and in second instance with PM.

The following parameters affect charging of messages. Charging of messages from mobile to applications (MO-AT) and from application to mobile (AO-MT) is configured for each application separately in the large account database. Large accounts are never charged.

ParameterClassValueExplanation

PP_JAMMED_SETTINGSMSC_COMMONSMS_FREEThis parameter is used to specify the behavior of the SMSC when the Payment System interface is JAMMED. This behavior can be either: all prepaid messages are rejected or all prepaid messages are free

PP_MOMT_CHARGINGSMSC_COMMONORIGINATORThis parameter is used to specify whether the originator or the recipient is the charged party in prepaid MO-MT traffic and whether this Primary Service is free or not

PP_NOTIF_SETTINGSMSC_COMMONCHARGEDThis parameter is used to specify whether notifications or status reports are charged, free or ignored.

PP_PB_TIMEOUTSMH_COMMON6The PP_PB_TIMEOUT qualifier is used to specify the timeout value for the Payment System response to an earlier Primary or Additional Service debit transaction. A value of 0 means that the SMH will wait indefinitely for the response to arrive. SMSC timeout (pp_pb_timeout) > GBG timeout (msg_timeout_ms) > BS timeout (response_timeout_ms)

PP_PB_TIMEOUT_TICKSMH_COMMON1The PP_PB_TIMEOUT_TICK qualifier is used to specify how often the SMH checks whether messages waiting for a Payment System response have timed out.

USE_CACHEPBR_COMMONNOThis parameter specifies whether or not a local cache is used when there is no active session with the Prepaid Billing System. See note below

CACHE_SIZEPBR_COMMON100Should not be used, see note below

CACHE_TO_FILEPBR_COMMONNOShould not be used, see note below

HEARTBEAT_INTERVALPBR_COMMON500This qualifier is used to specify the interval between two heartbeats the PBR transmits.

HEARTBEAT_TIMEOUTPBR_COMMON500This qualifier is used to specify the timeout value for the heartbeat that the PBR expects to receive from the Payment System.

MAX_MISSED_HEARTBEATSPBR_COMMON3This qualifier is used to specify the maximum number of missed heartbeats before the PBR will terminate the associated SPBP session. A value of 0 means that the PBR will never terminate the associated session, but the SMSC will not know if the PSA is down or having problems. A value of 0 is NOT recommended.

MAX_CONNECTIONSPBR_COMMON10The MAX_CONNECTIONS qualifier is used to specify the maximum number of SPBP connections. The number of connections from GBG to SMSC should not exceed this parameter

MAX_REQUEUE_ATTEMPTSPBR_COMMON1The MAX_REQUEUE_ATTEMPTS qualifier is used to specify the maximum number of requeue attempts for an undeliverable debit or credit record.

MAX_TRANS_PER_SECPBR_COMMON1000Each PBR entity will process a maximum of (MAX_TRANS_PER_SEC * THROUGHPUT_INTERVAL) transactions per THROUGHPUT_INTERVAL seconds long intervals.

THROUGHPUT_INTERVALPBR_COMMON1The THROUGHPUT_INTERVAL qualifier is used to specify the interval in which throughput measurements are taken.

PP_APA_INCLUDEDPBR_COMMONNOThis qualifier is used to specify whether Application Port Addressing (APA) information is included in the billing information sent to the Payment System.

PP_CM_INCLUDEDPBR_COMMONNOThis qualifier is used to specify whether Concatenated Message (CM) information is included in the billing information sent to the Payment System

PP_EMS_INCLUDEDPBR_COMMONNOThis qualifier is used to specify whether Enhanced Message Service (EMS) information is included in the billing information sent to the Payment System

PRES_ADDR_ENABLEDPBR_COMMONNOOnly to be considered when ADT is used. It is best to set this attribute to NO. When set to YES this attribute breaks other default features.

UNTR_ADDR_ENABLEDPBR_COMMONNOOnly to be considered when ADT is used. It is best to use the default, because changing this attribute breaks other default features.

SPBP_OPT_FIELDS_MASKPBR_COMMON0This parameter is a bitmask that is used to specify which SPBP optional fields are enabled. See explanation below.

PP_ACCEPT_BLOCKEDSMH_COMMONOFFThis parameter is used to switch sending a positive acknowledgement for the MO/SM, when the prepaid charged party is blocked.

PP_REJECT_NO_RNISMH_COMMONNOThis attribute specifies whether or not a message requiring prepaid charging will be rejected in case no Recipient Number Information data is available. See also release note smsc_v05_21_043

PP_FIXED_BILLINGSMH_COMMONSee billing configuration below

ABN_ENABLEDSMH_COMMONThis parameter specifies whether Account Balance Notification (ABN) messages are generated by the SMSC.

NOTE: The USE_CACHE parameter should always be set to NO, because it has a negative impact on the performance of the SMSC. The content of the cache can be different on each of the SMSC nodes, because a prepaid user can be registered in all caches with different values.When CACHE_TO_FILE is enabled the negative impact on the performance of the SMSC will be major, because this will result in the memory cache being written to disk regularly.

SPBP_OPT_FIELDS_MASK: for details see SMS Prepaid Billing Protocol Interface Specification Version 1.7.0. Please contact CSI or PM for configuration details.

It is possible to send notifications with account balance information to the prepaid subscriber by enabling ABN. There are several parameters that control the content of the notification sent to the mobile, for detail see the SMSC reference manual.

GBG SMSC connection

In this section we will look at the configuration of one SMSC with one GBG. Adding more GBG or SMSC nodes to the configuration is reasonably straight forward, but more complicated models with several systems will be discussed in the section on tuning and sizing.For customer specific implementations, GBG development team supplies a solution pack, which includes the example of configuration files customized for the deployment. If a solution pack is not provided, use some of the product-specific examples delivered with GBG. GBG base pack includes examples for typical SMSC deployments.When starting with the example file, copy the example file to target filename (e.g. gbg.ini) before making any changes.

The connection to the prepaid system is initialised by the GBG. On the SMSC the TCP server needs to be configured to present the prepaid service to the GBG. This is done in the TCP configuration file. It is recommended to use a separate TCP server (and consequently a separate TCP configuration file) for the prepaid service. This way restarting the prepaid TCP server will not affect the connection to the applications (large accounts) and vice versa.

For most systems one PBR entity per node is configured. The section on tuning and sizing will look at other options.Normally there is only one port configured where the prepaid service is offered, but it is possible to define more ports. The following lines should be added to the TCP configuration files and the number of ports in the file (TCP_NR_PORTS) should be incremented.

PORTSERVICE P_PBRCHANNELTYPE SWITCHED

The information about the connection (hostname and port) needs to be configured on GBG in the gbg.ini file.

ParameterValueDescription

REMOTE_ADDRESS

SMSC NODE + PORTDefines the address of the SMSC. (see GBG CMAN section 4.5.3) When several SMSCs are used there will be an entry for each SMSC node. The hostname can be a domain name or an IP-address.

CONNECTIONS1Number of connections established to the each address, default 1. The number of connections should not be larger than PBR_COMMON / MAX_CONNECTIONS on the SMSC

The following parameters determine the (re)connection timeouts. These parameters might change between GBG versions, so always check the GBG Configuration Manual.

MSG_TIMEOUT_MS5000Processing timeout value for requests. GBG must process the request and send a response within the set time. If the request is not completely processed in the set time, GBG replies with response code corresponding to the internal response code CONGESTION.SMSC timeout (pp_pb_timeout) > GBG timeout (msg_timeout_ms) > BS timeout (response_timeout_ms)

ESTABLISH_RETRIES5Specifies the maximum number of timeouts possible for SPBP "Request To Establish" prior to a connection being closed.

RECONNECT_INTERVAL_MS5000Tells the SPBP module for how long it should wait (in milliseconds) before attempting to initiate a new connection.

KEEPALIVE_INTERVAL_MS5000Specifies the period of SPBP keep alive generator, in milliseconds. The keep alive is generated by GBG SPBP module when no data are sent to the remote party (e.g. SMSC) during this period.

CONNECTION_IDLE_LIMIT_MS12000If there is no incoming traffic on the connection for the given period (in milliseconds), the GBG closes the connection.

Response Code Mapping

The response code represents the result of the charging operation on the billing system and is propagated from the billing system back to the SMSC. GBG normalizes response codes of the different billing systems to a limited set of internal response codes. The internal response codes maps into appropriate response code designated for the SMSC. Normally the response code mapping delivered with the solution pack does not need to be changed. Please contact prepaid experts in CSI when the behavior of the IN billing system is not compatible with the standard solution.

Example:

[SPBP]default_route="Hub"msg_timeout_ms=5000coi="COI_1"prim_billing_opcode=9001add_billing_opcode=9002prepaid_status=1version=0x010701service=2connect_timeout_ms=2000establish_timeout_ms=3000establish_retries=5reconnect_interval_ms=3000cleanup_timeout_ms=4000wfclose_timeout_ms=1500ready_timeout_ms=2000keepalive_interval_ms=3000connection_idle_limit_ms=12000remote_address="127.0.0.1:12201"remote_address="spbp.example.com:12201"connections=1response_code=SUCCESS:0x0000response_code=SUB_NOT_FOUND:0x0200response_code=SUB_INSOLVENT:0x0202response_code=0xF000

GBG IN connectionIn this section we will look at the configuration of one GBG with one IN. Adding more nodes to the configuration is reasonably straight forward, but more complicated models with several systems will be discussed in the section on tuning and sizing. In real life there are more complicated scenarios with several IN platforms, sometimes from different vendors, where it is necessary to route the request based on subscriber specific information (IMSI or MSISDN ranges). GBG offers the possibility to create scripts in a Pascal like language to define these routing scenarios.

The correct values for target host/port and possibly also for target realm may not be known to GBG development. Therefore check these values in the gbg.ini and change them if necessary.ParameterValueDescription

REMOTE_ADDRESSHOSTNAME+PORTHost and port of the peer system with Diameter interface. Used as destination for requests originated by GBG. The peer system must use the same host name as source address.

REMOTE_REALMDOMAIN NAMERealm name of the Diameter billing system.

SCAP_COMPATIBILITYOFFEnables compatibility modes for communication with billing systems adhering to various Diameter flavors.Possible values are:Standard - Compatible with Diameter standards.Ericsson_SCAP - Compatible with [Draft8].

RESPONSE_TIMEOUT_MS5000maximum allowed response time of billing system. If the response is not received within the time, internal response code ofthe internal message is set to CONGESTIONSMSC timeout (pp_pb_timeout) > GBG timeout (msg_timeout_ms) > BS timeout (response_timeout_ms)

See also Generic Diameter Module Configuration Manual

CDR Billing Configuration

SMSC and GBG both support the generation of billing records, CDRs. Here we will only look at the CDR configuration on SMSC and concentrate on solutions to separate hot billing CDRs.

Hot billing CDRs are billing records that could not be processed in real time but are processed as soon as possible after they are generated (the records are still hot). This processing is especially used for prepaid text messages that could not be charged on submission time because the IN billing system was not available: the billing system was in jammed state. On the SMSC it is possible to split the CDRs in streams and to write the jammed prepaid CDRs into a separate directory.

Relevant SMSC parameters:

ParameterClass ValueExplanation

SMSC_LOGGING_MASKSMSCThis parameter is a bitmask which is used to specify which information is logged by the SMSC

PP_FIXED_BILLINGSMH_COMMONPRE_AND_POSTPAIDThis parameter is used to specify the logging behavior of the SMH towards the LOGSRV: pre- and postpaid messages, only prepaid messages or only postpaid messages.

NR_EXTRA_CDR_STREAMSSMSC_COMMON1 or moreThe number of CDR streams is n+1, where nr_extra_cdr_streams = nWhen this attribute is 0, all CDRs will be written into 1 file.

For more details how to configure billing see the SMSC Billing Manual.

Solution Tuning & Sizing

Troubleshooting prepaid configurations

During implementation of a prepaid solution of SMSC with GBG the following tools can be used for troubleshooting.

Log files GBG

The following environment variables are available to trace and debug GBG.

ParameterValueExplanation

GBG_LOG_FLAGSFSCan be set to SV during deployment and trouble shooting, requires restart of GBG

GBG_LOG_LEVEL2Can be set to 5 during deployment and trouble shooting, requires GBG_LOG_FLAGS to be set to V and restart of GBG

It is important to configure logrotate for rotation of log files to prevent disks getting full.

Log files SMSC

The default SMSC log file in SMSC$ROOT:[LOG] gives information about the status of the prepaid processes.

To troubleshoot it is often necessary to trace the PBR entity. The following command gives a PBR trace with all relevant information:

PML> trace class PBR /enttrci=all /enttrco=all /trcl=6 /test=39

Searching the produced trace file with the following OpenVMS command will give all information about PBS transactions:

$ search PBS, TRANS /match=and /window=(0,3) /output=

General logging

Besides the log and trace files it is good to trace the TCP traffic on GBG or SMSC with tcpdump.

Wireshark (aka Ethereal) supports the Diameter protocol, which makes trouble shooting easy. To get a full translation of all fields it is necessary to put the relevant xml files and data dictionary in the Diameter subdirectory of Wireshark.

ToolsBesides Wireshark the following tools are available to help with testing the prepaid solution. Rory: Send and receive Prepaid Billing Protocol (PBP) messages. It can be used on the SMSC to simulate the GBG and on the GBG to simulate the SMSC. This tool is not fit for performance tests.

Seagull: a free, Open Source (GPL) multi-protocol traffic generator test tool can be used to test scenarios with Diameter protocol. A Seagull scenario - written in XML - describes the messages that are sent and received. It also indicates the behaviour to adopt in case a message is unexpected or a check on a parameter fails. It is not possible to test complex scenarios with a single Seagull setup.

Sizing and redundancy

When configuring the SMSC and GBG it is possible to create extra processes to support redundancy and failover. On each SMSC node normally runs one PBR process, which is capable of handling the prepaid requests. When a PBR process on one node fails the SMSC will send all requests to the PBR process on the other node. There are no data available about the relation between performance and more PBR processes.There should be a separate TCP process to handle the connection to the prepaid system. There are no data available about the relation between performance and more TCP processes.

Solution - Frequently Asked Questions

Q. On the SMSC I am using prepaid bulk mode but I dont see any prepaid traffic.A. Check the setting of the attribute SSD_COMMON /PP_OGT_LIST_TYPE. The default value of this attribute is NOT_USED and in the BULK prepaid operational mode, due to the NOT_USED value the prepaid checks are not performed for the mobile originator.

Q. GBG does not start when I use several modules with the Diameter protocolA. Check the parameter number_of_threads. This parameter should be equal to or higher than the number of Diameter modules.

Configuration examples

Basic example of GBG configuration for SMSC.

# To use the file, copy it to gbg.ini.# When editing, refer to GBG CMAN.

# The example shows generation of SDR files in CSV format and charging via RTPP# interface. If you need another prepaid interface, replace RTPP prepaid module# with another prepaid module. Make sure to replace reference to RTPP module in# [Routing/RulePrepaid].

# Parameters that need to be checked/set:# # Section [SPBP]# remote_address# msg_timeout_ms# # Section [CSV]# attribute# sdr_file_path, namefmt# # Section [RTPP] (if RTPP interface is used)# remote_address# response_timeout_ms

[Common]multiple_instances=0instance=1name="GBG"

[SNMP]trap_oid=".1.3.6.1.4.1.3830.1.1.7"remote_address="45100"

[Modules]Hub ="gbg_module_hub"Stats ="gbg_module_stats"Routing="gbg_module_routing"SPBP ="gbg_module_spbp"CSV ="gbg_module_csv"RTPP ="gbg_module_rtpp"

[Hub]default_route=Routing

[Stats]snmp_oid=".1.3.6.1.4.1.3830.1.1.7.1.1"

[Routing]stats_name=Stats

[Routing/RulePrepaid]condition=#PREPAID_STATUS:#PREPAIDroute=RTPProute=CSV

[SPBP]remote_address="spbp.example.com:9900";connections=1

coi="COI"prim_billing_opcode=9001add_billing_opcode=9002prepaid_status=1

msg_timeout_ms=5000

response_code=SUCCESS:0x0000response_code=SUB_NOT_FOUND:0x0200response_code=SUB_LACKS_SERVICE:0x0204response_code=SUB_INSOLVENT:0x0202response_code=SUB_BARRED:0x0202response_code=SYNTAX_ERROR:0x0002response_code=INTERNAL_ERROR:0x0002response_code=CONGESTION:0x0003response_code=ACCOUNT_EXPIRED:0x0203response_code=CREDIT_EXPIRED:0x0205response_code=LOW_BALANCE:0x0300response_code=BS_ERROR:0x0102response_code=DB_ERROR:0x0100response_code=MISC_ERROR:0xF000response_code=0xF000

[SPBP/Translation]transaction =TRANSACTIONpricing =PRICINGchargeInfo_msgRef =TRANS_IDchargeInfo_timeStamp =TIMESTAMPchargeInfo_chargedAddr_PID =PIDchargeInfo_chargedAddr_TON =TONchargeInfo_chargedAddr_NPI =NPIchargeInfo_chargedAddr_address =ADDRESSchargeInfo_chargedAddr_networkType =NETW_TYPEchargeInfo_chargedAddr_localReg_prepaid =PREPAIDchargeInfo_chargedAddr_localReg_subscriber =SUBSCRIBERchargeInfo_chargedAddr_localReg_largeAccount =LARGE_ACCOUNTchargeInfo_chargedParty =CHARGED_PARTYchargeInfo_billingField =BILL_FchargeInfo_chargedGlobalTitle_PID =GT_PIDchargeInfo_chargedGlobalTitle_TON =GT_TONchargeInfo_chargedGlobalTitle_NPI =GT_NPIchargeInfo_chargedGlobalTitle_address =GT_ADDRESSchargeInfo_chargedGlobalTitle_networkType =GT_NETW_TYPEchargeInfo_chargedGlobalTitle_localReg_prepaid =GT_PREPAIDchargeInfo_chargedGlobalTitle_localReg_subscriber =GT_SUBSCRIBERchargeInfo_chargedGlobalTitle_localReg_largeAccount=GT_LARGE_ACCOUNTchargeInfo_singleShot =SINGLE_SHOTchargeInfo_storeReference =STORE_REFchargeInfo_concatInfo_currentSegment =CONCAT_SEGMENTchargeInfo_concatInfo_maxSegment =CONCAT_MAX_SEGMENTchargeInfo_concatInfo_cmReference =CONCAT_REFchargeInfo_smscAddress =SMSC_ADDRESSchargeInfo_vamcInfo_formattedText =VAMC_FORMATTED_TEXTchargeInfo_vamcInfo_sizeOfCompData =VAMC_SIZE_OF_COMPRESSED_DATAchargeInfo_vamcInfo_shortPortAddress =VAMC_SHORT_PORT_ADDRESSchargeInfo_vamcInfo_longPortAddress =VAMC_LONG_PORT_ADDRESSchargeInfo_vamcInfo_udhData =VAMC_UDH_DATAchargeInfo_chargedPointCode =POINT_CODEchargeInfo_chargedImsi =IMSIchargeInfo_chargedAddrGroup =ADDR_GROUPchargeInfo_billingFieldSMPP =BILL_F_SMPPchargeInfo_origMsgID =ORIG_MSG_IDchargeInfo_payloadInfo_encoding =PAYLOAD_ENCODINGchargeInfo_payloadInfo_payloadSize =PAYLOAD_SIZEchargeInfo_payloadInfo_numChars =PAYLOAD_CHARSotherAddr_PID =OA_PIDotherAddr_TON =OA_TONotherAddr_NPI =OA_NPIotherAddr_address =OA_ADDRESSotherAddr_networkType =OA_NETW_TYPEotherAddr_localReg_prepaid =OA_PREPAIDotherAddr_localReg_subscriber =OA_SUBSCotherAddr_localReg_largeAccount =OA_LARGE_ACCOUNTotherLAShortNumber =OTHER_LA_SHORT_NUMBERmessageOrigAddr_PID =MOA_PIDmessageOrigAddr_TON =MOA_TONmessageOrigAddr_NPI =MOA_NPImessageOrigAddr_address =MOA_ADDRESSmessageOrigAddr_networkType =MOA_NETW_TYPEmessageOrigAddr_localReg_prepaid =MOA_PREPAIDmessageOrigAddr_localReg_subscriber =MOA_SUBSCmessageOrigAddr_localReg_largeAccount =MOA_LARGE_ACCOUNTorigRecipient_address_PID =OR_PIDorigRecipient_address_TON =OR_TONorigRecipient_address_NPI =OR_NPIorigRecipient_address_address =OR_ADDRESSorigRecipient_address_networkType =OR_NETW_TYPEorigRecipient_address_localReg_prepaid =OR_PREPAIDorigRecipient_address_localReg_subscriber =OR_SUBSCorigRecipient_address_localReg_largeAccount =OR_LAorigRecipient_digits =OR_DIGITSteleserviceId_internal =TELE_ID_INTteleserviceId_external =TELE_ID_EXTotherGlobalTitle_PID =OGT_PIDotherGlobalTitle_TON =OGT_TONotherGlobalTitle_NPI =OGT_NPIotherGlobalTitle_address =OGT_ADDRESSotherGlobalTitle_networkType =OGT_NETW_TYPEotherGlobalTitle_localReg_prepaid =OGT_PREPAIDotherGlobalTitle_localReg_subscriber =OGT_SUBSCotherGlobalTitle_localReg_largeAccount =OGT_LAotherPointCode =OTHER_POINT_CODEotherImsi =OTHER_IMSIotherAddrGroup =OTHER_ADDR_GROUPservicePrice_valuta =PRICE_VALUTAservicePrice_amount =PRICE_AMOUNTservicePrice_significance =PRICE_SIGNIFICANCEaccountBalance_valuta =ACCOUNT_BALANCE_VALUTAaccountBalance_amount =ACCOUNT_BALANCE_AMOUNTaccountBalance_significance =ACCOUNT_BALANCE_SIGNIFICANCEadditionalService =ADDITIONAL_SERVICEprimDuringJam =PRIM_JAMprimServiceTime =PRIM_SERVICE_TIME

[CSV];attribute=

sdr_file_path="/home/gbg/var/"namefmt="node_%T_identity_%U.csv"

delimiter="""separator=","sequence=on

;header="CSV file, Created: %T";header="-----";trailer="Total SDRs: %R"

;sdr_file_period=0;sdr_file_size=0;sdr_per_file=0

[RTPP]remote_address="rtpp1.example.com:55555"remote_address="rtpp2.example.com:55555"connections=3response_timeout_ms=3000forward_mode=off;window_size=

;response_code=0x1000:SUCCESS;response_code=0x2000:SYNTAX_ERROR;response_code=0x2001:SYNTAX_ERROR;response_code=0x2002:INTERNAL_ERROR;response_code=0x6000:SUB_INSOLVENT;response_code=0x6001:SUB_NOT_FOUND;response_code=0x6002:SUB_BARRED;response_code=INTERNAL_ERROR

[RTPP/Translation]#BILLING_OPERATION =0x2004TIMESTAMP =0x2005, convert_timestamp

ADDITIONAL_SERVICE =0x9000, convert, UINT32PRICING =0x9001, if, {{:1}:{set, {BOOL:0}}:{set, {BOOL:1}}}ADDRESS =0x9002, convert, UTF_STRINGNPI =0x9003, convert, UINT32PID =0x9004, convert, UINT32TON =0x9005, convert, UINT32GT_ADDRESS =0x9006, convert, UTF_STRINGGT_NPI =0x9007, convert, UINT32GT_PID =0x9008, convert, UINT32GT_TON =0x9009, convert, UINT32CHARGED_PARTY =0x900A, convert, UINT32CONCAT_SEGMENT =0x900B, convert, UINT32CONCAT_MAX_SEGMENT =0x900C, convert, UINT32CONCAT_REF =0x900D, convert, UINT32PRIM_JAM =0x900EORIG_MSG_ID =0x900F, convert, OCTET_STRINGOA_ADDRESS =0x9010, convert, UTF_STRINGOA_NPI =0x9011, convert, UINT32OA_PID =0x9012, convert, UINT32OA_TON =0x9013, convert, UINT32OTHER_LA_SHORT_NUMBER =0x9014SINGLE_SHOT =0x9015SMSC_ADDRESS =0x9016PRIM_SERVICE_TIME =0x9017, convert_timestampSTORE_REF =0x9018, convert, UINT32VAMC_FORMATTED_TEXT =0x9019VAMC_LONG_PORT_ADDRESS =0x901A, convert, UINT32VAMC_SHORT_PORT_ADDRESS =0x901B, convert, UINT32VAMC_SIZE_OF_COMPRESSED_DATA=0x901C, convert, UINT32VAMC_UDH_DATA =0x901DMOA_ADDRESS =0x901E, convert, UTF_STRINGMOA_NPI =0x901F, convert, UINT32MOA_PID =0x9020, convert, UINT32MOA_TON =0x9021, convert, UINT32OR_ADDRESS =0x9022, convert, UTF_STRINGOR_NPI =0x9023, convert, UINT32OR_PID =0x9024, convert, UINT32OR_TON =0x9025, convert, UINT32OR_DIGITS =0x9026

# Generated from:# smsc.gbg.ini.example.xml=2:xml:gbg#1 config.xml=6:xml:gbg#3# config.xml=3:xml:gbg#4 config.xml=4:xml:gbg#2 config.xml=3:xml:gbg#6# config.xml=11:xml:gbg#5 config.xml=15:xml:gbg#13 config.xml=11:xml:gbg#7# config.xml=17:xml:gbg#8

Basic example of GBG configuration for Diameter.

[Common]multiple_instances=0instance=1name="GBG"

[SNMP]trap_oid=".1.3.6.1.4.1.3830.1.1.7"remote_address="45100"

[Modules]Hub ="gbg_module_hub"Stats ="gbg_module_stats"Routing ="gbg_module_routing"SPBP ="gbg_module_spbp"CSV ="gbg_module_csv"Diameter="gbg_module_diameter"

[Hub]default_route=Routing

[Stats]snmp_oid=".1.3.6.1.4.1.3830.1.1.7.1.1"

[Routing]stats_name=Stats

[Routing/RulePrepaid]condition=#PREPAID_STATUS:#PREPAIDroute=Diameterroute=CSV

[SPBP]remote_address="spbp.example.com:9900";connections=1

coi="COI"prim_billing_opcode=9001add_billing_opcode=9002prepaid_status=1

msg_timeout_ms=5000

response_code=SUCCESS:0x0000response_code=SUB_NOT_FOUND:0x0200response_code=SUB_LACKS_SERVICE:0x0204response_code=SUB_INSOLVENT:0x0202response_code=SUB_BARRED:0x0202response_code=SYNTAX_ERROR:0x0002response_code=INTERNAL_ERROR:0x0002response_code=CONGESTION:0x0003response_code=ACCOUNT_EXPIRED:0x0203response_code=CREDIT_EXPIRED:0x0205response_code=LOW_BALANCE:0x0300response_code=BS_ERROR:0x0102response_code=DB_ERROR:0x0100response_code=MISC_ERROR:0xF000response_code=0xF000

[SPBP/Translation]transaction =TRANSACTIONpricing =PRICINGchargeInfo_msgRef =TRANS_IDchargeInfo_timeStamp =TIMESTAMPchargeInfo_chargedAddr_PID =PIDchargeInfo_chargedAddr_TON =TONchargeInfo_chargedAddr_NPI =NPIchargeInfo_chargedAddr_address =ADDRESSchargeInfo_chargedAddr_networkType =NETW_TYPEchargeInfo_chargedAddr_localReg_prepaid =-chargeInfo_chargedAddr_localReg_subscriber =-chargeInfo_chargedAddr_localReg_largeAccount =-chargeInfo_chargedParty =CHARGED_PARTYchargeInfo_billingField =BILL_FchargeInfo_chargedGlobalTitle_PID =GT_PIDchargeInfo_chargedGlobalTitle_TON =GT_TONchargeInfo_chargedGlobalTitle_NPI =GT_NPIchargeInfo_chargedGlobalTitle_address =GT_ADDRESSchargeInfo_chargedGlobalTitle_networkType =-chargeInfo_chargedGlobalTitle_localReg_prepaid =-chargeInfo_chargedGlobalTitle_localReg_subscriber =-chargeInfo_chargedGlobalTitle_localReg_largeAccount=-chargeInfo_singleShot =-chargeInfo_storeReference =-chargeInfo_concatInfo_currentSegment =CONCAT_SEGMENTchargeInfo_concatInfo_maxSegment =CONCAT_MAX_SEGMENTchargeInfo_concatInfo_cmReference =CONCAT_REFchargeInfo_smscAddress =SMSC_ADDRESSchargeInfo_vamcInfo_formattedText =-chargeInfo_vamcInfo_sizeOfCompData =-chargeInfo_vamcInfo_shortPortAddress =-chargeInfo_vamcInfo_longPortAddress =-chargeInfo_vamcInfo_udhData =-chargeInfo_chargedPointCode =POINT_CODEchargeInfo_chargedImsi =IMSIchargeInfo_chargedAddrGroup =ADDR_GROUPchargeInfo_billingFieldSMPP =BILL_F_SMPPchargeInfo_origMsgID =-chargeInfo_payloadInfo_encoding =-chargeInfo_payloadInfo_payloadSize =-chargeInfo_payloadInfo_numChars =-otherAddr_PID =OA_PIDotherAddr_TON =OA_TONotherAddr_NPI =OA_NPIotherAddr_address =OA_ADDRESSotherAddr_networkType =OA_NETW_TYPEotherAddr_localReg_prepaid =-otherAddr_localReg_subscriber =-otherAddr_localReg_largeAccount =-otherLAShortNumber =OTHER_LA_SHORT_NUMBERmessageOrigAddr_PID =MOA_PIDmessageOrigAddr_TON =MOA_TONmessageOrigAddr_NPI =MOA_NPImessageOrigAddr_address =MOA_ADDRESSmessageOrigAddr_networkType =-messageOrigAddr_localReg_prepaid =-messageOrigAddr_localReg_subscriber =-messageOrigAddr_localReg_largeAccount =-origRecipient_address_PID =OR_PIDorigRecipient_address_TON =OR_TONorigRecipient_address_NPI =OR_NPIorigRecipient_address_address =OR_ADDRESSorigRecipient_address_networkType =-origRecipient_address_localReg_prepaid =-origRecipient_address_localReg_subscriber =-origRecipient_address_localReg_largeAccount =-origRecipient_digits =OR_DIGITSteleserviceId_internal =TELE_ID_INTteleserviceId_external =TELE_ID_EXTotherGlobalTitle_PID =OGT_PIDotherGlobalTitle_TON =OGT_TONotherGlobalTitle_NPI =OGT_NPIotherGlobalTitle_address =OGT_ADDRESSotherGlobalTitle_networkType =-otherGlobalTitle_localReg_prepaid =-otherGlobalTitle_localReg_subscriber =-otherGlobalTitle_localReg_largeAccount =-otherPointCode =OTHER_POINT_CODEotherImsi =OTHER_IMSIotherAddrGroup =OTHER_ADDR_GROUPservicePrice_valuta =PRICE_VALUTAservicePrice_amount =PRICE_AMOUNTservicePrice_significance =PRICE_SIGNIFICANCEaccountBalance_valuta =-accountBalance_amount =-accountBalance_significance =-additionalService =ADDITIONAL_SERVICEprimDuringJam =-primServiceTime =PRIM_SERVICE_TIME

[CSV];attribute=

sdr_file_path="/home/gbg/var/"namefmt="node_%T_identity_%U.csv"

delimiter="""separator=","sequence=on

;header="CSV file, Created: %T";header="-----";trailer="Total SDRs: %R"

;sdr_file_period=0;sdr_file_size=0;sdr_per_file=0

[OpenDiameter]product="SMSC_V5_DP"vendor_id=3830supported_vendor_id=3830auth_application_id=4dictionary="/opt/gbg-2/etc/diameter_dictionary.xml"

identity="gbg.acision.com"local_realm="acision.com"response_timeout_ms=3000

[Diameter]remote_address="diameter.example.com:3868"remote_realm="example.com"compatibility=Standard

application_id=4command_code=272;username="[email protected]"

response_code=2001:SUCCESSresponse_code=2002:SUCCESSresponse_code=3000-3003:SYNTAX_ERRORresponse_code=3004:CONGESTIONresponse_code=3005-3999:SYNTAX_ERRORresponse_code=4001:MISC_ERRORresponse_code=4002-4009:BS_ERRORresponse_code=4010:SUB_LACKS_SERVICEresponse_code=4011:SUCCESSresponse_code=4012:SUB_INSOLVENTresponse_code=4013-4999:MISC_ERRORresponse_code=5000-5002:SYNTAX_ERRORresponse_code=5003:MISC_ERRORresponse_code=5004-5029:SYNTAX_ERRORresponse_code=5030:SUB_NOT_FOUNDresponse_code=5031-5999:MISC_ERRORresponse_code=9:CONGESTIONresponse_code=11:SYNTAX_ERRORresponse_code=1:INTERNAL_ERROR

[Diameter/Translation/Code]script_file="../etc/smsc_diameter.diameter.request.pas"

[Diameter/ResponseTranslation/Code]script_file="../etc/smsc_diameter.diameter.response.pas"

# Generated from:# smsc_diameter.gbg.ini.example.xml=6:xml:gbg#1 config.xml=6:xml:gbg#3# config.xml=3:xml:gbg#4 config.xml=5:xml:gbg#2 config.xml=3:xml:gbg#6# config.xml=11:xml:gbg#5 config.xml=16:xml:gbg#13 config.xml=11:xml:gbg#7# config.xml=15:xml:gbg#11Document version: 1.0C:\DOX\PrePaid\Solution\CSI prepaid solution GBG SMSC V1_0.docDocument version: 1.0Prepaid Party

SMSC

GBGDiameterProxy

Recipient

submit

CCR

CCA (not OK)

Submit response (not OK)

BillingPlatform

SPBP PrimSrv Debit Request

SPBP PrimaAck (not OK)

Prepaid Party

SMSC

GBGDiameterProxy

Recipient

submit

CCR

CCA (OK)

submit response (OK)

BillingPlatform

SPBP PrimSrv Debit Request

SPBP PrimAck (OK)

expired

SPBP PrimSrv Credit Request

CCR

CCA

Prepaid Party

SMSC

GBGDiameterProxy

Recipient

submit

CCR

CCA (OK)

submit response (OK)

BillingPlatform

SPBP PrimSrv Debit Request

SPBP PrimAck

Delivery of SM

Prepaid Party

SMSC

GBGDiameterProxy

Recipient

submit

CCR

CCA (not OK)

Submit response (not OK)

BillingPlatform

SPBP PrimSrv Debit Request

SPBP PrimaAck (not OK)

Prepaid Party

SMSC

GBGDiameterProxy

Recipient

submit

CCR

CCA (OK)

submit response (OK)

BillingPlatform

SPBP PrimSrv Debit Request

SPBP PrimAck (OK)

expired

SPBP PrimSrv Credit Request

CCR

CCA

Prepaid Party

SMSC

GBGDiameterProxy

Recipient

submit

CCR

CCA (OK)

submit response (OK)

BillingPlatform

SPBP PrimSrv Debit Request

SPBP PrimAck

Delivery of SM

Prepaid Party

SMSC

GBGDiameterProxy

Recipient

submit

CCR

CCA (not OK)

Submit response (not OK)

BillingPlatform

SPBP PrimSrv Debit Request

SPBP PrimaAck (not OK)

Prepaid Party

SMSC

GBGDiameterProxy

Recipient

submit

CCR

CCA (OK)

submit response (OK)

BillingPlatform

SPBP PrimSrv Debit Request

SPBP PrimAck (OK)

expired

SPBP PrimSrv Credit Request

CCR

CCA

NOTE: No acknowledgement for SPBP PrimSrv Credit request

Prepaid Party

SMSC

GBGDiameterProxy

Recipient

submit

CCR

CCA (OK)

submit response (OK)

BillingPlatform

SPBP PrimSrv Debit Request

SPBP PrimAck

Delivery of SM