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:
|
|
|
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
interface FastEthernet5/1
ip address 10.9.0.1 255.255.255.0
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:
|
|
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:
|
|
|
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:
|
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
ip address 10.9.0.1 255.255.0.0
interface Virtual-Template1
ip address 10.40.40.1 255.255.255.0
gprs access-point-list gprs
gprs access-point-list gprs
access-point-name auth-accounting
access-mode non-transparent
aaa-group authentication first
aaa-group accounting second
ip-address-pool dhcp-proxy-client
dhcp-gateway-address 10.60.0.1
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