Table Of Contents
Configuring Charging on the GGSN
Configuring an Interface to the Charging Gateway
Verifying Interface Configuration to the Charging Gateway
Configuring the Default Charging Gateway
Configuring the GGSN to Switchover to the Highest Priority Charging Gateway
Changing the Default Charging Gateway
Configuring the GGSN Memory Threshold
Configuring the Transport Protocol for the Charging Gateway
Configuring TCP as the Charging Gateway Path Protocol
Configuring UDP as the Charging Gateway Path Protocol
Configuring the Charging Release
Configuring Charging for Roamers
Configuring PLMN IP Address Ranges
Enabling Charging for Roamers
Customizing the Charging Gateway
Disabling Charging Processing
Using Charging Profiles
Configuring a Charging Profile
Defining the Charging Characteristics and Triggers of the Charging Profile
Applying a Default Charging Profile to an APN
Applying a Global Default Charging Profile
Configuring How the GGSN Handles PDPs with Unmatched Charging Profiles
Monitoring and Maintaining Charging on the GGSN
Configuration Examples
Global Charging Configuration
Charging Profiles Configuration
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 configured, 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 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 GGSN Release 5.0 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 an Interface to the Charging Gateway (Required)
•
Configuring the Default Charging Gateway (Required)
•
Configuring the GGSN Memory Threshold (Optional)
•
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)
•
Using Charging Profiles
•
Monitoring and Maintaining Charging 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 a 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 and later supports both a 2.5G Ga interface and 3G Ga interface.
On the Cisco 7200 series router platform, this interface is a physical one. On the Catalyst 6500 series switch / Cisco 7600 series Internet router platform, this interface is logical one (on which IEEE 802.1Q-encapsulation has been configured) to the Layer 3 routed Ga VLAN configured on the Supervisor/Multilayer Switch Feature Card 2 (MSFC2).
For more information about the Ga VLAN on the Supervisor/MSFC2, see "Catalyst 6500 / Cisco 7600 Series Platform Prerequisites" section.
For more information about configuring interfaces, see the Cisco IOS Interface Configuration Guide and the Cisco IOS Interface Command Reference.
Configuring Physical Interfaces
To configure a physical interface to the charging gateway that supports Fast Ethernet, 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.
|
Configuring 802.1Q-Encapsulated Subinterfaces
To configure a subinterface that supports IEEE 802.1Q encapsulation to the Ga VLAN, use the following commands, beginning in global configuration mode:
| |
Command
|
Purpose
|
Step 1
|
Router(config)# interface gigabitethernet
slot/port.subinterface-number
|
Specifies the subinterface on which IEEE 802.1Q will be used.
|
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 (CG) you can first verify your GGSN configuration and then verify that the interface is available.
Cisco 7200 Platform
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 a Fast Ethernet 5/1 physical interface configuration as the Ga interface to the charging gateway:
GGSN# 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 Fast Ethernet 5/1 interface to the charging gateway is in "up" status and the protocol is also "up". The information pertaining to the Fast Ethernet 5/1 interface is shown in bold.
GGSN #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
Catalyst 6500 / Cisco 7600 Platform
Step 1
To verify that you have properly configured a Ga interface on the Supervisor/MSFC2, use the show running-config command. The following example is a portion of the output from the command showing the Fast Ethernet 8/22 physical interface configuration as the Ga interface to the SGSN. The configuration of the Fast Ethernet 8/22 physical interface is shown in bold.
Building configuration...
Current configuration :12672 bytes
interface FastEthernet8/22
switchport access vlan 302
description Vlan to GGSN for GA/GN
ip address 10.1.1.1 255.255.255.0
ip address 40.0.2.1 255.255.255.0
Step 2
To verify that the physical interface and the Ga VLAN are available, use the show interface command on the Supervisor/MSFC2. The following example shows that the Fast Ethernet 8/22 physical interface to the charging gateway is up as well as the Ga VLAN, VLAN 101:
Sup# show ip interface brief FastEthernet8/22
Interface IP-Address OK? Method Status Protocol
FastEthernet8/22 unassigned YES unset up up
Sup# show ip interface brief Vlan302
Interface IP-Address OK? Method Status Protocol
Vlan302 40.0.2.1 YES TFTP up up
Step 3
To verify the Ga VLAN configuration and availability, use the show vlan name command on the Supervisor/MSFC2. The following example shows the Gn VLAN Gn_1:
NSup# show vlan name Ga_1
---- -------------------------------- --------- -------------------------------
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
Primary Secondary Type Ports
------- --------- ----------------- ------------------------------------------
Step 4
On the GGSN, to verify that you have properly configured a Ga subinterface to the Ga VLAN, use the show running-config command. The following example is a portion of the output from the command which shows a Fast Ethernet 5/1 physical interface configuration as the Ga interface to the charging gateway:
GGSN# 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
interface GigabitEthernet0/0.2
description Ga/Gn Interface
ip address 10.1.1.72 255.255.255.0
ip route 40.1.2.1 255.255.255.255 10.1.1.1
Step 5
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 10.1.1.72 YES NVRAM up up
Configuring the Default Charging Gateway
You can configure a primary charging gateway that the GGSN uses, by default, to communicate charging information. Additionally, you can specify a secondary and tertiary charging gateway as backups. All charging gateways share the same global charging parameters.
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 secondary and tertiary backups), 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.
|
Configuring the GGSN to Switchover to the Highest Priority Charging Gateway
When priority switchover has been 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 will switch over and send G-CDRs to that charging gateway.
To configuring priority switchover on the GGSN, use the following command in global configuration mode:
| |
Command
|
Purpose
|
Step 1
|
Router(config)# gprs charging switchover
priority
|
Configures the GGSN to switch over 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 the GGSN Memory 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 CDRs into memory. By default, the memory threshold is 10% of the total memory available at the time GGSN services are enabled using the gprs ggsn service global configuration command. You can use the gprs memory threshold global configuration command to configure the threshold according to the router and memory size.
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 requests with the cause value "No Resource."
•
Drops any existing PDPs for which an update is received with the cause value "Management Intervention."
•
Drops any PDPs for which a volume trigger has occurred.
Note
While the memory protection feature is active, byte counts will be maintained and reported after the GGSN recovers. However, because some change conditions are not handled, some counts will not reflect the accurate charging condition (for example, QoS and tariff conditions).
To configure the memory threshold that when reached, activates the memory protection feature on the GGSN, use the following global configuration command:
Command
|
Purpose
|
Router(config)# gprs memory threshold threshold
|
Configures the memory threshold on the GGSN. Valid range is 0 to 1024. The default is 10% of the total memory available at the time 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 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 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:
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.
|
Configuring the Charging Release
GGSN Release 4.0 and later support both 2.5G and 3G Ga interfaces and GPRS (R97/R98) and UMTS (R99) Quality of Service (QoS) profile formats. With GGSN Release 5.0, the GGSN can be configured to comply with 3GPP TS 32.215 Release 4 or Release 5.
Depending on the CG and GGSN configuration, when specifying the 99 or 98 keyword, the following actions take place:
•
If the GGSN is configured to present R97/R98 CDRs (gprs charging release 98 is configure):
–
If the PDP context is R98, the GGSN presents an R97/R98 G-CDR.
–
If the PDP context is R99, the GGSN presents an R97/R98 G-CDR by converting the R99 QoS profile to an R97/R98 QoS profile.
•
If the GGSN is configured to present R99 CDRs (gprs charging release 99 is configure):
–
If the PDP context is R99, the GGSN presents an R99 G-CDR.
–
If the PDP context is R98, the GGSN presents an R99 CDR by converting the QoS profile.
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}
|
Configures the format presented by the GGSN in CDRs.
• 99—R97, R98, and R99 QoS profile formats are presented.
• 98—R97/R98 QoS profile formats are presented.
• 4—GGSN complies with 3GPP TS 32.215 Release 4.
• 5—GGSN complies with 3GPP TS 32.215 Release 5.
The default value is 99.
Note When 99 is configured, the Charging Characteristics parameter is included in G-CDRs. When 4 or 5 is configured, the Charging Characteristics Selection Mode IE is included.
|
Configuring Charging for Roamers
A GGSN can be configured to generate G-CDRs for roaming mobile subscribers.
When the charging for roamers feature is enabled on the GGSN, when the GGSN receives a PDP context request, it first checks to see if both the GGSN and serving GPRS support node (SGSN) public land mobile network (PLMN) IDs are present and match (via the Routing Area Identity [RAI] field information element [IE]).
If not both are not present and 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.
Note
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 global configuration command. When a valid home PLMN is configured, or valid trusted PLMNs, a CDR will not be generated if the RAI matches the configured home (or trusted) PLMN. A CDR will be created for all PDPs with RAIs that do not match a home or trusted PLMN.
Note
If the RAI field is not present in a Create PDP Context, and an address range has not been configured using the gprs plmn ip address command with the sgsn keyword option specified, the PDP will be classified as "unknown" and treated as a roamer.
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 a call detail record (CDR). If the GGSN determines that the SGSN is located in the same PLMN, it will not generate a CDR until it receives notification that the SGSN has changed location to 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 feature 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 the 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 are 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, 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:
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 the 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 a 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 Gateway
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 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 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-selection-mode
|
Enables the GGSN to provide the reason code for access point name (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 mobile station ISDN (MSISDN) number from the Create PDP Context request in G-CDRs. This is disabled by default.
|
Router(config)# gprs charging cdr-option
sgsn-plmn
|
Configures the GGSN to include the SGSN PLMN ID 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 0, which disables the timer.
|
Router(config)# gprs charging container
time-trigger number
|
Specifies a global time limit, that when exceeded by a PDP context causes the GGSN to close and update the G-CDR for that particular PDP context. 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. 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 GPRS tunneling protocol (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 type of service (ToS) mapping for GPRS charging packets. The default is 3.
|
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 Send Possibly Duplicate Data Record Packet (2).
|
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 information element (IE) in Data Record Transfer Response messages.
Note Even though GGSN 4.0 and later 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 CG or billing servers must have the ability to eliminate duplicate CDRs.
|
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 reconnect minutes
|
Configures the GGSN to periodically attempt to reconnect to a CG that is unreachable to determine when the link is back up.
Note Configuring the GGSN to automatically attempt to reconnect to a unreachable CG 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 in the "Configuring GGSN GTP Services" 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 neither being collected by the GGSN nor 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 privileged EXEC command.
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
Cisco GGSN 5.0 and later allows you to apply different charging methods on a per-PDP basis using charging profiles that you create, customize, and specify as the default charging method to use for a specific type of user at an APN level and global level. Charging profiles provide the ability to offer flexible services that are customized to subscriber preferences.
Note
This feature requires that the GGSN has been configured to include the charging characteristics selection mode parameter in CDRs using the gprs charging cdr-option chch-selection-mode global configuration command and, to receive the charging characteristics selection mode IE in CDRs, r4 or r5 charging release has been configured using the gprs charging release global configuration command.
To apply 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 the Charging Profile
•
Applying a Default Charging Profile to an APN
•
Applying a Global Default Charging Profile
•
Configuring How the GGSN Handles PDPs with Unmatched Charging Profiles
Configuring a Charging Profile
Charging profiles define the charging method to apply to a specific type of user (home, roamer, visitor).
The GGSN supports up to 16 charging profiles numbered 0 to 15.
Profile 0 is a set profile that always exists on the GGSN. It is not created by a GGSN operator, however, it can be modified using the charging-related global configuration commands. Profiles 1 to 15 are user-defined and customized using charging profile configuration commands.
The order in which a charging profile is selected for a PDP context, is as follows:
•
If the SGSN specifies a charging characteristics value in the Create PDP Context request, the GGSN uses that value unless a default charging profile has been configured at the APN or global level to override the SGSN specification.
If a default charging profile has been configured at both the APN and global level to override the SGSN specification, the APN default charging profile is used first.
•
If a charging characteristics value is not specified by the SGSN, the default charging profile defined for the APN is used first. If there is no default charging profile default configured at the APN, the default charging profile configured globally is use. If a profile cannot be matched, and the GGSN has not been configured to reject the unmatched PDPs using the gprs charging characteristics reject global configuration command, charging profile 0 is used.
To create or modify a charging profile and enter charging profile configuration mode, use the following global configuration command:
Command
|
Purpose
|
Router(config)# gprs charging profile chp-num
|
Creates a new charging profile (or modifies an existing one), and enters charging profile configuration mode. Valid values are 1 to 15.
|
Defining the Charging Characteristics and Triggers of the Charging Profile
To define the charging method of the charging profile, use the following charging profile configuration commands:
Command
|
Purpose
|
Router(config-chp)# category {hot | flat |
prepaid | normal}
|
Identifies the category of subscriber to which a charging profile applies.
|
Router(config-chp)# cdr suppression
|
Specifies that CDRs be suppressed.
|
Router(config-chp)# description
|
Specifies the name or a brief description of a charging profile.
|
Router(config-chp)# limit volume number [reset]
|
Specifies as a trigger condition, the maximum number of bytes that the GGSN maintains across all containers for a particular PDP context before closing and updating the G-CDR.
If the reset keyword option is configured, when the maximum number of bytes is exceeded, the time duration limit trigger is reset to zero. If the reset keyword option is not configured, the time duration limit trigger counters continue.
|
Router(config-chp)# limit duration number
[reset]
|
Specifies as a trigger condition, the time duration limit (in minutes) 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.
If the reset keyword option is configured, when the duration limit is exceeded, the byte counts used for the volume trigger are reset to zero. If the reset keyword is not specified, the counters continue.
|
Router(config-chp)# tariff-time
|
Specifies that a charging profile use the global tariff changes configured using the gprs charging tariff-time global configuration command.
|
Router(config-chp)# limit sgsn-change
|
Specifies that a charging profile use the global tariff changes configured using the gprs charging tariff-time global configuration command.
|
Applying a Default Charging Profile to an APN
To configure a default charging profile to use for a specific type of user at an APN, use the following access-point configuration command:
Command
|
Purpose
|
Router(config-access-point)# charging profile
{home | roaming | visiting | any} [trusted]
chp_num [override]
|
Configures a default charging profile to be used for a specific type of user at an APN.
|
Applying a Global Default Charging Profile
Default charging profiles configured at the global level are used when a default charging profile has not been specified for an APN.
To configure a default charging profile to use for a specific type of user globally, use the following global configuration command:
Command
|
Purpose
|
Router(config-chp)# gprs charging profile
default {home | roaming | visiting | any}
[trusted] chp_num [override]
|
Applies a global default charging profile for a specific type of user.
|
Configuring How the GGSN Handles PDPs with Unmatched Charging Profiles
The GGSN can be configured to reject or accept GTPv1 Create PDP Context requests for which a profile cannot be matched. If configured to accept these PDP context requests, the charging method defined by charging profile 0 is applied. By default, the Create PDP Context requests are accepted and the charging method defined in charging profile 0 is applied.
To configure a GGSN to reject Create PDP Context requests for which a charging profile cannot be matched, use the following global configuration command:
Command
|
Purpose
|
Router(config-chp)# gprs charging
characteristics reject
|
Configures the GGSN to reject GTPv1 Create PDP Context requests for which a charging profile cannot be selected.
|
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 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.
|
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 Examples
The following are examples of charging configurations implemented on the GGSN.
Global Charging Configuration
Cisco 7200 Platform
The following configuration example shows part of a sample GGSN configuration on the Cisco 7200 series platform with some of the commands that you use to configure charging services:
GGSN# 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
gprs memory threshold 512
Catalyst 6500 / Cisco 7600 Platform
On the GGSN:
GGSN# 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
interface GigabitEthernet0/0.2
description Ga/Gn Interface
ip address 10.1.1.72 255.255.255.0
ip route 40.1.2.1 255.255.255.255 10.1.1.1
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
gprs memory threshold 512
On the Supervisor / MSFC2:
Building configuration...
Current configuration :12672 bytes
interface FastEthernet8/22
switchport access vlan 302
description Vlan to GGSN for GA/GN
ip address 10.1.1.1 255.255.255.0
ip address 40.0.2.1 255.255.255.0
Charging Profiles 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:
GGSN# 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
interface GigabitEthernet0/0.2
description Ga/Gn Interface
ip address 10.1.1.72 255.255.255.0
ip route 40.1.2.1 255.255.255.255 10.1.1.1
gprs charging profile default any 1
description "roamer_profile"
limit volume 500000 reset
description "any_unmatched"
limit volume 1000000 reset