Enciclopedia
2026-09-02 18:24:11
¿Cómo funcionan los tipos de datos comunes de la SBI de 5GC?
Explica cómo los tipos de datos comunes de la SBI del núcleo 5G estandarizan los parámetros JSON entre funciones de red, incluidos identificadores, datos de red, QoS, tarificación, trazado, objetos estructurados y diagnóstico práctico de APIs.

Becke Telcom

¿Cómo funcionan los tipos de datos comunes de la SBI de 5GC?

Al diagnosticar las interfaces basadas en servicios de un núcleo 5G, muchos ingenieros se encuentran con el mismo problema. El cuerpo de una solicitud enviada desde un AMF a un SMF puede contener campos conocidos como SUPI, DNN, S-NSSAI, TAI, PDU Session ID y 5QI y, aun así, puede ser difícil determinar si el mensaje es realmente válido. ¿Debe codificarse un campo como cadena o como entero? ¿Tiene un rango de valores definido? ¿Puede utilizarse cualquier valor o debe proceder de una enumeración predefinida? ¿Puede un objeto contener otros parámetros anidados?

Las respuestas las definen los tipos de datos comunes de la SBI. Las interfaces basadas en servicios abarcan funciones de red como AMF, SMF, UDM, PCF y NRF, pero muchos de los parámetros subyacentes no son específicos de una única NF. Si cada servicio definiera estos valores de forma independiente, las especificaciones contendrían duplicaciones innecesarias y el mismo identificador de abonado o parámetro de QoS podría representarse de forma distinta entre APIs. Por eso, analizar el tráfico SBI exige algo más que revisar los métodos HTTP y los URI de recursos. HTTP/2 define cómo se transportan las solicitudes, JSON define cómo se representan los datos y los tipos de datos comunes responden a una cuestión más fundamental: qué formato y qué reglas de validación debe cumplir cada parámetro JSON.

¿Qué problemas resuelven los tipos de datos comunes?

Pueden entenderse como un «vocabulario de datos» compartido por todo el entorno de APIs basadas en servicios de 5GC. Un tipo de dato puede aparecer en una solicitud de AMF y también ser referenciado por SMF, UDM o PCF. No pertenece a una sola interfaz; proporciona una definición estandarizada que puede reutilizarse en múltiples servicios.

Pensemos en una dirección IPv4. Cada NF no debería definir su propia forma de representar la dirección como una cadena. Lo mismo ocurre con la información PLMN, donde MCC y MNC tienen longitudes y formatos específicos, y con identificadores de abonado y equipo como SUPI, GPSI y PEI, que siguen sus propias reglas de codificación. Las definiciones coherentes permiten que las APIs RESTful entre distintas NF intercambien información de forma fiable.

Los tipos de datos comunes también deben distinguirse de los tipos específicos de una NF. Los tipos comunes cubren objetos que aparecen repetidamente en distintas interfaces, mientras que los objetos de negocio exclusivos de una función de red concreta se definen en las especificaciones correspondientes de la serie 29. En la práctica, una misma API SBI suele hacer referencia a ambos tipos de datos.

Su alcance va mucho más allá de las direcciones de red. Las definiciones comunes abarcan parámetros genéricos, información de suscripción e identidad, datos de red 5G, QoS, tarificación, información de trazado y otros objetos reutilizables. En conjunto, forman un modelo de datos fundamental para los parámetros de los mensajes SBI.

Tipos de datos comunes de la SBI del núcleo 5G compartidos por AMF, SMF, UDM y PCF para identificadores, información de red, QoS, tarificación y parámetros de trazado
Los tipos de datos comunes de la SBI proporcionan una representación coherente de los datos entre las funciones de red del núcleo 5G, permitiendo reutilizar identificadores, información de ubicación, parámetros de QoS y datos de tarificación en múltiples interfaces de servicio.

¿En qué se diferencian las tres estructuras básicas de datos?

Desde el punto de vista estructural, los parámetros SBI pueden agruparse generalmente en tres categorías: tipos de datos simples, enumeraciones y tipos de datos estructurados. Comprender estas tres categorías es más útil que memorizar nombres de parámetros individuales, porque la mayoría de los campos que aparecen en capturas de Wireshark, documentación de APIs y definiciones OpenAPI encajan en este modelo.

Los tipos de datos simples son los componentes básicos de nivel más bajo. Incluyen cadena, entero, número, fecha, fecha-hora y booleano. En 5GC, estos tipos básicos suelen combinarse con restricciones adicionales, como rangos de valores, formatos de codificación o patrones de expresiones regulares.

Una dirección IPv4, por ejemplo, se representa técnicamente como una cadena, pero no cualquier cadena arbitraria es válida. Debe seguir el formato IPv4 requerido. Las direcciones IPv6, los prefijos IPv6 y las direcciones MAC tienen sus propios requisitos de formato. Uint16, Uint32 y Uint64 definen rangos para enteros sin signo. Un URI debe cumplir las reglas de formato de URI, mientras que los valores DateTime deben utilizar el formato de fecha y hora especificado.

Las especificaciones también definen con frecuencia tipos con el sufijo Rm, como Ipv4AddrRm, DateTimeRm y Uint32Rm. Estos tipos utilizan el mismo formato subyacente que sus tipos base correspondientes, pero incluyen la propiedad nullable de OpenAPI, lo que permite que el campo contenga un valor null.

Los tipos de enumeración funcionan como campos de opción múltiple: el valor debe seleccionarse de un conjunto predefinido. AccessType, por ejemplo, distingue entre 3GPP_ACCESS y NON_3GPP_ACCESS. PduSessionType puede tomar valores como IPV4, IPV6, IPV4V6, UNSTRUCTURED o ETHERNET. CoreNetworkType puede indicar 5GC o EPC.

El objetivo de una enumeración es eliminar la ambigüedad. Un consumidor no puede inventar una cadena distinta que casualmente signifique lo mismo; debe utilizar uno de los valores definidos explícitamente por la especificación. Este es un caso habitual de diagnóstico: el nombre del campo es correcto, pero el valor de la enumeración no es válido, por lo que la API sigue rechazando o interpretando incorrectamente la solicitud.

Los tipos de datos estructurados combinan varios atributos en un objeto completo. Esos atributos pueden, a su vez, hacer referencia a tipos simples, enumeraciones u otros objetos estructurados, creando un modelo jerárquico.

ProblemDetails es un ejemplo típico. Puede incluir campos como type, title, status, detail, instance, cause e invalidParams. TAI es otro ejemplo, al combinar un PLMN ID con un TAC. GUAMI va un nivel más allá al combinar un PLMN ID con un AMF ID. En este nivel, el análisis SBI ya no puede centrarse únicamente en campos individuales; también importan las relaciones entre los atributos del objeto.

¿Cómo se construyen los parámetros de identidad y de red?

En capturas de paquetes reales, los datos relacionados con suscripción, identidad y red 5G se encuentran entre los parámetros SBI más habituales. SUPI identifica a un abonado, GPSI representa una identidad externa de abonado, PEI representa un identificador permanente de equipo, DNN identifica una red de datos y un NF Instance ID identifica de forma única una instancia de NF.

Muchos de estos campos pueden parecer simples cadenas, pero lo importante es la regla de codificación dentro de la cadena. Un SUPI puede contener una representación IMSI o NAI, mientras que un GPSI puede contener un MSISDN o un External Identifier. En otras palabras, que un campo se defina como cadena no significa que cualquier cadena sea válida.

Los tipos relacionados con la red 5G se apoyan en estos identificadores básicos para representar información de sesión y ubicación. PduSessionId identifica una PDU Session. MCC y MNC forman parte de una identidad PLMN. TAC identifica un Tracking Area Code, mientras que NrCellId y EutraCellId identifican respectivamente celdas NR y E-UTRA.

Los objetos estructurados combinan después estos parámetros básicos en modelos de datos de nivel superior. S-NSSAI utiliza un SST y un SD opcional para representar un segmento de red. TAI combina un PLMN ID y un TAC. NCGI combina un PLMN ID con un NR Cell ID para identificar una celda NR, mientras que ECGI cumple una función similar para E-UTRA.

UserLocation es una abstracción de nivel aún más alto. Según el tipo de acceso, puede contener una NR Location, una E-UTRA Location o una Non-3GPP Access Location. A su vez, una NR Location puede contener TAI, NCGI, una marca temporal de ubicación e información geográfica.

Esto ilustra el diseño modular de los modelos de datos SBI. Primero se estandarizan elementos básicos como MCC, MNC, TAC y Cell ID, y después se combinan en objetos de nivel superior como PLMN ID, TAI, NCGI y UserLocation. Las APIs pueden reutilizar directamente estos objetos en lugar de redefinir un conjunto completo de parámetros de ubicación para cada servicio.

Modelo de datos SBI de 5GC que muestra cómo SUPI, GPSI, PLMN ID, TAI, S-NSSAI, NCGI y UserLocation se construyen desde campos básicos hasta objetos estructurados de red 5G
Los datos de red de 5GC siguen un modelo jerárquico: primero se estandarizan los identificadores básicos y los códigos de red, y después se combinan en objetos más complejos como TAI, NCGI, S-NSSAI y UserLocation.

¿Por qué también deben estandarizarse los datos de QoS, tarificación y trazado?

El tráfico SBI transporta mucho más que identidades de abonado y ubicación de red. Las políticas de QoS, la información de uso y los datos de trazado de red también circulan entre múltiples NF, por lo que estos valores necesitan definiciones de datos coherentes.

Entre los parámetros de QoS, QFI identifica un QoS Flow, 5QI representa el 5G QoS Identifier, BitRate representa una tasa mediante un valor y una unidad, Packet Delay Budget expresa un presupuesto de retardo, y Packet Error Rate y Packet Loss Rate describen la calidad de transmisión.

Las políticas de QoS también utilizan muchos tipos de enumeración. PreemptionCapability indica si un servicio puede apropiarse de recursos asignados en otro lugar. PreemptionVulnerability indica si recursos existentes pueden ser retirados por un servicio de mayor prioridad. QosResourceType distingue valores como NON_GBR, NON_CRITICAL_GBR y CRITICAL_GBR.

Estos campos básicos se combinan después en objetos estructurados como ARP, AMBR, Dynamic 5QI y Non-Dynamic 5QI. Esto permite que SMF, PCF y otras funciones de red relacionadas utilicen la misma representación al intercambiar conceptos como prioridad, tasa de bits, retardo y comportamiento de preempción.

Los datos de tarificación siguen el mismo principio de diseño. ChargingId, RatingGroup y ServiceId son tipos de datos simples relativamente directos, mientras que QoSFlowUsageReport puede incluir QFI, marcas temporales de inicio y fin de recopilación y volúmenes de tráfico ascendente y descendente. VolumeTimedReport puede representar el uso de una PDU Session durante un intervalo de tiempo definido.

Los tipos relacionados con el trazado estandarizan la información de seguimiento de red. TraceDepth utiliza valores enumerados para describir distintos niveles de trazado, mientras que TraceData combina parámetros como Trace Reference, Trace Depth y NE Type. Así se evita que cada NF defina su propio conjunto incompatible de campos de trazado.

Estos ejemplos muestran que los tipos de datos comunes hacen mucho más que estandarizar «unos pocos campos JSON». Estandarizan cómo entienden los distintos servicios del núcleo los mismos conceptos de negocio y de red. Si la QoS, la ubicación, la información de tarificación o los identificadores de abonado deben circular entre varias NF, primero necesitan un modelo de datos coherente.

¿Cómo pueden utilizarse los tipos de datos en el diagnóstico práctico?

Uno de los errores de ingeniería más habituales consiste en revisar un mensaje JSON únicamente para comprobar si un campo está presente, sin verificar el tipo de dato y las restricciones asociadas. Un método de diagnóstico más eficaz consiste en analizar conjuntamente la capa HTTP y el modelo de datos.

Empiece identificando el servicio invocado y el URI del recurso. Después localice el campo objetivo en el cuerpo de la solicitud o la respuesta. Una vez localizado, no se limite al valor. Compruebe qué tipo de dato referencia, si es obligatorio u opcional, su Cardinality, si se trata de una enumeración y si tiene restricciones de formato o Pattern.

Un campo IPv4 puede parecer una dirección IP a simple vista, pero si no cumple el formato definido sigue siendo una entrada no válida. Del mismo modo, un valor de PduSessionType puede ser comprensible en lenguaje natural, pero si no pertenece a los valores de enumeración especificados no cumple la definición de la API.

Los datos estructurados deben desplegarse de forma recursiva. Cuando aparezca UserLocation, determine si el objeto contiene información de ubicación NR, E-UTRA o Non-3GPP. Cuando aparezca TAI, examine PLMN ID y TAC. Cuando aparezca S-NSSAI, compruebe SST y el SD opcional. Solo siguiendo las referencias de tipo capa por capa puede un ingeniero determinar si el objeto JSON coincide con el modelo de la API.

Cuando un servidor rechaza una solicitud, también conviene examinar detenidamente ProblemDetails. Además del código de estado HTTP, puede proporcionar información en detail, cause e invalidParams. Cuando estos campos están presentes, el diagnóstico puede comenzar por el parámetro concreto que incumplió los requisitos de la API, en lugar de detenerse en una respuesta HTTP 4xx genérica.

Ingeniero de 5GC diagnosticando mensajes JSON de SBI mediante la comprobación de recursos API, tipos de campos, valores de enumeración, Cardinality, restricciones de formato y ProblemDetails
Diagnosticar una interfaz SBI exige más que comprobar si existe un campo JSON. Los ingenieros también deben validar los tipos de datos, los valores de enumeración, las condiciones obligatorias, la Cardinality y las restricciones de formato.

¿Por qué es más útil pensar en modelos de datos que memorizar tablas de parámetros?

La cantidad de tipos de datos comunes de la SBI de 5GC es suficientemente grande como para que memorizar cada campo, expresión regular y rango de valores se vuelva rápidamente ineficiente. Un enfoque mejor es adoptar una mentalidad de modelo de datos: los tipos simples definen las unidades de datos más pequeñas, las enumeraciones restringen los estados válidos y los tipos estructurados combinan esas unidades en objetos que los servicios de 5GC pueden utilizar directamente.

Con este marco, SUPI, MCC, TAC y QFI dejan de ser parámetros aislados. Se convierten en bloques de construcción de modelos de abonado, ubicación, sesión, QoS, tarificación y trazado. Una de las razones por las que distintas NF pueden invocar servicios de forma coherente a través de SBI es que estos tipos comunes aportan una semántica de datos estable y reutilizable.

Al leer una API de 5GC desconocida, la primera pregunta más útil no es «¿Cuántos campos tiene este mensaje?». En su lugar, hay que determinar a qué tipos hacen referencia esos campos, cómo se anidan los objetos y qué restricciones deciden si el JSON resultante es válido. Una vez dominado este método, incluso un servicio SBI nunca visto puede analizarse siguiendo capa por capa las definiciones de OpenAPI y de tipos de datos, en lugar de memorizar una tabla de parámetros completamente nueva.

Preguntas frecuentes

¿Qué especificación 3GPP define los tipos de datos comunes de SBI?

Se definen principalmente en TS 29.571, 5G System; Common Data Types for Service Based Interfaces. Esta especificación define estructuras de datos reutilizables compartidas entre servicios SBI. Los servicios y tipos de datos específicos de una NF se definen en las especificaciones 29.5xx correspondientes, como TS 29.502 para servicios SMF y TS 29.503 para servicios UDM.

¿Cómo aparece la propiedad nullable de OpenAPI en un mensaje JSON real?

Un campo definido como nullable, normalmente mediante un tipo con sufijo Rm, puede contener explícitamente un valor null en el cuerpo JSON para indicar que actualmente no tiene asignado un valor válido. Esto es distinto de que el campo esté completamente ausente. Un campo ausente puede significar que el parámetro no es aplicable o no se proporcionó, mientras que un null explícito puede tener un significado semántico concreto, como borrar un valor configurado previamente.

¿Pueden diferir entre fabricantes los tipos de datos comunes de SBI?

Las definiciones están estandarizadas a nivel de especificación, pero en productos reales todavía pueden aparecer diferencias de implementación. Algunos fabricantes pueden implementar solo un subconjunto de campos opcionales, ciertas APIs pueden incluir extensiones específicas del fabricante y el rigor de la validación de enumeraciones puede variar. Estas diferencias son puntos habituales de investigación durante las pruebas de interoperabilidad.

¿Cómo saber rápidamente si un campo utiliza un tipo común o un tipo específico de una NF?

El método más directo es inspeccionar la ruta $ref de la definición OpenAPI. Si la referencia apunta a un esquema común definido para TS 29.571, normalmente se trata de un tipo de dato SBI compartido. Si apunta a un esquema definido dentro de la especificación del servicio actual, por lo general es específico de la NF. Conocer tipos reutilizados con frecuencia, como SUPI, TAI, S-NSSAI y ProblemDetails, también facilita reconocerlos durante el análisis de paquetes.

¿Cuál es la diferencia entre un tipo Rm y un tipo normal en una captura de paquetes?

Cuando el valor no es null, la representación JSON es prácticamente la misma porque ambos tipos utilizan el mismo formato subyacente. La diferencia existe en el modelo OpenAPI: un tipo Rm permite que el campo contenga null. Si un campo capturado contiene explícitamente un valor null, debe estar utilizando una definición nullable. Si contiene un valor válido normal, ese valor por sí solo no basta para determinar si el esquema referencia el tipo normal o el tipo Rm correspondiente.

Productos Recomendados
Catálogo
Servicio al cliente Teléfono
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 .