Virtual APN in CUPS

Revision History


Note


Revision history details are not provided for features introduced before release 21.24.


Revision Details

Release

Support is added for virtual APN selection based on preference.

21.24.1

First introduced.

Pre 21.24

Feature Description

Access Point Name (APN) is a logical name referring to an external packet data network and/or to a specific service that the subscriber wishes to connect to.

Virtual APNs allow differentiated services within a single APN.

The Virtual APN feature allows a carrier to use a single APN to configure differentiated services. The APN that is supplied by the MME is evaluated by the P-GW along with multiple configurable parameters. Then, the P-GW selects an APN configuration that is based on the supplied APN and those configurable parameters.

APN configuration controls all aspects of a session at the P-GW. Different policies imply different APNs. However, after basic APN selection, internal reselection can occur based on the following parameters:

  • Service name

  • Subscriber type

  • MCC-MNC of IMSI

  • Domain name part of username (user@domain)

  • S-GW Address

A call received on a particular APN can be redirected to another APN through a Virtual APN, based on a given criteria.

An APN received in the Create Session Request is called Gn APN, and the APN selected as part of a Virtual APN selection is called Gi APN.

Currently, the GGSN, P-GW, SAEGW non-CUPS products support Virtual APN selection that is based on the following modes:

  • Local Configuration based

  • Gx based

  • RADIUS based

  • Location based (for GGSN calls)

The P-GW/SAEGW deployed in CUPS mode also supports similar functionality to use the feature in network deployments.

How It Works

The Virtual APN feature is supported as a forward compatible to CUPS architecture-based P-GW/SAEGW nodes. Since the feature is being supported incrementally, following methods can be used to select Virtual APN for CUPS-based gateway nodes:

  • Local Configuration based

  • Gx based

  • Location based (for GGSN calls)

Call Flow

The following call flow describes about the various steps for the VAPN Selection.

Figure 1. VAPN Selection

Following steps are performed in the event of the new calls:

Table 1. VAPN Selection call Flow

Steps

Description

1.

Extract roaming-mode, bearer-access, serv-gw-plmnid, pdp-type, along with all other required criteria from new create session request (or Create PDP Context Request).

2.

Extract the service name which is handling this call.

3.

Extract peer address which is sending the call.

4.

Pass all the parameters to the virtual APN selection code/algorithm.

5.

It’s expected that either select some virtual APN or continue with GnAPN.

Limitations

Following are the known limitations and restrictions of this feature:

  • If the same option is provided multiple times in the same rule, then later option value is considered for selection.

  • New configuration with multiple options for virtual APN selection cannot be applied to older StarOS builds without this feature support. Therefore, you must keep separate copy of the older configuration (without multiple options selected) for older builds.

  • Modify operation on the virtual APN rule is not supported. User must delete the existing rule and add new rule to achieve modify operation.

  • A maximum of 2048 virtual APN rules can be added across all APNs.

Configuring Virtual APN in CUPS


Important


The CLI commands available for non-CUPS Virtual APN feature is applicable in CUPS environment.

Following are sample configuration for:

  1. Control Plane node:

    configure 
       context context_name 
          apn apn_name 
             pdp-type ip_address 
             bearer-control-mode mixed 
             selection-mode sent-by-ms 
             ims-auth-service service_name 
                exit 
             ip access-group acl_group_name in 
             ip access-group acl_group_name out 
             authentication pap preference chap preference allow-noauth 
             ip context-name context_name 
             virtual-apn preference preference apn apn_name 
             bearer-access-service  service_name 
             cc-profile  cc_profile_index 
             [ pdp-type { ipv4 | ipv6 | ipv4v6 } ] 
             [ roaming-mode { home | roaming | visiting } ] 
             [ serv-gw-plmnid mccmcc_number mnc mnc_number ] 
             end 
    
    

    Note


    bearer-access-service service_name : Specifies the Bearer Access Service (GGSN/P-GW/Other) name. This service name is unique across the context. service_name must be an alphanumeric string of 1 through 63 characters.

    cc-profile cc_profile_index : Specifies the charging characteristics (CC)-profile index. cc_profile_index must be an integer from 1 to 15.

    [ pdp-type { ipv4 | ipv6 | ipv4v6 } ] : Configures pdp-type rule. The available options include:

    • ipv4 : Configures VAPN Rule for IPv4.

    • ipv4v6 : Configures VAPN Rule for ipv4v6.

    • ipv6 : Configures VAPN Rule for IPv6.

    [ roaming-mode { home | roaming | visiting } ] : Supports separate PDP context or PDN connection processing for roaming, visiting, and home subscribers.

    serv-gw-plmnid : Specifies the Serving Gateway PLMN ID.


    
    configure 
       context context_name 
          apn apn_name 
             pdp-type ipv4 ipv6 
             bearer-control-mode mixed 
             selection-mode sent-by-ms 
             ims-auth-service service_name 
                exit 
             ip access-group acl_group_name in 
             ip access-group acl_group_name out 
             authentication pap preference chap preference allow-noauth 
             ip context-name context_name 
             end 
    • For Gx-based Virtual APN selection:
      configure 
         context context_name 
            ims-auth-service service_name 
               policy-control 
               diameter encode-supported-features virtual-apn 
               end 
    • For Location-based Virtual APN Selection for GGSN Calls:
      configure 
         context context_name 
            apn apn_name 
               virtual-apn preference priority apn vapn_name routing-area-code-range from start_value to end_value 
               end 
  2. User Plane node:

    configure 
       context context_name 
          apn apn_name 
             ip context-name context_name 
             end 
    
    configure 
       context context_name 
          apn apn_name 
             ip context-name context_name 
             end