The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
To specify the maximum number of call detail records (CDRs) that the GGSN aggregates in a charging data transfer message to a charging gateway, use the gprs charging cdr-aggregation-limit global configuration command. To return to the default value, use the no form of this command.
gprs charging cdr-aggregation-limit cdr-limit
no gprs charging cdr-aggregation-limit cdr-limit
cdr-limit |
An integer between 1 and 255 that specifies the number of CDRs that can be accumulated in a charging data transfer message. The default is 255 CDRs. |
255 CDRs
Global configuration
Use the gprs charging cdr-aggregation-limit command to specify the maximum number of CDRs that can be accumulated in a charging data transfer message to a charging gateway connected to the GGSN.
When the aggregation limit is reached, the GGSN puts the CDRs into a message and immediately sends it to the charging gateway.
To view the configured CDR aggregation limit, use the show gprs charging parameters command.
The following example specifies 128 CDRs:
gprs charging cdr-aggregation-limit 128
To enable the GGSN to provide the reason code for APN selection in G-CDRs, use the gprs charging cdr-option apn-selection-mode global configuration command. To disable APN selection mode, use the no form of this command.
gprs charging cdr-option apn-selection-mode
no gprs charging cdr-option apn-selection-mode
This command has no arguments or keywords.
Disabled
Global configuration
Use the gprs charging cdr-option apn-selection-mode command to enable the GGSN to provide the reason code for APN selection in G-CDRs.
The following list shows the possible APN selection reason codes:
•0—MS or network provided, subscription verified
•1—MS provided, subscription not verified
•2—Network provided, subscription not verified
To verify configuration of APN selection in G-CDRs, use the show gprs charging parameters command.
The following example enables the GGSN to provide the APN selection mode in G-CDRs:
gprs charging cdr-option apn-selection-mode
To enable the GGSN to use the local record sequence number field in G-CDRs, use the gprs charging cdr-option local-record-sequence-number global configuration command. To disable use of the local record sequence number, use the no form of this command.
gprs charging cdr-option local-record-sequence-number
no gprs charging cdr-option local-record-sequence-number
This command has no arguments or keywords.
Disabled
Global configuration
Certain charging data systems use the local record sequence number field in CDRs to associate the partial records generated in the SGSN and GGSN with a particular PDP context. If the charging gateway implements this feature, use the gprs charging cdr-option local-record-sequence-number command to enable the feature on the GGSN.
To verify configuration of the local record sequence number in G-CDRs, use the show gprs charging parameters command.
The following example enables the GGSN to provide the local record sequence number field in G-CDRs:
gprs charging cdr-option local-record-sequence-number
To enable the GGSN to specify the node that generated the CDR in the node ID field in G-CDRs, use the gprs charging cdr-option node-id global configuration command. To disable specifying the node ID, use the no form of this command.
gprs charging cdr-option node-id
no gprs charging cdr-option node-id
This command has no arguments or keywords.
Disabled
Global configuration
Certain charging data systems use the node ID field in CDRs to identify the node that generated the CDR. If the charging gateway that your GGSN communicates with uses this feature, use the gprs charging cdr-option node-id command to enable the feature.
To verify configuration of the node ID field in G-CDRs, use the show gprs charging parameters command.
The following example enables the GGSN to use the node ID field in G-CDRs:
gprs charging cdr-option node-id
To disable the GGSN from creating partial CDRs, use the gprs charging cdr-option no-partial-cdr-generation global configuration command. To enable the creation of partial CDRs, use the no form of this command.
gprs charging cdr-option no-partial-cdr-generation
no gprs charging cdr-option no-partial-cdr-generation
This command has no arguments or keywords.
Non-primary partial CDR generation is enabled.
Global configuration
Use the gprs charging cdr-option no-partial-cdr-generation command when you want all of the fields in the primary G-CDR to be included in any subsequent G-CDRs (partial G-CDRs) for the same PDP context request. By default, partial G-CDRs do not contain the following fields: network initiated PDP context, access point name (network identifier), PDP type, served PDP address, and dynamic address flag.
The CDR fields identify its uniqueness and association with a particular PDP context. When you enable the gprs charging cdr-option no-partial-cdr-generation command, the GGSN creates any subsequent G-CDRs for the same PDP context request with the same fields in all G-CDRs and maintains sequence numbering.
If the gprs charging cdr-option no-partial-cdr-generation command is configured, and a G-CDR is closed due to any triggers (such as tariff times, or QoS changes), then the GGSN copies the last SGSN (the current SGSN) in the list in the new G-CDR. If gprs charging cdr-option no-partial-cdr-generation command is not configured, the current SGSN is not included in the subsequent partial G-CDR.
If the gprs charging container sgsn-change-limit command is configured when the gprs charging cdr-option no-partial-cdr-generation command is configured, the list is not sent. This is a reason that the gprs charging cdr-option no-partial-cdr-generation command is not compatible with the gprs charging container sgsn-change-limit command.
Note Enable this command only when there are no active PDP contexts. Enabling this feature will affect all subsequent PDP contexts.
To verify whether non-primary partial CDR creation is enabled or disabled on the GGSN, use the show gprs charging parameters command.
The following example disables non-primary partial CDRs on the GGSN:
gprs charging cdr-option no-partial-cdr-generation
To enable the GGSN to provide uplink and downlink packet counts in the optional record extension field of a G-CDR, use the gprs charging cdr-option packet-count global configuration command. To disable providing packet counts, use the no form of this command.
gprs charging cdr-option packet-count
no gprs charging cdr-option packet-count
This command has no arguments or keywords.
Disabled
Global configuration
When you issue the gprs charging cdr-option packet-count command, then the GGSN provides a packet count in the optional record extension field for all uplink and downlink packets transferred since the CDR was opened and subsequently closed.
The following object IDs (OIDs) are used in the optional record extension field of the CDR for the uplink and downlink packet counts:
•OID of the uplink packet count—1.3.6.1.4.1.9.10.48.1.2.2.98
•OID of the downlink packet count—1.3.6.1.4.1.9.10.48.1.2.2.99
To verify whether the packet count CDR option is enabled or disabled on the GGSN, use the show gprs charging parameters command.
The following example enables uplink and downlink packet counts in CDRs on the GGSN:
gprs charging cdr-option packet-count
To enable the GGSN to provide the mobile station integrated services digital network (MSISDN) number from the create PDP context request in a G-CDR, use the gprs charging cdr-option served-msisdn global configuration command. To disable providing the MSISDN number, use the no form of this command.
gprs charging cdr-option served-msisdn
no gprs charging cdr-option served-msisdn
This command has no arguments or keywords.
Disabled
Global configuration
Use the gprs charging cdr-option served-msisdn command to enable the GGSN to provide the mobile station ISDN number from the create PDP context request in a G-CDR.
To verify whether the served MSISDN option is enabled or disabled on the GGSN, use the show gprs charging parameters command.
The following example enables the GGSN to provide the MSISDN number from the create PDP context request in G-CDRs:
gprs charging cdr-option served-msisdn
To specify 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, use the gprs charging cg-path-requests global configuration command. To return to the default value, use the no form of this command.
gprs charging cg-path-requests minutes
no gprs charging cg-path-requests
minutes |
Number of minutes the GGSN waits before retrying a charging request. The default value is 0 minutes, which disables the timer. |
0 minutes
Global configuration
Use the gprs charging cg-path-requests command to specify 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 following example specifies that the GGSN waits 5 minutes before trying to establish the TCP path to the charging gateway:
gprs charging cg-path-requests 5
|
|
---|---|
Displays information about the current GPRS charging configuration. |
To specify the maximum number of charging containers within each CDR from the GGSN, use the gprs charging container change-limit global configuration command. To return to the default value, use the no form of this command.
gprs charging container change-limit number
no gprs charging container change-limit number
number |
Integer from 1 to 100. The default value is 5. |
5 containers
Global configuration
For each activated PDP context on the GGSN, the GGSN creates a G-CDR to collect charging information to be sent to the charging gateway. When certain conditions occur for a PDP context, the GGSN adds information to the CDR or closes the CDR, depending on the trigger condition.
When a CDR is open for a PDP context and the GGSN detects a trigger condition, the GGSN collects the current charging data for that PDP context and appends it to the existing G-CDR in what is called a CDR container.
The following conditions cause the GGSN to create a CDR container and send updates to the charging gateway:
•Quality of service (QoS) change
•Tariff time change
•Periodic collection interval
•Destination change
•CDR closure
The following conditions cause the GGSN to create a CDR container and close the G-CDR:
•End of PDP context
•Partial record reason
To control the maximum number of these trigger conditions, and therefore CDR containers in each G-CDR, use the gprs charging container change-limit command.
When the number of containers added to a G-CDR reaches the limit specified in the gprs charging container change-limit command, the G-CDR is closed and sent as a partial CDR to the charging gateway. If the PDP context remains active, the GGSN opens another G-CDR with a subsequent sequence number associated with that PDP context and its charging data.
The following example specifies that each CDR includes 25 charging containers:
gprs charging change-condition-limit 25
To specify the maximum number of SGSN changes before closing a G-CDR for a particular PDP context, use the gprs charging container sgsn-change-limit global configuration command. To return to the default value, use the no form of this command.
gprs charging container sgsn-change-limit number
no gprs charging container sgsn-change-limit number
number |
Integer from 0 to 15. The default value is disabled. |
Disabled
Global configuration
A value of 0 means that a G-CDR is closed each time that a new SGSN begins handling the PDP context.
The command specifies the number of changes, not the number of SGSNs to be supported. The number of SGSNs supported is equal to 1 more than the change limit. For example, if the SGSN change limit is 2, the maximum number of SGSNs in the list before the GGSN closes the G-CDR is 3.
The CDR fields identify its uniqueness and association with a particular PDP context. When you enable the gprs charging cdr-option no-partial-cdr-generation command, the GGSN creates any subsequent G-CDRs for the same PDP context request with the same fields in all G-CDRs and maintains sequence numbering.
If the gprs charging container sgsn-change-limit command is not configured when gprs charging cdr-option no-partial-cdr-generation command is configured, and a G-CDR is closed due to any other trigger (such as tariff times or QoS changes), the GGSN copies the last SGSN (the current SGSN) in the list in the new G-CDR.
If the gprs charging container sgsn-change-limit command is configured when the gprs charging cdr-option no-partial-cdr-generation command is configured, the list is not sent. This is a reason that the gprs charging container sgsn-change-limit command is not compatible with the gprs charging cdr-option no-partial-cdr-generation command.
The following example specifies that a G-CDR closes after 5 SGSNs in a list for a particular PDP context. If the PDP context is still active, then a partial CDR is opened:
gprs charging container sgsn-change-limit 5
|
|
---|---|
Displays information about the current GPRS charging configuration. |
To specify the maximum number of bytes that the GGSN maintains across all containers for a particular PDP context before closing and updating the G-CDR, use the gprs charging container volume-threshold global configuration command. To return to the default value, use the no form of this command.
gprs charging container volume-threshold threshold-value
no gprs charging container volume-threshold threshold-value
threshold-value |
A value between 1 and 4294967295 that specifies the container threshold value, in bytes. The default is 1,048,576 bytes (1 MB). |
1,048,576 bytes (1 MB)
Global configuration
While a PDP context (mobile session) is active, charging events are generated based on various actions. One way that users can be charged is based on the amount of data transmitted between the PDN and the mobile station. Data volume is recorded in each of the containers of a G-CDR record. Service providers can use this recorded data volume to bill users by volume usage.
Use the gprs charging container volume-threshold command to control the maximum amount of data volume that can be reported in each G-CDR from an active PDP context before the G-CDR is eligible for an update to the charging gateway for subsequent billing. The GGSN opens another partial G-CDR for that PDP context while it remains in session on the GGSN.
For example, consider that a volume threshold setting of 1 MB is configured on the GGSN. The GGSN opens a container in a G-CDR for a new PDP context. A trigger occurs for the PDP context, and at that time the GGSN has registered transmission of 500 KB of data for the PDP context. The trigger causes the GGSN to close the container for the PDP context, which has occurred before the volume limit is reached (500 KB of data transmitted, and 1 MB allowed).
As transmission for the PDP context continues, the GGSN opens a new container in the G-CDR. The GGSN now has up to 500 KB more data that can be processed for that PDP context before reaching the volume threshold limit for the G-CDR. When the volume threshold is reached across all containers for the PDP context (that is, the sum of all of the byte counts across all containers for the PDP context reaches 1 MB), the GGSN closes the G-CDR with a volume limit cause so that the G-CDR can be sent to the charging gateway. The GGSN opens another partial G-CDR for the PDP context while it remains in session.
The following example specifies a threshold value of 2097152:
gprs charging container volume-threshold 2097152
|
|
---|---|
Specifies the maximum number of charging containers within each CDR from the GGSN |
|
Displays information about the current GPRS charging configuration. |
To disable charging transactions on the GGSN, use the gprs charging disable global configuration command. To re-enable charging transactions, use the no form of this command.
gprs charging disable
no gprs charging disable
This command has no arguments or keywords.
Charging is enabled.
Global configuration
Use the gprs charging disable command to disable charging. By default, charging processing is enabled on the GGSN.
Before the GGSN can disable charging, any currently open CDRs must be cleared. To clear any open CDRs, use the clear gprs charging cdr command.
If you disable charging on the GGSN using the gprs charging disable command, then you can re-enable charging using the no gprs charging disable command.
The gprs charging disable command is a hidden command in the Cisco IOS software and does not appear when querying the command line interface help using "?".
The following example disables GPRS charging processing:
gprs charging disable
To implement an echo request with private extensions for maintaining flow control on packets transmitted to the charging gateway, use the gprs charging flow-control private-echo global configuration command. To disable private extensions for flow control, use the no form of this command.
gprs charging flow-control private-echo
no gprs charging flow-control private-echo
This command has no arguments or keywords.
Private flow control is disabled.
Global configuration
If the charging gateway that the GGSN communicates with implements a proprietary private extension to the echo signal that maintains flow control, use the gprs charging flow-control private-echo command to enable private echo signaling. If your charging gateway does not implement this feature, disable the feature.
The following example enables an echo request:
gprs charging flow-control private-echo
|
|
---|---|
Displays information about the current GPRS charging configuration. |
To specify an IP ToS mapping for GPRS charging packets, use the gprs charging map data tos global configuration command. To return to the default value, use the no form of this command.
gprs charging map data tos tos-value
no gprs charging map data tos tos-value
tos-value |
Specifies a ToS mapping value between 0 and 5. A higher number indicates a higher service priority. The default value is 3. |
3
Global configuration
Use the gprs charging map data tos command to specify a value for the ToS precedence bits in the IP header for charging packets transmitted by the GGSN.
The following example shows type of service mapping value of 5:
gprs charging map data tos 5
|
|
---|---|
Displays information about the current GPRS charging configuration. |
To specify the maximum number of unacknowledged charging data transfer requests that the GGSN maintains in its queue, use the gprs charging packet-queue-size global configuration command. To return to the default value, use the no form of this command.
gprs charging packet-queue-size queue-size
no gprs charging packet-queue-size queue-size
queue-size |
Value between 1 and 512 that specifies the maximum queue size for the GGSN charging packet data queue. The default is 128 packets. |
128 packets
Global configuration
Use the gprs charging packet-queue-size command to specify the maximum size of the GGSN queue of outstanding charging data transfer requests. This queue stores all unacknowledged charging data requests.
When the charging packet queue reaches the specified size, the GGSN stops queuing charging packets until a packet is cleared from the queue and stores new charging packets in memory.
If monitoring of the performance of the charging gateway indicates that it is processing charging packets slowly, you can increase the size of the charging packet queue. Conversely, if the performance of the charging gateway is fast, you can decrease the size of the charging packet queue.
The following example specifies a GGSN queue of 512 charging data transfer requests:
gprs charging packet-queue-size 512
|
|
---|---|
Displays information about the current GPRS charging configuration. |
To specify the protocol that the GGSN uses to transmit and receive charging data, use the gprs charging path-protocol global configuration command. To return to the default value, use the no form of this command.
gprs charging path-protocol {udp | tcp}
no gprs charging path-protocol {udp | tcp}
udp |
User Datagram Protocol, which is a connectionless transport protocol. |
tcp |
Transport Control Protocol, which is a connection-based transport protocol. |
UDP
Global configuration
Use the gprs charging path-protocol command to specify the protocol used by the GGSN to transfer charging data.
The following example shows a UDP protocol:
gprs charging path-protocol udp
To configure the destination port of the charging gateway, use the gprs charging port global configuration command. To return to the default value, use the no form of this command.
gprs charging port port-num
no gprs charging port port-num
port-num |
Integer from 1024 to 10000. The default port is 3386. |
Port 3386
Global configuration
The following example changes the default port of 3386 to 1055:
gprs charging port 1055
|
|
---|---|
show gprs charging parameters |
Displays information about the current GPRS charging configuration. |
To enable charging for roamers on the GGSN, use the gprs charging roamers global configuration command. To disable charging for roamers on the GGSN, use the no form of this command.
gprs charging roamers
no gprs charging roamers
This command has no arguments or keywords.
Charging for roamers is disabled.
Global configuration
Use the gprs charging roamers command to enable support on the GGSN for the creation of call detail records (CDRs) for roaming mobile subscribers.
There are several scenarios that should be considered for charging for roaming mobile subscribers. The GGSN does not support charging for all roaming scenarios.
Supported Roaming Scenario
The GGSN correctly supports charging in the following roaming scenario:
MS1 is subscribed to PLMN1 and attaches to PLMN1. From PLMN1, MS1 initiates a PDP context with an SGSN in PLMN1 that is connected to our GGSN. In this case MS1 is not a roamer. The MCC and MNC values within the TID should match the MCC and MNC values on the GGSN, and G-CDRs are not created.
Roaming Scenario Restrictions
In the following roaming scenarios, the GGSN does not behave as expected for charging support:
•MS2 is subscribed to PLMN2 and attaches to PLMN1. From PLMN1, MS2 initiates a PDP context with an SGSN in PLMN1 that is connected to our GGSN. In this case MS2 is considered a roamer. The MCC and MNC values within the TID should not match the MCC and MNC values on the GGSN, and G-CDRs are created.
G-CDRs are created in this scenario even though the SGSN and GGSN reside within the same PLMN. The feature does not work as expected in this scenario.
•MS1 is subscribed to PLMN1 and attaches to PLMN2. From PLMN2, MS1 initiates a PDP context to an SGSN in PLMN1 that is connected to our GGSN. In this case MS1 is also a roamer. However, the MCC and MNC values within the TID match the MCC and MNC values on the GGSN, and G-CDRs are not created. Only S-CDRs are created in the visited PLMN (PLMN2).
G-CDRs are not created in this scenario even though the MS is roaming in PLMN2. The feature does not work as expected in this scenario.
Note If the charging policy of the service provider is not consistent with this behavior, then you might not want to implement charging for roamers on the GGSN.
Configuration Guidelines
To enable charging for roamers on the GGSN, you must first configure the gprs mcc mnc command. The GGSN uses the values that you configure in this command to compare with the tunnel ID (TID) in a create PDP context request. If the values for the MCC and MNC in the TID of a PDP context do not match the values configured on the GGSN, and if the gprs charging roamers command is configured, then the GGSN creates a CDR for the PDP context.
The GGSN automatically specifies values of 000 for the MCC and MNC. However, you must configure non-zero values for both the MCC and MNC before you can enable the GGSN to create charging CDRs for roamers.
It is important that you configure the gprs mcc mnc and gprs charging roamers commands in their proper order. After you configure the MCC and MNC values, use the gprs charging roamers command to enable charging for roamers on the GGSN. You can change the MCC and MNC values by reissuing the gprs mcc mnc command.
To verify your configuration of these codes on the GGSN, use the show gprs charging parameters command.
The following example enables the charging for roamers feature on the GGSN:
gprs charging roamers
To configure the size of the buffer that contains the GTP' PDU and signaling messages on the GGSN, use the gprs charging send-buffer global configuration command. To return to the default value, use the no form of this command.
gprs charging send-buffer bytes
no gprs charging send-buffer bytes
bytes |
Integer from 100 to 1460. The default value is 1460 bytes. |
1460 bytes
Global configuration
The following example specifies a buffer size of 512 bytes:
gprs charging send-buffer 512
|
|
---|---|
Displays information about the current GPRS charging configuration. |
To specify 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, use the gprs charging server-switch-timer global configuration command. To return to the default value, use the no form of this command.
gprs charging server-switch-timer seconds
no gprs charging server-switch-timer seconds
seconds |
Timeout value (between 0 and 300 seconds), that the GGSN waits before attempting to contact an alternate charging gateway. The default value is 60 seconds. |
60 seconds
Global configuration
Use the gprs charging server-switch-timer command to specify a timeout value that determines when the GGSN contacts an alternate charging gateway when the current charging gateway becomes unusable or cannot be located.
To specify that the switch-over to an alternate charging gateway takes place immediately, specify a value of 0.
The following example configures a time-out value of 30 seconds:
gprs charging server-switch-timer 30
|
|
---|---|
Displays information about the current GPRS charging configuration. |
To specify a time of day when GPRS charging tariffs change, use the gprs charging tariff-time global configuration command. To remove an existing tariff time, use the no form of this command.
gprs charging tariff-time time
no gprs charging tariff-time time
time |
A time of day when the charging tariff changes. Specify the time format as hh:mm:ss. |
No default behavior or values.
Global configuration
Use the gprs charging tariff-time command to specify when the charging tariff for using GPRS will change. When the tariff time changes, a container is attached to the CDR for the user.
You can set up a maximum of 32 tariff change times.
The following example specifies 14:30:00 as the time when the charging tariff changes:
gprs charging tariff-time 14:30:00
|
|
---|---|
Displays information about the current GPRS charging configuration. |
To specify the number of seconds that the GGSN waits before it transfers charging data to the charging gateway, use the gprs charging transfer interval global configuration command. To return to the default value, use the no form of this command.
gprs charging transfer interval seconds
no gprs charging transfer interval seconds
seconds |
Interval between charging transfers, in seconds. Can be a value between 1 and 4294967295 seconds. The default is 105 seconds. |
105 seconds
Global configuration
Use the gprs charging transfer interval command to specify how often the GGSN transfers charging data for a given PDP context (mobile session) to a charging gateway.
The following example specifies an interval of 512 seconds:
gprs charging transfer interval 512
|
|
---|---|
Displays information about the current GPRS charging configuration. |
To specify a default AAA server group and assign the type of AAA services to be supported by the server group for all access points on the GGSN, use the gprs default aaa-group global configuration command. To remove the default AAA server group, use the no form of this command.
gprs default aaa-group {authentication | accounting} server-group
no gprs default aaa-group {authentication | accounting} server-group
No default behavior or values.
Global configuration
The Cisco Systems GGSN supports authentication and accounting at APNs using AAA server groups. By using AAA server groups, you gain the following benefits:
•You can selectively implement groups of servers for authentication and accounting at different APNs.
•You can configure different server groups for authentication services and accounting services in the same APN.
•You can control which RADIUS services you want to enable at a particular APN, such as AAA accounting.
The GGSN supports the implementation of AAA server groups at both the global and access-point configuration levels. You can minimize your configuration by specifying the configuration that you want to support across most APNs, at the global configuration level. Then, at the access-point configuration level, you can selectively modify the services and server groups that you want to support at a particular APN. Therefore, you can override the AAA server global configuration at the APN configuration level.
To configure a default AAA server group to be used for all APNs on the GGSN, use the gprs default aaa-group global configuration command. To specify a different AAA server group to be used at a particular APN for authentication or accounting, use the aaa-group access-point configuration command.
If accounting is enabled on the APN, then the GGSN looks for an accounting server group at the APN or globally in the following order:
•First, at the APN for an accounting server group—configured in the aaa-group accounting command.
•Second, for a global GPRS default accounting server group—configured in the gprs default aaa-group accounting command.
•Third, at the APN for an authentication server group—configured in the aaa-group authentication command.
•Last, for a global GPRS default authentication server group—configured in the gprs default aaa-group authentication command.
If authentication is enabled on the APN, then the GGSN first looks for an authentication server group at the APN. If an authentication server group is not found at the APN, then the GGSN looks for a globally configured, GPRS default authentication server group.
To complete the configuration, you also must specify the following configuration elements on the GGSN:
•Configure the RADIUS servers using the radius-server host command.
•Define a server group with the IP addresses of the AAA servers in that group using the aaa group server global configuration command.
•Enable the type of AAA services (accounting and authentication) to be supported on the APN.
–The GGSN enables accounting by default for non-transparent APNs.
You can disable accounting services at the APN using the aaa-accounting disable command.
–You can enable authentication at the APN level by configuring the access-mode non-transparent command. When you enable authentication, the GGSN automatically enables accounting on the APN. There is not a global configuration command to enable or disable authentication.
•Configure AAA accounting and authentication using the aaa accounting and aaa authentication global configuration commands.
Note For more information about AAA and RADIUS global configuration commands, see the Cisco IOS Security Command Reference.
The following configuration example defines four AAA server groups on the GGSN: foo, foo1, foo2, and foo3, shown by the aaa group server commands.
Using the gprs default aaa-group command, two of these server groups are globally defined as default server groups: foo2 for authentication, and foo3 for accounting.
At access-point 1, which is enabled for authentication, the default global authentication server group of foo2 is overridden and the server group named foo is designated to provide authentication services on the APN. Notice that accounting services are not explicitly configured at that access point, but are automatically enabled because authentication is enabled. Because there is a globally defined accounting server-group defined, the server named foo3 will be used for accounting services.
At access-point 4, which is enabled for accounting using the aaa-accounting enable command, the default accounting server group of foo3 is overridden and the server group named foo1 is designated to provide accounting services on the APN.
Access-point 5 does not support any AAA services because it is configured for transparent access mode.
aaa new-model
!
aaa group server radius foo
server 10.2.3.4
server 10.6.7.8
aaa group server radius foo1
server 10.10.0.1
aaa group server radius foo2
server 10.2.3.4
server 10.10.0.1
aaa group server foo3
server 10.6.7.8
server 10.10.0.1
!
aaa authentication ppp foo group foo
aaa authentication ppp foo2 group foo2
aaa authorization network default group radius
aaa accounting exec default start-stop group foo
aaa accounting network foo1 start-stop group foo1
aaa accounting network foo2 start-stop group foo2
aaa accounting network foo3 start-stop group foo3
!
gprs access-point-list gprs
access-point 1
access-mode non-transparent
access-point-name www.pdn1.com
aaa-group authentication foo
!
access-point 4
access-mode transparent
access-point-name www.pdn2.com
aaa-accounting enable
aaa-group accounting foo1
!
access-point 5
access-mode transparent
access-point-name www.pdn3.com
!
gprs default aaa-group authentication foo2
gprs default aaa-group accounting foo3
!
radius-server host 10.2.3.4 auth-port 1645 acct-port 1646 non-standard
radius-server host 10.6.7.8 auth-port 1645 acct-port 1646 non-standard
radius-server host 10.10.0.1 auth-port 1645 acct-port 1646 non-standard
radius-server key ggsntel
To configure the GGSN to create an aggregate route in its IP routing table when receiving PDP requests from MSs on the specified network for any access point on the GGSN, use the gprs default aggregate global configuration command. To remove a global aggregate route, use the no form of this command.
gprs default aggregate ip-network-prefix {/mask-bit-length | ip-mask}
no gprs default aggregate ip-network-prefix {/mask-bit-length | ip-mask}
No default behavior or values.
Global configuration
The GGSN uses a static host route to forward user data packets received from the Gi interface to the Gn interface using the virtual template interface of the GTP tunnel.
Without the gprs default aggregate command or aggregate command, the GGSN creates a static host route for each PDP request. For example, for 45,000 PDP contexts supported, the GGSN creates 45,000 static host routes in its IP routing table.
You can use the gprs default aggregate command to reduce the number of static routes implemented by the GGSN for PDP requests at all access points on the GGSN. The gprs default aggregate command allows you to specify an IP network prefix to combine the routes of PDP requests from the same network as a single route on the GGSN.
If you use the gprs default aggregate command to globally define an aggregate IP network address range for all access points on the GGSN, you can use the aggregate command to override this default address range at a particular access point. Automatic route aggregation can be configured at the access-point configuration level only on the GGSN. The gprs default aggregate global configuration command does not support the auto option; therefore, you cannot configure automatic route aggregation globally on the GGSN.
The GGSN responds in the following manner to manage routes for MSs through an access point, when route aggregation is configured in the following scenarios:
•No aggregation is configured on the GGSN, at the APN or globally—The GGSN inserts the 32-bit host route of the MS into its routing table as a static route.
•A default aggregate route is configured globally, but no aggregation is configured at the APN:
–If a statically or dynamically derived address for an MS matches the default aggregate route range, the GGSN inserts an aggregate route into its routing table.
–If the MS address does not match the default aggregate route, the GGSN inserts the 32-bit host route as a static route into the routing table.
•A default aggregate route is configured globally, and automatic route aggregation is configured at the APN:
–If a statically derived address for an MS matches the default aggregate route range, the GGSN inserts an aggregate route into its routing table.
–If a statically derived address for an MS does not match the default aggregate route, the GGSN inserts the 32-bit host route as a static route into its routing table.
–If a dynamically derived address for an MS is received, the GGSN aggregates the route based on the address and mask returned by the DHCP or RADIUS server.
•A default aggregate route is configured globally, and an aggregate route is also configured at the APN:
–If a statically or dynamically derived address for an MS matches the aggregate range at the APN through which it was processed, or otherwise matches the default aggregate range, the GGSN inserts an aggregate route into its routing table.
–If a statically or dynamically derived address for an MS does not match either the aggregate range at the APN, or the global default aggregate range, the GGSN inserts the 32-bit host route as a static route into its routing table.
Use care when assigning IP addresses to an MS before you configure the aggregation ranges on the GGSN. A basic guideline is to aggregate as many addresses as possible, but to minimize your use of aggregation with respect to the total amount of IP address space being used by the access point.
Note The aggregate command and gprs default aggregate commands affect routing on the GGSN. Use care when planning and configuring IP address aggregation.
The following example shows a route aggregation configuration for access point 8 using DHCP on the GGSN, along with the associated output from the show gprs gtp pdp-context all command and the show ip route commands.
Notice that the aggregate auto command is configured at the access point where DHCP is being used. The dhcp-gateway-address command specifies the subnet addresses to be returned by the DHCP server. This address should match the IP address of a loopback interface on the GGSN. In addition, to accommodate route aggregation for another subnet 10.80.0.0, the gprs default aggregate global configuration command is used.
In this example, the GGSN aggregates routes for dynamically derived addresses for MSs through access point 8 based upon the address and mask returned by the DHCP server. For PDP context requests received for statically derived addresses on the 10.80.0.0 network, the GGSN also implements an aggregate route into its routing table, as configured by the gprs default aggregate command.
interface Loopback0
ip address 10.80.0.1 255.255.255.255
!
interface Loopback2
ip address 10.88.0.1 255.255.255.255
!
gprs access-point-list gprs
access-point 8
access-point-name pdn.aaaa.com
ip-address-pool dhcp-proxy-client
aggregate auto
dhcp-server 172.16.43.35
dhcp-gateway-address 10.88.0.1
exit
!
gprs default aggregate 10.80.0.0 255.255.255.0
In the following output for the show gprs gtp pdp-context all command, 5 PDP context requests are active on the GGSN for pdn.aaaa.com from the 10.88.0.0/24 network:
router# show gprs gtp pdp-context all
TID MS Addr Source SGSN Addr APN
6161616161610001 10.88.0.1 DHCP 172.16.123.1 pdn.aaaa.com
6161616161610002 10.88.0.2 DHCP 172.16.123.1 pdn.aaaa.com
6161616161610003 10.88.0.3 DHCP 172.16.123.1 pdn.aaaa.com
6161616161610004 10.88.0.4 DHCP 172.16.123.1 pdn.aaaa.com
6161616161610005 10.88.0.5 DHCP 172.16.123.1 pdn.aaaa.com
The following output for the show ip route command shows a single static route in the IP routing table for the GGSN, which routes the traffic for the 10.88.0.0/24 subnet through the virtual template (or Virtual-Access1) interface:
router# show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter
area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
10.80.0.0/16 is subnetted, 1 subnets
C 10.80.0.0 is directly connected, Loopback0
10.113.0.0/16 is subnetted, 1 subnets
C 10.113.0.0 is directly connected, Virtual-Access1
172.16.0.0/16 is variably subnetted, 3 subnets, 3 masks
C 172.16.43.192/28 is directly connected, FastEthernet0/0
S 172.16.43.0/24 is directly connected, FastEthernet0/0
S 172.16.43.35/32 is directly connected, Ethernet2/3
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
U 10.88.0.0/24 [1/0] via 0.0.0.0, Virtual-Access1
C 10.88.0.0/16 is directly connected, Loopback2
To specify the default charging gateway, use the gprs default charging gateway global configuration command. To remove the charging gateway, use the no form of this command.
gprs default charging-gateway {ip-address | name} [{ip-address | name}]
no gprs default charging-gateway {ip-address | name} [{ip-address | name}]
ip-address |
IP address of a default gateway. |
name |
Host name for a default gateway. |
No default charging gateway is assigned.
Global configuration
Use the gprs default charging-gateway command to specify the IP address or host name of a default charging gateway that the GGSN uses to communicate charging information. If you specify two gateways, then the first gateway is the primary gateway, and the second gateway is the backup.
The following example specifies two default charging gateway IP addresses:
gprs default charging-gateway 10.100.0.3 10.100.0.2
To specify a default Dynamic Host Configuration Protocol (DHCP) server from which the GGSN obtains IP address leases for mobile users, use the gprs default dhcp-server global configuration command. To remove the default DHCP server, use the no form of this command.
gprs default dhcp-server {ip-address | name} [{ip-address | name}]
no gprs default dhcp-server {ip-address | name} [{ip-address | name}]
No default behavior or values.
Global configuration
Use the gprs default dhcp-server command to specify a DHCP server from which the GGSN obtains IP address leases for mobile users across all access points. Use the optional second set of arguments to specify the name, or IP address, of a backup DHCP server to use if the primary DHCP server is unavailable. If you do not specify a backup DHCP server, then no backup DHCP server is available.
In addition to specifying a DHCP server for the GGSN, you must also specify the GGSN as a DHCP proxy client. You can configure the GGSN as a DHCP proxy client using either the gprs default ip-address-pool dhcp-proxy-client global configuration command, or the ip-address-pool dhcp-proxy-client access-point configuration command.
You can override the DHCP server that is configured globally, and specify a different DHCP server for a particular access point using the dhcp-server access-point configuration command. If you do not specify a DHCP server for a specified access point, then the DHCP server specified with the gprs default dhcp-server command is used for that access point.
Note You cannot specify a DHCP server that is located within a private network using VRF with the gprs default dhcp-server global configuration command. To specify a DHCP server that is within a VRF address space, you must use the dhcp-server access-point configuration command.
The following example specifies 10.101.100.3 as the GPRS default DHCP server for GPRS, using the gprs default dhcp-server command. Although this DHCP server is also configured globally on the router using the ip dhcp-server global configuration command, this is not required.
Because DHCP is the default dynamic addressing method specified by the gprs default ip-address-pool dhcp-proxy-client command, access-point 3 will use the DHCP server located at 10.101.100.3 for IP addressing support. Access-point 1 and access-point 2 override the default DHCP server using the dhcp-server access-point configuration command to specify alternative DHCP servers:
interface Loopback1
ip address 10.30.30.30 255.255.255.255
!
interface Loopback2
ip address 10.27.27.27 255.255.255.255
!
interface Loopback3
ip address 10.25.25.25 255.255.255.255
!
interface virtual-template 1
ip address 10.15.10.1 255.255.255.0
no ip directed-broadcast
encapsulation gtp
gprs access-point-list abc
!
gprs access-point-list abc
access-point 1
access-point-name gprs.pdn1.com
dhcp-server 10.102.100.3
dhcp-gateway-address 10.30.30.30
exit
!
access-point 2
access-point-name gprs.pdn2.com
dhcp-server 10.60.0.1
dhcp-gateway-address 10.27.27.27
exit
!
access-point 3
access-point-name www.pdn3.com
access-mode non-transparent
dhcp-gateway-address 10.25.25.25
exit
!
gprs default ip-address-pool dhcp-proxy-client
gprs default dhcp-server 10.101.100.3
To specify a dynamic address allocation method using IP address pools for the GGSN, use the gprs default ip-address-pool global configuration command. To disable dynamic address allocation, use the no form of this command.
gprs default ip-address-pool {dhcp-proxy-client | disable | radius-client}
no gprs default ip-address-pool {dhcp-proxy-client | disable | radius-client}
IP address pools are disabled.
Global configuration
Use the gprs default ip-address-pool command to specify the method by which the GGSN obtains address leases for mobile stations across all access points.
If you specify dhcp-proxy-client for the GPRS default IP address pool, then you must specify a DHCP server for address allocation. To specify a DHCP server, use either the gprs default dhcp-server global configuration command, or the dhcp-server access-point configuration command.
If you specify radius-client as the method for IP address allocation, then you must configure RADIUS services at the GGSN. This involves configuring AAA server groups using the gprs default aaa-group or aaa-group commands, and configuring the radius-server host commands to specify the RADIUS servers that provide the address pool. You also need to configure AAA on the GGSN. For more information about configuring RADIUS on the GGSN, refer to the Usage Guidelines section for the aaa-group and gprs default aaa-group commands.
To disable the selected IP address allocation method, use the no form of this command or issue the command with the disable keyword (the default form of this command).
The following example specifies gprs default ip-address-pool dhcp-proxy-client as the dynamic address allocation method for the GGSN across all access points.
Access-point 3 overrides the default by specifying ip-address-pool radius-client as the dynamic address allocation method for that access point. The corresponding RADIUS and AAA configuration is also shown as an example.
aaa new-model
!
aaa group server radius foo
server 10.2.3.4
server 10.6.7.8
!
aaa authentication ppp foo group foo
aaa authorization network default group radius
aaa accounting exec default start-stop group foo
!
interface Loopback1
ip address 10.30.30.30 255.255.255.255
!
interface Loopback2
ip address 10.27.27.27 255.255.255.255
!
interface virtual-template 1
ip address 10.15.10.1 255.255.255.0
no ip directed-broadcast
encapsulation gtp
gprs access-point-list abc
!
gprs access-point-list abc
access-point 1
access-point-name gprs.pdn1.com
dhcp-server 10.102.100.3
dhcp-gateway-address 10.30.30.30
exit
!
access-point 2
access-point-name gprs.pdn2.com
dhcp-server 10.60.0.1
dhcp-gateway-address 10.27.27.27
exit
!
access-point 3
access-point-name www.pdn3.com
access-mode non-transparent
ip-address-pool radius-client
aaa-group authentication foo
exit
!
gprs default ip-address-pool dhcp-proxy-client
gprs default dhcp-server 10.101.100.3 !
radius-server host 10.2.3.4 auth-port 1645 acct-port 1646 non-standard
radius-server host 10.6.7.8 auth-port 1645 acct-port 1646 non-standard
radius-server key ggsntel
To specify the IP address or host name of the primary (and backup) GSN to communicate with the HLR in sending and receiving MAP messages, use the gprs default map-converting-gsn global configuration command. To remove the GSN configuration, use the no form of this command.
gprs default map-converting-gsn {ip-address | hostname} [ip-address | hostname]
no gprs default map-converting-gsn {ip-address | hostname} [ip-address | hostname]
No default behavior or values.
Global configuration
Use the gprs default map-converting-gsn command to identify an GSN that can convert GTP messages to and from Mobile Application Protocol (MAP) messages. This GTP-to-MAP and MAP-to-GTP conversion allows the GSN to communicate with an HLR.
The GGSN must be able to send MAP messages to an HLR to support network-initiated PDP requests. Network-initiated PDP requests are one example of an application that requires this MAP conversion function.
The GGSN supports a maximum of two protocol-converting GSNs. Therefore, you can specify both a primary and backup GSN using a single gprs default map-converting-gsn command. However, you cannot configure more than one instance of the gprs default map-converting-gsn command.
The GGSN uses the backup GSN when the GGSN reaches the maximum signaling threshold (N3 GTP signaling requests x T3).
In addition to configuring the gprs default map-converting-gsn command, you must configure the following other commands to support network-initiated PDP requests on the GGSN:
•gprs ni-pdp ip-imsi single
•network-request-activation
The following example configures the GSN, located at IP address 172.16.10.10, to convert MAP messages between the HLR and the GGSN:
gprs default map-converting-gsn 172.16.10.10
To specify a QoS mapping from the delay QoS classes to an IP type of service (ToS) precedence value, use the gprs delay-qos map tos class global configuration command. To return to the default values, use the no form of this command.
gprs delay-qos map tos class1 tos-value [class2 tos-value [class3 tos-value [class-best-effort tos-value]]]
no gprs delay-qos map tos class1 tos-value [class2 tos-value [class3 tos-value [class-best-effort tos-value]]]
The default value for the class1 ToS category is 3.
The default value for the class2 ToS category is 2.
The default value for the class3 ToS category is 1.
The default value for the class-best-effort ToS category is 0.
Global configuration
Use the gprs delay-qos map tos command to specify a mapping between various QoS categories and the ToS precedence bits in the IP header for packets transmitted over the Gn interface (GTP tunnels).
Note You must enable delay QoS mapping by configuring the gprs qos map delay command before configuring the gprs delay-qos map tos command.
The class2, class3 and class-best-effort keyword arguments are optional. However, if you specify a value for the class3 argument, you must specify a value for the class2 argument. And, if you specify a value for the class-best-effort argument, then you must specify a value for both the class2 and the class3 arguments.
Only ToS classes 0 through 5 will be used for GGSN signaling and user data. The GTP signaling message should have the highest precedence. ToS class 5 is the default ToS for GTP signaling. Use the gprs gtp map signalling tos command to specify an IP ToS mapping for GTP signaling packets.
The ToS precedence classes are defined as follows:
0 Routine
1 Priority
2 Immediate
3 Flash
4 Flash Override
5 Critical ECP
6 Internetwork Control
7 Network Control
The following example specifies a QoS mapping from the delay QoS classes to a class1 ToS category of four, a class2 ToS category of three, a class3 ToS category of two, and a best-effort ToS category of one.
gprs delay-qos map tos class1 4 class2 3 class3 2 class-best-effort 1
To specify the maximum weight sent to a DFP manager by a GGSN acting as a DFP agent, use the gprs dfp max-weight global configuration command. To return to the default value, use the no form of this command.
gprs dfp max-weight [max-weight-value]
no gprs dfp max-weight [max-weight-value]
max-weight-value |
Specifies the maximum weight sent by the GGSN, acting as a DFP agent, to a DFP manager. The valid range is 1 to 100. The default value is 8. |
8
Global configuration
If you use DFP with GPRS load balancing, you must also specify a maximum number of PDP contexts for each GGSN, using the gprs maximum-pdp-context-allowed command. Do not accept the default value of 10000 PDP contexts. A value of 45000 is recommended. Significantly lower values can impact performance in a GPRS load-balancing environment.
Note For more information about configuring GPRS load balancing, see the IOS Server Load Balancing, 12.1(9)E documentation located at Cisco.com at the following URL:
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121newft/121limit/121e/121e9/index.htm
The following example sets the maximum weight sent by GGSN to 43:
gprs dfp max-weight 43