4G/LTE - WiFi Offload

 

 

 

 

WiFi OffLoad : ePDG Discovery

 

How UE can figure out where it is supposed to get access for ePDG ? In other words, how a UE can figure out the IP address of ePDG ? You might have similar questions if you had experience of testing IMS.

ePDG Discovery method would be similar to IMS CSCF Discovery and I saw similar history of troubles related to this as I experienced from very early stage of ePDG implmentation (around 2 years ago) to relatively mature implementation as of now (as of Jun 2015).

I have seen several different implementation on UE of ePDG discovery and each method has its own advantage and headache. It is very important for you to know how your UE (DUT) implments the ePDG discover. Otherwise, you would get failed at the very first step of any ePDG related test.  At the very early stage of ePDG implementation, I saw many of Case 1 which gaves me a lot of trouble because they just hardcoded and didn't provide information. And a while later, many UE start supporting Case 2. By the time when UE is about to be commericialized or to be tested in Carrier Lab, you would see many of Case 3 implementation.

 

Case 1 : ePDG IP address is hardcoded in UE protocol stack.

Case 2 : UE provide some GUI or internal configuration file by which user can specify ePDG address manually.

Case 3 : UE send DNS query with ePDG and Network (Test Equipment) reply with ePDG IP address as shown in the following example.

    Domain Name System (query)

        Transaction ID: 0x514d

        Flags: 0x0100 Standard query

            0... .... .... .... = Response: Message is a query

            .000 0... .... .... = Opcode: Standard query (0)

            .... ..0. .... .... = Truncated: Message is not truncated

            .... ...1 .... .... = Recursion desired: Do query recursively

            .... .... .0.. .... = Z: reserved (0)

            .... .... ...0 .... = Non-authenticated data: Unacceptable

        Questions: 1

        Answer RRs: 0

        Authority RRs: 0

        Additional RRs: 0

        Queries

            ss.epdg.epc.mncXYZ.mccABC.pub.3gppnetwork.org: type A, class IN

                Name: ss.epdg.epc.mnc260.mcc310.pub.3gppnetwork.org

                [Name Length: 45]

                [Label Count: 8]

                Type: A (Host Address) (1)

                Class: IN (0x0001)

 

    Domain Name System (response)

        Transaction ID: 0x514d

        Flags: 0x8180 Standard query response, No error

            1... .... .... .... = Response: Message is a response

            .000 0... .... .... = Opcode: Standard query (0)

            .... .0.. .... .... = Authoritative: Server is not an authority for domain

            .... ..0. .... .... = Truncated: Message is not truncated

            .... ...1 .... .... = Recursion desired: Do query recursively

            .... .... 1... .... = Recursion available: Server can do recursive queries

            .... .... .0.. .... = Z: reserved (0)

            .... .... ..0. .... = Answer authenticated: Answer/authority portion was not

                                  authenticated by the server

            .... .... ...0 .... = Non-authenticated data: Unacceptable

            .... .... .... 0000 = Reply code: No error (0)

        Questions: 1

        Answer RRs: 1

        Authority RRs: 0

        Additional RRs: 0

        Queries

            ss.epdg.epc.mncXYZ.mccABC.pub.3gppnetwork.org: type A, class IN

                Name: ss.epdg.epc.mncXYZ.mccAB.pub.3gppnetwork.org

                [Name Length: 45]

                [Label Count: 8]

                Type: A (Host Address) (1)

                Class: IN (0x0001)

        Answers

            ss.epdg.epc.mncXYZ.mccABC.pub.3gppnetwork.org: type A, class IN, addr 192.168.0.254

                Name: ss.epdg.epc.mncXYZ.mccABC.pub.3gppnetwork.org

                Type: A (Host Address) (1)

                Class: IN (0x0001)

                Time to live: 86400

                Data length: 4

                Address: 192.168.0.254 (192.168.0.254) // This is IP address for ePDG