NGAP Vendor Crawlers

This module contains all vendor crawlers of NGAP implementations. Available vendor crawlers include:

NGAP_ProcedureCode

NGAP Elementary Procedure Codes [*]

NGAP_ProtocolIE

NGAP Protocol IE Identifiers [†]

Each sources the assignment from pycrate’s already-installed, compiled NGAP specification rather than fetching a network registry – see the module docstring below for why.

NGAP Elementary Procedure Codes

This module contains the vendor crawler for NGAP Elementary Procedure Codes, which is automatically generating pcapkit.const.ngap.procedure_code.ProcedureCode.

class pcapkit.vendor.ngap.procedure_code.ProcedureCode[source]

Bases: Vendor

NGAP elementary procedure codes, 3GPP TS 38.413.

FLAG: str = 'isinstance(value, int) and 0 <= value <= 255'

Value limit checker, matching pycrate_asn1dir.NGAP’s own ProcedureCode._const_val (ASN1RangeInt(lb=0, ub=255)): a ProcedureCode is encoded as one aligned-PER octet.

_request()[source]

Read the assignment from pycrate’s compiled NGAP specification.

Every NGAP_Constants value object carries a private _typeref naming which NGAP-CommonDataTypes open type it belongs to (.called, a (module, type) pair), a private _name holding the ASN.1 identifier verbatim ('id-AMFConfigurationUpdate'), and a private _val holding the assigned integer. None of these has a public accessor that survives this far: pycrate_asn1rt.asnobj.ASN1Obj.get_typeref resolves to the referenced type object rather than its (module, name) pair, and that object’s own get_name reads None here despite repr() showing the name – measured against pycrate 0.8.1. Reading the private attributes directly is therefore the only way to recover what this crawler needs, which is a property of parsing pycrate’s own compiled representation rather than a shortcut around a public API this package should have used instead.

Return type:

list[tuple[str, int]]

Returns:

One (python_identifier, value) pair per ProcedureCode assignment, in the compiled specification’s own declaration order – already ascending by value, measured against pycrate 0.8.1.

Raises:

ImportError – If the optional pycrate dependency is not installed.

NGAP Protocol IE Identifiers

This module contains the vendor crawler for NGAP Protocol IE Identifiers, which is automatically generating pcapkit.const.ngap.protocol_ie.ProtocolIE.

class pcapkit.vendor.ngap.protocol_ie.ProtocolIE[source]

Bases: Vendor

NGAP protocol IE identifiers, 3GPP TS 38.413.

FLAG: str = 'isinstance(value, int) and 0 <= value <= 65535'

Value limit checker, matching pycrate_asn1dir.NGAP’s own ProtocolIE_ID._const_val (ASN1RangeInt(lb=0, ub=65535)): a ProtocolIE-ID is encoded as one aligned-PER 16-bit field.

Footnotes