4G/LTE - APN

 

 

 

 

APN(Access Point Name) in LTE

 

APN stands for Access Point Name. This is a kind of Gateway (or Anchoring point) to which your UE (Mobile Phone) get attached to get access to the core network for most of the data service.

In this page, I will talk about APN with practical aspect and followings are the list of topics I will cover in this page.

 

 

How APN is assinged ?

 

How APN is assigned to UE ? Basically it gets assigned by network based on the request from the UE. So it is combination of UE setting(for request) and Network configuration. Since both parties get involved in APN assignment, frequently this APN assignment cause various issues espcially for testing the UE. (You would not see much of the problem with this for commericilized phone being used in real network since they are preconfigured to exactly match network requirement when you purchase it, but in many testing situation frequently you would see the case where the exact APN requirement on UE and network is not known. Some UE is pretty flexible/tolerant about the mismatched APN assignment from test equipment but some UE is very picky about the APN assignment from test equipment and shows various strange behavior when the assignment from network does not exactly match what it is expecting.

So when you are testing a UE (DUT) for most of the data service related test (e.g, IP throughput, Browsing, IMS etc), you have to consider both Protocol aspect of APN assingment and UE side APN setting.

 

 

 

Protocol aspect of APN assignment.

 

Typical process of APN assingment protocol is very simple. It happens in two steps as listed below.

    i) UE -> NW : PDN Connectivity Request // Usually UE request PDN with a specific APN (or no specified APN)

    ii) UE <- NW : Activate Default EPS Bearer Context Request // Network always specifies a specific APN

In reality, these two NAS message gets embedded in a little bit different RRC messages. Typically you may see following two types of RRC message carrying these NAS messages.

 

Case 1 : Assignment of default APN

 

In case of assignment of default APN, usually following two steps gets involved.

    i) RRC : RRC Connection Setup Complete + NAS : Attach Request + ESM : PDN Connectivity Request

    ii) RRC : RRC Connection Reconfiguration + NAS : Attach Accept + NAS : Activate Default EPS Bearer Context Req

     

    < PDN Connectivity Request : Default APN >

     

    NAS EPS session management messages: PDN connectivity request (0xd0)

    0011 .... = PDN type: IPv4v6 (3)

    .... 0001 = Request type: initial request (1)

    ESM information transfer flag

        1101 .... = Element ID: 0xd-

        .... 000. = Spare bit(s): 0x00

        .... ...1 = EIT (ESM information transfer): Security protected ESM information transfer required

    Protocol Configuration Options

        Element ID: 0x27

        Length: 32

        [Link direction: MS to network (0)]

        1... .... = Extension: True

        Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)

        Protocol or Container ID: Internet Protocol Control Protocol (0x8021)

            Length: 0x10 (16)

            PPP IP Control Protocol

                Code: Configuration Request (1)

                Identifier: 0 (0x00)

                Length: 16

                Options: (12 bytes), Primary DNS Server IP Address, Secondary DNS Server IP Address

                    Primary DNS Server IP Address: 0.0.0.0

                        Type: Primary DNS Server IP Address (129)

                        Length: 6

                        Primary DNS Address: 0.0.0.0 (0.0.0.0)

                    Secondary DNS Server IP Address: 0.0.0.0

                        Type: Secondary DNS Server IP Address (131)

                        Length: 6

                        Secondary DNS Address: 0.0.0.0 (0.0.0.0)

        Access Point Name  // UE can specify a predefined name here.

                                   // In case of default EPS bearer, it is common that the APN is not specified

        Protocol or Container ID: DNS Server IPv4 Address Request (0x000d)

            Length: 0x00 (0)

        Protocol or Container ID: DNS Server IPv6 Address Request (0x0003)

            Length: 0x00 (0)

        Protocol or Container ID: IP address allocation via NAS signalling (0x000a)

            Length: 0x00 (0)

        Protocol or Container ID: IPv4 Link MTU Request (0x0010)

            Length: 0x00 (0)

     

    < Activate Default EPS Bearer Context Request : Default APN >

     

    NAS EPS session management messages: Activate default EPS bearer context request (0xc1)

    EPS quality of service

        Length: 1

        Quality of Service Class Identifier (QCI): QCI 9 (9)

    Access Point Name

        Length: 8

        APN: internet  // Network Assigns a specific APN Name

    PDN address

        Length: 13

        0000 0... = Spare bit(s): 0x00

        PDN type: IPv4v6 (3)

        PDN IPv6 if id: 0000000000000001

        PDN IPv4: 192.168.137.2 (192.168.137.2)

    Protocol Configuration Options

        Element ID: 0x27

        Length: 8

        [Link direction: Network to MS (1)]

        1... .... = Extension: True

        Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)

        Protocol or Container ID: Internet Protocol Control Protocol (0x8021)

            Length: 0x04 (4)

            PPP IP Control Protocol

                Code: Configuration Nak (3)

                Identifier: 0 (0x00)

                Length: 4

     

 

Case 2 : Assignment of additional APN

 

In case of assignment of additional APN after the default APN, usually following two steps gets involved.

 

    < PDN Connectivity Request : Additional APN >

     

    NAS EPS session management messages: PDN connectivity request (0xd0)

    0011 .... = PDN type: IPv4v6 (3)

    .... 0001 = Request type: initial request (1)

    Access Point Name

        Element ID: 0x28

        Length: 4

        APN: ims  // Usually UE request PDN with specific APN name

    Protocol Configuration Options

        Element ID: 0x27

        Length: 41

        [Link direction: MS to network (0)]

        1... .... = Extension: True

        Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)

        Protocol or Container ID: Internet Protocol Control Protocol (0x8021)

            Length: 0x10 (16)

            PPP IP Control Protocol

                Code: Configuration Request (1)

                Identifier: 0 (0x00)

                Length: 16

                Options: (12 bytes), Primary DNS Server IP Address, Secondary DNS Server IP Address

                    Primary DNS Server IP Address: 0.0.0.0

                        Type: Primary DNS Server IP Address (129)

                        Length: 6

                        Primary DNS Address: 0.0.0.0 (0.0.0.0)

                    Secondary DNS Server IP Address: 0.0.0.0

                        Type: Secondary DNS Server IP Address (131)

                        Length: 6

                        Secondary DNS Address: 0.0.0.0 (0.0.0.0)

        Protocol or Container ID: DNS Server IPv4 Address Request (0x000d)

            Length: 0x00 (0)

        Protocol or Container ID: DNS Server IPv6 Address Request (0x0003)

            Length: 0x00 (0)

        Protocol or Container ID: P-CSCF IPv6 Address Request (0x0001)

            Length: 0x00 (0)

        Protocol or Container ID: P-CSCF IPv4 Address Request (0x000c)

            Length: 0x00 (0)

        Protocol or Container ID: IP address allocation via NAS signalling (0x000a)

            Length: 0x00 (0)

        Protocol or Container ID: MS Support of Network Requested Bearer Control indicator (0x0005)

            Length: 0x00 (0)

        Protocol or Container ID: IPv4 Link MTU Request (0x0010)

            Length: 0x00 (0)

     

     

    < Activate Default EPS Bearer Context Req : Additional APN >

     

    NAS EPS session management messages: Activate default EPS bearer context request (0xc1)

     EPS quality of service

         Length: 1

         Quality of Service Class Identifier (QCI): QCI 9 (9)

     Access Point Name

         Length: 4

         APN: ims  // Network Allocate the specific APN Name. This may or may not be the same as UE requested

     PDN address

         Length: 13

         0000 0... = Spare bit(s): 0x00

         PDN type: IPv4v6 (3)

         PDN IPv6 if id: 0000000000000011

         PDN IPv4: 192.168.1.11 (192.168.1.11)

     Linked TI - Transaction identifier

         Element ID: 0x5d

         Length: 1

         0... .... = TI Flag: The message is sent from the side that originates the TI

         TI value: 0x02 (2)

     Quality Of Service - Negotiated QoS

         Element ID: 0x30

         Length: 14

         00.. .... = Spare bit(s): 0

         ..10 0... = Quality of Service Delay class: Delay class 4 (best effort) (4)

         .... .011 = Reliability class: Unacknowledged GTP/LLC, Ack RLC, Protected data (3)

         1001 .... = Peak throughput: Up to 256 000 octet/s (9)

         .... 0... = Spare bit(s): 0

         .... .010 = Precedence class: Normal priority (2)

         000. .... = Spare bit(s): 0

         ...0 1010 = Mean throughput: 100 000 octet/h (10)

         100. .... = Traffic class: Background class (4)

         ...1 0... = Delivery order: Without delivery order ('no') (2)

         .... .011 = Delivery of erroneous SDUs: Erroneous SDUs are not delivered('No') (3)

         Maximum SDU size: 1500 octets (150)

         Maximum bitrate for uplink: 64 kbps (64)

         Maximum bitrate for downlink: 384 kbps (104)

         0111 .... = Residual Bit Error Rate (BER): 1*10-5 (7)

         .... 0100 = SDU error ratio: 1*10-4 (4)

         0000 00.. = Transfer delay: Subscribed transfer delay/reserved (0)

         .... ..00 = Traffic handling priority: Subscribed traffic handling priority/Reserved (0)

         Guaranteed bitrate for uplink: 64 kbps (64)

         Guaranteed bitrate for downlink: 568 kbps (127)

         000. .... = Spare bit(s): 0

         ...0 .... = Signalling indication: Not optimised for signalling traffic

         .... 0000 = Source statistics description: unknown (0)

         Maximum bitrate for downlink (extended): Use the value indicated by the Maximum bit rate for downlink (0)

         Guaranteed bitrate for downlink (extended): Use the value indicated by the Guaranteed bit rate for downlink (0)

     LLC Service Access Point Identifier - Negotiated LLC SAPI

         Element ID: 0x32

         0000 .... = Spare bit(s): 0

         .... 0011 = LLC SAPI: SAPI 3 (3)

     Radio Priority

         1000 .... = Element ID: 0x8-

         Radio Priority (PDP or SMS): priority level 1 (highest) (1)

     Protocol Configuration Options

         Element ID: 0x27

         Length: 72

         [Link direction: Network to MS (1)]

         1... .... = Extension: True

         Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)

         Protocol or Container ID: Internet Protocol Control Protocol (0x8021)

             Length: 0x10 (16)

             PPP IP Control Protocol

                 Code: Configuration Nak (3)

                 Identifier: 0 (0x00)

                 Length: 16

                 Options: (12 bytes), Primary DNS Server IP Address, Secondary DNS Server IP Address

                     Primary DNS Server IP Address: 10.211.64.87

                         Type: Primary DNS Server IP Address (129)

                         Length: 6

                         Primary DNS Address: 10.211.64.87 (10.211.64.87)

                     Secondary DNS Server IP Address: 10.211.64.87

                         Type: Secondary DNS Server IP Address (131)

                         Length: 6

                         Secondary DNS Address: 10.211.64.87 (10.211.64.87)

         Protocol or Container ID: DNS Server IPv4 Address (0x000d)

             Length: 0x04 (4)

             IPv4: 10.211.64.87

         Protocol or Container ID: DNS Server IPv6 Address (0x0003)

             Length: 0x10 (16)

             IPv6: 2001:0:0:1::2

         Protocol or Container ID: P-CSCF IPv6 Address (0x0001)

             Length: 0x10 (16)

             IPv6: 2001:0:0:1::2

         Protocol or Container ID: P-CSCF IPv4 Address (0x000c)

             Length: 0x04 (4)

             IPv4: 192.168.1.2

     

 

 

 

APN in S1AP

 

Followings are some of the message example going through S1AP that carries APN information.

 

< UplinkNASTransport >

    S1 Application Protocol

        S1AP-PDU: initiatingMessage (0)

            initiatingMessage

                procedureCode: id-uplinkNASTransport (13)

                criticality: ignore (1)

                value

                    UplinkNASTransport

                        protocolIEs: 5 items

                            Item 0: id-MME-UE-S1AP-ID

                                ProtocolIE-Field

                                    id: id-MME-UE-S1AP-ID (0)

                                    criticality: reject (0)

                                    value

                                        MME-UE-S1AP-ID: ....

                            Item 1: id-eNB-UE-S1AP-ID

                                ProtocolIE-Field

                                    id: id-eNB-UE-S1AP-ID (8)

                                    criticality: reject (0)

                                    value

                                        ENB-UE-S1AP-ID: 3

                            Item 2: id-NAS-PDU

                                ProtocolIE-Field

                                    id: id-NAS-PDU (26)

                                    criticality: reject (0)

                                    value

                                        NAS-PDU: 27a8ccdcee7e024eda2808016e05697370736e

                                        Non-Access-Stratum (NAS)PDU

                                            0010 .... = Security header type: Integrity protected and ciphered (2)

                                            .... 0111 = Protocol discriminator: EPS mobility management messages (0x07)

                                            Message authentication code: 0xa8ccdcee

                                            Sequence number: 126

                                            0000 .... = EPS bearer identity: No EPS bearer identity assigned (0)

                                            .... 0010 = Protocol discriminator: EPS session management messages (0x02)

                                            Procedure transaction identity: 78

                                            NAS EPS session management messages: ESM information response (0xda)

                                            Access Point Name

                                                Element ID: 0x28

                                                Length: 8

                                                APN: testapn

                            Item 3: id-EUTRAN-CGI

                                ProtocolIE-Field

                                    id: id-EUTRAN-CGI (100)

                                    criticality: ignore (1)

                                    value

                                        EUTRAN-CGI

                                            ...

                            Item 4: id-TAI

                                ProtocolIE-Field

                                    id: id-TAI (67)

                                    criticality: ignore (1)

                                    value

                                        TAI

                                            ...

 

<  InitialContextSetupRequest >

    S1 Application Protocol

        S1AP-PDU: initiatingMessage (0)

            initiatingMessage

                procedureCode: id-InitialContextSetup (9)

                criticality: reject (0)

                value

                    InitialContextSetupRequest

                        protocolIEs: 8 items

                            Item 0: id-MME-UE-S1AP-ID

                                ProtocolIE-Field

                                    id: id-MME-UE-S1AP-ID (0)

                                    criticality: reject (0)

                                    value

                                        MME-UE-S1AP-ID: ...

                            Item 1: id-eNB-UE-S1AP-ID

                                ProtocolIE-Field

                                    id: id-eNB-UE-S1AP-ID (8)

                                    criticality: reject (0)

                                    value

                                        ENB-UE-S1AP-ID: 3

                            Item 2: id-uEaggregateMaximumBitrate

                                ProtocolIE-Field

                                    id: id-uEaggregateMaximumBitrate (66)

                                    criticality: reject (0)

                                    value

                                        UEAggregateMaximumBitrate

                                            uEaggregateMaximumBitRateDL: 201943030

                                            uEaggregateMaximumBitRateUL: 201943030

                            Item 3: id-E-RABToBeSetupListCtxtSUReq

                                ProtocolIE-Field

                                    id: id-E-RABToBeSetupListCtxtSUReq (24)

                                    criticality: reject (0)

                                    value

                                        E-RABToBeSetupListCtxtSUReq: 1 item

                                            Item 0: id-E-RABToBeSetupItemCtxtSUReq

                                                ProtocolIE-SingleContainer

                                                    id: id-E-RABToBeSetupItemCtxtSUReq (52)

                                                    criticality: reject (0)

                                                    value

                                                        E-RABToBeSetupItemCtxtSUReq

                                                            e-RAB-ID: 5

                                                            e-RABlevelQoSParameters

                                                                qCI: 9

                                                                allocationRetentionPriority

                                                                    priorityLevel: Unknown (12)

                                                                    pre-emptionCapability: shall-not-trigger-pre-emption (0)

                                                                    pre-emptionVulnerability: pre-emptable (1)

                                                            0... .... Extension Present Bit: False

                                                            transportLayerAddress: 0a9bb99c

                                                                transportLayerAddress(IPv4): xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)

                                                            gTP-TEID: ...

                                                            nAS-PDU: ...

                                                            Non-Access-Stratum (NAS)PDU

                                                                0010 .... = Security header type:

                                                                                      Integrity protected and ciphered (2)

                                                                .... 0111 = Protocol discriminator:

                                                                                      EPS mobility management messages (0x07)

                                                                Message authentication code: 0x5e7a308b

                                                                Sequence number: 76

                                                                0000 .... = Security header type:

                                                                                      Plain NAS message, not security protected (0)

                                                                .... 0111 = Protocol discriminator:

                                                                                      EPS mobility management messages (0x07)

                                                                NAS EPS Mobility Management Message Type: Attach accept (0x42)

                                                                0000 .... = Spare half octet: 0

                                                                .... 0... = Spare bit(s): 0x00

                                                                .... .001 = Attach result: EPS only (1)

                                                                GPRS Timer - T3412 value

                                                                    ...

                                                                Tracking area identity list - TAI list

                                                                    ...

                                                                ESM message container

                                                                    Length: 83

                                                                    ESM message container contents: ...

                                                                        0101 .... = EPS bearer identity:

                                                                                            EPS bearer identity value 5 (5)

                                                                        .... 0010 = Protocol discriminator:

                                                                                            EPS session management messages (0x02)

                                                                        Procedure transaction identity: 78

                                                                        NAS EPS session management messages:

                                                                                   Activate default EPS bearer context request (0xc1)

                                                                        EPS quality of service

                                                                            Length: 1

                                                                            Quality of Service Class Identifier (QCI): QCI 9 (9)

                                                                        Access Point Name

                                                                            Length: 8

                                                                            APN: testapn

                                                                        PDN address

                                                                            Length: 5

                                                                            0000 0... = Spare bit(s): 0x00

                                                                            PDN type: IPv4 (1)

                                                                            PDN IPv4: xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)

                                                                        APN aggregate maximum bit rate

                                                                            Element ID: 0x5e

                                                                            Length: 6

                                                                            APN-AMBR for downlink : 8640 kbps

                                                                            APN-AMBR for uplink : 8640 kbps

                                                                            APN-AMBR for downlink (extended) : 44 Mbps

                                                                            APN-AMBR for uplink (extended) : 44 Mbps

                                                                            APN-AMBR for downlink (extended-2) : 256 Mbps

                                                                            Total APN-AMBR for downlink : 308.640 Mbps

                                                                            APN-AMBR for uplink (extended-2) : 256 Mbps

                                                                            Total APN-AMBR for uplink : 308.640 Mbps

                                                                        Protocol Configuration Options

                                                                            ....

                                                                EPS mobile identity - GUTI

                                                                    Element ID: 0x50

                                                                    Length: 11

                                                                    .... 0... = odd/even indic: 0

                                                                    .... .110 = Type of identity: GUTI (6)

                                                                    Mobile Country Code (MCC): 001

                                                                    Mobile Network Code (MNC): 01

                                                                    MME Group ID: 32774

                                                                    MME Code: 33

                                                                    M-TMSI: 0xc071bb09

                                                                EMM cause

                                                                    Element ID: 0x53

                                                                    Cause: CS domain not available (18)

                                                                GPRS Timer - T3402 value

                                                                    ...

                                                                GPRS Timer - T3423 value

                                                                    ...

                                                                PLMN List - Equivalent PLMNs - 2 PLMNs

                                                                    Element ID: 0x4a

                                                                    Length: 6

                                                                    PLMN[1]  Mobile Country Code (MCC): 001

                                                                    PLMN[2]  Mobile Country Code (MCC): 01

                                                                EPS network feature support

                                                                    Element ID: 0x64

                                                                    Length: 1

                                                                    ....

                                                                Additional update result

                                                                    1111 .... = Element ID: 0xf-

                                                                    .... 00.. = Spare bit(s): 0x00

                                                                    .... ..01 = AURV: CS Fallback not preferred (1)

                            Item 4: id-UESecurityCapabilities

                                ProtocolIE-Field

                                    id: id-UESecurityCapabilities (107)

                                    criticality: reject (0)

                                    value

                                        UESecurityCapabilities

                                            ..0. .... Extension Present Bit: False

                                            encryptionAlgorithms: c000

                                            ...0 .... Extension Present Bit: False

                                            integrityProtectionAlgorithms: c000

                            Item 5: id-SecurityKey

                                ProtocolIE-Field

                                    id: id-SecurityKey (73)

                                    criticality: reject (0)

                                    value

                                        SecurityKey: ... [bit length 256]

                            Item 6: id-HandoverRestrictionList

                                ProtocolIE-Field

                                    id: id-HandoverRestrictionList (41)

                                    criticality: ignore (1)

                                    value

                                        HandoverRestrictionList

                                            servingPLMN: 131002

                                            Mobile Country Code (MCC): 001

                                            Mobile Network Code (MNC): 02

                                            equivalentPLMNs: 2 items

                                                Item 0

                                                    PLMNidentity: 134109

                                                    Mobile Country Code (MCC): 001

                                                    Mobile Network Code (MNC): 02

                                                Item 1

                                                    PLMNidentity: 138107

                                                    Mobile Country Code (MCC): 001

                                                    Mobile Network Code (MNC): 02

                            Item 7: id-SubscriberProfileIDforRFP

                                ProtocolIE-Field

                                    id: id-SubscriberProfileIDforRFP (106)

                                    criticality: ignore (1)

                                    value

                                        SubscriberProfileIDforRFP: 1

     

 

 

 

UE Setting Aspect of APN Assignement

 

There is special settings on UE in which you can add or delete (define) your own APN. How you define these APN on UE side would change UE behavior drastically. So when it comes to testing, it is very important to configure UE side APN setting to match the equipment APN setting. But the problem is .. depending on UE, some UE gives you full control over the APN setting but some UE does not give you any control at all or gives you the limitted controlability.

 

Following is one example of APN settings that I configured for testing purpose. (Don't try to blindly copy this setting onto your UE and expect it to work with your test environment or in live network).

 

 

 

 

Why sometimes UE does not specify APN name in PDN Connectivity Request ?

 

 

Case 1 : UE does not want to send those information before Security is established

 

I think this is the most common case and happens most frequently for the default bearer setup. The PDN request is piggybacked in Attach Request which happens before 'Security Mode Command' procedure. That is, UE does not want to send this kind of information without any security protection. In this case, it is expected that UE send PDN Connectivity Request with ESM information transfer flat = 1. Then Network will send ESM Information Request afrer Security process is completed and then UE will notify APN name it wants to use in ESM Information Response message.

    Message: Attach request

     

    Protocol discriminator = 0x7 (EPS Mobility Management)

    Security header = 0x1 (Integrity protected)

    Auth code = 0xab180dd6

    Sequence number = 0x0a

    Protocol discriminator = 0x7 (EPS Mobility Management)

    Security header = 0x0 (Plain NAS message, not security protected)

    Message type = 0x41 (Attach request)

    EPS attach type = 2 (combined EPS/IMSI attach)

    NAS key set identifier:

      ...

    Old GUTI or IMSI:

      ...

    UE network capability:

      ...

    ESM message container:

      Protocol discriminator = 0x2 (EPS Session Management)

      EPS bearer identity = 0

      Procedure transaction identity = 68

      Message type = 0xd0 (PDN connectivity request)

      Request type = 1 (initial request)

      PDN type = 3 (IPv4v6)

      ESM information transfer flag = 1

NOTE : The meaning of ESM information transfer flag is specified in 3GPP 24.301-9.9.4.5 as follows :

    The purpose of the ESM information transfer flag information element is to indicate whether ESM information, i.e. protocol configuration options or APN or both, is to be transferred security protected.

      value 0 : security protected ESM information transfer not required

      value 1 : security protected ESM information transfer required

 

 

Case 2 : Implying that UE doesn't care which APN the network assigns

 

I am not sure if this is explicitely allowed in terms of 3GPP, but I saw many cases where UE accept whatever APN the network assigns when UE does not specify APN name in PDN request.

 

 

Case 3 : Possible UE bug

 

I saw some cases where UE omit APN name in PDN request without setting ESM information transfer flag. In this case, some network may reject PDN request.

 

 

 

Common Issues and Challenges for APN related issues

 

One of the biggest issues about APN is that there is no strict rule, requirement clearly specified in 3GPP. A lot of detailed behavior is up to UE protocol stack implementation and requirement from Carriers. The most important factors is 'Matching between UE side expectation and NW side expectation'. The biggest problem is that it is very hard to find right person who has the clear information about this.

In my case, most of the issues that I come across with these problems are with UE maker/engineers who is working with application layer testing (e.g, IP throughput, IMS etc) and followings are the common situation that ends up with.

  • Step i) I think we need to get clear understanding of UE side APN handling implementation and you need to talk to your radio protocol engineer about this.
  • Step ii) (after a long time (at least several days) to get any feedback from radio protocol engineer). This protocol implmentation is implemented by chipset maker. We don't have much control over it. We need to talk to chipset maker for clear information.
  • Step iii) (after even longer time to get any response from chipset vendor). Chipset maker says the APN configuration varies with each carrier (network operator). If you get clear problem description from Carrier, we may revise our stack to fix the problem.
  • Step iv) (UE maker talks to Carriers and also takes a long time to get any feedback). Carrier says "We specified in our that we need this and this kind of APN and you have to make it work in any way. If you have any issues in the detailed protocol layer, it is your problem. We don't have any clear definition in terms of protocol sequence".

After the step iv), it goes back to step i) and after a couple of iteration with no productive progress, usually the verification engineer give up any further technical communication and try to rely on ad-hoc method as follows.  

  • Method 1) Keep changing UE side APN setup parameters until it work with a specific test equipment
  • Method 2) Keep changing test equipment parameters until it work with a specific UE setting

Sometimes this kind of ad-hoc approach works but it can never be a perfect solution. Somebody use Method 1 and some other person use Method 2. So even for testing a same UE using the same equipment, if two different person performs the test final configuration on UE and equipment would be completely different. Also, in some UE you can use only method 1 due to equipment restriction and in some other cases you can use only method 2 due to UE side restriction. Therefore, none of them can be a generic solution.

 

To be honest, I don't think there would be any generic solution for this issue unless 3GPP put forward any clear requirement on it. For the time being, the most reasonable approach would be to create a clear requirement and check list of your own and coordinate everybody (chipset maker, UE maker and carrier) to follow the rules defined in the check list. Personally, I think Carrier (Network Operator) is at the best position to enforce this practice.

 

 

 

Check List

 

There is no right or wrong in many APN related issues (e.g, APN name). It is just a matter of a specific rule (set by developer or by network operator) and strictly following the rule. So the check list in this sections ask you about 'do you have this and this kind of rules of your own ?'

 

1. In what condition UE sets APN name in PDN Connectivity Request message ?

 

As I mentioned in Protocol aspect of APN assignment, in some case UE specifies APN name in some case and in some case UE does not specify it. The questions is 'in your UE, when it specify the APN name in PDN Connectivity Request ?'.

 

2. When UE does not specify APN name in its PDN Connectivity Request, what APN name the UE expects from Network in Activate Default EPS Bearer Context Req ?

 

Is any APN name OK ? or does it expect any specific APN name ?

 

3. If UE expect any specific APN name from the network in Activate Default EPS Bearer Context Req, where does the specific APN name come from ?

 

Is it from the requirement by network operator ? or is it from what you specified in UE APN setting ?

 

4. If UE send PDN Request with IP Type = IPv4v6 and Network allocates IPv4v6 in Activate Default EPS Bearer Context Req but RS(Router Solicitation)/RA(Router Advertisement) process failed, how UE should react ?

 

It would be desirable that UE gives up IPv6 setup process and just stick to IPv4, but I saw some UE retry the PDN request process until it gets RS/RA successful.

 

Note : Unlike APN name issues, there is relatively clear requirement specified in 3GPP. Refer to ESM Cause section for further information on this issue.