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 GGSN 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)
•Configuring the Charging Release (Optional)
•Configuring Charging for Roamers (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/UMTS network, you must configure a physical 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. GGSN Release 4.0 supports both a 2.5G Ga interface and 3G 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 GGSN 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 GGSN 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. |
Configuring the Charging Release
GGSN Release 4.0 and later supports both 2.5G and 3G Ga interfaces and GPRS (R97/R98) and UMTS (R99) QoS profile formats.
Depending on the CG and GGSN configuration, the following actions take place:
•If the GGSN is configured to present R97/R98 G-CDRs and the PDP context is R99, the GGSN will present a R97/R98 G-CDR by converting the R99 QoS profile to an R97/R98 QoS profile.
•If the GGSN is configured to present R99 G-CDRs and the PDP context is R98, the GGSN will present a R99 G-CDR by converting the QoS profile.
•If the GGSN is configured to present R97/R98 G-CDRS and the PDP context is R98, the GGSN presents an R97/R98 G-CDR.
•If the GGSN is configured to present R99 G-CDRs and the PDP context is R99, the GGSN presents an R99 G-CDR.
To configure the G-CDR version presented by the GGSN, use the following command in global configuration mode:
|
|
Router(config)# gprs charging release {99 | 98} |
Specifies that the GGSN present R97/R98 and R99 QoS profile formats in G-CDRs or presents only R97/R98 QoS profile formats. The default value is 99. |
Configuring Charging for Roamers
The GGSN can be configured to generate G-CDRs for roaming mobile subscribers.
When the charging for roamers feature is enabled on the GGSN and a create PDP context request is received, the Information Element (IE) containing the SGSN Signalling Address field is matched against the list of PLMN IP address ranges that have been defined using the gprs plmn ip address command. If the GGSN determines that the SGSN that sent the create PDP context request is not located within the same PLMN as it is, it generates a CDR. If the GGSN does determine that the SGSN is located in the same PLMN, it will not generate a CDR until it receives notification that the SGSN has changed to that of one located in another PLMN.
To enable charging for roamers on the GGSN using the gprs charging roamers command, you should first define a set of IP address ranges for a PLMN using the gprs plmn ip address command.
Note It is important that you configure the gprs plmn ip address and gprs charging roamers commands in their proper order. After you configure the IP address range for a PLMN, use the gprs charging roamers command to enable the charging for roamers feature on the GGSN. You can change the IP address range by reissuing the gprs plmn ip address command.
To verify your configuration, use the show gprs charging parameters command to see if the charging for roamers command is enabled. To verify your PLMN IP address ranges, use the show gprs plmn ip address command.
Configuring PLMN IP Address Ranges
Depending on how PLMN IP address ranges have been defined using the gprs plmn ip address start_ip end_ip [sgsn] command, 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 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 has been configured using the gprs plmn ip address start_ip end_ip [sgsn] command, but the sgsn keyword has not been specified for any of the ranges, the GGSN uses all the range entries to determine whether the SGSN is located within the same PLMN.
•If a list of PLMN IP address ranges has been configured using the gprs plmn ip address start_ip end_ip [sgsn] command, and one or more of those ranges has been defined using the sgsn key word, the GGSN uses those ranges defined with the sgsn keyword to determine whether an SGSN is located within the same PLMN.
With this configuration, the following scenarios outline how the charging for roamers feature will function:
–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 case, 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 case, MS1 is not a roamer because the SGSN and GGSN are in the same PLMN. The GGSN does not create a G-CDR.
To configure PLMN IP address ranges, use the following command in global configuration mode.
|
|
Router(config)# gprs plmn ip address start_ip end_ip [sgsn] |
Specifies the IP address range of a PLMN. |
Enabling Charging for Roamers
To enable the charging for roamers feature on the GGSN, use the following command in global configuration mode:
|
|
Router(config)# gprs charging roamers |
Enables charging for roamers on the GGSN. |
Customizing the Charging Gateway
For the GGSN 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 on page 4-3 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 header short
|
Enables the GGSN to use the GTP short header (6-byte header) instead of the GTP long header. 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/UMTS charging tariffs change. There is no default tariff time. |
Router(config)# gprs charging message
transfer-request command-ie
|
Specifies for the GGSN to include the Packet Transfer Command IE in Data Record Transfer Response messages. Note GGSN 4.0 supports the Send Data Record Packet command. |
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. This is disabled by default. |
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-13 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/UMTS 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 GGSN 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 GGSN 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 {tid tunnel_id | access-point access-point-index | all} |
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
ip address 10.40.40.1 255.255.255.0
interface Virtual-Template1
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