4G/LTE - WiFi Offload |
||
WiFi OffLoad : Overall Procedure of Untrusted Data Path Setup
This page will show you he overall procedure of UE getting access to a Service or application via Untruted Non-3GPP network (mostly WiFi). The steps described at step (5), (6) is well defined in 3GPP, but you may see some variations at other steps.. but I think the procedure shown in this page would be common in most cases. It would be helpful to get more meanins out of this if you read WiFi Offload CheckList part before you start reading this page. If you are working on the development or testing on WiFi Offloading or VoWiFi (Voice Over WiFi), the detailed understanding of this procedure greatly help you to troubleshoot various issues you would come accross during the test. I personally checks each and every steps of the procedure described here when I am troubleshooting WiFi Offload/VoWiFi. Also, recommend other engineers to check every steps... but in reality, most of them just say "Something does not work. Just help me fix it" :)
Following is overall sequence diagram of ePDG Discovery and IKE procedure. This is the case where WiFi AP and UE WiFi module is based on IPv4 (It doesn't matter whether UE is using IPv4 or IPv6 for application layer in this diagram). I will post another section later for the case when UE and AP is using IPv6). Actually the only difference is whether they use DHCP or DHCPv6, but there would be something I need to add in detail for IPv6 case).
(1) 802.11
(1.a) and (1.b) belongs to 802.11 protocol. Details of this step is out of the scope of this page. If you want to know the details of this step, refer to step (1)~(7) in WLAN Protocol page.
(2) SSID Selection
Once UE (WiFi device) decode Beacon, it will show all the SSID it detected. Then you can select a specific SSID manually or the device automatically select the SSID in a certain order you have configured.
(3) IP Allocaion for UE WiFi
(3.a) DHCP Discover Bootstrap Protocol (Discover) Message type: Boot Request (1) Hardware type: Ethernet (0x01) Hardware address length: 6 Hops: 0 Transaction ID: 0xff18ecc3 Seconds elapsed: 1 Bootp flags: 0x0000 (Unicast) 0... .... .... .... = Broadcast flag: Unicast .000 0000 0000 0000 = Reserved flags: 0x0000 Client IP address: 0.0.0.0 (0.0.0.0) Your (client) IP address: 0.0.0.0 (0.0.0.0) Next server IP address: 0.0.0.0 (0.0.0.0) Relay agent IP address: 0.0.0.0 (0.0.0.0) Client MAC address: aa:bb:cc:dd:ee:ff Client hardware address padding: 00000000000000000000 Server host name not given Boot file name not given Magic cookie: DHCP Option: (53) DHCP Message Type (Discover) Length: 1 DHCP: Discover (1) Option: (61) Client identifier Length: 7 Hardware type: Ethernet (0x01) Client MAC address: aa:bb:cc:dd:ee:ff Option: (57) Maximum DHCP Message Size Length: 2 Maximum DHCP Message Size: 1500 Option: (60) Vendor class identifier Length: 12 Vendor class identifier: dhcpcd-5.5.6 Option: (12) Host Name Length: 24 Host Name: android-21b08ec0480ae8b6 Option: (55) Parameter Request List Length: 10 Parameter Request List Item: (1) Subnet Mask Parameter Request List Item: (33) Static Route Parameter Request List Item: (3) Router Parameter Request List Item: (6) Domain Name Server Parameter Request List Item: (15) Domain Name Parameter Request List Item: (26) Interface MTU Parameter Request List Item: (28) Broadcast Address Parameter Request List Item: (51) IP Address Lease Time Parameter Request List Item: (58) Renewal Time Value Parameter Request List Item: (59) Rebinding Time Value Option: (255) End Option End: 255
(3.b) DHCP Offer Bootstrap Protocol (Offer) Message type: Boot Reply (2) Hardware type: Ethernet (0x01) Hardware address length: 6 Hops: 0 Transaction ID: 0xff18ecc3 Seconds elapsed: 1 Bootp flags: 0x0000 (Unicast) 0... .... .... .... = Broadcast flag: Unicast .000 0000 0000 0000 = Reserved flags: 0x0000 Client IP address: 0.0.0.0 (0.0.0.0) Your (client) IP address: 192.168.0.1 (192.168.0.1) Next server IP address: 192.168.0.254 (192.168.0.254) Relay agent IP address: 0.0.0.0 (0.0.0.0) Client MAC address: aa:bb:cc:dd:ee:ff Client hardware address padding: 00000000000000000000 Server host name not given Boot file name not given Magic cookie: DHCP Option: (53) DHCP Message Type (Offer) Length: 1 DHCP: Offer (2) Option: (54) DHCP Server Identifier Length: 4 DHCP Server Identifier: 192.168.0.254 (192.168.0.254) Option: (51) IP Address Lease Time Length: 4 IP Address Lease Time: (3600s) 1 hour Option: (58) Renewal Time Value Length: 4 Renewal Time Value: (1800s) 30 minutes Option: (59) Rebinding Time Value Length: 4 Rebinding Time Value: (3200s) 53 minutes, 20 seconds Option: (1) Subnet Mask Length: 4 Subnet Mask: 255.255.255.0 (255.255.255.0) Option: (28) Broadcast Address Length: 4 Broadcast Address: 192.168.0.255 (192.168.0.255) Option: (6) Domain Name Server Length: 4 Domain Name Server: 192.168.0.254 (192.168.0.254) Option: (255) End Option End: 255 Padding
(3.c) DHCP Request Bootstrap Protocol (Request) Message type: Boot Request (1) Hardware type: Ethernet (0x01) Hardware address length: 6 Hops: 0 Transaction ID: 0xff18ecc3 Seconds elapsed: 1 Bootp flags: 0x0000 (Unicast) 0... .... .... .... = Broadcast flag: Unicast .000 0000 0000 0000 = Reserved flags: 0x0000 Client IP address: 0.0.0.0 (0.0.0.0) Your (client) IP address: 0.0.0.0 (0.0.0.0) Next server IP address: 0.0.0.0 (0.0.0.0) Relay agent IP address: 0.0.0.0 (0.0.0.0) Client MAC address: aa:bb:cc:dd:ee:ff Client hardware address padding: 00000000000000000000 Server host name not given Boot file name not given Magic cookie: DHCP Option: (53) DHCP Message Type (Request) Length: 1 DHCP: Request (3) Option: (61) Client identifier Length: 7 Hardware type: Ethernet (0x01) Client MAC address: aa:bb:cc:dd:ee:ff Option: (50) Requested IP Address Length: 4 Requested IP Address: 192.168.0.1 (192.168.0.1) Option: (54) DHCP Server Identifier Length: 4 DHCP Server Identifier: 192.168.0.254 (192.168.0.254) Option: (57) Maximum DHCP Message Size Length: 2 Maximum DHCP Message Size: 1500 Option: (60) Vendor class identifier Length: 12 Vendor class identifier: dhcpcd-5.5.6 Option: (12) Host Name Length: 24 Host Name: android-21b08ec0480ae8b6 Option: (55) Parameter Request List Length: 10 Parameter Request List Item: (1) Subnet Mask Parameter Request List Item: (33) Static Route Parameter Request List Item: (3) Router Parameter Request List Item: (6) Domain Name Server Parameter Request List Item: (15) Domain Name Parameter Request List Item: (26) Interface MTU Parameter Request List Item: (28) Broadcast Address Parameter Request List Item: (51) IP Address Lease Time Parameter Request List Item: (58) Renewal Time Value Parameter Request List Item: (59) Rebinding Time Value Option: (255) End Option End: 255
(3.d) DHCP Ack Bootstrap Protocol (ACK) Message type: Boot Reply (2) Hardware type: Ethernet (0x01) Hardware address length: 6 Hops: 0 Transaction ID: 0xff18ecc3 Seconds elapsed: 1 Bootp flags: 0x0000 (Unicast) 0... .... .... .... = Broadcast flag: Unicast .000 0000 0000 0000 = Reserved flags: 0x0000 Client IP address: 0.0.0.0 (0.0.0.0) Your (client) IP address: 192.168.0.1 (192.168.0.1) Next server IP address: 192.168.0.254 (192.168.0.254) Relay agent IP address: 0.0.0.0 (0.0.0.0) Client MAC address: aa:bb:cc:dd:ee:ff Client hardware address padding: 00000000000000000000 Server host name not given Boot file name not given Magic cookie: DHCP Option: (53) DHCP Message Type (ACK) Length: 1 DHCP: ACK (5) Option: (54) DHCP Server Identifier Length: 4 DHCP Server Identifier: 192.168.0.254 (192.168.0.254) Option: (51) IP Address Lease Time Length: 4 IP Address Lease Time: (3600s) 1 hour Option: (58) Renewal Time Value Length: 4 Renewal Time Value: (1800s) 30 minutes Option: (59) Rebinding Time Value Length: 4 Rebinding Time Value: (3200s) 53 minutes, 20 seconds Option: (1) Subnet Mask Length: 4 Subnet Mask: 255.255.255.0 (255.255.255.0) Option: (28) Broadcast Address Length: 4 Broadcast Address: 192.168.0.255 (192.168.0.255) Option: (6) Domain Name Server Length: 4 Domain Name Server: 192.168.0.254 (192.168.0.254) Option: (255) End Option End: 255 Padding
(4) ePDG Discovery
Refer to ePDG Discovery Page for the details.
(5) IKEv2
This is very long/complicated process and described in a separate page. Refer to Overall Sequence Flow - 3GPP 33.402 of IKE page.
(6) CSCF Discovery
Actually this is not an independen procedure. This is a part of IKEv2 procedure and described in detail in CSCF Descovery page.
|
||