You are on page 1of 7

Pathways towards Network-as-a-Service: the CAMARA project

(Invited Paper)
Jose Ordonez-Lucena Felix Dsouza
Telefonica I+D, CTIO Unit Deustche Telekom AG, S&TI Unit
Madrid, Spain Bonn, Germany
joseantonio.ordonezlucena@telefonica.com felix.dsouza@telekom.de
ABSTRACT (APIs). These APIs provide the operator with controllability and
Network as a Service (NaaS) allows operators to expose network auditability means when exposing capabilities to applications from
capabilities to 3rd parties in a programmatic manner (through APIs), 3rd parties, typically B2B and B2B2C customers such as hyper-
offering them consumer-like experience with choice, scalability, scalers, developers and industry specific enterprise customers (i.e.,
visibility and control. After several years in scope of research, NaaS the verticals). Controllability means that the provider can regulate
is now gaining momentum in industry. Proof of this is that the the particular set of resources each application is allowed to ac-
Linux Foundation and the GSMA have together unveiled a new cess and under which conditions, leveraging Role Based Access
open source project called CAMARA, which has the mission to cre- Control (RBAC). Auditability means that every interaction between
ate an open, global and accessible portfolio of APIs for developers operator and 3rd party systems needs to be logged with accurate
and customers, so that they can access operator capabilities and timestamps (for traceability) and support non-repudiation (for SLA
consume them as per their service needs. This exposure allows for verification).
service-tailored network programmability and frictionless network- NaaS paves the way for transforming telco networks into pro-
application integration, strengthening ties between operators and grammable service platforms, enabling the integration of the net-
3rd parties for service co-creation. In this article, we present the work with 3rd party applications, with direct and open interactions
"Quality on Demand API", the first NaaS API published and vali- between them. This is a win-win situation for the two stakeholders
dated by CAMARA. The implementation and validation of this API involved. For operators, this represents a business opportunity to
is showcased in a relevant business case for operators, based on generate new revenue streams, and one of the ways to monetize in-
connecting end-users with a 3rd party video streaming server using vestment made in fiber, edge computing and 5G over the past years
a 5G stand-alone network. (CAPEX amortization). For 3rd parties, it allows them to flee from
traditional over-the-top, best-effort service delivery approaches,
CCS CONCEPTS tapping now into offered capabilities to provide enhanced user
experiences and contribute to digital ecosystem with new services.
• Networks → Programming interfaces.
To ensure wide market adoption of NaaS (and empower the
ecosystem around it), it is essential to push the development and
KEYWORDS
industrialization of APIs featuring these tenets:
Network as a Service, capability exposure, network-application
integration, Quality on Demand API, CAMARA, 5G • Open. NaaS APIs need to be designed, developed and tested
ACM Reference Format: in short cycles, following transparent processes, as occurs
Jose Ordonez-Lucena and Felix Dsouza. 2022. Pathways towards Network- today in top-tier developer communities. The recommenda-
as-a-Service: the CAMARA project (Invited Paper). In ACM SIGCOMM tion is to move from the waterfall approaches existing in
2022 Workshop on Network-Application Integration (NAI ’22), August 22, traditional telco standards (e.g. 3GPP or ETSI) towards more
2022, Amsterdam, Netherlands. ACM, New York, NY, USA, 7 pages. https: agile, "code-first" approaches, eventually opening the source
//doi.org/10.1145/3538401.3546825 code so that industry community can adopt it, becoming a
de-facto standard solution.
1 INTRODUCTION • Global reach. The adoption of NaaS APIs by network opera-
Network-as-a-Service (NaaS) represents a paradigm shift whereby tors provide 3rd parties with uniform and consistent service
a network operator makes network capabilities available for ex- experience in a global footprint, facilitating the effortless
ternal consumption, including monitoring and configuration re- portability of their applications (and therefore easy service
lated capabilities, through Application Programming Interfaces replicability) across different telco platforms. The fact that
operators expose APIs with the same capabilities and com-
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed mon data structure is key to onboarding 3rd parties, allowing
for profit or commercial advantage and that copies bear this notice and the full citation for an attractive economy of scale for them.
on the first page. Copyrights for components of this work owned by others than ACM • User-friendly. Potential consumers of NaaS APIs will be
must be honored. Abstracting with credit is permitted. To copy otherwise, or republish,
to post on servers or to redistribute to lists, requires prior specific permission and/or a 3rd parties with no telco background. Therefore, it is needed
fee. Request permissions from permissions@acm.org. to design these APIs such that i) they hide telco complexity,
NAI ’22, August 22, 2022, Amsterdam, Netherlands avoiding low-level network configuration parameters; and ii)
© 2022 Association for Computing Machinery.
ACM ISBN 978-1-4503-9395-9/22/08. . . $15.00 their semantics focus on the business and operational needs
https://doi.org/10.1145/3538401.3546825 of 3rd parties.
NAI ’22, August 22, 2022, Amsterdam, Netherlands J. Ordonez-Lucena and F. Dsouza

In pursuit of this goal, industry has launched a new initiative: • Transformation function. It keeps the information on
CAMARA. Officially announced this year at the Mobile World Con- correspondences between service APIs and network APIs,
gress, CAMARA is an open source community scoping NaaS APIs. and executes workflows to enforce these mappings. This
The objective of this paper is to let the reader know how CAMARA component can be deployed as a microservice provisioned
is contributing to NaaS success, and present the results achieved so with a worflow engine.
far. The structure of this paper is as follows. Section 2 presents the • API Gateway. It provides all the capabilities that are needed
objectives and ways of working in CAMARA, all framed within a to policy the interaction between the operator and the exter-
reference system architecture. Implementation details of this archi- nal applications, in relation to service API invocation. These
tecture are captured in Section 3. Section 4 details the first NaaS capabilities include service API publication & discovery, ac-
API available in CAMARA, which is "Quality on Demand (QoD)" cess control (authentication & authorization of applications),
API, validating its usage in a production-ready video streaming use auditing, accounting and logging.
case. Finally, Section 5 provides concluding remarks. As seen, the focus of CAMARA work is on service APIs, and
how they can build atop existing network APIs with the help of
2 CAMARA PROJECT transformation function and API Gateway.
CAMARA is a joint initiative between the GSMA (reference telco
association) and the Linux Foundation (reference cloud association). 3 REFERENCE SOLUTION
Its mission is to foster the definition, development and validation of As seen in Figure 1, the architectural components building up the
APIs enabling NaaS, promoting their usage and de-facto adoption CAMARA solution suite are two: the transformation function and
by using an Apache 2.0 license. In this endeavour, CAMARA counts the API Gateway. The first component can be implemented using
on an open and ever-growing community which gathers frontline a workflow engine, while for the API Gateway the only mandate
industry stakeholders, including vendors, tier-1 operators, hyper- is that it needs to support OAuth2.0 with client credentials grant
scalers and solution integrators, among others. The up-to-date list [5]. There exists a wide variety of API Gateway solutions, both
of companies participating in CAMARA can be found in [6]. open-source and commercial, which are OAuth2.0 compliant. How-
ever, for the sake of consistency when offering service APIs, it is
External application desirable to agree on a common, standards-based solution for this
(CAMARA API invoker)
gateway. In this regard, CAMARA proposes to use 3GPP Common
Service APIs NBI CAMARA API Framework (CAPIF) [1]. The reason for this proposal is twofold.
(CAMARA APIs) solution suite On the one hand, CAPIF is a normative solution with wide accep-
API GW Exposure Gateway tance at industry. The other main advantage of CAPIF is that though
Transformation Function Transformation Function specified by the 3GPP, it is not tied to 3GPP APIs; indeed, CAPIF
can be used as an API Gateway for any API, regardless of their
Network APIs SBI
(3GPP, ETSI, E/WBI semantics. Therefore, it is an ideal candidate to publish CAMARA
TMF,.. APIs)
NW Cloud OAM NW Cloud OAM APIs, and policy their exposure to the 3rd party applications.
Telco X Telco Y

NOTE: E/WBI stands for East/Westbound Interface, and calls for federation capabilities across telco External application
operators. This is transparent to 3rd parties, and therefore out of scope of CAMARA project CAPIF-1e (CAMARA API invoker) CAPIF-2e

Service
Service
Service
Figure 1: CAMARA architectural framework. CAPIF APIs
APIs
APIs
APIs
API discovery API publishing CAPIF-3
API Exposure Function (AEF)

solution suite
CAPIF-4
Figure 1 depicts the reference architectural framework of CA-

CAMARA
API Publishing Function (APF)
CAPIF-5 API Management Function
MARA. As seen, it includes the following components: CAPIF Core Function (CCF) (AMF)

• Network APIs. These are the APIs which are implemented API provider domain functions
Service APIs
in telco assets, including network resources (core, access,
API registry Access Control Transformation Function
transport functions), cloud resources (virtualized and cloud-
native workload hosting infrastructures) and IT resources Network APIs
API Gateway == {CCF + API SA2, NFV, SA5,

(OSS and orchestration tools). These APIs are typically de- provider domain functions}
IETF..
APIs APIs
CNCF,…
APIs
TMF..

fined in standard bodies or industry fora, and quiet tied to NW Cloud


Telco X functions
OAM

the underlying technology. Examples of these APIs include


the ones defined by 3GPP, ETSI or TMForum, among others.
Figure 2: CAPIF as reference API GW for CAMARA
• Service APIs. These are the NaaS APIs, the ones to be made
available for consumption to 3rd party applications, a.k.a. ex-
ternal applications. They are designed according to the princi- CAPIF framework consists of four main modules: (i) CAPIF
ples listed in Section 1: open (API source code is Apache 2.0), Core Function (CCF), responsible for applying access control to
global reach (they are offered by different telco operators) the external applications, while keeping track of their service API
and user-friendly (service APIs result from the abstraction invocations; ii) API Exposure Function (AEF), which provides
of network API semantics, hiding telco complexity). the endpoints of service APIs, authorizes the API invocations, and
Pathways towards Network-as-a-Service: the CAMARA project (Invited Paper) NAI ’22, August 22, 2022, Amsterdam, Netherlands

Figure 3: Generic workflow for Service API invocation.

records them in log files; iii) API Publishing Function (APF), re- 4 QUALITY ON DEMAND API
sponsible for the publication of service APIs to CCF, to make them CAMARA has an ever-evolving backlog with different service APIs.
discoverable to the applications; and iv) API Management Func- These APIs are prioritized based on i) technology maturity / stan-
tion (AMF), auditing service API invocation logs and managing dards readiness, ii) availability of commercial products, and iii) the
the on-/off-boarding of applications into operator’s system. demand from 3rd parties. According to these criteria, the first API
Figure 2 illustrates the use of CAPIF modules in CAMARA so- developed in CAMARA has been "Quality on Demand (QoD) API".
lution suite. If we map these modules to API Gateway internals, This API provides the invoker with the ability to set certain QoS
one can notice that CCF plays the role of OAuth2.0 Authorization parameters for a session between an UE and an application server
Server (authenticates the API invoker and grants access token) (AS), receiving configuration from the network on whether they
while the AEF behaves as resource server (validates access token can be granted or not. The QoS parameters that the API invoker
and authorizes API invocation). can configure/modify for the mobile connection are two:
Figure 3 shows the workflow sequence that govern NaaS in CA-
• Bandwidth, with the ability of the consumer to choose among
MARA. As seen, upon receiving the OAuth2.0 access token from the
different flavors: large ("throughput_L"), medium ("throug
CCF, the application is allowed to invoke service APIs. Each service
hput_M") and small ("throughput_S").
API invocation is captured by the AEF and forwarded to the Trans-
• Latency, with the ability of the consumer to activate sta-
formation Function, which maps it one or more network API calls.
ble latency behavior for the session, to minimize jitter and
After receiving the responses from the function(s) acting as net-
therefore aspire having quasi-deterministic dataflows.
work API producer(s), the Transformation Function de-map them
into the service API response, which is sent back to the application. In this section, we will show the usage of QoD API on a video
streaming use case . It is worth noting that the first version of the
QoD API only allows modifying either bandwidth or latency, but
not both simultaneously. For further details, see Swagger code [4].
NAI ’22, August 22, 2022, Amsterdam, Netherlands J. Ordonez-Lucena and F. Dsouza

BSS
QoD API
OSS (3GPP mgmt. system + NFV stack)
CAMARA solution (Service API)
Streaming platform
N2
AMF UDM AUSF NEF suite
(API GW + Transformation
application
CU-UP CU-CP

N1 AsSessionWithQoS API (CAMARA API invoker)


N4 Function)
SMF NSSF PCF (3GPP network API)
RU+DU

UEs

UE<-> AS traffic flows


Streaming
UPF
server (AS)
TN TN TN
@Cell site @Edge node @Regional DC
@Internet

Tag Flow ID 5QI ARP Resource Type Maximum Flow Bit Rate (MFBR)

best-effort 2 9 90 Non-GBR n/a


THROUGHPUT_L 3 6 80 GBR 100 Mbps
THROUGHPUT_M 3 6 80 GBR 50 Mbps
THROUGHPUT_S 3 6 80 GBR 20 Mbps
stable-latency 4 7 70 GBR 2 Mbps

Figure 4: Application scenario for QoD API usage.

4.1 Scenario description Maximum Flow Bit Rate (MFBR). For further details on the usage of
Figure 4 pictures the application scenario exemplified for QoD API these parameters, and their impact on gNB and 5GC, see [2]. Based
usage. In this scenario, the 3rd party is a company that provides on this rationale, it is clear that associating the UE↔AS session to a
video streaming service to their subscribers. To provision and op- specific tag means setting the 3GPP parameters with corresponding
erate this service, the 3rd party has a streaming platform with values, so 5G network can be configured accordingly. This configu-
different built-in applications. ration can be injected via the Network Exposure Function (NEF),
At the infrastructure level, one can notice that the service deliv- by passing these parameter values through the AsSessionWithQoS
ery consists is based on connecting the individual subscribers (i.e., API. The API structure, including supported REST operations and
UEs) with the 3rd party owned streaming server (i.e., AS) through input attributes, is pictured in the top side of Figure 4.
a 5G standa-alone (5GSA) network. This network consists of i) one The 3rd party wants to ensure that their subscribers always
gNB, which providing mass-market 5GNR coverage to UEs; and ii) have optimal user experience, regardless of network conditions. To
a cloud-native 5G Core (5GC), built-in with 3GPP Rel-15 features. that end, the streaming platform has an application called "traffic
The 5GC solution follows a service-based architecture, with the management". In congestion scenarios, this application is provi-
definition of a disaggregated and modular, containerized control sioned with the ability to modify the tag associated to individual
plane which is fully decoupled from the User Plane Function (UPF). UE↔AS session, in order to avoid these UEs to suffer from perfor-
The operator takes advantage of this control user plane separation mance degradation. The question that arises is now as follows: how
(CUPS) principle to deploy UPF closer to UEs, in an edge node. this streaming platform application can modify the QoS for a given
The traffic flows steered on a UE↔AS session can be set to UE↔AS session, on demand?.According to the above description,
one of these tags: "best-effort" (default QoS), "throughput_L", the application could directly invoke AsSessionWithQoS API, thus
"throughput_M" or "throughput_S" (enhanced QoS, by increas- becoming NEF consumer. However, this option is not realistic, as it
ing throughput), and "stable-latency" (enhanced QoS, by mini- would require the application to pass in the API call a number of
mizing jitter). The table depicted in the figure provides a full char- 3GPP network parameters; in fact, it is difficult to assume that the
acterization of these tags, associating each with a combination of application has the know-how to specify these low-level configu-
3GPP network parameters, including 5G Quality Indicator (5QI), Al- ration parameters. To bridge this gap, CAMARA proposes a much
location and Retention Priority (ARP), Resource Type (either Guar- more user-friendly API, which is the QoD API. By looking at this API
anteed Bit Rate [GBR] or Non-Guaranteed Bit Rate [Non-GBR]) and structure, one can notice that the application only needs to specify
Pathways towards Network-as-a-Service: the CAMARA project (Invited Paper) NAI ’22, August 22, 2022, Amsterdam, Netherlands

Figure 5: QoD API activation: sequence diagram. Green and yellow color represent operator and 3rd party administrative
domains, respectively.

the sockets of endpoints (the UE and the AS), the transport protocol to the data network through a Rel-15 5GSA network. The system
used for in-session traffic (TCP or UDP), the tag describing session parameter settings are described below:
performance ("best-effort", "throughput_L", "throughput_M",
"throughput_S" or "stable-latency") and an URL (for the ap- • Cell capacity: {BW=90 MHz; DL/UL=800/90 Mbps}.
plication to receive callbacks upon subscribed notifications). • UE1 and UE2 act as traffic generators, assigned with {5QI=9;
Based on the above rationale, the streaming platform application ARP=88; Resource Type=GBR}. These UEs will allow stress-
becomes the invoker of QoD API. Upon receiving the API call from ing the system, producing data volumes that represent the
the application, CAMARA solution suite transforms it into the 95-98% of cell capacity.
corresponding AsSessionWithQoS API call. This QoD-to-NEF API • UE3 and UE4 represent users who access data network tom
transformation means translating the tag into the corresponding consume Internet services. They are not streaming service
3GPP network parameter values, according to the mapping rules subscribers, and are assigned best-effort tag by default.
captured in the table from Figure 4. • UE5 and UE6 represent users who access data network to
consume cloud gaming service. They are streaming service
subscribers, and are assigned best-effort tag by default.
4.2 Testing campaign
To validate the QoD API usage, we configure the network depicted The aim of this test scenario is to demonstrate the QoD API
in Figure 4 as follows: single-cell gNB serving 6 UEs, each connected usage on a particular congestion scenario, by setting the tag for
NAI ’22, August 22, 2022, Amsterdam, Netherlands J. Ordonez-Lucena and F. Dsouza

UE5 and UE6 sessions from best-effort to THROUGHPUT_S. The before QoD API activation -> 5QI = 9 (priority level 90)
user story for this test scenario is captured in Table 1.

Table 1: Test scenario description.

Step Description
UE5 and UE6 start sessions towards the AS, each profiled with best-effort tag.
1
Status: No service degradation.
UE3 and UE4 are introduced, setting up sessions with best-effort tags.
2 Status: UE5 and UE6 still not affected (resource shared fairly as all users
have the same priority)
UE1 and UE2 are introduced.
3 Status: UE3-UE6 are severely affected, as UE1 and UE2 consume the whole
cell capacity (congestion situation).
The streaming platform application activates QoD API for UE5 and UE6,
setting their individual session tags to THROUGHPUT_S.
4
Status: UE5 and UE6 get the required capacity and service guaranteed. UE3
and UE4 continue to suffer, because of congestion.

4.3 Evaluation results


The invocation of QoD API over UE5 and UE6 triggers a set of
procedures and request-response message in the operator’s system.
For illustrative purposes, Figure 5 depicts a simplified version of After QoD API activation: 5QI = 6 (priority level 80)
these workflows, considering QoD API is activated for a given UE.
First, the external application shall get the sockets of the stream-
ing server (AS) and the UE (steps 1-2). With this information, the
application can then invoke QoD API (step 3), sending a "POST
/session". This request includes a body request with parameters
specified with {key-value} pairs, which are filled out as shown in
the bottom-right corner of Figure 4.
Upon capturing the QoD API call, CAMARA solution suite pro-
ceeds with the steps that were shown in Figure 4, consisting in
application authentication and access token validation, followed
by QoD API↔AsSessionWithQoS API mapping. The result of this
mapping is sent to the NEF (step 4), which authenticates the CA-
MARA’s Transformation Function as trusted NEF consumer.
With the information received in the AsSessionWithQoS API
call, the NEF requests the PCF to update the UE↔AS session policies
(steps 5-6), and forwards them to the SMF for their enforcement
(steps 8-9). The SMF first notifies the UPF about the new user plane
configuration parameter values (e.g. 5QI=9; MFBR=20), sending
them over the N4 interface, using PFCP protocol [3]. Next, the SMF
sends to AMF updated values for QoS Profile and QoS Rules
Figure 6: UPF traces, before and after API activation.
constructions (steps 12–14). These two constructions allows AMF
to update RAN and UE configuration files accordingly (steps 15–
18), replacing old 5QI/ARP/Resource Type/MFBR values with the
new ones: 5QI=9; ARP=80; Resource Type=GBR; MFBR=20. For
further details on how this update is done, see [2] [7] [8]. After one goals, all framed within a reference system architecture responsible
further interaction between the UE and the RAN (steps 19-20), the for abstracting (low-level) network APIs into (user-friendly) ser-
UE↔AS session session is successfully updated. Notifications are vice APIs. We have also presented the architectural internals, and
sent back until reaching the application, who receives a 200 OK provide reference implementations for them. Finally, we have pre-
(step 24) as a response to the original request (step 3). sented the first CAMARA API, i.e. QoD API. In particular, we have
To showcase the actual modification of the session, UPF traces detailed API code and showcased its usage in a production-ready
have been captured with Wireshark, before and after the API invo- scenario, where UEs are connected to a 3rd party streaming server
cation. As pictured in Figure 6, the focus is on 5QI value change. through a 5GSA network.

5 CONCLUSIONS ACKNOWLEDGMENTS
In this paper, we have presented the CAMARA as the top-tier in- This work is partially supported by the H2020 European Project
dustry initiative regarding NaaS. We have surveyed the CAMARA Hexa-X (grant agreement No. 101015956).
Pathways towards Network-as-a-Service: the CAMARA project (Invited Paper) NAI ’22, August 22, 2022, Amsterdam, Netherlands

REFERENCES blob/main/Commonalities/documentation/Working/CAMARA-AuthN-AuthZ-
[1] 3GPP TS 23.222. 2022. Common API Framework for 3GPP Northbound APIs, Concept.md
v17.6.0 (Release 17). [6] CAMARA. 2022. Consortium members. Retrieved June 30, 2022 from https:
[2] 3GPP TS 23.502. 2022. 5G; Procedures for the 5G System, v17.5.0 (Release 17). //github.com/camaraproject/Governance/blob/main/PARTICIPANTS.MD
[3] 3GPP TS 29.244. 2022. LTE; 5G; Interface between the Control Plane and the User [7] D. Cheung. 2021. 5G Core Part 4 —- Dedicated QoS Flow and PDU Session Modifi-
Plane nodes, v17.5.0 (Release 17). cation. Retrieved June 30, 2022 from https://derekcheung.medium.com/5g-core-
[4] CAMARA. 2021. QoD API Swagger. Retrieved June 30, 2022 from https://github. part-4-dedicated-qos-flow-and-pdu-session-modification-49c3db44417f
com/camaraproject/QualityOnDemand/tree/main/code/API_definitions [8] 5G Fundamental. 2021. 5G NR: Session Rules. Retrieved June 30, 2022 from
[5] CAMARA. 2022. Authentication and Authorization Concept for Service APIs. https://www.5gfundamental.com/2021/03/5g-nr-session-rules.html
Retrieved June 30, 2022 from https://github.com/camaraproject/WorkingGroups/

You might also like