Configuring Charging on the GGSN


This chapter describes how to configure the charging function on the GGSN. Charging processing is enabled by default on the GGSN. There are several ways to customize communication with a charging gateway. Many of the default values for the charging options will provide a satisfactory configuration until you become more familiar with your network and decide to customize the charging interface.

For a complete description of the GPRS commands in this chapter, refer to the Cisco IOS Mobile Wireless Command Reference. 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 a Physical Interface to the Charging Gateway (Required)

Configuring the Charging Gateway (Required)

Configuring the Transport Protocol for the Charging Gateway (Optional)

Customizing the Charging Gateway (Optional)

Disabling Charging Processing (Optional)

Monitoring and Maintaining Charging on the GGSN

Configuration Example

Configuring a Physical Interface to the Charging Gateway

To establish access to an external charging gateway in the GPRS network, you must configure a physical interface on the GGSN to connect to the network of the charging gateway. In GPRS, this interface between the GGSN and the charging gateway is referred to as the Ga interface.

For more information about configuring physical interfaces on Cisco Systems' routers, see the Cisco IOS Interface Configuration Guide and the Cisco IOS Interface Command Reference.

To configure a physical interface to the charging gateway that supports Fast Ethernet on a Cisco 7200 series router, use the following commands beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# interface type slot/port

Defines a physical interface on the GGSN, where type is fastethernet, and slot/port is the hardware slot and port on the interface.

Step 2 

Router(config-if)# ip address ip-address mask [secondary]

Specifies an IP address for the interface, where:

ip-address—Specifies the IP address of the interface in dotted decimal format.

mask—Specifies a subnet mask in dotted decimal format.

secondary—Specifies that the configured address is a secondary IP address. If this keyword is omitted, the configured address is the primary IP address.

Step 3 

Router(config-if)# ip route-cache cef

(Optional) Enables CEF operation on an interface.

Verifying Interface Configuration to the Charging Gateway

To verify the physical 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 interface on the GGSN, use the show running-config command. The following example is a portion of the output from the command showing the FastEthernet5/1 physical interface configuration as the Gn interface to the SGSN:


Router# show running-config
Building configuration...

Current configuration : 2875 bytes
!
version 12.2
. . .
!
interface FastEthernet5/1
 description Ga interface
 ip address 10.9.0.1 255.255.255.0
 no ip mroute-cache
 duplex full
. . .

Step 2 To verify that a physical interface is available, use the show ip interface brief command. The following example shows that the FastEthernet5/1 interface to the charging gateway is in "up" status and the protocol is also "up":

Router #show ip interface brief  
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            10.10.1.3       YES NVRAM  up                    up 
FastEthernet1/0            10.29.0.2       YES NVRAM  up                    up      
FastEthernet2/0            unassigned      YES NVRAM  administratively down down    
FastEthernet5/1            10.9.0.1        YES NVRAM  up                    up      
Ethernet6/0                10.99.0.12      YES NVRAM  up                    up      
Ethernet6/1                unassigned      YES NVRAM  administratively down down    
Ethernet6/2                unassigned      YES NVRAM  administratively down down    
Ethernet6/3                unassigned      YES NVRAM  administratively down down    
Ethernet6/4                unassigned      YES NVRAM  administratively down down    
Ethernet6/5                unassigned      YES NVRAM  administratively down down    
Ethernet6/6                unassigned      YES NVRAM  administratively down down    
Ethernet6/7                10.35.35.2      YES NVRAM  up                    up      
Virtual-Access1            10.44.44.1      YES TFTP   up                    up      
Virtual-Template1          10.44.44.1      YES manual down                  down 

Configuring the Charging Gateway

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

Command
Purpose

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


Specifies a primary charging gateway (and backup), where:

ip-address—Specifies the IP address of a charging gateway. The second (optional) ip-address argument specifies the IP address of a secondary charging gateway.

name—Specifies the host name of a charging gateway. The second (optional) name argument specifies the host name of a secondary charging gateway.


Changing the Default Charging Gateway

To change the default charging gateway, 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 the Transport Protocol for the Charging Gateway

You can configure the 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 GPRS default configuration specifies UDP, which is 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 TCP networking protocol is used by the GGSN to transmit and receive charging data.

Configuring UDP as the Charging Gateway Path Protocol

The GPRS default configuration specifies 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 UDP networking protocol is used by the GGSN to transmit and receive charging data. The default value is UDP.


Customizing the Charging Gateway

For the GPRS charging options, the default values represent recommended values. Other optional commands also are set to default values, but Cisco Systems recommends modifying these commands to optimize your network as necessary, or according to your router hardware.

The GGSN uses echo timing to maintain the path between SGSNs and external charging gateways. However, the GGSN can only implement a single method of echo timing for all of the paths 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 the GGSN" section in the "Configuring GGSN GTP Services" chapter.

Use the following global configuration commands 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 the GGSN aggregates in a charging data transfer message to a charging gateway. The default is 255 CDRs.

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

Enables the GGSN to provide the reason code for APN selection in G-CDRs. This is disabled by default.

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

Enables the GGSN to use the local record sequence number field in G-CDRs. This is disabled by default.

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. This is disabled by default.

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

Disables the GGSN from creating non-primary partial G-CDRs. The default is non-primary partial 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 
packet-count

Enables the GGSN to provide uplink and downlink packet counts in the optional record extension field in G-CDRs. This is disabled by default.

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

Enables the GGSN to provide the MSISDN number from the create PDP context request in G-CDRs. This is disabled by default.

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

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.

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

Specifies the maximum number of charging containers within each G-CDR from the GGSN. 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. The default is disabled.

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. The default is 1,048,576 bytes (1 MB).

Router(config)# gprs charging disable

Disables charging transactions on the GGSN. Charging is enabled by default.

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. This is disabled by default.

Router(config)# gprs charging map data tos 
tos_value

Specifies an IP ToS mapping for GPRS charging packets. The default is 3.

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 charging tariffs change. There is no default tariff time.

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 GPRS GTP options, see the "Customizing the GGSN Configuration" section in the "Configuring GGSN GTP Services" chapter.

Disabling Charging Processing


Caution The gprs charging disable command removes charging data processing on the GGSN, which means that the data required to bill customers for network usage is not being collected by the GGSN nor sent to the charging gateway. Cisco Systems, Inc. recommends that you avoid using this command in production GPRS network environments. When necessary to use this command, use it with extreme care and reserve its usage only under non-production network conditions.

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

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

Command
Purpose

Router(config)# gprs charging disable


Disables charging transactions on the GGSN.


Monitoring and Maintaining Charging 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 GPRS charging configuration.

Router# show gprs charging statistics

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

Router# show gprs charging status

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


Configuration Example

The following configuration example shows part of a sample GGSN configuration with some of the commands that you use to configure charging services:

Router# show running-config
service gprs ggsn
!
. . .
!
interface Ethernet5/1
 description Ga interface
 ip address 10.9.0.1 255.255.0.0
 duplex half
!
. . . 
!
interface Virtual-Template1
 ip address 10.40.40.1 255.255.255.0
 encapsulation gtp
 gprs access-point-list gprs
!
. . .
!
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
!
. . .
!
end