Contents

Introduction

Problem: DNS Service Parameters Configuration when you Apply Newcall Policy Reject at GGSN

Solution

How newcall policy reject works?

How SGSN chooses the GGSN?

Example Configuration

Introduction

This document describes a scenario that is encountered on the Cisco Aggregated Services Router (ASR) 5x00 Series that acts as a Gateway General Packet Radio Service (GPRS) Support Node (GGSN) where newcall policy reject fails and some precautions which need to be kept in mind when you design the Domain Name System (DNS) network to avoid service outage.

Contributed by Parthasarathy M and Anthony Fajri, Cisco TAC Engineers.

Problem: DNS Service Parameters Configuration when you Apply Newcall Policy Reject at GGSN

During GGSN Software upgrades, to avoid the service impact to subscribers, as a practise, new-call policy reject is applied on GGSN. Expectation is that Serving GPRS Support Node (SGSN) should send traffic to the next available GGSNs as per new call policy.

However, this is not the case in some instances.newcall policy reject didn't work as expected and service degradation is seen when you upgrade the procedure.

Solution

How newcall policy reject works?

Once the newcall policy reject is applied on GGSN;

[local]ASR5K_LAB# newcall policy ggsn-service all reject

GGSN rejects the new incoming Create Packet Data Protocol (PDP) Context Request (CPC-R) with No resource available so that SGSN can select next available GGSN and thus it minimizes the service disturbance at the time of the upgrade maintenance window.

Lab result of newcall policy reject:

SGSN Configuration:

In this example, newcall policy reject is applied on GGSN1.  When the call arrives, SGSN sends the CPC Request to GGSN1, which in turn rejects the call and then SGSN sends the request to GGSN2.

Monitor Subscriber Trace Output:

===>GPRS Mobility/Session Management Message (2 Bytes)

Protocol Discriminator : GMM message

Message : Attach Complete

INBOUND>>>>>  05:34:35:320 Eventid:88112(0)

===>GPRS Mobility/Session Management Message (34 Bytes)

Protocol Discriminator : SM message

Message : Activate PDP Context Request

Requested NSAPI

Requested LLC SAPI

Requested Qos

Length of Qos: 14

Requested PDP address

Length : 2

Access Point Name

Length: 10

<<<<OUTBOUND  05:34:35:323 Eventid:116004(3)

GTPC Tx PDU, from 192.168.2.2:19002 to 192.168.2.1:2123 (110)

TEID: 0x00000000, Message type: GTP_CREATE_PDP_CONTEXT_REQ_MSG (0x10) >>>>>>>>>> to GGSN1

Sequence Number:: 0x00CC (204)

GTP HEADER FOLLOWS:

Version number: 1

Protocol type: 1 (GTP C/U)

Extended header flag: Not present

Sequence number flag: Present

NPDU number flag: Not present

Message Type: 0x10 (GTP_CREATE_PDP_CONTEXT_REQ_MSG)

Message Length: 0x0066 (102)

Tunnel ID: 0x00000000

Sequence Number: 0x00CC (204)

GTP HEADER ENDS.

INFORMATION ELEMENTS FOLLOW:

IMSI: 123450040000000

Recovery: 0x09 (9)

Selection Mode: 0x0 (MS or network provided APN, subscribed verified (Subscribed))

Tunnel ID Data I: 0x8000C002

Tunnel ID Control I: 0x8000C002

NSAPI: 0x05 (5)

END USER ADDRESS FOLLOWS:

PDP Type Organisation: IETF

PDP Type Number: IPv4

Address: Empty

END USER ADDRESS ENDS.

Access Point Name: sitt1.com

GSN Address I: 0xC0A80202 (192.168.2.2)

GSN Address II: 0xC0A80203 (192.168.2.3)

MSISDN: 128612345678901

QOS Profile: 0x0223421F72967373440DFFFF00

COMMON FLAGS FOLLOW:

Prohibit Payload Compression: no

MBMS Service Type: Multicast Service

RAN Procedures Ready: no

MBMS Counting Information: no

No QoS negotiation: no

NRSN: yes

Upgrade QoS Supported: no

Dual Address Bearer Flag: no

COMMON FLAGS END.

Radio Access Technology: GERAN

MS Time Zone: -4:00

Daylight Saving Time: +1 hour

INFORMATION ELEMENTS END.

INBOUND>>>>>  05:34:35:326 Eventid:116003(3)

GTPC Rx PDU, from 192.168.2.1:2123 to 192.168.2.2:19002 (14)

TEID: 0x8000C002, Message type: GTP_CREATE_PDP_CONTEXT_RES_MSG (0x11)

Sequence Number:: 0x00CC (204)

GTP HEADER FOLLOWS:

Version number: 1

Protocol type: 1 (GTP C/U)

Extended header flag: Not present

Sequence number flag: Present

NPDU number flag: Not present

Message Type: 0x11 (GTP_CREATE_PDP_CONTEXT_RES_MSG)

Message Length: 0x0006 (6)

Tunnel ID: 0x8000C002

Sequence Number: 0x00CC (204)

GTP HEADER ENDS.

INFORMATION ELEMENTS FOLLOW:

Cause: 0xC7 (GTP_NO_RESOURCES_AVAILABLE)

INFORMATION ELEMENTS END.

<<<<OUTBOUND  05:34:35:327 Eventid:116004(3)

GTPC Tx PDU, from 192.168.2.2:19002 to 192.168.2.128:2123 (110)

TEID: 0x00000000, Message type: GTP_CREATE_PDP_CONTEXT_REQ_MSG (0x10)>>>>>>>>>> GGSN2

Sequence Number:: 0x00CD (205)

GTP HEADER FOLLOWS:

Version number: 1

Protocol type: 1 (GTP C/U)

Extended header flag: Not present

Sequence number flag: Present

NPDU number flag: Not present

Message Type: 0x10 (GTP_CREATE_PDP_CONTEXT_REQ_MSG)

Message Length: 0x0066 (102)

Tunnel ID: 0x00000000

Sequence Number: 0x00CD (205)

GTP HEADER ENDS.

INFORMATION ELEMENTS FOLLOW:

IMSI: 123450040000000

Recovery: 0x09 (9)

Selection Mode: 0x0 (MS or network provided APN, subscribed verified (Subscribed))

Tunnel ID Data I: 0x8000C002

Tunnel ID Control I: 0x8000C002

NSAPI: 0x05 (5)

END USER ADDRESS FOLLOWS:

PDP Type Organisation: IETF

PDP Type Number: IPv4

Address: Empty

END USER ADDRESS ENDS.

Access Point Name: sitt1.com

GSN Address I: 0xC0A80202 (192.168.2.2)

GSN Address II: 0xC0A80203 (192.168.2.3)

MSISDN: 128612345678901

QOS Profile: 0x0223421F72967373440DFFFF00

COMMON FLAGS FOLLOW:

Prohibit Payload Compression: no

MBMS Service Type: Multicast Service

RAN Procedures Ready: no

MBMS Counting Information: no

No QoS negotiation: no

NRSN: yes

Upgrade QoS Supported: no

Dual Address Bearer Flag: no

COMMON FLAGS END.

Radio Access Technology: GERAN

MS Time Zone: -4:00

Daylight Saving Time: +1 hour

INFORMATION ELEMENTS END.

INBOUND>>>>>  05:34:35:337 Eventid:116003(3)

GTPC Rx PDU, from 192.168.2.128:2123 to 192.168.2.2:19002 (72)

TEID: 0x8000C002, Message type: GTP_CREATE_PDP_CONTEXT_RES_MSG (0x11)

Sequence Number:: 0x00CD (205)

GTP HEADER FOLLOWS:

Version number: 1

Protocol type: 1 (GTP C/U)

Extended header flag: Not present

Sequence number flag: Present

NPDU number flag: Not present

Message Type: 0x11 (GTP_CREATE_PDP_CONTEXT_RES_MSG)

Message Length: 0x0040 (64)

Tunnel ID: 0x8000C002

Sequence Number: 0x00CD (205)

GTP HEADER ENDS.

INFORMATION ELEMENTS FOLLOW:

Cause: 0x80 (GTP_REQUEST_ACCEPTED)

Reorder Required: 0x0 (Not present)

Tunnel ID Data I: 0x0FFFFFF8

Tunnel ID Control I: 0x0FFFFFF8

Charging ID: 0x00000007

END USER ADDRESS FOLLOWS:

PDP Type Organisation: IETF

PDP Type Number: IPv4

IPv4 Address: 12.0.0.6

END USER ADDRESS ENDS.

GSN Address I: 0xC0A80280 (192.168.2.128)

GSN Address II: 0xC0A80280 (192.168.2.128)

QOS Profile: 0x0222421F7296D1FE460D03FE004A4A

INFORMATION ELEMENTS END.

How SGSN chooses the GGSN?

Under apn-profile configuration, there is a command apn-resolve-dns-query snaptr.

apn-resolve-dns-query snaptr [ epc-ue | non-epc-ue ]

SNAPTR filters based on the EPC-capability of the User Equipment (UE). Use this command to enable SNAPTR type DNS query for APN resolution for 3G subscribers with EPC subscription. Configuration in this mode promotes control of this feature per APN.

If neither of the keywords are included with the configuration, then S-NAPTR query is applicable to all UE, both EPC-capable UE and non-EPC capable UE. By default, this functionality is not enabled.

This means that SGSN sends the DNS query in Name Authority Pointer (NAPTR) format (sitt1.com.apn.epc.mnc090.mcc262.3gppnetwork.org) to choose the GGSN.

In case NAPTR query fails then SGSN fallback to query-type A ( sitt1.mnc045.mcc123.gprs) to get the GGSN ip address.

Lab result:

SGSN Configuration:

apn-profile default

apn-resolve-dns-query snaptr

Monitor Protocol Trace:

*** Verbosity Level (  2) ***

*** Verbosity Level (  3) ***

<<<<OUTBOUND  05:42:24:667 Eventid:5957(3)

DNS PDU Tx

from : 192.168.2.1 : 49351

to   : 192.168.1.254 : 53

bytes : 76

Query ID              : 6366

Type                  : Query

Question              : NAPTR ? sitt1.com.apn.epc.mnc045.mcc123.3gppnetwork.org.

Additional            :

Name                : .

Ext-RCODE           : 0

Type                : OPT

UDPsize             : 4096

INBOUND>>>>>  05:42:24:750 Eventid:5956(3)

DNS PDU Rx

from : 192.168.1.254 : 53

to   : 192.168.2.1 : 49351

bytes : 76

Query ID              : 6366

Type                  : Response

Authoritative Answer  : No

Response code         : ServFail

Question              : NAPTR ? sitt1.com.apn.epc.mnc045.mcc123.3gppnetwork.org.

Additional            :

Name                : .

Ext-RCODE           : 0

Type                : OPT

UDPsize             : 4096

<<<<OUTBOUND  05:42:24:752 Eventid:5957(3)

DNS PDU Tx

from : 192.168.2.1 : 51619

to   : 192.168.1.254 : 53

bytes : 57

Query ID              : 16777

Type                  : Query

Question              : A? sitt1.com.MNC045.MCC123.GPRS.

Additional            :

Name                : .

Ext-RCODE           : 0

Type                : OPT

UDPsize             : 4096

INBOUND>>>>>  05:42:24:781 Eventid:5956(3)

DNS PDU Rx

from : 192.168.1.254 : 53

to   : 192.168.2.1 : 51619

bytes : 57

Query ID              : 16777

Type                  : Response

Authoritative Answer  : No

Response code         : Success

Question              : A? sitt1.com.MNC045.MCC123.GPRS.

Additional            :

Name                : .

Ext-RCODE           : 0

Type                : OPT

UDPsize             : 4096

Example Configuration

If you configure DNS with these service parameters:

Flags: A              Service: x-3gpp-pgw:x-s5-gtp:x-s8-gtp:x-gn:x-gp

When a Non Evolved Packet Core (EPC) capable UE tries to connect, based on DNS Answer service type, SGSN decided to fallback to A query or not.

For example:

SGSN checks the DNS Answer service type and if it is not able to find the keyword x-3gpp-ggsn:x-gn and x-3gpp-ggsn:x-gp then SGSN fallback into A query type.

Query Name: sitt1.com.apn.epc.mnc045.mcc123.3gppnetwork.org

Answer:

Order: 10             Preference: 10

Flags: A              Service: x-3gpp-pgw:x-s5-gtp:x-s8-gtp:x-gn:x-gp

Regular Expression:

Replacement: TOPON.S5.GGSN1.NODES.EPC.MNC090.MCC262.3GPPNETWORK.ORG

Query Name: sitt1.mnc045.mcc123.gprs

Query Type: A          TTL: 48993 seconds

Answer:

IP Address: 192.168.2.1

Suppose, if you configure only a single GGSN ip address for A record in DNS, then SGSN cannot redirect to next available GGSNs and as a result it degrades the service.

As per SGSN Admin Guide:

The Gn SGSN supports and helps select a co-located Packet Data Network (PDN) Gateway (P-GW)/GGSN node for Evolved Packet Core (EPC) capable UEs and performs a DNS Straightforward NAPTR (SNAPTR) lookup for APN Fully Qualified Domain Name (FQDN) for the service parameter x-3gpp-pgw:x-gn / x-3gpp-pgw:x-gp. Interfaces in the service paramaters x-3gpp-ggsn:x-gn and x-3gpp-ggsn:x-gp are also used to select standalone GGSNs.

So when you design the DNS records, you can include service parameter like:

Flags: A     Service: x-3gpp-pgw:x-s5-gtp:x-s8-gtp:x-gn:x-gp:x-3gpp-ggsn:x-gn:x-gp

After this, DNS starts to return multiple Gateway (GW) addresses for non-EPC capable UE.

Query Name: sitt1.com.apn.epc.mnc045.mcc123.3gppnetwork.org

Query Type: NAPTR      TTL: 42755 seconds

Answer:

Order: 40             Preference: 40

Flags: A              Service: x-3gpp-pgw:x-s5-gtp:x-s8-gtp:x-gn:x-gp:x-3gpp-ggsn:x-gn:x-gp

Regular Expression:

Replacement: TOPON.S5.GGSN03.NODES.EPC.mnc045.mcc123.3GPPNETWORK.ORG

Query Name: sitt1.com.apn.epc.mnc045.mcc123.3gppnetwork.org

Query Type: NAPTR      TTL: 42755 seconds

Answer:

Order: 10             Preference: 10

Flags: A              Service: x-3gpp-pgw:x-s5-gtp:x-s8-gtp:x-gn:x-gp:x-3gpp-ggsn:x-gn:x-gp

Regular Expression:

Replacement: TOPON.S5.GGSN02.NODES.EPC.mnc045.mcc123.3GPPNETWORK.ORG

Query Name: sitt1.com.apn.epc.mnc045.mcc123.3gppnetwork.org

Query Type: NAPTR      TTL: 42755 seconds

Answer:

Order: 20             Preference: 20

Flags: A              Service: x-3gpp-pgw:x-s5-gtp:x-s8-gtp:x-gn:x-gp:x-3gpp-ggsn:x-gn:x-gp

Regular Expression:

Replacement: TOPON.S5.GGSN05.NODES.EPC.mnc045.mcc123.3GPPNETWORK.ORG

Query Name: sitt1.com.apn.epc.mnc045.mcc123.3gppnetwork.org

Query Type: NAPTR      TTL: 42755 seconds

Answer:

Order: 30             Preference: 30

Flags: A              Service: x-3gpp-pgw:x-s5-gtp:x-s8-gtp:x-gn:x-gp:x-3gpp-ggsn:x-gn:x-gp

Regular Expression:

Replacement: TOPON.S5.GGSN04.NODES.EPC.mnc045.mcc123.3GPPNETWORK.ORG

Query Name: TOPON.S5.GGSN04.NODES.EPC.mnc045.mcc123.3GPPNETWORK.ORG

Query Type: NAPTR TTL: 48993 seconds

Answer:

IP Address: 192.168.2.22

Query Name: TOPON.S5.GGSN03.NODES.EPC.mnc045.mcc123.3GPPNETWORK.ORG

Query Type: NAPTR TTL: 48993 seconds

Answer:

IP Address: 192.168.2.18

Query Name: TOPON.S5.GGSN05.NODES.EPC.mnc045.mcc123.3GPPNETWORK.ORG

Query Type: NAPTR TTL: 48993 seconds

Answer:

IP Address: 192.168.2.23

Query Name: TOPON.S5.GGSN02.NODES.EPC.mnc045.mcc123.3GPPNETWORK.ORG

Query Type: NAPTR TTL: 48993 seconds

Answer:

IP Address: 192.168.2.21

In summary, ensure that your DNS is configured like x-3gpp-pgw:x-s5-gtp:x-s8-gtp:x-gn:x-gp:x-3gpp-ggsn:x-gn:x-gp to avoid service disturbance when you have multiple GGSNs to support geo-redundancy.