Eric's Tech Notes

HOWTO guides to sometimes complicated tasks

3GPP EPC Node Selection

This DNS HOWTO assumes you have Googled the basic setup of your BIND service and master/slave deployment. We will only focus on the 3GPP aspect of the zone file and how you can use it with an ASR5000. The 3GPP specification 29.303 Annex A4.3(S10) Annex 4.11(S11 and S5), 23.003, RFC 2915, and RFC 3958(2.2.3) are the main references used in this HOWTO.

Basic DNS Syntax

Below we show the basic header of a zone file and what each element is and how to use it.


Basic MME Configuration (co-location)

Below you will find basic MME configuration to support node selection plus static selection in the event DNS/BIND is down or unreachable. The top element in the structure is the lte-policy/subscriber-map which calls the operator-policy. Then the operator-policy calls the call-control-profile and apn-profile. The call-control-profile below is used to say "use dns look up for both SGW and PGW selection" and if DNS is down use static list TMD1. The static tai management DB is also used to define TA Lists that are sent to UE to inform it about the TA is can move between before it needs to perform a TAU. The important part in the call-control-profile for node selection is the use of gw-selection co-location which tells the MME to use best match of SGW and PGW and longest conical name match. In the example above we would match conical names up to the nodeName# portion of the FQDN. The apn-profile is used for static PGW assignment for when DNS is unreachable.

Please note that if the DNS client gets multiple answers with equal order or preference and we have round-robin-answers enabled in the client, we will round robin across the results on a per service/PCS2 basis. This may result in what looks broken functionality as the first results may get used always until all session managers have done so and move on to next result.

context local operator-policy name OP1 associate call-control-profile CCP1 apn default-apn-profile AP1 #exit call-control-profile CCP1 dns-sgw context GP-GN dns-pgw context GP-GN gw-selection co-location associate tai-mgmt-db TMD1 #exit apn-profile AP1 pgw-address 1.1.1.1 pgw-address 2.2.2.2 pgw-address 3.3.3.3 pgw-address 4.4.4.4 #exit context S1 mme-service MME-SVC associate subscriber-map SM1 exit context GP-GN ip name-servers 9.9.9.9 10.10.10.10 dns-client DNS bind address 11.11.11.11 round-robin-answers #exit GlobalConfig lte-policy subscriber-map SM1 precedence 1 match-criteria all operator-policy-name OP1 exit tai-mgmt-db TMD1 tai-mgmt-obj TMO1 tai mcc 111 mnc 222 tac 1 sgw-address 5.5.5.5 s5-s8-protocol gtp weight 100 sgw-address 6.6.6.6 s5-s8-protocol gtp weight 100 sgw-address 7.7.7.7 s5-s8-protocol gtp weight 100 sgw-address 8.8.8.8 s5-s8-protocol gtp weight 100 #exit tai-mgmt-obj TMO2 tai mcc 111 mnc 222 tac 2 sgw-address 5.5.5.5 s5-s8-protocol gtp weight 100 sgw-address 6.6.6.6 s5-s8-protocol gtp weight 100 sgw-address 7.7.7.7 s5-s8-protocol gtp weight 100 sgw-address 8.8.8.8 s5-s8-protocol gtp weight 100 #exit tai-mgmt-obj TMO4 tai mcc 111 mnc 222 tac 3 sgw-address 5.5.5.5 s5-s8-protocol gtp weight 100 sgw-address 6.6.6.6 s5-s8-protocol gtp weight 100 sgw-address 7.7.7.7 s5-s8-protocol gtp weight 100 sgw-address 8.8.8.8 s5-s8-protocol gtp weight 100 #exit tai-mgmt-obj TMO4 tai mcc 111 mnc 222 tac 4 sgw-address 5.5.5.5 s5-s8-protocol gtp weight 100 sgw-address 6.6.6.6 s5-s8-protocol gtp weight 100 sgw-address 7.7.7.7 s5-s8-protocol gtp weight 100 sgw-address 8.8.8.8 s5-s8-protocol gtp weight 100 #exit

Gateway Selection Logic

Below we detail the co-location gateway selection criteria available in IOS-M R12.2.

gw-selection co-location
NAPTR Mapping
Record TypeFlagMetric TypeIs it Used?
NAPTRsOrderYes, only when DNS returns two or more SGW RRs FQDN length as a tie breaker (lower is better)
NAPTRsPreferenceUsed for load balancing in R14 (65535 - value sent by DNS)
NAPTRaOrderYes, only when DNS returns two or more SGW RRs FQDN length as a tie breaker (lower is better)
NAPTRaPreferenceUsed for load balancing in R14 (65535 - value sent by DNS)
SRVN/APriorityYes, only when DNS returns two or more SGW RRs FQDN length as a tie breaker (lower is better)
SRVN/AWeightYes, When multiple equal length longest matches are returned, this value dictates what percent each will be load balanced. For example if you have two results with priority of 20 and 80 then the 20 result will get 20% of bearer requests and the other will bet 80% per session manager(only in R14.0)

Service Types

Below we have a table showing the supported app-service types and app-protocol types.

3GPP APP Mapping
DescriptionIETF RFC 3958 section 6.5 'app-service' nameIETF RFC 3958 section 6.5 'app-protocol' name
PGW and interface types supported by the PGWx-3gpp-pgwx-s5-gtp
x-s5-pmip
x-s8-gtp
x-s8-pmip
x-s2a-pmip
x-s2a-mipv4
x-s2b-pmip
x-s2cdsmip
x-gn
x-gp
SGW and interface types supported by the SGWx-3gpp-sgwx-s5-gtp
x-s5-pmip
x-s8-gtp
x-s8-pmip
x-s11
x-s12
x-s4
x-s1-u
x-s2a-pmip
x-s2b-pmip
GGSNx-3gpp-ggsnx-gn
x-gp
SGSNx-3gpp-sgsnx-gn
x-gp
x-s4
x-s3
x-s16
MME and interface types supported by the MMEx-3gpp-mmex-s10
x-s11
x-s3
x-s6a
x-s1-mme
x-gn
x-gp

Additional Information