Oracle® Communications Service Broker VPN Implementation Guide Release 6.1 Part Number E29462-01 |
|
|
PDF · Mobi · ePub |
This chapter describes how to integrate Oracle Communications Service Broker VPN services with external charging applications. It describes the charging information that Service Broker VPN services generate in the form of attribute-value pairs (AVPs).
Service Broker VPN works with offline-based and online-based Diameter charging applications. Specifically, the Service Broker VPN application acts as a Diameter client (or Charging Trigger Function (CTF)) that reports session and event information related to VPN activities to external Diameter servers.
The VPN application reports charging information in the form of attribute-value pairs (AVPs). Each AVP contains an item of information about a call, such as the type of call, the public number of a called or calling party, and the private numbers of call participants.
The following listing shows a sample Diameter accounting request message generated by the VPN application. It shows the AVPs that are generated for a typical on-net to on-net call.
Dual-Invoicing: 1. CORPORATE_CALL Service-Access-Type: 1. Originating IN-Calling-Party-Address: 861391001001 Calling-Party-Private-Number: 1001 IN-Called-Party-Address: 1002 Real-Called-Number: 861391001002 Call-Type: 1: ONNET-TO-ONNET
The VPN application's support for online charging (Diameter Ro) relies upon the common online charging functionality built into Service Broker.
For information about the Diameter Ro support in Service Broker, see the discussions related to the Online Charging Function (OCF) in Oracle Communications Service Broker Modules Configuration Guide.
The VPN application supports offline charging (Diameter Rf) as defined by the following specifications:
RFC 3588 (Diameter Base Protocol)
3GPP TS 32.299 [770] (Diameter Charging Applications)
In addition to standards-based AVPs, the VPN application generates custom AVPs that provide information specific to VPN services. See "Customized VPN Diameter Rf AVPs" for a list of the AVPs.
The service-specific information in the AVPs enables providers to apply differentiated charging rates to the different types of calls on the VPN.
The charging information distinguishes between these types of calls:
Calls between on-net members
Calls between PBX and mobile on-net members
Calls between on-net members and virtual users
Calls between on-net members and members of a partner VPN subscriber
Calls between on-net and off-net members
The VPN application reports VPN activities as either session-based or event-based incidents. A session-based incident is one that occurs over time, such as successful phone call. An event-based incident is short-lived, such as a failed call attempt. Unlike a session-based incident, an event-based incident does not have a meaningful beginning, middle, or end for charging purposes.
The VPN application generates session-based Diameter Accounting Requests (ACRs) for a successful call at:
The start of a session (ACR START). The VPN application considers a call session started when the call is established successfully.
Periodic intervals during the session (ACR INTERRIM).
The end of the session (ACR STOP). The VPN application considers a call ended when it receives a disconnect message.
Event-based incidents are reported as ACR EVENT messages.
The Service Broker VPN application uses connections in the Signaling Tier to exchange messages with external Diameter servers. Therefore, to enable offline charging, you must configure the Diameter server connection settings in the Signaling Tier. You also configure the network-facing IMs and orchestration rules in the Processing Tier that integrate the VPN application with the external Diameter server.
The Diameter AVPs that are generated by the VPN application are defined by MBean attributes. To implement Rf charging, you must add the AVP definitions that are specific to VPN services to the common set of Service Broker AVP definitions.
To add the VPN AVPs to the common set of AVP definitions, you use the Service Broker scripting engine. The scripting engine is a configuration tool that allows you to access and modify Service Broker MBeans from a shell script.
You use the scripting engine by running the script.sh
script, passing it the command file appropriate for your deployment. The domain configuration must not be locked by another process when you run the script, such as by the Administration Console user interface.
Note:
For complete information about using the Service Broker scripting engine, see Oracle Communications Service Broker System Administrator's Guide.To configure offline charging for VPN services:
Copy the AVP definitions appropriate for your deployment to the common signaling tier MBean using the script.sh
script, with this command:
./script.sh scripts/define_vpn_avps.xml
The script copies AVP definitions to the common Service Broker MBean:
oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.protocol.diameter.common,version=6.1.0,name0=diameterCommonConfig
At the following prompt, enter the local path to the Service Broker processing domain:
Enter a value for parameter 'domain.path':
The path should be the directory in which the initial.zip file and other domain artifacts are located. For example
Enter a value for parameter 'domain.path': /home/oracle/ocsb61/domains
Start and connect to the Administration Console process with a JMX MBean client.
Configure event-based reporting by navigating to the following MBean:
oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.vpn.vpnconfiguration,version=6.1.0,name0=vpnConfig,name1=general,name2=enableChargingEventRf
Set the enableChargingEventRf attribute to true to enable event reporting or false to suppress event reporting.
Configure session-based reporting by navigating to the following MBean:
oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.vpn.vpnconfiguration,version=6.1.0,name0=vpnConfig,name1=general,name2=enableChargingSessionRf
Set the enableChargingSessionRf attribute to true to enable session reporting or false to suppress session reporting.
In the Service Broker Signaling Domain, configure connectivity to the external Diameter charging server to which you want to send accounting reports.
For instructions on how to perform this configuration, see the information about configuring Diameter Signaling Server Units in Oracle Communications Signaling Server Units Configuration Guide.
The Service Broker VPN application now generates accounting request messages based on the service activities, which are transmitted to the charging server specified in the Service Broker Signaling Tier configuration.
In addition to the standard AVPs generated for Rf charging (as listed in "About Offline Charging"), the VPN application generates custom AVPs that provide information specific to VPN services.
Table 3-1 lists the custom AVPs.
Table 3-1 Attribute-Value Pairs Specific for VPN
AVP Name | Code | Type | Description |
---|---|---|---|
Service-Information.IN-Information |
30200 |
Grouped |
The custom AVP group that provides IN service information not covered by 3GPP 32.299. The other AVPs in this table belong to this group. |
Service-Access-Type |
30201 |
Unsigned32 |
The service access type:
|
Service-Key |
30202 |
Unsigned32 |
The service key of the VPN service. |
IN-Calling-Party-Address |
30203 |
UTF8String |
The calling party public number, for example, MSISDN or fixed line number. |
Calling-Party-Private- Number |
30204 |
UTF8String |
The private extension number of the calling party. |
Calling-Party-VPNIdentifier |
30205 |
UTF8String |
The VPN subscriber identifier of calling party. |
IN-Called-Party- Address |
30206 |
UTF8String |
The number that the VPN user dialed. |
Real-Called-Number |
30207 |
UTF8String |
The actual number called, that is, the translated number. For example, if the user dials a private extension number, then this value shows the public number. |
Called-Party-Private-Number |
30208 |
UTF8String |
The extension number of the called party. |
Called-Party-VPNIdentifier |
30209 |
UTF8String |
The VPN subscriber identifier of the called party. |
Calling-Vlr-Number |
30210 |
UTF8String |
VLR number of calling party. |
Called-Vlr-Number |
30211 |
UTF8String |
The VLR number of called party. |
EventType-BCSM |
30212 |
Unsigned32 |
The event type of the basic call state model (BCSM). |
Call-Type |
30213 |
Unsigned32 |
The type of call on the VPN, with one of the following values:
|
Dual-Invoicing |
30214 |
Unsigned32 |
If private calling is enabled for the VPN subscriber, identifies the type of the call:
|
Network-Cause-Code |
30215 |
UTF8String |
The mapping of the cause code received from the network. |
Reject-Cause |
30216 |
Unsigned32 |
The reason for a rejected call. Used when the VPN service triggers incoming call screening, outgoing call barring, or call duration control, as identified by the attribute's value:
|
The following sections list the standards-based AVPs generated by the VPN service.
The AVPs defined by RFC 3588 (Diameter Base Protocol) that the Service Broker VPN application generates are listed below.
Except where otherwise noted, the definitions of the attributes as generated by the VPN application conform to their definitions as stipulated by public specification.
For complete information about the definition or purpose of a specific AVP, see RFC 3588.
Session-Id
Origin-Host
Origin-Realm
Destination-Host
Destination-Realm
Accounting-Record-Type
Accounting-Record-Number
Acct-Application-Id
Acct-Interim-Interval
User-Name: For a mobile user, the value of this attribute is the International Mobile Subscriber Identity (IMSI) number for that user. For a PBX-based on-net user, the User-Name value is the user's public number.
Event-Timestamp
The AVPs defined by 3GPP TS 32.299 that the VPN application generates include the following.
For information about the definition or purpose of a specific AVP, refer to the 3GPP TS 32.299 specification.
Service-Context-Id
Service-Information
Service-Information.Subscription-Id
Service-Information.Subscriber-Id.Subscription-Id-Type
Service-Information.Subscriber-Id.Subscription-Id-Data