magma / grants

0 stars 3 forks source link

Proposal: Support Application Function to provide private services to customers #18

Closed prabinakpattnaik closed 2 years ago

prabinakpattnaik commented 2 years ago

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.

image

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. image

Figure 02: AF Deployment view

proposal

Features of AF

Configuration interface to assign service description, service parameters, identifiers of UE.

  1. AF is to lookup the policy using the tuple (UE IP address, DNN, SUPI, S-NNSAI, NSI ID).
  2. AF session establishment through application-level signalling protocol.
  3. AF session signalling to control the AF session.
  4. 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. image

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. image

Figure 04: AF Session Modification AF Session Termination: This procedure is triggered when AF user requests to delete the AF application session context. image

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. image

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

Reference

  1. TS 126 501 - V16.5.0 - 5G; 5G Media Streaming (5GMS); General description and architecture (3GPP TS 26.501 version 16.5.0 Release 16) (etsi.org)
  2. TS 123 501 - V16.6.0 - 5G; System architecture for the 5G System (5GS) (3GPP TS 23.501 version 16.6.0 Release 16) (etsi.org)
  3. TS 123 502 - V15.2.0 - 5G; Procedures for the 5G System (3GPP TS 23.502 version 15.2.0 Release 15) (etsi.org)
  4. https://www.etsi.org/deliver/etsi_ts/129500_129599/129513/15.09.00_60/ts_129513v150900p.pdf
wendallkaters commented 2 years ago

Thank you for submitting this proposal. The MCF grant program is devoted to “kickstarting” sustainable, Magma-powered commercial products and businesses. The MCF Governing Board will prioritize proposals that are directly linked to deals or a sales pipeline. While the technical and feature work is clearly defined, we are unable to prioritize this proposal without clear revenue opportunities.