Author(s): prabinak@wavelabs.ai
Last updated: 01/02/2022
Overview & Purpose
Educational institutes and enterprises are looking for Application (Video) services. These application services need support on magma core. TIP OCN requirement REQ-OCN-19 asks to support Application services. For non-MNO network operators, magma opens the market to deploy on campus applications such as OTT, industrial automation, medical imaging etc. To support these services magma needs to implement Application function (AF). This network function acts as an application server to provide support for targeted services. Trusted applications connect via N5 and untrusted 3rd party applications are connected via NEF.
Operators that expressed interest to host application services are looking to host trusted AF. This proposal intends to support trusted AF on magma.
Intent of the proposal is to support the following functionality;
• Applications Traffic Routing
• Expose hosted services to End users
• Interaction with policydb to transfer dynamic QoS-related service information
AF in Magma ecosystem
AF interacts with FeG for Policy Control, Application Traffic Routing, exposing services to End users. AF exposes the Application layer to interact with 5G Network resources (Internet of Things (IoT), device-to-device (D2D) communications, vehicular networking, mobile edge computing (MEC), and cloud computing).
Application-level session information is exchanged between AF and Magma AGW which includes information like Bandwidth requirements for QoS, Identifying Application service providers & Applications, Traffic routing based on Applications access, Identifying Application traffic for Charging & Policy control.
AF supports the Traffic influencing subscription and Packet Flow Description Management functionality to help steer the Edge-specific traffic in UPF towards the applications deployed on the edge node.
Figure 01: AF interaction ecosystem
Deployment View
AF will be hosted in service provider / Enterprise data centre. Orc8r and FeG will be hosted on premises or in public / private cloud. This proposal will limit to CLI as the user interface.
Figure 02: AF Deployment view
proposal
Features of AF
Configuration interface to assign service description, service parameters, identifiers of UE.
AF is to lookup the policy using the tuple (UE IP address, DNN, SUPI, S-NNSAI, NSI ID).
AF session establishment through application-level signalling protocol.
AF session signalling to control the AF session.
The traffic flow rules to identify the application traffic, ie. Packet Flow Descriptor (PFD)
Implement North bound interface to accept application service request.
Traffic steering NB APIs
• API Endpoint: /af/v1/subscriptions
• Supported methods: POST, PUT, PATCH, GET, DELETE
• Request/Response body: 5G AF North Bound APIs schema using REST-based APIs
AF Session Establishment:
This procedure is triggered when AF user requests to create an AF application session context for the requested service.
Figure 03: AF Session Establishment
AF Session Modification:
This procedure is triggered when AF user requests to update an AF application session context for the requested service.
Figure 04: AF Session Modification
AF Session Termination:
This procedure is triggered when AF user requests to delete the AF application session context.
Figure 05: AF Session Termination
Implement the AF interface exchange using HTTP
• PolicyAuthorization_Create service: This service operation by sending the HTTP POST request with "{apiRoot}/npcfpolicyauthorization/v1/app-sessions" as the resource URI to the FeG
• Handle the PolicyAuthorization_Create response
• Handle PolicyAuthorization_Subscribe service: This operation by sending the HTTP PUT request with "{apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId}/events-subscription" as the resource URI to subscribe.
• Handle PolicyAuthorization_Subscribe response
Implement N25 Interface towards FeG and Ocr8r coming from AF:
• Implement the HTTP/2 interface for N25
• Handle the decode and encode messages on FeG and Ocr8r.
Implement the Grpc services and methods for subscriberdb.
UPF selection for traffic via N6 interface based on the APN.
Application detection and control – UPF needs to match traffic to an application ID.
As existing header enrichment support in Magma 4G for service header (UE HTTP traffic), This feature would allow operators to enable header enrichment for UE HTTP traffic. This way AGW could add subscriber information to HTTP requests.
The Operator can set target URLs in policy rules via AF. This would enable header enrichment for HTTP requests towards those URLs.
Re-use the existing functionality of service header and configure via AF.
Support plain text HTTP headers for IMSI and MSISDSN. This would be configurable.
Operator needs to set policy rules in AF with target URLs and destination IP addresses. The destination IP address would allow AGW to create an efficient L3 filter for HTTP proxy traffic.
In short header enrichment can be enabled for specific UE traffic to specific destination IP address and to HTTP URL.
Delivery Approach
Feature will be delivered in 4 milestones. Each milestone will have the following 5 process gates
• Design
• Development & Unit Testing
• code review
• Integration testing
• resolve integration issues and regression issues
4th milestone will cover system test as well.
Milestone1 - Support for AF functionality.
Tasks to be handled on new Network Function, AF.
• Implement configuration framework
• Implement Parsing module to encode and decode the North bound interface messages.
• Implement AF Session Establishment, AF Session Modification and AF Session Termination procedures.
• Implement Parser module to encode and decode the N5 interface messages
Milestone2 - Support for AF functionality and handle message flow in FeG and Ocr8r
Tasks to be handled on new NF (AF):
• Implement the AF session and AF session signalling to control the AF session.
• Write stub to verify
Tasks to be handled on FeG:
• Implement local Data structure to Store the Service Information received from AF.
• Implement the Handler to receive request from AF and send response.
• Implement the logic for selection of dynamic policies and install policies according to service consumer provided information.
• Unit testing framework for AF.
• Integration testing.
Tasks to be handled on Ocr8r and Subscriberdb:
• Implement decode and encode the messages from AF on FegRelay
• Implement the Grpc services and methods for subscriberdb
Milestone3- UPF changes for service header handle and QoS handle
Tasks to be handled on UPF
• Implement logic for UPF selection for traffic via n6 interface based on the APN.
• Implement Application detection and control logic based on application ID.
• Assuming existing header enrichment support in Magma 4G for service header (UE HTTP traffic) will be sufficient, no additional effort will be required to support service headers.
• Write stub to verify the functionality.
Milestone4
• UT for AF and SubscriberDB
• Integration tests the feature
• System test
Test Plan
Following is the set of tests or scenarios to verify the Video streaming usecase
Integration Testing using application Stub.
• Execute the PDU Session establishment
• Select the Policy based on provided Service Information.
• Video Traffic Testing on same Policy.
• Execute the PDU Session Termination.
• Execute the PDU Session Modification with update dynamic Policy.
MS | FUNCTIONAL AREA | DELIVERABLES
-- | -- | --
M1.0 | AF | Implement the new Network Function
-- | AF | Implement the Interface towards FeG and Northbound Interface
M2.0 | AF | Write the stub for functional testing
-- | FeG and Orc8r | Decode and encode of messages from AF.
-- | Subscriberdb | Implement the GRPC services for get SessionManagementPolicyData and subscription data.
M3.0 | UPF | Application detection and traffic management with application id.
-- | UPF | Simulating and testing with UPF
M4.0 | UT | UT for AF and SubscriberDB
-- | Integration testing | Integration of the feature and testing the functionality
Author(s): prabinak@wavelabs.ai Last updated: 01/02/2022
Overview & Purpose
Educational institutes and enterprises are looking for Application (Video) services. These application services need support on magma core. TIP OCN requirement REQ-OCN-19 asks to support Application services. For non-MNO network operators, magma opens the market to deploy on campus applications such as OTT, industrial automation, medical imaging etc. To support these services magma needs to implement Application function (AF). This network function acts as an application server to provide support for targeted services. Trusted applications connect via N5 and untrusted 3rd party applications are connected via NEF. Operators that expressed interest to host application services are looking to host trusted AF. This proposal intends to support trusted AF on magma. Intent of the proposal is to support the following functionality; • Applications Traffic Routing • Expose hosted services to End users • Interaction with policydb to transfer dynamic QoS-related service information
AF in Magma ecosystem
AF interacts with FeG for Policy Control, Application Traffic Routing, exposing services to End users. AF exposes the Application layer to interact with 5G Network resources (Internet of Things (IoT), device-to-device (D2D) communications, vehicular networking, mobile edge computing (MEC), and cloud computing). Application-level session information is exchanged between AF and Magma AGW which includes information like Bandwidth requirements for QoS, Identifying Application service providers & Applications, Traffic routing based on Applications access, Identifying Application traffic for Charging & Policy control. AF supports the Traffic influencing subscription and Packet Flow Description Management functionality to help steer the Edge-specific traffic in UPF towards the applications deployed on the edge node.
Figure 01: AF interaction ecosystem
Deployment View
AF will be hosted in service provider / Enterprise data centre. Orc8r and FeG will be hosted on premises or in public / private cloud. This proposal will limit to CLI as the user interface.
Figure 02: AF Deployment view
proposal
Features of AF
Configuration interface to assign service description, service parameters, identifiers of UE.
AF Session Establishment: This procedure is triggered when AF user requests to create an AF application session context for the requested service.
Figure 03: AF Session Establishment AF Session Modification: This procedure is triggered when AF user requests to update an AF application session context for the requested service.
Figure 04: AF Session Modification AF Session Termination: This procedure is triggered when AF user requests to delete the AF application session context.
Figure 05: AF Session Termination Implement the AF interface exchange using HTTP • PolicyAuthorization_Create service: This service operation by sending the HTTP POST request with "{apiRoot}/npcfpolicyauthorization/v1/app-sessions" as the resource URI to the FeG • Handle the PolicyAuthorization_Create response • Handle PolicyAuthorization_Subscribe service: This operation by sending the HTTP PUT request with "{apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId}/events-subscription" as the resource URI to subscribe. • Handle PolicyAuthorization_Subscribe response Implement N25 Interface towards FeG and Ocr8r coming from AF: • Implement the HTTP/2 interface for N25 • Handle the decode and encode messages on FeG and Ocr8r. Implement the Grpc services and methods for subscriberdb. UPF selection for traffic via N6 interface based on the APN. Application detection and control – UPF needs to match traffic to an application ID. As existing header enrichment support in Magma 4G for service header (UE HTTP traffic), This feature would allow operators to enable header enrichment for UE HTTP traffic. This way AGW could add subscriber information to HTTP requests.
The Operator can set target URLs in policy rules via AF. This would enable header enrichment for HTTP requests towards those URLs. Re-use the existing functionality of service header and configure via AF. Support plain text HTTP headers for IMSI and MSISDSN. This would be configurable. Operator needs to set policy rules in AF with target URLs and destination IP addresses. The destination IP address would allow AGW to create an efficient L3 filter for HTTP proxy traffic. In short header enrichment can be enabled for specific UE traffic to specific destination IP address and to HTTP URL.
Delivery Approach
Feature will be delivered in 4 milestones. Each milestone will have the following 5 process gates • Design • Development & Unit Testing • code review • Integration testing • resolve integration issues and regression issues 4th milestone will cover system test as well.
Milestone1 - Support for AF functionality.
Tasks to be handled on new Network Function, AF. • Implement configuration framework • Implement Parsing module to encode and decode the North bound interface messages. • Implement AF Session Establishment, AF Session Modification and AF Session Termination procedures. • Implement Parser module to encode and decode the N5 interface messages
Milestone2 - Support for AF functionality and handle message flow in FeG and Ocr8r
Tasks to be handled on new NF (AF): • Implement the AF session and AF session signalling to control the AF session. • Write stub to verify Tasks to be handled on FeG: • Implement local Data structure to Store the Service Information received from AF. • Implement the Handler to receive request from AF and send response. • Implement the logic for selection of dynamic policies and install policies according to service consumer provided information. • Unit testing framework for AF. • Integration testing. Tasks to be handled on Ocr8r and Subscriberdb: • Implement decode and encode the messages from AF on FegRelay • Implement the Grpc services and methods for subscriberdb
Milestone3- UPF changes for service header handle and QoS handle
Tasks to be handled on UPF • Implement logic for UPF selection for traffic via n6 interface based on the APN. • Implement Application detection and control logic based on application ID. • Assuming existing header enrichment support in Magma 4G for service header (UE HTTP traffic) will be sufficient, no additional effort will be required to support service headers. • Write stub to verify the functionality.
Milestone4
• UT for AF and SubscriberDB • Integration tests the feature • System test
Test Plan
Following is the set of tests or scenarios to verify the Video streaming usecase
Integration Testing using application Stub.
• Execute the PDU Session establishment • Select the Policy based on provided Service Information. • Video Traffic Testing on same Policy. • Execute the PDU Session Termination. • Execute the PDU Session Modification with update dynamic Policy.
Feature Roadmap
Feature will be delivered in 4 Milestones. Each milestone duration is 45 calendar days. <html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
MS | FUNCTIONAL AREA | DELIVERABLES -- | -- | -- M1.0 | AF | Implement the new Network Function -- | AF | Implement the Interface towards FeG and Northbound Interface M2.0 | AF | Write the stub for functional testing -- | FeG and Orc8r | Decode and encode of messages from AF. -- | Subscriberdb | Implement the GRPC services for get SessionManagementPolicyData and subscription data. M3.0 | UPF | Application detection and traffic management with application id. -- | UPF | Simulating and testing with UPF M4.0 | UT | UT for AF and SubscriberDB -- | Integration testing | Integration of the feature and testing the functionality