ePDG Roaming Support

ePDG supports roaming for users with the support of Decorated NAI (IDi) as defined in 3GPP 23.0003.

ePDG Roaming Support Description

ePDG also processes VPLMN Dynamic Address Allowed. The HPLMN, VPLMN and VPLMN Dynamic Address Allowed will be used to decide whether the roaming user's traffic will be home routed (PGW from user's home PLMN is selected) or local breakout (PGW from Visited PLMN is selected).

Visited Network Identifier in APN-Configuration AVP in DEA on SWm interface will be used in case of handoff scenarios in which APN-OI sent in CSR is based on the MCC/MNC received with this AVP.

To override "VPLMN Dynamic Address Allowed" AVP received on SWm interface, a configuration under call control profile introduced.

For local PGW selection (IP or FQDN), PLMN is configurable so that correct APN-IO can be constructed and sent to PGW with CSR.

Decorated NAI support

As defined in TS 23.003, section 19.3.3, the decorated NAI format is defined as 'homerealm!username@otherrealm'(RFC 4282, sec 2.7). It consists of three parts as homerealm, username and otherrealm. For more details, please refer TS 23.003, section 19.3.3.

UE will send decorated NAI in IKE_AUTH message in IDi payload. ePDG processes decorated NAI format in SWu and also send the same on SWm interface.

Example: If the service provider has a PLMN ID and the IMSI is 234150999999999 (MCC = 234, MNC = 15) and the PLMN ID of the Selected PLMN is MCC = 610, MNC = 71, then the Decorated NAI takes the form either as below:

nai.epc.mnc015.mcc234.3gppnetwork.org!0234150999999999@nai.epc.mnc071.mcc610.3gppnetwork.org for EAP AKA authentication

Root-NAI Support

The root NAI format is "username@realm" as defined in TS 23.003, section 19.3.2. It consists of two parts as username and realm.

Example: If the IMSI is 234150999999999 (MCC = 234, MNC = 15), the Root NAI takes will be 0234150999999999@nai.epc.mnc015.mcc234.3gppnetwork.org for EAP AKA authentication

Roaming UE with Home Routed traffic

  1. Roaming will be detected at ePDG for a particular session, if it sends decorated nai, or MNC/MCC extracted from root nai is different than PLMN-id configured under epdg-service.
  2. Visited Network Identifier will be included in DER, for which PLMN-id will be taken from "otherrealm" of decorated nai, or serving PLMN ID configuration under ePDG service.

  3. If AAA-Server sends DEA with AVP "VPLMN Dynamic Address Allowed" with NOT_ALLOWED(0) flag set, or may not include this AVP. It indicates that only home routed traffic is possible for this UE. Also, if the local configuration under call-control-profile is present as "vplmn-address not-allowed" then home routed traffic will be considered for this user, ignoring the AAA-Server provided AVP value (or its absence).


    Note

    If Diameter Experimental result code Roaming-Not-Allowed (5004) is received from AAA server, the session will be rejected.
  4. ePDG constructs APN-FQDN using HPLMN to get PGW IP address using DNS resolution. HPLMN is extracted from "homerealm" of decorated nai, or "realm" of root-nai. It both nai-formats are not received, then imsi will be used for initial attach of UICC users (not valid for fast reauth and non-UICC sessions). If APN-OI-Replacement string is received from AAA-Server in DEA, then it will take more precedence while constructing the APN-FQDN.

  5. DNS-Server returns UE's home PGW address(es) and Create Session Request will be sent to PGW with APN-information. APN-OI part will be constructed using MNC/MCC extracted "homerealm" of decorated-nai, or "realm" of root nai. If both nai format is not received, then imsi will be used to extract MNC/MCC.

  6. Create Session Request also contains Serving Network IE, in which MNC/MCC of Visited Network is sent. It may be either from “otherrealm” from decorated nai or from the configured value under epdg-service if UE does not support decorated nai. Below is the order of precedence for taking MNC/MCC for sending Serving Network IE:

  7. Session is established with Create Session Response from UE's home PGW.

Roaming UE with Local Breakout Traffic

  1. Roaming will be detected at ePDG for a particular session, if it sends decorated nai, or MNC/MCC extracted from root nai is different than PLMN-id configured under epdg-service.

  2. Visited Network Identifier will be included in DER, for which PLMN-id will be taken from "otherrealm" of decorated nai, or serving PLMN ID configuration under ePDG service.

  3. AAA-Server sends DEA with AVP “VPLMN Dynamic Address Allowed” with ALLOWED (1) flag set. It indicates that local breakout traffic is allowed for this user. Also, if the local configuration under call-control-profile is then local breakout traffic will be considered for this user, ignoring the AAA-Server provided AVP value (or its absence).


    Note

    If Diameter Experimental result code Roaming-Not-Allowed (5004) is received from AAA-Server, the session will be rejected.


  4. After successful authentication, ePDG constructs APN-FQDN to get PGW IP address using DNS resolution. ePDG constructs it using MNC/MCC from "otherrealm" part of decorated nai. If decorated nai is not supported, then PLNM-ID configured under ePDG service will be used. If APN-OI-Replacement string is ignored if it is received from AAA-Server in DEA.

  5. After DNS based PGW address resolution in which DNS-Server returns UE's home PGW address(es), Create Session Request will be sent to PGW with APN-information. APN-OI part will be constructed from "otherrealm" of decorated nai or PLMN-ID configured under ePDG service.

  6. Create Session Request also contains Serving Network IE, in which MNC/MCC of Visited Network is sent. It may be either from “otherrealm” from decorated nai or from the configured value under epdg-service if UE does not support decorated nai.

  7. Session is established with Create Session Response from UE’s vPLMN PGW.

Roaming UE doing Handoff

  1. For user doing LTE to wifi handoff, it will include IP address(es) in the Configuration Payload in first IKE_AUTH request to ePDG.

  2. And, if the same user is roaming in vPLMN, it will construct FQDN using Visited PLMN ID as Operator Id (OI) and uses DNS resolution to get the ePDG ip address(es) in the Visited PLMN. UE may also construct decorated NAI to be sent in IKE_AUTH request.

  3. Roaming will be detected at ePDG for a particular session, if it sends decorated nai, or MNC/MCC extracted from root nai is different than PLMN-id configured under epdg-service.

  4. Visited Network Identifier will be included in DER, for which PLMN-id will be taken from "otherrealm" of decorated nai, or serving PLMN ID configuration under ePDG service.

  5. In DEA, AAA-Server may include Visited Network Identifier along with PGW-Id under APN Configuration AVP. ePDG will send CSR to the PGW id received from AAA (PGW-Id can be either PGW-FQDN or IP-Address).

    Note

    If Diameter Experimental result code Roaming-Not-Allowed (5004) is received from AAA-Server, the session will be rejected.


  6. APN-OI part of the APN Information sent in Create Session Request is constructed from Visited Network Identifier received from AAA Server in DEA. APN-OI part will be constructed from Visited Network Identifier received in APN Configuration from AAA-Server or MNC/MCC extracted from "homerealm" of decorated-nai, or "realm" of root nai.

    Note

    Can use imsi if the decorated/root nai is not received for UICC sessions. (not valid for fast-reauth and non-UICC sessions).


  7. Create Session Request also contains Serving Network IE, in which MNC/MCC of Visited Network is sent. It may be either from “otherrealm” from decorated nai or from the configured value under epdg-service if UE does not support decorated nai.

  8. Session is established with Create Session Response from the PGW with which UE was attached before handoff in LTE network.

Local PGW Selection

  1. Roaming will be detected at ePDG for a particular session, if it sends decorated nai, or MNC/MCC extracted from root nai is different than PLMN-id configured under epdg-service.

  2. Visited Network Identifier will be included in DER, for which PLMN-id will be taken from "otherrealm" of decorated nai, or serving PLMN ID configuration under ePDG service.

    Note

    If Diameter Experimental result code Roaming-Not-Allowed (5004) is received from AAA-Server, the session will be rejected.


  3. After successful authentication, ePDG will select local PGW IP or FQDN as per existing functionality (Please refer ePDG Admin guide/StarOS CLI guide for more details). DNS resolution will be done for PGW-FQDN to resolve IP address.

  4. Create Session Request will be sent to PGW with APN-information. ePDG will construct APN-OI part of APN information from the MNC/MCC configured under APN-Profile configuration. If the configuration is not present then then MCC/MNC is taken either from "homerealm" if decorated nai is received or from "realm if root nai is received.

    Note

    If root nai also is not received, then ePDG will use imsi to extract MNC/MCC from it. (not valid for Fast-Reauth and Non-UICC scenario.)


  5. Create Session Request also contains Serving Network IE, in which MNC/MCC of Visited Network is sent. It may be either from "otherrealm" from decorated nai or from the configured value under epdg-service if UE does not support decorated nai.

  6. Session is established with Create Session Response from the PGW selected locally.

NON-UICC Roaming Scenarios

  1. For NON-UICC scenarios, a valid nai of the format "username@domain" must be received on either SWu with IDi or from SWm in Mobile-Node-Id AVP.

  2. For NON-UICC roaming scenario, it would be mandatory that from SWu itself, IDi should be received in the format "username@domain".

  3. Using the domain match, ePDG will select call-control-profile where MNC/MCC will be configured. It would be home PLMN for this device. The MNC/MCC will be compared with PLMN ID configured under ePDG service to decide if the user is roaming.

    Note

    If the there is no call-control-profile present for the domain, or if the format in IDi is not of "username@domain", then UE will be considered to be present in its home PLMN (a Non-Roaming scenario).


  4. On detection of roaming, ePDG will include Visited-Network-Identifier AVP in AAR towards AAA-Server. MNC/MCC will be taken from the PLMN id configured under ePDG service.

    The below two sections explains about the Local Breakout and Home Routed traffic scenarios for NON-UICC devices. The above four steps are same for both the scenarios.

    Non-UICC Roaming with Home-Routed Traffic

  5. AAA-Server sends AAA with AVP “VPLMN Dynamic Address Allowed” with NOT_ALLOWED(0) flag set, or may not include this AVP. It indicates that only home routed traffic is possible for this UE. Also, if the local configuration under call-control-profile is present as “vplmn-address not-allowed”, then home routed traffic will be considered for this user, ignoring the AAA-Server provided AVP value(or its absence).

    Note

    If Diameter Experimental result code Roaming-Not-Allowed (5004) is received from AAA server, the session will be rejected.


  6. After successful authentication, ePDG constructs APN-FQDN to get PGW IP address using DNS resolution. ePDG constructs it using MNC/MCC configured under call-control-profile. If APN-OI-Replacement string is received from AAA-Server in AAA, then it will take more precedence while constructing the APN-FQDN.

  7. After DNS based PGW address resolution in which DNS-Server returns UE's home PGW address(es), Create Session Request will be sent to PGW with APN-information. APN-OI part will be constructed using MNC/MCC configured under call-control-profile.

  8. Create Session Request also contains Serving Network IE, in which MNC/MCC of Visited Network is sent. MNC/MCC will be used from the PLMN Id configured under epdg-service.

  9. Session is established with Create Session Response from UE's home.

    PGW Non-UICC Roaming with Local-Breakout Traffic

  10. AAA-Server sends AAA with AVP “VPLMN Dynamic Address Allowed” with ALLOWED (1) flag set. It indicates that local breakout traffic is allowed for this user. Also, if the local configuration under call-control-profile is present as “vplmn-address allowed”, then local breakout traffic will be considered for this user, ignoring the AAA-Server provided AVP value (or its absence).

    Note

    If Diameter Experimental result code Roaming-Not-Allowed (5004) is received from AAA server, the session will be rejected.


  11. After successful authentication, ePDG constructs APN-FQDN to get PGW IP address using DNS resolution. ePDG constructs it using MNC/MCC from PLMN Id configured under ePDG service. If APN-OI-Replacement string is ignored if it is received from AAA-Server in AAA message.

  12. After DNS based PGW address resolution in which DNS-Server returns UE's home PGW address(es), Create Session Request will be sent to PGW with APN-information. APN-OI part will be constructed using MNC/MCC configured under ePDG Service.

  13. Create Session Request also contains Serving Network IE, in which MNC/MCC of Visited Network is sent. MNC/MCC will be used from the PLMN Id configured under epdg-service.

  14. Session is established with Create Session Response from UE's vPLMN PGW.

Assumptions and Limitations

  • For NON-UICC UE case, IDi must be received with format “username@domain” to detect whether it is roaming or not.

  • If the MNC of the PLMN ID under ePDG service is two digits, then zero will be added at the beginning while comparing root nai to detect whether it is roaming or not.

  • There is minor SR/ICSR impact (will recover roaming user detail to have current session count after SR/ICSR)

  • PMIPv6 protocol is not supported for roaming scenario.

  • The UE which does not support decorated nai, should send root nai in format "username@realm". If realm has MNC/MCC is should be constructed using its HPLMN.

  • Different mobility protocols combination is not supported. Roaming is supported only when all the PGWs (in VPLMN/HPLMNs) support GTPv2 S2b protocol.

  • If AAA sends PGW-id, PGW allocation type as static and optionally include Visited Network Identifier, then in all the roaming scenarios, these value will take more preference as below:
    • Create Session Request will be sent to the PGW-id received from AAA.

    • PLMN of APN-OI part of the APN information to be send in CSR is used from Visited Network Identifier received from AAA.

Roaming Support for ePDG Configuration

Command Changes

pgw-address

plmn id mcc mcc_name mnc mnc_name are introduced in APN Profile Configuration mode.

Syntax

pgw-address  plmn id mcc mcc_name mnc mnc_name  

Performance Indicator Changes

As part of "ePDG Roaming Support" feature below show commands output are introduced:

show apn-prpfile full [all | name]

P-GW PLMN-ID

  • MCC

  • MNC

  • If it is not configured

    P-GW PLMN-ID : Not Configured

show call-control-profile full [all | name ]

SAMOG/ePDG Home PLMN

  • MCC

  • MNC

When it is not configured:

  • SAMOG/ePDG Home PLMN : Not Configured

show call-control-profule full [all | name]

  • VPLMN Address

show epdg-service statistics [name | apn-name]

Roaming Sessions

Table 1. UICC Sessions

Initial

Handoff

Active

Active

Setup

Setup

Attempts

Attempts

Failures

Failures

Table 2. Non UICC Sessions

Active

Setup

Attempts

Failures

show subscriber full

  • Roaming

  • handoff

ePDG Roaming Support Bulkstats

Below Bulkstats are introduced in epdg-apn Schema to support ePDG Roaming feature support:

  • roaming-sess-uicc-active

  • roaming-sess-uicc-setup

  • roaming-sess-uicc-attempts

  • roaming-sess-uicc-failures

  • roaming-ho-sess-uicc-active

  • roaming-ho-sess-uicc-setup

  • roaming-ho-sess-uicc-attempts

  • roaming-ho-sess-uicc-failures

  • roaming-sess-nonuicc-active

  • roaming-sess-nonuicc-setup

  • roaming-sess-nonuicc-attempts

  • roaming-sess-nonuicc-failures