WiFi OffLoad CheckList
If you had previous experience with following up how IMS implementation has evolved, you would have learned how important to prepare a detailed check list before you try anything for any new technology. As far as I remember, it took around two years for everybody (IMS stack developer, test engineer, equipment vendor) to stabilize their part of implementation and aquire a certain level of troubleshooting technology. As far as I am concerned, I think I saw the first ePDG demo around two years ago (as of Jun 2015) and have seen so many issues.. now it seems that ePDG implmentation seems to be pretty stable/reliable at least with a certain UEs, but still there seems to be long way to go for most of other UEs as of now (as of Jun 2015). I hope this check list would relieve some of frustration you would experience.
1. What is the IP type for the overal data path ?
The first thing you have to check or determine before you do any testing, you have to know which IP version will be used at each component on data path. Theoreticall, there may be following possible combinations. As far as I experienced, most of UE used < Case 3 >, but definitely you may see other requirements. The reason you have to determine this at the first step is that you may not see any log you can capture for troubleshooting.
2. Is there any specific USIM requirement ?
Same as in IMS case, many UE (Network Operator) requires a specific USIM requirement (Specific Parameters should be set). In most case, UE would not even initiate IKE process (ePDG attach process) if you miss any of the USIM requirement.
3. How UE get the IP address for its WiFi connectivity ?
When your UE gets connected to WiFi access point for the ePDG, UE will get its IPs allocated as shown in the following example. The question is how UE get this IPs allocated ?
Basically this is similar to how your PC gets IP address to get access to the public internet. It would be done by Static IP allocation in which you set these IPs manually somewhere in UE or UE get these IPs by dynamic allocation mechanism (i,e, DHCP for IPv4 address and Router Solicitation/Router Advertisement for IPv6).
I am pretty sure that most of the device support both capability, but the thing you have to check is how the specific DUT you are using is configured for these IPs. If it is set by the static IP, you have to doublecheck the IP you set statically matches the requirement by network operator or test equipment setting. If it is set by Dynamic method, you have to make it sure that the DUT's MAC address is properly registered to DHCP server so that the DHCP server does not reject the IP allocation request from the DUT.
4. How UE figure out ePDG IP address (ePDG Discovery) ?
As in CSCF Discovery in IMS case, there can be several different ways for a UE to figure out the IP address of ePDG. In many devices at relatively early state of ePDG implementation, I saw these IP was just hardcoded internally (the worst case is that the IP is hardcoded and that hardcoded information is not provided to testing people) or a special GUI is provided in which user can hardcode the IP manually.
In smarter way (probably in live network), UE may ask for the IP via DNS everytime it try ePDG access. (Now I see some test device is using this mechanism even at testing phase).
5. How UE can figure out CSCF address ?
If the UE performed the attach process to LTE network first, it can figure out CSCF address as described in LTE CSCF Discovery mechanism. But if the UE access to ePDG with purpose of IMS service, how UE can figure out the CSCF address. In most of the device at early phase of ePDG implementation, they hardcode it in ePDG stack itself or they allow user to manually set it with GUI on UE setting. But in UE with more mature ePDG implementation, they tend to get CSCF address via IP allocation during ePDG attach process. (Refer to IP Allocation by ePDG page for the details).
6. What are other UE settings to trigger access to ePDG ?
Probably this would be the trickiest part since the answer to this question would be completely different depending on the requirement of each service provider. Make it sure that you have all the details UE side condition to trigger ePDG attach before you try any testing. Otherwise, you will waste time on random trial and error or hacking process to figure out those information that are necessary but not given to you. Followings are only a few examples of factors and there would be many other factors as well.
7. What to do next ?
In any communication technology, it is almost impossible to fix the problems you would see without knowing the details of the protocol. So my first recommendation is to understand the overall WiFi Oflload concept and the details of IKE process.