Encyclopedia
2026-09-02 18:24:11
How Do 5GC SBI Common Data Types Work?
Explains how 5G Core SBI common data types standardize JSON parameters across network functions, covering identifiers, network data, QoS, charging, trace, structured objects, and practical API troubleshooting.

Becke Telcom

How Do 5GC SBI Common Data Types Work?

When troubleshooting Service-Based Interfaces in a 5G Core, many engineers run into the same problem. The request body sent from an AMF to an SMF may contain familiar fields such as SUPI, DNN, S-NSSAI, TAI, PDU Session ID, and 5QI, yet determining whether the message is actually valid can still be difficult. Should a field be encoded as a string or an integer? Does it have a defined value range? Can any value be used, or must it come from a predefined enumeration? Can an object contain other nested parameters?

The answers are defined by SBI common data types. Service-Based Interfaces span network functions such as the AMF, SMF, UDM, PCF, and NRF, but many of the underlying parameters are not specific to any one NF. If every service defined these values independently, the specifications would contain unnecessary duplication, and the same subscriber identifier or QoS parameter could be represented differently across APIs. That is why analyzing SBI traffic requires more than checking HTTP methods and resource URIs. HTTP/2 defines how requests are transported, JSON defines how the data is represented, and common data types answer a more fundamental question: what format and validation rules each JSON parameter must follow.

What Problems Do Common Data Types Solve?

They can be thought of as a shared "data vocabulary" for the entire 5GC service-based API environment. A data type may appear in an AMF request and also be referenced by the SMF, UDM, or PCF. It does not belong to a single interface. Instead, it provides a standardized definition that can be reused across multiple services.

Consider an IPv4 address. Each NF should not define its own way of representing the address as a string. The same applies to PLMN information, where MCC and MNC have specific lengths and formats, and to subscriber and equipment identifiers such as SUPI, GPSI, and PEI, which follow their own encoding rules. Consistent definitions allow RESTful APIs between different NFs to exchange information reliably.

Common data types should also be distinguished from NF-specific types. Common types cover objects that appear repeatedly across interfaces, while business objects unique to a particular network function are defined in the corresponding 29-series specifications. In practice, a single SBI API often references both kinds of data types.

Their scope extends far beyond network addresses. Common definitions cover generic parameters, subscription and identity information, 5G network data, QoS, charging, Trace information, and other reusable objects. Together, they form a foundational data model for SBI message parameters.

5G Core SBI common data types shared by AMF, SMF, UDM and PCF for identifiers, network information, QoS, charging and Trace parameters
SBI common data types provide consistent data representation across 5G Core network functions, allowing identifiers, location information, QoS parameters, and charging data to be reused across multiple service interfaces.

How Are the Three Basic Data Structures Different?

From a structural perspective, SBI parameters can generally be grouped into three categories: simple data types, enumerations, and structured data types. Understanding these three categories is more useful than memorizing individual parameter names, because most fields seen in Wireshark captures, API documentation, and OpenAPI definitions fit into this model.

Simple data types are the lowest-level building blocks. They include string, integer, number, date, date-time, and boolean. In 5GC, these basic types are usually combined with additional constraints such as value ranges, encoding formats, or regular-expression patterns.

An IPv4 address, for example, is technically represented as a string, but not every arbitrary string is valid. It must follow the required IPv4 format. IPv6 addresses, IPv6 prefixes, and MAC addresses each have their own formatting requirements. Uint16, Uint32, and Uint64 define ranges for unsigned integers. A URI must follow URI formatting rules, while DateTime values must use the specified date-time format.

Specifications also frequently define types with an Rm suffix, such as Ipv4AddrRm, DateTimeRm, and Uint32Rm. These types use the same underlying format as their corresponding base types but include the OpenAPI nullable property, which allows the field to carry a null value.

Enumeration types work like multiple-choice fields: the value must be selected from a predefined set. AccessType, for example, distinguishes between 3GPP_ACCESS and NON_3GPP_ACCESS. PduSessionType can take values such as IPV4, IPV6, IPV4V6, UNSTRUCTURED, or ETHERNET. CoreNetworkType can indicate either 5GC or EPC.

The purpose of an enumeration is to remove ambiguity. A consumer cannot invent a different string that happens to mean the same thing. It must use one of the values explicitly defined by the specification. This is a common troubleshooting scenario: the field name is correct, but the enumeration value is invalid, so the API still rejects or misinterprets the request.

Structured data types combine multiple attributes into a complete object. Those attributes may themselves reference simple types, enumerations, or other structured objects, creating a hierarchical model.

ProblemDetails is a typical example. It can include fields such as type, title, status, detail, instance, cause, and invalidParams. TAI is another example, combining a PLMN ID with a TAC. GUAMI goes one level further by combining a PLMN ID with an AMF ID. At this level, SBI analysis can no longer focus on individual fields alone; the relationships between the attributes inside the object also matter.

How Are Identity and Network Parameters Built Up?

In real packet captures, subscription, identity, and 5G network-related data are among the most common SBI parameters. SUPI identifies a subscriber, GPSI represents an external subscriber identity, PEI represents a permanent equipment identifier, DNN identifies a data network, and an NF Instance ID uniquely identifies an NF instance.

Most of these fields may appear to be simple strings, but the important part is the encoding rule inside the string. A SUPI may contain an IMSI or NAI representation, while a GPSI may contain an MSISDN or External Identifier. In other words, being defined as a string does not mean that any string is valid.

5G network-related types build on these basic identifiers to represent session and location information. PduSessionId identifies a PDU Session. MCC and MNC form part of a PLMN identity. TAC identifies a Tracking Area Code, while NrCellId and EutraCellId identify NR and E-UTRA cells respectively.

Structured objects then combine these basic parameters into higher-level data models. S-NSSAI uses an SST and an optional SD to represent a network slice. TAI combines a PLMN ID and TAC. NCGI combines a PLMN ID with an NR Cell ID to identify an NR cell, while ECGI performs a similar role for E-UTRA.

UserLocation is an even higher-level abstraction. Depending on the access type, it can carry an NR Location, E-UTRA Location, or Non-3GPP Access Location. An NR Location can itself contain TAI, NCGI, a location timestamp, and geographical information.

This illustrates the modular design of SBI data models. Basic elements such as MCC, MNC, TAC, and Cell ID are standardized first, then combined into higher-level objects such as PLMN ID, TAI, NCGI, and UserLocation. APIs can reuse these objects directly instead of redefining an entire set of location parameters for every service.

5GC SBI data model showing SUPI, GPSI, PLMN ID, TAI, S-NSSAI, NCGI and UserLocation built from basic fields into structured 5G network objects
5GC network data follows a hierarchical model: basic identifiers and network codes are standardized first and then combined into more complex objects such as TAI, NCGI, S-NSSAI, and UserLocation.

Why Must QoS, Charging, and Trace Data Be Standardized Too?

SBI traffic carries much more than subscriber identities and network location. QoS policies, usage information, and network Trace data also move between multiple NFs, so these values require consistent data definitions as well.

Among QoS parameters, QFI identifies a QoS Flow, 5QI represents the 5G QoS Identifier, BitRate represents a rate using a value and unit, Packet Delay Budget expresses a delay budget, and Packet Error Rate and Packet Loss Rate describe transmission quality.

QoS policies also use many enumeration types. PreemptionCapability indicates whether a service can pre-empt resources assigned elsewhere. PreemptionVulnerability indicates whether existing resources can be taken away by a higher-priority service. QosResourceType distinguishes values such as NON_GBR, NON_CRITICAL_GBR, and CRITICAL_GBR.

These basic fields are then combined into structured objects such as ARP, AMBR, Dynamic 5QI, and Non-Dynamic 5QI. This allows the SMF, PCF, and other related network functions to use the same representation when exchanging concepts such as priority, bit rate, delay, and pre-emption behavior.

Charging data follows the same design principle. ChargingId, RatingGroup, and ServiceId are relatively straightforward simple data types, while QoSFlowUsageReport can include QFI, collection start and end timestamps, and uplink and downlink traffic volumes. VolumeTimedReport can represent PDU Session usage over a defined time interval.

Trace-related types standardize network tracing information. TraceDepth uses enumerated values to describe different trace levels, while TraceData combines parameters such as Trace Reference, Trace Depth, and NE Type. This prevents every NF from defining its own incompatible set of Trace fields.

These examples show that common data types do more than standardize "a few JSON fields." They standardize how different core-network services understand the same business and network concepts. If QoS, location, charging information, or subscriber identifiers must move between multiple NFs, they first need a consistent data model.

How Can Data Types Be Used in Practical Troubleshooting?

One of the most common engineering mistakes is to inspect a JSON message only to see whether a field is present, without checking the data type and associated constraints. A more effective troubleshooting method is to examine the HTTP layer and the data model together.

Start by identifying the service being called and the resource URI. Then locate the target field in the request or response body. Once the field is found, do not stop at the value itself. Check which data type it references, whether it is mandatory or optional, its Cardinality, whether it is an enumeration, and whether it has any formatting or Pattern restrictions.

An IPv4 field may look like an IP address to a human reader, but if it does not satisfy the defined format, it is still invalid input. Likewise, a PduSessionType value may be understandable in plain language, but if it is not one of the specified enumeration values, it does not conform to the API definition.

Structured data should be expanded recursively. When UserLocation appears, determine whether the object contains NR, E-UTRA, or Non-3GPP location information. When TAI appears, inspect the PLMN ID and TAC. When S-NSSAI appears, check the SST and the optional SD. Only by following the type references layer by layer can an engineer determine whether the JSON object matches the API model.

When a server rejects a request, ProblemDetails is also worth examining closely. In addition to the HTTP status code, it can provide detail, cause, and invalidParams information. When these fields are present, troubleshooting can begin with the specific parameter that violated the API requirements instead of stopping at a generic HTTP 4xx response.

5GC engineer troubleshooting SBI JSON messages by checking API resources, field types, enumeration values, Cardinality, formatting constraints and ProblemDetails
Troubleshooting an SBI interface requires more than checking whether a JSON field exists. Engineers should also validate data types, enumeration values, mandatory conditions, Cardinality, and formatting constraints.

Why Is a Data-Model Mindset More Useful Than Memorizing Parameter Tables?

The number of 5GC SBI common data types is large enough that memorizing every field, regular expression, and value range quickly becomes inefficient. A better approach is to build a data-model mindset: simple types define the smallest data units, enumerations restrict legal states, and structured types combine those units into objects that can be used directly by 5GC services.

With this framework, SUPI, MCC, TAC, and QFI are no longer isolated parameters. They become building blocks for subscriber, location, session, QoS, charging, and Trace models. One of the reasons different NFs can invoke services consistently through SBI is that these common types provide stable and reusable data semantics.

When reading an unfamiliar 5GC API, the most useful first question is therefore not "How many fields are in this message?" Instead, determine which types those fields reference, how the objects are nested, and which constraints decide whether the resulting JSON is valid. Once this method becomes familiar, even an SBI service that has never been seen before can be analyzed by following the OpenAPI and data-type definitions layer by layer rather than memorizing an entirely new parameter table.

FAQ

Which 3GPP Specification Defines SBI Common Data Types?

They are mainly defined in TS 29.571, 5G System; Common Data Types for Service Based Interfaces. This specification defines reusable data structures shared across SBI services. NF-specific services and data types are defined in the corresponding 29.5xx specifications, such as TS 29.502 for SMF services and TS 29.503 for UDM services.

How Does the OpenAPI Nullable Property Appear in an Actual JSON Message?

A field defined as nullable, commonly through an Rm-suffixed type, may explicitly carry a null value in the JSON body to indicate that no valid value is currently assigned. This is different from the field being completely absent. An absent field may mean that the parameter is not applicable or was not provided, while an explicit null can carry a specific semantic meaning, such as clearing a previously configured value.

Can SBI Common Data Types Differ Between Vendors?

The definitions are standardized at the specification level, but implementation differences can still appear in real products. Some vendors may implement only a subset of optional fields, certain APIs may include vendor-specific extensions, and the strictness of enumeration validation can vary. These differences are common points to investigate during interoperability testing.

How Can You Quickly Tell Whether a Field Uses a Common Type or an NF-Specific Type?

The most direct method is to inspect the $ref path in the OpenAPI definition. If the reference points to a common schema defined for TS 29.571, it is normally a shared SBI data type. If it points to a schema defined inside the current service specification, it is generally NF-specific. Familiarity with commonly reused types such as SUPI, TAI, S-NSSAI, and ProblemDetails also makes them easier to recognize during packet analysis.

What Is the Difference Between an Rm Type and a Regular Type in a Packet Capture?

When the value is non-null, the JSON representation is effectively the same because both types use the same underlying format. The difference exists at the OpenAPI model level: an Rm type allows the field to contain null. If a captured field explicitly carries a null value, it must be using a nullable definition. If it contains a normal valid value, the value alone is not enough to determine whether the schema references the regular type or the corresponding Rm type.

Recommended Products
catalogue
customer service Phone
We use cookie to improve your online experience. By continuing to browse this website, you agree to our use of cookie.

Cookies

This Cookie Policy explains how we use cookies and similar technologies when you access or use our website and related services. Please read this Policy together with our Terms and Conditions and Privacy Policy so that you understand how we collect, use, and protect information.

By continuing to access or use our Services, you acknowledge that cookies and similar technologies may be used as described in this Policy, subject to applicable law and your available choices.

Updates to This Cookie Policy

We may revise this Cookie Policy from time to time to reflect changes in legal requirements, technology, or our business practices. When we make updates, the revised version will be posted on this page and will become effective from the date of publication unless otherwise required by law.

Where required, we will provide additional notice or request your consent before applying material changes that affect your rights or choices.

What Are Cookies?

Cookies are small text files placed on your device when you visit a website or interact with certain online content. They help websites recognize your browser or device, remember your preferences, support essential functionality, and improve the overall user experience.

In this Cookie Policy, the term “cookies” also includes similar technologies such as pixels, tags, web beacons, and other tracking tools that perform comparable functions.

Why We Use Cookies

We use cookies to help our website function properly, remember user preferences, enhance website performance, understand how visitors interact with our pages, and support security, analytics, and marketing activities where permitted by law.

We use cookies to keep our website functional, secure, efficient, and more relevant to your browsing experience.

Categories of Cookies We Use

Strictly Necessary Cookies

These cookies are essential for the operation of the website and cannot be disabled in our systems where they are required to provide the service you request. They are typically set in response to actions such as setting privacy preferences, signing in, or submitting forms.

Without these cookies, certain parts of the website may not function correctly.

Functional Cookies

Functional cookies enable enhanced features and personalization, such as remembering your preferences, language settings, or previously selected options. These cookies may be set by us or by third-party providers whose services are integrated into our website.

If you disable these cookies, some services or features may not work as intended.

Performance and Analytics Cookies

These cookies help us understand how visitors use our website by collecting information such as traffic sources, page visits, navigation behavior, and general interaction patterns. In many cases, this information is aggregated and does not directly identify individual users.

We use this information to improve website performance, usability, and content relevance.

Targeting and Advertising Cookies

These cookies may be placed by our advertising or marketing partners to help deliver more relevant ads and measure the effectiveness of campaigns. They may use information about your browsing activity across different websites and services to build a profile of your interests.

These cookies generally do not store directly identifying personal information, but they may identify your browser or device.

First-Party and Third-Party Cookies

Some cookies are set directly by our website and are referred to as first-party cookies. Other cookies are set by third-party services, such as analytics providers, embedded content providers, or advertising partners, and are referred to as third-party cookies.

Third-party providers may use their own cookies in accordance with their own privacy and cookie policies.

Information Collected Through Cookies

Depending on the type of cookie used, the information collected may include browser type, device type, IP address, referring website, pages viewed, time spent on pages, clickstream behavior, and general usage patterns.

This information helps us maintain the website, improve performance, enhance security, and provide a better user experience.

Your Cookie Choices

You can control or disable cookies through your browser settings and, where available, through our cookie consent or preference management tools. Depending on your location, you may also have the right to accept or reject certain categories of cookies, especially those used for analytics, personalization, or advertising purposes.

Please note that blocking or deleting certain cookies may affect the availability, functionality, or performance of some parts of the website.

Restricting cookies may limit certain features and reduce the quality of your experience on the website.

Cookies in Mobile Applications

Where our mobile applications use cookie-like technologies, they are generally limited to those required for core functionality, security, and service delivery. Disabling these essential technologies may affect the normal operation of the application.

We do not use essential mobile application cookies to store unnecessary personal information.

How to Manage Cookies

Most web browsers allow you to manage cookies through browser settings. You can usually choose to block, delete, or receive alerts before cookies are stored. Because browser controls vary, please refer to your browser provider’s support documentation for details on how to manage cookie settings.

Contact Us

If you have any questions about this Cookie Policy or our use of cookies and similar technologies, please contact us at support@becke.cc .