Configuring Charging on the GGSN


This chapter describes how to configure the charging function on a gateway GPRS support node (GGSN).

If at minimum, one charging gateway is defined on the Cisco GGSN, by default, charging processing is enabled on the GGSN.

There are several ways to customize communication with a charging gateway. Many of the default values for the charging options should provide a satisfactory configuration until you become more familiar with your network and decide to customize the charging interface.


Note The global configuration charging commands described in this chapter apply to and affect all charging groups configured on a GGSN, unless specified otherwise in the command description.


For complete descriptions of the GGSN commands in this chapter, see Cisco GGSN Command Reference for the Cisco GGSN release you are using. To locate documentation of other commands that appear in this chapter, use the command reference master index or search online.

This chapter includes the following sections:

Configuring an Interface to the Charging Gateway (Required)

Configuring the Default Charging Gateway (Required)

Configuring a Charging Source Interface (Optional)

Configuring the GGSN Memory Protection Mode Threshold (Optional)

Configuring the Transport Protocol for the Charging Gateway (Optional)

Configuring the Charging Release (Optional)

Configuring Charging for Roamers (Optional)

Customizing the Charging Options (Optional)

Disabling Charging Processing (Optional)

Using Charging Profiles (Optional)

Configuring G-CDR Backup and Retrieval Using iSCSI (Optional)

Configuring Granular Charging and Storage (Optional)

Monitoring and Maintaining the Charging Function on the GGSN

Configuration Examples

Configuring an Interface to the Charging Gateway

To establish access to an external charging gateway in the general packet radio service/Universal Mobile Telecommunication System (GPRS/UMTS) network, you must configure an interface on the GGSN to connect to the network of the charging gateway. In GPRS/UMTS, the interface between the GGSN and the charging gateway is referred to as the Ga interface. The Cisco GGSN supports both a 2.5G Ga interface and a 3G Ga interface.

On the Cisco 7600 series router platform, the Ga interface is a logical one to a Layer-3 routed Ga VLAN configured on the supervisor engine. IEEE 802.1Q-encapsulation must be configured on the logical interface.

For more information about the Ga VLAN on the supervisor engine, see the "Platform Prerequisites" section on page 3-2. For more information about configuring interfaces, see Cisco IOS Interface Configuration Guide and Cisco IOS Interface Command Reference.

To configure a subinterface to the Ga VLAN on the supervisor engine, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# interface gigabitethernet slot/port.subinterface-number

Configures the subinterface.

Step 2 

Router(config-if)# encapsulation dot1q vlanid

Defines the encapsulation format as IEEE 802.1Q (dot1q), and specifies the VLAN identifier.

Step 3 

Router(config-if)# ip address ip-address mask

Sets a primary IP address for an interface.

Verifying Interface Configuration to the Charging Gateway

To verify the interface to the charging gateway, you can first verify your GGSN configuration and then verify that the interface is available.


Step 1 To verify that you have properly configured a Ga VLAN on the supervisor engine, use the show running-config command. The following example is a portion of the output from the command showing the GigabitEthernet 8/22 physical interface configuration as the Ga interface to a charging gateway and the Ga VLAN configuration:


Sup# show running-config
Building configuration...

Current configuration :12672 bytes
!
version 12.2
...
!
interface GigabitEthernet8/22
 no ip address
 switchport
 switchport access vlan 302
!
interface Vlan302
 description Vlan to GGSN for Ga
 ip address 40.40.40.100 255.255.255.0

To verify that the physical interface and the Ga VLAN are available, use the show interface command on the supervisor engine. The following example shows that the GigabitEthernet8/22 physical interface to the charging gateway is up, and the Ga VLAN, VLAN 101:

Sup# show ip interface brief GigabitEthernet8/22
Interface                  IP Address      OK? Method Status                Protocol
GigabitEthernet8/22        unassigned      YES unset  up                    up 

Sup# show ip interface brief Vlan302
Interface                  IP-Address      OK? Method Status                Protocol
Vlan302                    40.40.40.100    YES TFTP   up                    up      

Sup#

Step 2 To verify the Ga VLAN configuration and availability, use the show vlan name command on the supervisor engine. The following example shows the Gn VLAN Gn_1:

Sup# show vlan name Ga_1

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
302  Ga_1                             active    Gi4/1, Gi4/2, Gi4/3, Gi7/1
                                                Gi7/2, Gi7/3, Fa8/22, Fa8/26

VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
302  enet  100302     1500  -      -      -        -    -        0      0   

Remote SPAN VLAN
----------------
Disabled

Primary Secondary Type              Ports
------- --------- ----------------- ------------------------------------------ 

Step 3 On the GGSN, to verify that you have properly configured a Ga subinterface to the Ga VLAN on the supervisor, use the show running-config command. The following example is a portion of the output from the command which shows a GigabitEthernet0/0.2 subinterface configuration as the Ga interface to the charging gateway:

GGSN# show running-config
Building configuration...

Current configuration : 5499 bytes
!
! Last configuration change at 20:38:31 PST Tue Oct 13 2009
!
version 12.4
!
.....
!
interface GigabitEthernet0/0.2
 description Ga Interface
 encapsulation dot1Q 302
 ip address 40.40.40.41 255.255.0.0
 no cdp enable
!
.....
ip route 40.1.2.1 255.255.255.255 10.1.1.1

Step 4 To verify that the subinterface is available, use the show ip interface brief command. The following example shows that the Gigabit Ethernet 0/0.2 subinterface to the Ga VLAN is in up status and the protocol is also up:

GGSN# show ip interface brief GigabitEthernet0/0.2
Interface                  IP-Address      OK? Method Status                Protocol
GigabitEthernet0/0.2       40.40.40.41     YES NVRAM  up                    up 


Configuring the Default Charging Gateway

You can configure a charging gateway that the GGSN uses, by default, to communicate charging information. In addition, you can specify secondary and tertiary charging gateway as backup charging gateways. All charging gateways share the same global charging parameters.


Note With the introduction of the Granular Charging feature in Cisco GGSN Release 9.0 and later, this set of default charging gateways are identified as charging group 0, the default charging group.


To configure a default charging gateway for a GGSN, use the following command in global configuration mode:

Command
Purpose

Router(config)# gprs default charging-gateway {ip-address | name} [{ip-address | name}] [{ip-address | name}] [{ip-address | name}]

Specifies a primary charging gateway and optionally, the secondary and tertiary backup charging gateways, where:

ip-address—Specifies the IP address of a charging gateway. The second and third ip-address arguments specify the IP address of the backup charging gateways.

name—Specifies the hostname of a charging gateway. The second and third name arguments specify the hostname of the backup charging gateways.


Configuring the GGSN to Switchover to the Highest Priority Charging Gateway

When priority switchover is configured on the GGSN using the gprs charging switchover priority command, regardless of the state of the current active charging gateway, when a gateway of higher priority comes up, the GGSN switches to and sends gateway GPRS support node-call detail records (G-CDRs) to that charging gateway.


Note This command applies to only the globally defined charging gateways that are a part of the default charging group (charging group 0). To configure the switchover priority for charging groups 1 through 29, use the switchover priority command in charging group configuration mode.


To configure priority switchover on the GGSN for the default charging group, use the following command in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# gprs charging switchover priority

Configures the GGSN to switch to the gateway of higher priority when that gateway becomes active.

Changing the Default Charging Gateway

To change the default charging gateway of a GGSN, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# gprs default charging-gateway 10.9.0.2

Specifies a primary charging gateway at IP address 10.9.0.2.

Step 2 

Router(config)#  no gprs default charging-gateway 10.9.0.2

Removes the primary charging gateway at IP address 10.9.0.2.

Step 3 

Router(config)# gprs default charging-gateway 10.9.0.3

Specifies the new default primary charging gateway at IP address 10.9.0.3.

Configuring a Charging Source Interface

By default, the global GTP virtual template interface is used for all charging messages. With Cisco GGSN Release 8.0 and later, you can configure a charging source interface for charging messages.

The charging source interface is a loopback interface that the GGSN is configured to use for charging traffic by using the gprs charging interface source loopback command. Once a loopback interface is configured as the charging source interface, all charging messages use the IP address of that loopback interface as their source address.

The charging source interface feature enables you to separate charging traffic. Optionally, a VPN Routing and Forwarding (VRF) instance can be configured on the loopback interface to separate charging traffic onto a private VLAN.

When configuring a charging source interface:

Once configured, the loopback interface cannot not be modified without removing the charging source interface configuration. All charging messages will use the new end points from the path structure.

A charging source interface cannot be unconfigured while there are active packet data protocol (PDP) contexts or call detail records (CDRs).

To configure a charging source interface, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# interface loopback number

Creates a loopback interface. A loopback interface is a virtual interface that is always up.

Step 2 

Router(config-if)# ip address ip-address mask

Assigns an IP address to the loopback interface.

Step 3 

Router(cfg-acct-mlist)# exit

Exits from interface configuration mode.

To configure the GGSN to use the loopback interface for charging traffic, use the following command in global configuration mode:

Command
Purpose
Router(config)# gprs charging interface source 
loopback number

Specifies the loopback interface for the GGSN to use for charging messages.

Note The charging source interface must be a loopback interface, and the interface must be configured using a valid IP address. Optionally, a VRF instance can be configured on the interface to separate charging traffic onto a private VLAN.


Configuring the GGSN Memory Protection Mode Threshold

The GGSN memory protection feature prevents processor memory from being drained during periods of abnormal conditions, such as when all charging gateways are down and the GGSN is buffering call detail records (CDRs) into memory.

When the memory threshold is enabled, by default the memory threshold is 10 percent of the total memory available when GGSN services are enabled by the gprs ggsn service command.

You can use the gprs memory threshold command to configure the threshold according to the router memory and size, that when exceeded, activates the memory protection mode on the GGSN.

When the amount of memory remaining on the system reaches the defined threshold, the memory protection feature activates, and the GGSN performs the following actions to keep the processor memory from falling below the threshold:

Rejects new Create PDP Context requests with a No Resource cause value.

Drops any existing PDPs for which an Update PDP Context is received with a Management Intervention cause value.

Drops any PDPs for which a volume trigger has occurred.


Note While the memory protection feature is active, byte counts are tracked and reported when the GGSN recovers. However, because some change conditions are not handled when the GGSN is in memory protection mode, some counts (for example, QoS and tariff conditions) do not reflect the accurate charging condition.


To configure the memory threshold that activates the memory protection feature on the GGSN when reached, use the following command in global configuration mode:

Command
Purpose

Router(config)# gprs memory threshold threshold

Configures the threshold on the GGSN that when reached activates the memory protection feature. The valid range is from 0 to 1024 MB. The default is 10% of the total memory available when GGSN services are enabled.


Configuring the Transport Protocol for the Charging Gateway

You can configure a GGSN to support either Transport Control Protocol (TCP) or User Datagram Protocol (UDP) as the transport path protocol for communication with the charging gateway.

The GGSN default transport path protocol is UDP, a connectionless protocol that is considered an unreliable transport method but can yield greater performance.

Configuring TCP as the Charging Gateway Path Protocol

TCP is a connection-based protocol that provides reliable transmission through packet acknowledgment.

To specify TCP as the transport path protocol, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# gprs charging cg-path-requests 1


Specifies the number of minutes that the GGSN waits before trying to establish the TCP path to the charging gateway when TCP is the specified path protocol. The default is 0 minutes, which disables the timer.

Step 2 

Router(config)# gprs charging path-protocol tcp

Specifies that the GGSN uses the TCP networking protocol to transmit and receive charging data.

Configuring UDP as the Charging Gateway Path Protocol

By default, the Cisco GGSN uses UDP as the transport path protocol to the charging gateway. If you need to reconfigure the charging gateway for UDP transport, use the following command in global configuration mode:

Command
Purpose

Router(config)# gprs charging path-protocol udp

Specifies that the GGSN uses UDP networking protocol to transmit and receive charging data. The default value is UDP.


Configuring the Charging Release

The Cisco GGSN supports both 2.5G and 3G Ga interfaces, and GPRS (R97/R98) and UMTS (R99) Quality of Service (QoS) profile formats. The Cisco GGSN can be configured to comply with 3GPP TS 32.215 Release 4, Release 5, or Release 7.

When specifying the 99 or 98 keywords, the following actions take place:

If the GGSN is configured to present R97/R98 CDRs (gprs charging release 98 is configured):

If the PDP context is R98, the GGSN presents an R97/R98 G-CDR.

If the PDP context is R99, the GGSN converts the R99 QoS profile to an R97/R98 QoS profile, and presents an R97/R98 G-CDR.

If the GGSN is configured to present R99 CDRs (gprs charging release 99 is configured):

If the PDP context is R99, the GGSN presents an R99 G-CDR.

If the PDP context is R98, the GGSN converts the QoS profile and presents an R99 CDR.


Note With Cisco GGSN Release 9.2 and later, the generation of enhanced G-CDRs (eG-CDRs) requires that charging release 7 has been configured on the GGSN. For information about configuring the GGSN to generate eG-CDRs, see the "Configuring the GGSN to Generate Enhanced G-CDRs" section on page 8-4.


To configure the charging release with which the GGSN complies when presenting G-CDRs, use the following command in global configuration mode:

Command
Purpose

Router(config)# gprs charging release {99 | 98 | 4 | 5 | 7}

Configures the format presented by the GGSN in CDRs.

99—R97, R98, and R99 QoS profile formats are presented.

98—R97/R98 QoS profile format is presented.

4—GGSN complies with 3GPP TS 32.215 Release 4.

5—GGSN complies with 3GPP TS 32.215 Release 5.

7—GGSN complies with 3GPP TS 32.215 Release 7.

The default value is 99.

Note When 99 is configured, the Charging Characteristics parameter is included in G-CDRs. When 4, 5, or 7 is configured, the Charging Characteristics Selection Mode information element (IE) is included.


To verify charging release configuration, use the show gprs charging parameters command.

Configuring Charging for Roamers

The Charging for Roamers feature enables you to configure the Cisco GGSN to generate G-CDRs for roaming mobile subscribers.

When the Cisco GGSN receives a Create PDP Context request, and the charging for roamers feature is enabled on the GGSN, the GGSN checks the Routing Area Identity (RAI) IE to see if the GGSN and the SGSN public land mobile network (PLMN) IDs are present and match. If both of the PLMN IDs are not present, or if they are present, but do not match, the GGSN matches the IE containing the SGSN Signaling Address field against a list of PLMN IP address ranges that have been defined using the gprs plmn ip address command with the sgsn keyword option specified.

If the GGSN determines that the SGSN that sent the Create PDP Context request is not located within the same PLMN as it is, the GGSN generates the G-CDR. If the GGSN determines that the SGSN is located in the same PLMN, it does not generate a CDR until it receives notification that the SGSN has changed location to another PLMN.

Before enabling the charging for roamer feature:

To use the RAI IE in Create PDP Context requests to detect roamers, a valid home PLMN must be configured on the GGSN using the gprs mcc mn command in global configuration mode.

When a valid home PLMN is configured, or a valid trusted PLMN, a G-CDR is not generated if the RAI matches the configured home or trusted PLMN. A G-CDR is created for all PDPs with RAIs that do not match the home or trusted PLMN.

If the RAI field is not present in a Create PDP Context request, and an address range has not been configured using the gprs plmn ip address command with the sgsn keyword option specified, the PDP is classified as unknown and treated as a roamer.

Before enabling the charging for roamers feature using the gprs charging roamers command, you must first define a set of IP address ranges for a PLMN using the gprs plmn ip address command.

Ensure that you configure the gprs plmn ip address and gprs charging roamers commands in the proper order:

a. Configure the IP address range for a PLMN by using the gprs plmn ip address command. You can change an IP address range by reissuing the gprs plmn ip address command.

b. Enable the charging for roamers feature on the GGSN using the gprs charging roamers command.

To enable the charging for roamers feature on the GGSN, complete the following tasks:

Configuring PLMN IP Address Ranges

Enabling Charging for Roamers

To verify your configuration, use the show gprs charging parameters command. To verify your PLMN IP address ranges, use the show gprs plmn ip address command.

Configuring PLMN IP Address Ranges

Depending on how the PLMN IP address ranges are configured, the charging for roamers feature operates as follows:

If no PLMN IP address ranges have been configured using the gprs plmn ip address start_ip end_ip [sgsn] command, the GGSN generates G-CDRs for all initiated PDP contexts regardless of whether the GGSN and SGSN are located within the same PLMN.

If a list of PLMN IP address ranges is configured using the gprs plmn ip address start_ip end_ip [sgsn] command, and one or more of those ranges have been defined with the sgsn keyword specified, the GGSN uses the ranges defined with the sgsn keyword specified to determine whether an SGSN is located within the same PLMN.

With this configuration, the following scenarios describe how the charging for roamers feature functions:

MS1 is subscribed to PLMN1 and attaches to an SGSN in PLMN2. From PLMN2, MS1 initiates a PDP context with the GGSN in PLMN1. In this scenario, MS1 is a roamer, and the GGSN generates a CDR because it determines that the SGSN is located in a different PLMN.

MS1 is subscribed to PLMN1 and attaches to an SGSN in PLMN2. From PLMN2, MS1 initiates a PDP context with the GGSN in PLMN2. In this scenario, MS1 is not a roamer, and the GGSN does not generate a G-CDR because it determines that it is in the same PLMN as the SGSN.

To configure PLMN IP address ranges, use the following command in global configuration mode:

Command
Purpose

Router(config)# gprs plmn ip address start_ip end_ip [sgsn]

Specifies the IP address range of a PLMN. Optionally, specifies that only PLMN IP address ranges defined with the sgsn keyword specified be used to determine if an SGSN is located in a PLMN other than the GGSN.


Enabling Charging for Roamers

To enable the charging for roamers feature on the GGSN, use the following command in global configuration mode:

Command
Purpose

Router(config)# gprs charging roamers

Enables charging for roamers on a GGSN.


Customizing the Charging Options

For the GGSN charging options, the default values represent recommended values. Other optional commands are also set to default values; however, we recommend modifying these commands to optimize your network as necessary, or according to your hardware.

The GGSN uses echo timing to maintain the path between SGSNs and external charging gateways. However, the GGSN can implement only a single method of echo timing for all the paths that it needs to maintain. To learn more about echo timing on the GGSN, or to modify the echo timing feature, see the "Configuring Echo Timing on a GGSN" section on page 4-4 in the "Configuring GTP Services on the GGSN" chapter.


Note The following charging options can be used by both G-CDRs or eG-CDRs, and the GGSN generates an eG-CDR or G-CDR depending upon its charging configuration. Therefore, when describing the GGSN charging options, the reference to G-CDRs can apply to either a G-CDR or eG-CDR.


Use the following commands in global configuration mode to fine-tune charging processing on the GGSN:

Command
Purpose
Router(config)# gprs charging 
cdr-aggregation-limit CDR_limit

Specifies the maximum number of CDRs that a GGSN aggregates in a charging data transfer message to a charging gateway. The default is 255 CDRs.

Router(config)# gprs charging cdr-option apn 
[virtual]

Specifies to include the access point name (APN) IE in G-CDRs. Optionally, specify the virtual keyword to include the virtual APN in G-CDRs, accounting records, and credit control requests (CCRs).

Router(config)# gprs charging cdr-option 
apn-selection-mode 

Enables the GGSN to provide the reason code for access point name (APN) selection in G-CDRs.

Router(config)# gprs charging cdr-option 
camel-charge-info

Specifies to include a copy of the tag and length of the Customized Application for Mobile Enhanced Logic (CAMEL) from the SGSN's CDR in G-CDRs.

Router(config)# gprs charging cdr-option 
chch-selection-mode

Specifies to include the charging characteristics selection mode parameter in G-CDRs.

Router(config)# gprs charging cdr-option 
dynamic-address

Specifies to include the dynamic address flag IE in G-CDRs.

Router(config)# gprs charging cdr-option imeisv

Specifies to include the International Mobile Equipment Identity IMEI software version (IMEISV) IE in G-CDRs. The IMEISV identifies the mobile equipment used by the subscriber.

Router(config)# gprs charging cdr-option 
local-record-sequence-number 

Enables the GGSN to use the local record sequence number IE in G-CDRs.

Router(config)# gprs charging cdr-option 
ms-time-zone

Specifies to include the MS Time Zone (MSTZ) IE in G-CDRs. The MSTZ IE indicates the offset between universal time and local time.

A change of the MSTZ in an update request results in a CDR closure and the opening of a new CDR (as specified in R7 32.251). Additionally, an interim accounting record is generated when the MSTZ change occurs in an update request.

Router(config)# gprs charging cdr-option nip

Specifies to include the Network-Initiated PDP IE in G-CDRs.

Router(config)# gprs charging cdr-option 
no-partial-cdr-generation [all]

Disables the GGSN from creating fully qualified partial G-CDRs.

Optionally, specify the all keyword option to configure the GGSN to copy the SGSN list for charging releases before Release 4 when an SGSN change limit trigger is configured as well.

The default is fully qualified partial G-CDR creation is enabled.

Note Enable this feature only when there are no active PDP contexts. Enabling this feature will affect all subsequent PDP contexts.

Router(config)# gprs charging cdr-option 
node-id

Enables the GGSN to specify the node that generated the CDR in the node ID field in G-CDRs.

Router(config)# gprs charging cdr-option 
packet-count

Enables the GGSN to provide uplink and downlink packet counts in the optional record extension field in G-CDRs.

Router(config)# gprs charging cdr-option 
pdp-address

Specifies to include the PDP address IE in G-CDRs.

Router(config)# gprs charging cdr-option 
pdp-type

Specifies to include the PDP type IE in G-CDRs.

Router(config)# gprs charging cdr-option 
rat-type

Specifies to include the radio access technology (RAT) IE in G-CDRs. The RAT indicates whether the SGSN serves the user equipment (UE) by Universal Terrestrial Radio Access Network (UTRAN) or GSM/EDGE RAN (GERAN).

A change of the RAT in an Update PDP Context request results in a CDR closure and the opening of a new CDR (as specified in R7 32.251). Additionally, an interim accounting record is generated when the RAT change occurs in an update request.

Router(config)# gprs charging cdr-option 
served-msisdn

Enables the GGSN to provide the mobile station ISDN (MSISDN) number from the Create PDP Context request in G-CDRs.

Router(config)# gprs charging cdr-option 
service-record [value]

Enables the GGSN to generate per-service records. Optionally, the maximum number of services records in a CDR can be specified. When the limit is reached, the current G-CDR is closed and a new partial CDR is opened. If a maximum number is not specified, the default (5) is used.

Router(config)# gprs charging cdr-option 
sgsn-plmn

Configures the GGSN to include the SGSN PLMN ID in G-CDRs.

Note When configured, the SGSN PLMN ID appears only if the optional RAI IE is received from the SGSN in the Create or Update PDP Context Request.

Router(config)# gprs charging cdr-option 
user-loc-info

Specifies to include the user location information (ULI) IE in G-CDRs. The ULI provides the cell global identity (CGI) and service area identity (SAI) of the subscriber location.

Router(config)# gprs charging 
cg-path-requests minutes

Specifies the number of minutes that the GGSN waits before trying to establish the path to the charging gateway when TCP is the specified path protocol. The default is 0 minutes, which disables the timer.

Router(config)# gprs charging container change-limit number

Specifies the maximum number of charging containers within each G-CDR from the GGSN. A valid value is a number between 1 and 100. The default is 5.

Router(config)# gprs charging container sgsn-change-limit number

Specifies the maximum number of SGSN changes that can occur before closing a G-CDR for a particular PDP context. A valid value is a number between 0 and 15. The default is 0, which disables the timer.

Router(config)# gprs charging container time-trigger number

Specifies a global time limit that causes the GGSN to close and update the G-CDR for a particular PDP context when exceeded by that PDP context. A valid value is a number, in minutes, between 5 and 429467295. The default is 0, which disables the timer.

Router(config)# gprs charging container 
volume-threshold threshold_value

Specifies the maximum number of bytes that the GGSN maintains in a user's charging container before closing it and updating the G-CDR. A valid value is a number between 1 and 4264967295. The default is 1,048,576 bytes (1 MB).

Router(config)# gprs charging flow-control 
private-echo

Implements an echo request with private extensions for maintaining flow control on packets transmitted to the charging gateway.

Router(config)# gprs charging header short

Enables the GGSN to use the GPRS tunneling protocol (GTP) short header (6-byte header) instead of the GTP long header.

Router(config)# gprs charging map data tos 
tos_value

Specifies an IP type of service (ToS) mapping for GPRS charging packets. The default is 3.

Router(config)# gprs charging message 
transfer-request command-ie

Specifies for the GGSN to include the Packet Transfer Command IE in Data Record Transfer Request messages

Router(config)# gprs charging message 
transfer-request possibly-duplicate

Specifies for the GGSN to retransmit Data Record Transfer Request messages (sent to a previously active charging gateway) with the value of the Packet Transfer Request IE set to 2 (Send Possibly Duplicate Data Record Packet).

Router(config)# gprs charging message 
transfer-response number-responded

Specifies for the GGSN to use the Number of Requests Responded field instead of the Length field in the Requests Responded IE of Data Record Transfer Response messages.

Router(config)# gprs charging packet-queue-size 
queue_size

Specifies the maximum number of unacknowledged charging data transfer requests that the GGSN maintains in its queue. The default is 128 packets.

Router(config)# gprs charging path-protocol 
{udp | tcp}

Specifies the protocol that the GGSN uses to transmit and receive charging data. The default is UDP.

Router(config)# gprs charging port port-num

Configures the destination port of the charging gateway. The default is 3386.

Router(config)# gprs charging send-buffer bytes

Configures the size of the buffer that contains the GTP PDU and signaling messages on the GGSN. The default is 1460 bytes.

Router(config)# gprs charging 
server-switch-timer seconds

Specifies a timeout value that determines when the GGSN attempts to find an alternate charging gateway after a destination charging gateway cannot be located or becomes unusable. The default is 60 seconds.

Router(config)# gprs charging tariff-time time

Specifies a time of day when GPRS/UMTS charging tariffs change. There is no default tariff time.

Note If the system software clock is manually set using the clock set privileged EXEC command at the supervisor console prompt, the time a tariff change will occur must be reconfigured.

Router(config)# gprs charging message 
transfer-request command-ie

Specifies for the GGSN to include the Packet Transfer Command information element (IE) in Data Record Transfer Response messages.

Note Even though the Cisco GGSN supports the Packet Transfer Command IE, only the "Send Data Record Packet" value is used, even though the packet might be duplicated. The Cisco GGSN does not support the "Send Possibly Duplicated Data Record Packet," "Cancel Data Record Packet," or "Release Data Record Packet" values. Therefore, the charging gateway or billing servers must have the ability to eliminate duplicate CDRs.

Router(config)# gprs charging message 
transfer-response number-responded

Configures the GGSN to use the Number of Requests Responded field instead of the Length field in the Requests Responded IE of Data Record Transfer Response messages.

Router(config)# gprs charging reconnect minutes

Configures the GGSN to periodically attempt to reconnect to a charging gateway that is unreachable to determine when the link is back up.

Note Configuring the GGSN to automatically attempt to reconnect to a unreachable charging gateway is necessary only when UDP is used as the charging transport protocol and the charging gateway does not support echo requests.

Router(config)# gprs charging transfer interval 
seconds

Specifies the number of seconds that the GGSN waits before it transfers charging data to the charging gateway. The default is 105 seconds.

For information about configuring GGSN GTP options, see the "Customizing the GGSN Configuration" section on page 4-14 in the "Configuring GTP Services on the GGSN" chapter.

Disabling Charging Processing


Caution The gprs charging disable command removes charging data processing on a GGSN, which means that the data required to bill customers for network usage is not being collected by the GGSN or being sent to the charging gateway. We recommend that you avoid using this command in production GPRS/UMTS network environments. When it is necessary to use this command, use it with extreme care and reserve its usage only under nonproduction network conditions.

You can disable charging on the GGSN only after all the open CDRs have been processed and sent to the charging gateway. To clear the current GGSN CDRs, use the clear gprs charging cdr command in privileged EXEC mode.

To disable charging processing on a GGSN, use the following command, beginning in global configuration mode:

Command
Purpose

Router(config)# gprs charging disable


Disables charging transactions on the GGSN.


Using Charging Profiles

Using charging profiles that you create, customize, and specify as the default charging method for a specific type of user at a global and/or APN level, you can apply different charging methods on a per-PDP basis. Charging profiles provide the ability to offer flexible services that are customized to subscriber preferences.

When using charging profiles, note that you must configure the GGSN to:

Include the charging characteristics selection mode parameter in CDRs by configuring the gprs charging cdr-option chch-selection-mode command.

Receive the charging characteristics selection mode IE in CDRs by configuring the gprs charging release command

To apply different charging methods on a per-PDP basis using GGSN charging profiles, you must complete the tasks outline in the following sections:

Configuring a Charging Profile

Defining the Charging Characteristics and Triggers of a Charging Profile

Applying a Default Charging Profile to an APN

Applying Multiple Charging Profiles to an APN (CCFH Tuning)

Applying Default Charging Profiles Globally

Configuring How the GGSN Handles PDPs with Unmatched Charging Profiles

Configuring a Charging Profile

Charging profiles define a charging method to apply to a specific type of subscriber (home, roamer, visitor).

You can apply a charging profile at an APN level or global level as the default charging method for a specified subscriber type.

The GGSN supports up to 256 charging profiles, numbered 0 to 255. Profile 0 is a set profile that always exists on the GGSN. It is the global default charging profile. You do not create profile 0, however, you can modify it using the charging-related global configuration commands. Profiles 1 to 255 are user-defined and customized using the Cisco GGSN charging profile configuration commands.

When a Create PDP Context request is received by the GGSN, the GGSN selects the appropriate charging profile based on the following sources of input:

Serving GPRS support node (SGSN)/home location register (HLR) via the Charging Characteristics Selection Mode.

Local defaults.

Charging profile index Authentication, Authorization and Accounting (AAA) attribute.


Note The charging profile index received from AAA takes effect only if service-aware billing is enabled globally on the GGSN, using the gprs service-aware command in global configuration mode, and at the APN level, using the service-aware command in access-point configuration mode.

For information on configuring a service-aware GGSN, see Chapter 8, "Implementing Enhanced Service-Aware Billing."


By default, the order in which the GGSN selects a charging profile for a PDP context, is as follows:

1. Charging profile index in the override rule on the APN—If a default charging profile is configured at both the APN and the global level to override the SGSN specification, the APN default charging profile is used first.

2. Charging profile index in the override rule on the box—If there is no default charging profile default configured at the APN, the default charging profile configured globally is use.

3. Charging profile index from AAA.

4. Charging profile index from SGSN/HLR (charging characteristics).

5. Charging profile index from the non-override rule on the APN.

6. Charging profile index from non-override rule on the box.

If none of the above applies, the PDP context is rejected if the gprs charging characteristics reject command in global configuration mode is configured and the Create PDP Context request is GTP v1. If the gprs charging characteristics reject command is not configured, the GTPv1 PDP context is created using charging profile 0.


Note The global default charging profile, charging profile 0, is not supported for service-aware PDPs. Create PDP Context requests for service-aware PDPs are rejected with error code 199.



Note You cannot remove a charging profile, nor modify a DCCA client profile under a charging profile (using the content dcca profile charging profile command), if the profile is being used by PDP contexts or rules. If the DCCA client profile is being used by rules, you must disassociate it from the APN before making configuration changes.


To create or modify a charging profile, and enter charging profile configuration mode, use the following command in global configuration mode:

Command
Purpose

Router(config)# gprs charging profile profile-num

Creates a new charging profile or modifies an existing one, and enters charging profile configuration mode. The valid values are 1 to 255.


Defining the Charging Characteristics and Triggers of a Charging Profile


Note With Cisco GGSN Release 9.2 and later, when an enhanced quota server interface is configured, the Cisco GGSN does not function as a quota server for service-aware postpaid users. Therefore, with Cisco IOS Release 12.2(22)YE2 and later, the content command in charging profile configuration mode are ignored as well as the charging profile configuration commands that configure trigger conditions for postpaid users not using an enhanced quota server interface.

For more information about configuring enhanced service-aware billing, see Cisco GGSN Configuration Guide.


To configure the charging characteristics and triggers of a charging profile, use the following commands in charging profile configuration mode:

Command
Purpose

Router(ch-prof-conf)# category {hot | flat | prepaid | normal}

Identifies the category of subscriber to which a charging profile applies.

Router(ch-prof-conf)# cdr suppression

Specifies that CDRs be suppressed.

Router(ch-prof-conf)# cdr suppression prepaid

Specifies that CDRs be suppressed for prepaid subscribers.

Router(ch-prof-conf)# ccfh {continue | retry-terminate | terminate}

Configures the default Credit Control Failure Handling (CCFH) action to take on PDP contexts when a fault condition occurs.

continue—Allows the PDP context and user traffic for the relevant category or categories to continue, regardless of the interruption. Quota management of other categories is not affected.

terminate—Terminates the PDP context and the CC session.

retry_terminate—Allows the PDP context and user traffic for the relevant category or categories to continue. Hard-coded quota (1 GB) is passed to the CSG2 when the first DCCA server is unavailable.

The DCCA client retries to send the CRR to an alternate server and if a failure-to-send condition occurs with the alternate server, the PDP context is terminated.

The default is to terminate.

A value from the DCCA server in a CCA overrides this default.

Router(ch-prof-conf)# content dcca profile profile-name

Specifies the Diameter Credit Control Application (DCCA) client profile with which to communicate with a DCCA server.

Note Presence of this configuration in a charging profile indicates that online charging should be applied. A DCCA client profile defines the DCCA server group. If you define a DCCA client profile in a charging profile, any PDP using the charging profile has to contact the DCCA server first to determine if online charging should be used. If a charging profile does not contain a content dcca profile configuration, users using the charging profile are treated as postpaid (offline billing).

Note You cannot modify this command if the DCCA client profile is being used by PDP contexts or rules. If the profile is being used by rules, you must disassociated it with the APN before making configuration changes.

Note With Cisco GGSN Release 10.2, you can DCCA client profile per charging profile.

Router(ch-prof-conf)# content postpaid {plmn-change | qos-change | rat-change | sgsn-change | user-loc-info-change}

Configures a condition in a charging profile for postpaid subscribers that, when the condition occurs, triggers the GGSN to request quota reauthorization for a PDP context.

plmn-change—Public land mobile network (PLMN) change triggers a quota reauthorization request.

qos-change—Quality of Service (QoS) change triggers a quota reauthorization request.

rat-change—Radio access technology (RAT) change triggers a quota reauthorization request.

sgsn-change—SGSN change triggers a quota reauthorization request.

user-loc-info-change—User location information change triggers a quota reauthorization.

Note The plmn-change, rat-change, and user-loc-info-change keyword options require that the GGSN is configured to include these fields in the service-record IE in CDRs using the gprs charging service record include command in global configuration mode.

Router(ch-prof-conf)# content postpaid time number


Configures for postpaid subscribers when service-aware billing is enabled, the time duration limit that when exceeded, causes the GGSN to collect upstream and downstream traffic byte counts and close and update the G-CDR for a particular PDP context.

Router(ch-prof-conf)# content postpaid validity seconds

Configures for postpaid subscribers when service-aware billing is enabled, the amount of time quota granted to a user is valid.

Router(ch-prof-conf)# content postpaid volume threshold


Configures for postpaid subscribers when service aware billing is enabled, the maximum number of bytes that the GGSN maintains across all containers for a particular PDP context before closing and updating the G-CDR.

Router(ch-prof-conf)# content rulebase id

Defines a default rulebase ID to apply to PDP contexts.

Router(ch-prof-conf)# description

Specifies the name or a brief description of a charging profile.

Router(ch-prof-conf)# limit duration number [reset]

Configures the time duration limit (in minutes) that causes the GGSN to collect upstream and downstream traffic byte counts and close and update the G-CDR for a particular PDP context when exceeded.

If the reset keyword option is configured, the time trigger is restarted if the CDR is closed by any other trigger. If the reset keyword is not specified (which is the default), the time trigger is not restarted when the volume trigger expires (limit volume command), but is restarted when any other trigger expires.

Router(ch-prof-conf)# limit volume number [reset]

Configures the maximum number of bytes that can be reported in each CDR from an active PDP context before the GGSN closes and updates the CDR, and opens a partial CDR for the PDP context while it remains in session on the GGSN.

If the reset keyword option is configured, the volume trigger is started if the CDR is closed by any other trigger. If the reset keyword is not specified, the volume trigger is not restarted when the time trigger expires (limit duration command), but is restarted when any other trigger expires.

Router(ch-prof-conf)# limit sgsn-change

Specifies that a charging profile use the global tariff changes configured using the gprs charging tariff-time command.

Router(ch-prof-conf)# tariff-time

Specifies that a charging profile use the global tariff change time configured using the gprs charging tariff-time command.


Applying a Default Charging Profile to an APN

To configure a default charging profile for a specific type of user at an APN, use the following command in access-point configuration mode:

Command
Purpose

Router(config-access-point)# charging profile {home | roaming | visiting | any} [trusted] profile_num [override]

Configures a default charging profile for a specific type of user to use at an APN, if no charging characteristics are received from the SGSN, where:

home—Specifies that the charging profile applies to home users.

roaming—Specifies that the charging profile applies to roaming users (users whose serving GPRS support node [SGSN] public land mobile network [PLMN] ID differs from the gateway GPRS support node's [GGSN's]).

visiting—Specifies that the charging profile applies to visiting users (users whose International Mobile Subscriber Identity [IMSI] contains a foreign PLMN ID).

any—Specifies that the charging profile will apply to all types of users.

trusted—(Optional) Specifies that the charging profile applies if the user is a visiting or roaming user (depending on whether roaming or visiting is specified) whose PLMN ID is a trusted one (as configured by the gprs mcc mnc command).

profile-number—Number of the charging profile that is being associated with the access point. Valid values are 0 to 15. If 0 is specified, charging behavior is defined by global charging characteristics (those not defined in a charging profile).

override—(Optional) Specifies that the charging characteristic value received from the SGSN in the Create PDP Context request be ignored and the APN default used instead.

Note With Cisco GGSN Release 10.2, you can associate up to 16 charging profile with an APN. For more information about this feature, see the "Applying Multiple Charging Profiles to an APN" section.


Applying Multiple Charging Profiles to an APN

With Cisco GGSN Release 10.2 and later, you can associate up to 16 charging profiles with different subscribers in an APN. The ability to associate multiple charging profiles with different subscribers in an APN enables operators to customize the Credit-Control-Failure-Handling (CCFH) for both prepaid and postpaid subscribers. The CCFH determines how the GGSN behaves if a Diameter Credit-Control-Answer (CCA) failure occurs.


Note For information about customizing CCFH for prepaid and postpaid subscribers, see "Tuning CCFH for Prepaid and Postpaid Subscribers" section on page 8-29.


To associate a charging profile with a subscriber with a specific type of charging characteristic, use the following command in access-point configuration mode:

Command
Purpose

Router((config-access-point)# charging characteristics chrg-charac-hex-value charging-prof-num

Defines the charging profile to apply to a charging characteristic of a subscriber of an APN, where:

chrg-charac-hex-value—Charging characteristic sent in the create PDP context request of the subscriber to which to apply the specified charging profile. A valid value is a hexadecimal number between 1 and FFFF.

charging-prof-num—Number of the pre-configured charging profile apply.


For example, in the following show gprs access-point configuration example (Example 1), when the GGSN receives a create PDP context request from the SGSN with "0121" as the charging characteristic of the subscriber, the GGSN uses charging profile "1," and subsequently applies the CCFH configuration implemented in DCCA client profile "dcca-profile1," which is the DCCA client profile configured under charging profile 1 (Example 2).

Example 1

GGSN# show gprs access-point 3
  access-point 3
  access-point-name prepaid
  access-mode non-transparent
  charging characteristics 0121 1
  aaa-accounting interim update
  aaa-group authentication ra_aaa
  aaa-group accounting ra_aaa
  ip-address-pool radius-client
  csg-group csg1
  gtp response-message wait-accounting
  service-aware

GGSN# 

Example 2

GGSN# show running-config

...
gprs charging profile 1
 category prepaid
 content rulebase RULE1
 content dcca profile dcca-profile1 weight 1

!
gprs charging profile 4
 category prepaid
 content rulebase RULE1
 content dcca profile dcca-profile4 weight 1

!
gprs dcca profile dcca-profile1
 tx-timeout 60
 ccfh continue
 authorization dcca-author
 destination-realm cisco.com

!
gprs dcca profile dcca-profile4
 tx-timeout 60
 ccfh retry-terminate
 authorization dcca-author
 destination-realm cisco.com

...

Applying Default Charging Profiles Globally

Default charging profiles applied at the global level are used when a default charging profile has not been specified for an APN.

To configure a default charging profile for a specific type of user globally, use the following command in global configuration mode:

Command
Purpose

Router(config)# gprs charging profile default {home | roaming | visiting | any} [trusted] chp_num [override]

Applies a default charging profile globally for a specific type of user.


Configuring How the GGSN Handles PDPs with Unmatched Charging Profiles

You can configure the GGSN to reject or accept GTPv1 Create PDP Context requests for which a profile cannot be matched. If the GGSN is configured to accept these PDP context requests, the charging method defined by charging profile 0 is applied. By default, the GGSN accepts Create PDP Context requests and applies the charging method defined in charging profile 0.

The following restrictions apply to charging profiles selected for service-aware PDPs:

All PDP s belonging to the same user must use the same charging profile as that of the primary PDP.

The global default charging profile, charging profile 0, is not supported for service-aware PDPs. Create PDP Context requests for service-aware PDPs are rejected with error code 199.

To configure a GGSN to reject Create PDP Context requests for which a charging profile cannot be matched, use the following command in global configuration mode:

Command
Purpose

Router(config)# gprs charging characteristics reject

Configures the GGSN to reject GTPv1 Create PDP Context requests for which a charging profile cannot be selected.


Configuring G-CDR Backup and Retrieval Using iSCSI

Cisco GGSN Release 8.0 and later utilizes the Cisco IOS software Small Computer Systems Interface over IP (iSCSI) support, as defined in RFC 3720, to enable CDR storage and retrieval from storage target on a Storage Area Network (SAN).

This section contains the following topics on iSCSI support on the GGSN:

iSCSI Overview

Configuring iSCSI Backup and Storage on the GGSN

Monitoring and Maintaining iSCSI CDR Backup and Storage

iSCSI Overview

The iSCSI transport protocol operates over TCP/IP, enabling mobile operators and service providers to use their SAN connected to an iSCSI interface to save complete data transfer record (DTR) messages containing closed CDRs.

SAN technology, which enables customers to build scalable storage solutions, is comprised of the following primary elements:

SCSI—An interface standard which enables multiple devices to be installed on a system, attached to cable to form a chain of devices. Each device is assigned a unique ID, which is expressed as a number, that identifies that device on the bus. SCSI IDs can be broken into Logical Unit Numbers (LUNs), enabling a number of devices to share a single SCSI ID. Devices from which I/O requests originate are called initiators, and devices from which responses originate are called targets.

SAN—Technology that involves moving network storage to a separate network of its own. Disk, tape, and optical storage can then be attached to the storage network that is based on a fabric of switches and hubs that connects storage devices to a heterogeneous set of servers.

A SAN system provides block-level access to data residing on shared storage arrays through dedicated storage networks.

iSCSI—Transport protocol that maps SCSI requests and responses over TCP and provides block-level data transfer between the SCSI initiator (the Cisco GGSN is this example), and the target (the storage device on the SAN). The initiator sends I/O requests and the target sends I/O responses.

A SAN topology is distinguished by the following features:

Storage is not directly connected to network clients.

Storage is not directly connected to servers.

Storage devices are interconnected.

Multiple servers can share multiple storage devices.

Configuring iSCSI Backup and Storage on the GGSN

In a SCSI environment, the GGSN functions as an iSCSI initiator.

To enable G-CDR backup storage on an iSCSI device, complete the following:

1. On the GGSN, configure an iSCSI target profile that includes the name and IP address of the target, and the TCP port on which to listen for iSCSI traffic.

2. Configure the GGSN to use the interface for record storage when a charging gateway is not available.

With Cisco GGSN Release 9.0 and later, you can configure and associate up to 30 iSCSI target profiles with a set of unique charging gateways within a charging group.

As an alternative, you can configure an iSCSI target profile as the primary storage for CDRs by configuring only an iSCSI target profile and no charging gateway at the global level (default charging group 0), or at the APN level by defining only an iSCSI target in the charging group associated with an APN (charging groups 1 to 29).

The I/O requests sent by the GGSN are converted into SCSI requests and transported over TCP/IP to the remote storage target.

Choosing the Record Format when Writing to iSCSI

By default, when writing DTRs to iSCSI, the format for storing records is GTP, wherein the complete DTR is written to the iSCSI target. As an alternative, you can configure the iSCSI record format as ASN.1 by using the gprs charging iscsi rec-format command in global configuration mode and specifying the asn.1 keyword option. When you configure ASN.1 as the record format, the GGSN writes only the raw ASN1-encoded CDRs into iSCSI without embedding the DTR information element into the records. The ASN.1 format is useful when the records are retrieved from iSCSI using FTP.

To configure the record format, use the gprs charging iscsi rec-format command in global configuration mode.


Note The records in ASN.1 format are generated when gprs auto-retrieve is disabled on the GGSN, which is the default behavior. Use the ASN.1 format only when the iSCSI target is used as the primary storage for charging records (no charging gateways are configured).


Writing DTRs when iSCSI is used as Backup Storage

Once iSCSI backup storage configuration is in place, when a charging gateway is not reachable, the writing toward the iSCSI is initiated. The complete DTR message is sent to the iSCSI target defined in the target profile.

The recommended iSCSI record format when using iSCSI as backup is GTP (the default format). If the iSCSI auto-retrieval (the gprs auto-retrieve command in global configuration mode) is enabled, the record format must be configured as GTP.

When iSCSI auto-retrieval is enabled, along with sending the complete DTR message, the GGSN adds a 12-byte header in front of the message before storing it to SAN. This header is used when the DTRs are retrieved and sent to the charging gateway. (In addition, the RSM-layer adds a 12-byte header and 4-byte trailer to the message before it is stored).


Note If the DTRs are retrieved directly from the SAN through other means such as FTP, then each record must skip the 10-byte header to get to the actual DTR containing encoded CDRs.


Writing DTRs when iSCSI is used as Primary Storage

When there are no charging gateways configured, and only an iSCSI target profile is defined at the global charging level (charging group 0), or granular charging level (charging groups 1 to 29), the iSCSI is the primary storage for writing charging records.

Although you can use any iSCSI record format, the ASN.1 iSCSI record format enables the storage of store raw ASN.1 encoded CDRs into iSCSI without any additional headers.

Reading CDRs

Once the iSCSI backup storage configuration is in place, when a charging gateway comes up, the iSCSI initiator (GGSN) requests for any iSCSI records to be received from the iSCSI target.

Once the GGSN receives a record, the 12-byte header added by the GGSN when the write process is removed and the complete DTR are sent to the charging gateway.

If the DTRs are to be marked for possible duplication before sending to the charging gateway, you must configure the GGSN with the following charging configuration commands.

gprs charging message transfer-request command-ie

gprs charging message transfer-request possibly-duplicate

iSCSI Restrictions

When configuring iSCSI CDR backup and storage on the GGSN Release 10.0 or later:

Number of TCP connections per iSCSI session is limited to one.

iSCSI targets cannot be dynamically discovered.

iSCSI target device should be preformatted with five virtual disks; one disk for each Cisco GGSN TCOP (PPC4 through PPC8).

Each LUN must have only five FAT32 partition. Maximum of size of a LUN must not be more than  2TB, which is the maximum disk size supported by a FAT32 file system.

When configuring iSCSI CDR Backup and Storage on the GGSN, complete the tasks in the following sections:

Configuring an iSCSI Target Profile

Associating an iSCSI Target Profile

Verifying the iSCSI Session

Configuring an iSCSI Target Profile


Note You can configure up to 30 iSCSI profiles on the GGSN, however, you can define only one target per profile, and associate only one profile with the GGSN to use the iSCSI interface at a time by using the gprs iscsi command in global configuration mode.


To configure the iSCSI target profile on the GGSN, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# ip iscsi target-profile 
target_profile_name

Creates an iSCSI target profile for the target and enters iSCSI interface configuration mode on the GGSN.

Step 2 

Router(config-iscsi)# name target name

(Required) Name of the iSCSI target.

Step 3 

Router(config-iscsi)# ip ip_address

(Required) IP address of the iSCSI target.

Step 4 

Router(config-iscsi-target)# record-store 
file-size size

(Optional) Size, in bytes, that when reached closes a file and data is written to a new file.

Step 5 

Router(config-iscsi-target)# record-store 
file-closure-interval minutes

(Optional) The interval, in minutes, at which files are closed and data is written to a new file.

Step 6 

Router(config-iscsi)# source-interface 
loopback_interface_number

(Optional) Number of the loopback interface if iSCSI traffic is to use a different source interface.

Step 7 

Router(config-iscsi)# vrf vrf_name

(Optional) Name of the VPN Routing and Forwarding (VRF) instance if iSCSI traffic needs a virtual private network (VPN).

Step 8 

Router(config-iscsi)# exit

Exits from iSCSI interface configuration mode.


Note The name, ip, and port iSCSI interface subconfigurations are required. For a complete list of optional configurations that you can configure under a target profile, issue the "?" command in iSCSI interface configuration mode or see the ip iscsi target-profile command description in the Cisco GGSN Command Reference.


Associating an iSCSI Target Profile

To configure the GGSN to use a iSCSI interface for CDR storage when no charging gateway is available, use the following command in global configuration mode:

Command
Purpose
Router(config)# gprs iscsi target_profile_name

Configures the GGSN to use a iSCSI profile for record storage.

Note Only one profile can be defined at a time.

Note The profile name specified must be the same as the one configured using the ip iscsi target-profile command.


Verifying the iSCSI Session

To verify that the iSCSI session is up, use the following command in privileged EXEC mode:

Command
Purpose
Router# show ip iscsi session

Displays the status of iSCSI session.


Monitoring and Maintaining iSCSI CDR Backup and Storage

You can use the following is a list of commands to monitor and maintain the iSCSI backup and storage functions on the GGSN:

Command
Purpose

Router# clear gprs iscsi statistics

Clears GGSN iSCSI processing statistics.

Router# clear ip iscsi statistics

Clears iSCSI processing statistics.

Router# clear record-storage-module

Clears record storage module statistics.

Router# show ip iscsi name

Displays the name of the iSCSI initiator.

Router# show ip iscsi session

Displays the status of an iSCSI session.

Router# show ip iscsi stats

Displays the iSCSI and SCSI layer statistics.

Router# show ip iscsi target

Displays the details of the iSCSI target.

Router# show record-storage-module stats

Displays record storage module statistics.

Router# show record-storage-module target-info [all | 
target-profile profile_name]

Displays all disks available and their status, or the disk defined by a target profile.


Configuring Granular Charging and Storage

The Cisco GGSN supports an access-point level charging configuration (granular charging) in addition to the default global charging configuration.

With granular charging, you can configure up to 30 charging groups per GGSN. In each charging group you can define a unique primary, secondary, and tertiary charging gateway, and iSCSI target, and assign the charging group to an APN. Charging groups enable you to send charging records belonging to different APNs to different destinations.

If you do not assign a charging group with an APN, the default charging group (the primary, secondary, and tertiary charging gateways, iSCSI target, switchover priority, etc., configured at the global level) is used.

Charging group 0 is the default charging group defined at the global level. You can configure and associate charging groups 1 to 29.

Usage Notes

When configuring granular charging and storage:

You can configure up to 30 charging groups per GGSN and assign them to APNs. The 0 value is reserved for the default global charging group that contains the global charging gateway and global iSCSI target, if configured. You can use values 1 to 29 to define other charging groups.

By default, all APNs use the default global charging group 0 unless a charging group (charging group 1 to 29) is assigned to the APN.

You can assign the same charging group to multiple APNs, but you can assign only one charging group per APN.

You can assign a charging gateway to only a single charging group. A charging gateway cannot be shared across groups regardless of whether it is defined as the primary, secondary, or tertiary gateway.

You can assign an iSCSI target to only a single charging group. An iSCSI cannot be shared across groups.

The charging gateway switchover inside one charging group retains the same precedence as the global configuration (charging group 0)—primary charging gateway, to secondary charging gateway, to tertiary charging gateway, to iSCSI target.

Once you have assigned a charging group to an APN, the APN only switches over inside the charging group. The APN will not fall back to the globally configured charging gateways or iSCSI target.

If you assign an empty charging group (a group to which you have not defined a charging gateway or an iSCSI target) to an APN, CDRs for that APN are not generated unless you place the charging group in maintenance mode by using the service-mode maintenance command in charging group configuration mode.

If you define only an iSCSI target in a charging group, there is no fallback to the globally configured iSCSI target.

If you assign a charging group in which an iSCSI target has not been defined to an APN, that APN cannot fallback to the globally configured iSCSI profile. Therefore, to enable iSCSI backup and storage for an APN, ensure that the iSCSI target has been defined in the charging group assigned to the APN.

To use an iSCSI target as the primary storage device for charging records for an APN, and not just as a backup device, define only an iSCSI target in the charging group associated with the APN.

Auto-retrieval (the gprs auto-retrieve command in global configuration mode) is supported only at the global level (default charging group 0). Auto-retrieval is not supported at the APN charging group level (groups 1 to 29).

The set iSCSI record format applies to all charging groups.

You can individually place each charging group in maintenance mode or operational mode. Before modifying a charging group (adding or deleting charging gateways or the iSCSI target), place the group in maintenance mode by using the service-mode command in charging group configuration mode.

When a charging group is in maintenance mode, pending DTRs from the group are moved to the group's charging maintenance queue. When the charging group is returned to operational mode, pending messages present in the group maintenance queue, or open CDRs present for the APNs using the charging group, are moved to the charging path or iSCSI queue based on the following sequence:

If charging gateways are defined in the charging group, pending messages and open CDRs are moved to the path of the charging gateway with the highest priority.

If no charging gateways are defined, but an iSCSI target is, pending messages and open CDRs are moved to the iSCSI write queue.

If neither a charging gateway or an iSCSI target are defined in the charging group, the group cannot be moved to operational mode if there are any pending messages or open CDRs for the group.


Note CDRs are not generated for a charging group when the group is empty and in operational mode


To configure granular charging, complete the tasks in the following sections:

Configuring a Charging Group

Associating a Charging Group with an Access Point

Modifying a Charging Group

Monitoring and Maintaining Granular Charging

To configure granular charging and storage, complete the tasks in the following sections:

Configuring a Charging Group

Associating a Charging Group with an Access Point

Modifying a Charging Group

Configuring a Charging Group

To configure a charging group, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# gprs charging group group-number

Defines or modifies a charging group, where group-number is a value between 1 and 29.

Note The value of 0 is reserved for the default charging group that contains the global charging gateway and global iSCSI target, if defined. You can use values 1 to 29 to define other charging groups.

Step 2 

Router(config-chrg-group)# description description

Charging gateway group definition.

Step 3 

Router(config-chrg-group)# primary {ip-address | name}

Specifies the primary charging gateway for the group, where:

ip-address—Specifies the IP address of the primary charging gateway.

name—Specifies the hostname of the primary charging gateway.

Step 4 

Router(config-chrg-group)# secondary {ip-address | name}

Specifies the secondary charging gateway for the group, where:

ip-address—Specifies the IP address of the secondary charging gateway.

name—Specifies the hostname of the secondary charging gateway.

Step 5 

Router(config-chrg-group)# tertiary {ip-address | name}

Specifies the tertiary charging gateway for the group, where:

ip-address—Specifies the IP address of the tertiary charging gateway.

name—Specifies the hostname of the tertiary charging gateway.

Step 6 

Router(config-chrg-group)# switchover priority

Configures the GGSN to switch to the gateway of higher priority in the charging group when that gateway becomes active.

Step 7 

Router(config-chrg-group)# iscsi iscsi-profile-name

Specifies an iSCSI target for CDR backup when all charging gateways are down.

Step 8 

Router(config-chrg-group)# service-mode [maintenance | operational]

Places the charging group into maintenance mode or operational mode. The default is operational.

Step 9 

Router(config-chrg-group)# exit

Exits charging group configuration mode.

Associating a Charging Group with an Access Point

Once you have configured the charging group, assign it to an APN.

To assign a charging group to an APN, use the following command in access-point configuration mode:

Command
Purpose

Router(config-access-point)# charging group chrg-group-number

Assigns an existing charging group to an APN, where group-number is a number 1 through 29.


Modifying a Charging Group

Before modifying a charging group, place the charging group in maintenance mode.

To place a charging group in maintenance mode, use the following command in charging group configuration mode:

Command
Purpose

Router(config-chrg-group)# service-mode maintenance


Places the charging group in maintenance mode.


To return the charging group to operational mode after modifying it, use the following command in charging group configuration mode:

Command
Purpose

Router(config-chrg-group)# service-mode operational


Places the charging group in operational mode.


Monitoring and Maintaining Granular Charging

The following is a list of commands that you can use to monitor and maintain granular charging on the GGSN:

Command
Purpose

Router# clear gprs charging cdr charging-group

Clears CDRs.

Router# clear gprs iscsi statistics

Clears the current GPRS-related iSCSI statistics.

Router# show gprs access-point

Displays information about access points on the GGSN.

Router# show gprs charging parameters charging-group

Displays cumulative charging statistics for the GGSN.

Router# show gprs charging statistics

Displays current charging statistics for the GGSN.

Router# show gprs charging status

Displays current charging statistics for the GGSN.

Router# show gprs charging summary

Displays a summary of all charging groups defined on the GGSN.



Note Many of the clear and show commands above have been enhanced with a charging-group keyword option for clearing and showing information specific to a charging group.


Monitoring and Maintaining the Charging Function on the GGSN

This section provides a summary list of the show commands that you can use to monitor charging functions on the GGSN.

The following privileged EXEC commands are used to monitor and maintain charging on the GGSN:

Command
Purpose

Router# show gprs charging parameters

Displays information about the current GGSN charging configuration.

Router# show gprs service-mode

Displays the current global service mode state of the GGSN and the last time it was changed.

Router# show gprs charging statistics

Displays cumulative statistics about the transfer of charging packets between the GGSN and charging gateways.


Configuration Examples

The following are examples of charging configurations implemented on the GGSN.

Global Charging Configuration

GGSN Configuration

Router# show running-config
Building configuration...

Current configuration :7390 bytes
!
! Last configuration change at 16:56:05 UTC Wed Jun 25 2003
! NVRAM config last updated at 23:40:27 UTC Fri Jun 13 2003
!
version 12.3
.....
interface GigabitEthernet0/0.2
 description Ga/Gn Interface
 encapsulation dot1Q 101
 ip address 10.1.1.72 255.255.255.0
 no cdp enable
!
.....
ip route 40.1.2.1 255.255.255.255 10.1.1.1
!
gprs access-point-list gprs
  access-point 1
   access-point-name auth-accounting
   access-mode non-transparent
   aaa-group authentication first
   aaa-group accounting second
   ip-address-pool dhcp-proxy-client
   dhcp-server 10.60.0.1
   dhcp-gateway-address 10.60.0.1       
   exit
   !
. . .
!
gprs default charging-gateway 10.9.0.2
gprs charging send-buffer 1000
gprs charging container volume-threshold 500000
gprs charging container change-limit 3
gprs charging cdr-aggregation-limit 10
gprs charging cdr-option apn-selection-mode
gprs charging cdr-option served-msisdn
!
gprs memory threshold 512
!
. . .
!
end

Supervisor Engine Configuration

Sup# show running-config
Building configuration...

Current configuration :12672 bytes
!
version 12.2
...
interface FastEthernet8/22
 no ip address
 switchport
 switchport access vlan 302
!
interface Vlan101
 description Vlan to GGSN for GA/GN
 ip address 10.1.1.1 255.255.255.0
!
interface Vlan302
 ip address 40.0.2.1 255.255.255.0

Charging Profile Configuration

The following partial configuration example shows two charging profiles (charging profile 1 and charging profile 2) configured on the GGSN, with charging profile 1 being configured as the global default charging profile to be used for any type of user if a charging profile is not specified at the APN:

Router# show running-config
Building configuration...

Current configuration :7390 bytes
!
! Last configuration change at 16:56:05 UTC Wed Jun 25 2003
! NVRAM config last updated at 23:40:27 UTC Fri Jun 13 2003
!
version 12.3
.....
interface GigabitEthernet0/0.2
 description Ga/Gn Interface
 encapsulation dot1Q 101
 ip address 10.1.1.72 255.255.255.0
 no cdp enable
!
.....
ip route 40.1.2.1 255.255.255.255 10.1.1.1
!
!
. . .
!
gprs charging profile default any 1

gprs charging profile 1
 description "roamer_profile"
 limit volume 500000 reset
 limit duration 30 reset
!
gprs charging profile 2
 description "any_unmatched"
 limit volume 1000000 reset
 limit duration 60 reset
. . .
!
. . .
!
end

Granular Charging and Storage Configuration

The following partial configuration example shows two charging groups (charging group 1 and charging group 2) configured on the GGSN, with an iSCSI target defined in charging group 1. Charging group 1 is associated with access point 4 and access point 5:

Router# show running-config
Building configuration...

Current configuration :7390 bytes
.....
!
gprs access-point-list gprs  
access-point 4  
access-point-name test2  
charging group 1  
!  
access-point 5  
access-point-name pppregen  
charging group 1  
ppp-regeneration  
!  
!  
!  
gprs charging group 2  
primary 66.66.66.1  
secondary 66.66.66.2  
tertiary 66.66.66.3  
!  
gprs charging group 1  
primary 55.55.55.1  
secondary 55.55.55.2  
tertiary 55.55.55.3  
iscsi ISCSI_TARGET1  
switchover priority  
!  
gprs iscsi TARGET_LINUX