open5gs/lib/gtp/v1/support/cache/tlv-msg-53.py

46 lines
4.3 KiB
Python
Raw Normal View History

Introduce Gn interface (GTPv1C) Support to PGW (#1351) * [CORE] tlv: Store mode in ogs_tlv_t This allows specifying the format of the IE for each individual IE, hence allowing messages containing IEs formatted in different ways. This is needed in order to support parsing GTPv1-C, since messages contain IEs with different structure (TLV vs TV). Hence, this is a preparation patch to add support for parsing TVs in ogs-tlv.c/.h. * [CORE] tlv: Support parsing msg with both TLV and TV in it IEs of type TV are sometimes used in GTPv1-C. Current tlv parser/builder doesn't provide with ways to parse messages which contain TV formatted IEs. This patch adds the relevant types and ways to encode/decode them. Furthermore, the current parser/builder allows parsing/building messages containing the exact same format in all its IEs. A new parser function is added which allows parsing messages of different types (TV, TLV) mixed in the same message. In order to be able to do so, it uses the general msg_mode passed to it in order to know the general TLV format (in essence, the length of the Tag field, and also the length of the Length field if applicable each IE). Looking up the instance in the TLV description is left undone and hadcoded to 0, since the only user so far requiring this API is GTPv1-C, which has no instances. * [CORE] tlv: Support repeated tag+instance parsing TLV message In GTPv2C, repeated IEs (same tag) are easily differentiated by the Instance byte, which provides info to match different decoded structures. In GTPv1C though, there's no Instance byte, and we still encounter repeated IEs (like GSN Address in Create PDP Context Request). Hence, the TLV decoder needs to be updated to track count of IEs found (identified by tag+instance, where instance is always 0 in GTPv1C) and get the proper description index + offset into the decoded structure. * [GTP]: Move GTPv2-C specifics to its own libgtp subdir This will allow adding GTPv1-C code by the side. Most GTPv2 code is left in this patch as "gtp" instead of renaming it to "gtp2" in order to avoid massive changes. It can be done at a later stage if wanted. * [GTP] Support generating GTPv1-C messages * [SMF] Add Gn interface support This patch introduces GTPv1C support to open5gs-smfd. With it, open5gs-becomes a GGSN too, where SGSN can connect to, hence supporting GERAN and UTRAN networks.
2022-02-18 13:23:45 +00:00
ies = []
ies.append({ "ie_value" : "IMSI", "presence" : "Conditional", "reference" : "7.7.2"})
ies.append({ "ie_value" : "Tunnel Endpoint Identifier Control Plane", "presence" : "Mandatory", "reference" : "7.7.14"})
ies.append({ "ie_value" : "RANAP Cause", "presence" : "Mandatory", "reference" : "7.7.18"})
ies.append({ "ie_value" : "Packet Flow ID", "presence" : "Optional", "reference" : "7.7.22"})
ies.append({ "ie_value" : "Charging Characteristics", "presence" : "Optional", "reference" : "7.7.23"})
ies.append({ "ie_value" : "MM Context", "presence" : "Mandatory", "reference" : "7.7.28"})
ies.append({ "ie_value" : "PDP Context", "presence" : "Conditional", "reference" : "7.7.29"})
ies.append({ "ie_value" : "SGSN Address for Control plane", "presence" : "Mandatory", "reference" : "7.7.32"})
ies.append({ "ie_value" : "Alternative GGSN Address for control Plane", "presence" : "Optional", "reference" : "7.7.32"})
ies.append({ "ie_value" : "Alternative GGSN Address for user traffic", "presence" : "Optional", "reference" : "7.7.32"})
Introduce Gn interface (GTPv1C) Support to PGW (#1351) * [CORE] tlv: Store mode in ogs_tlv_t This allows specifying the format of the IE for each individual IE, hence allowing messages containing IEs formatted in different ways. This is needed in order to support parsing GTPv1-C, since messages contain IEs with different structure (TLV vs TV). Hence, this is a preparation patch to add support for parsing TVs in ogs-tlv.c/.h. * [CORE] tlv: Support parsing msg with both TLV and TV in it IEs of type TV are sometimes used in GTPv1-C. Current tlv parser/builder doesn't provide with ways to parse messages which contain TV formatted IEs. This patch adds the relevant types and ways to encode/decode them. Furthermore, the current parser/builder allows parsing/building messages containing the exact same format in all its IEs. A new parser function is added which allows parsing messages of different types (TV, TLV) mixed in the same message. In order to be able to do so, it uses the general msg_mode passed to it in order to know the general TLV format (in essence, the length of the Tag field, and also the length of the Length field if applicable each IE). Looking up the instance in the TLV description is left undone and hadcoded to 0, since the only user so far requiring this API is GTPv1-C, which has no instances. * [CORE] tlv: Support repeated tag+instance parsing TLV message In GTPv2C, repeated IEs (same tag) are easily differentiated by the Instance byte, which provides info to match different decoded structures. In GTPv1C though, there's no Instance byte, and we still encounter repeated IEs (like GSN Address in Create PDP Context Request). Hence, the TLV decoder needs to be updated to track count of IEs found (identified by tag+instance, where instance is always 0 in GTPv1C) and get the proper description index + offset into the decoded structure. * [GTP]: Move GTPv2-C specifics to its own libgtp subdir This will allow adding GTPv1-C code by the side. Most GTPv2 code is left in this patch as "gtp" instead of renaming it to "gtp2" in order to avoid massive changes. It can be done at a later stage if wanted. * [GTP] Support generating GTPv1-C messages * [SMF] Add Gn interface support This patch introduces GTPv1C support to open5gs-smfd. With it, open5gs-becomes a GGSN too, where SGSN can connect to, hence supporting GERAN and UTRAN networks.
2022-02-18 13:23:45 +00:00
ies.append({ "ie_value" : "Target Identification", "presence" : "Mandatory", "reference" : "7.7.37"})
ies.append({ "ie_value" : "UTRAN transparent container", "presence" : "Mandatory", "reference" : "7.7.38"})
ies.append({ "ie_value" : "PDP Context Prioritization", "presence" : "Optional", "reference" : "7.7.45"})
Introduce Gn interface (GTPv1C) Support to PGW (#1351) * [CORE] tlv: Store mode in ogs_tlv_t This allows specifying the format of the IE for each individual IE, hence allowing messages containing IEs formatted in different ways. This is needed in order to support parsing GTPv1-C, since messages contain IEs with different structure (TLV vs TV). Hence, this is a preparation patch to add support for parsing TVs in ogs-tlv.c/.h. * [CORE] tlv: Support parsing msg with both TLV and TV in it IEs of type TV are sometimes used in GTPv1-C. Current tlv parser/builder doesn't provide with ways to parse messages which contain TV formatted IEs. This patch adds the relevant types and ways to encode/decode them. Furthermore, the current parser/builder allows parsing/building messages containing the exact same format in all its IEs. A new parser function is added which allows parsing messages of different types (TV, TLV) mixed in the same message. In order to be able to do so, it uses the general msg_mode passed to it in order to know the general TLV format (in essence, the length of the Tag field, and also the length of the Length field if applicable each IE). Looking up the instance in the TLV description is left undone and hadcoded to 0, since the only user so far requiring this API is GTPv1-C, which has no instances. * [CORE] tlv: Support repeated tag+instance parsing TLV message In GTPv2C, repeated IEs (same tag) are easily differentiated by the Instance byte, which provides info to match different decoded structures. In GTPv1C though, there's no Instance byte, and we still encounter repeated IEs (like GSN Address in Create PDP Context Request). Hence, the TLV decoder needs to be updated to track count of IEs found (identified by tag+instance, where instance is always 0 in GTPv1C) and get the proper description index + offset into the decoded structure. * [GTP]: Move GTPv2-C specifics to its own libgtp subdir This will allow adding GTPv1-C code by the side. Most GTPv2 code is left in this patch as "gtp" instead of renaming it to "gtp2" in order to avoid massive changes. It can be done at a later stage if wanted. * [GTP] Support generating GTPv1-C messages * [SMF] Add Gn interface support This patch introduces GTPv1C support to open5gs-smfd. With it, open5gs-becomes a GGSN too, where SGSN can connect to, hence supporting GERAN and UTRAN networks.
2022-02-18 13:23:45 +00:00
ies.append({ "ie_value" : "MBMS UE Context", "presence" : "Optional", "reference" : "7.7.55"})
ies.append({ "ie_value" : "Selected PLMN ID", "presence" : "Optional", "reference" : "7.7.64"})
ies.append({ "ie_value" : "BSS Container", "presence" : "Optional", "reference" : "7.7.72"})
ies.append({ "ie_value" : "Cell Identification", "presence" : "Optional", "reference" : "7.7.73"})
ies.append({ "ie_value" : "BSSGP Cause", "presence" : "Optional", "reference" : "7.7.75"})
Introduce Gn interface (GTPv1C) Support to PGW (#1351) * [CORE] tlv: Store mode in ogs_tlv_t This allows specifying the format of the IE for each individual IE, hence allowing messages containing IEs formatted in different ways. This is needed in order to support parsing GTPv1-C, since messages contain IEs with different structure (TLV vs TV). Hence, this is a preparation patch to add support for parsing TVs in ogs-tlv.c/.h. * [CORE] tlv: Support parsing msg with both TLV and TV in it IEs of type TV are sometimes used in GTPv1-C. Current tlv parser/builder doesn't provide with ways to parse messages which contain TV formatted IEs. This patch adds the relevant types and ways to encode/decode them. Furthermore, the current parser/builder allows parsing/building messages containing the exact same format in all its IEs. A new parser function is added which allows parsing messages of different types (TV, TLV) mixed in the same message. In order to be able to do so, it uses the general msg_mode passed to it in order to know the general TLV format (in essence, the length of the Tag field, and also the length of the Length field if applicable each IE). Looking up the instance in the TLV description is left undone and hadcoded to 0, since the only user so far requiring this API is GTPv1-C, which has no instances. * [CORE] tlv: Support repeated tag+instance parsing TLV message In GTPv2C, repeated IEs (same tag) are easily differentiated by the Instance byte, which provides info to match different decoded structures. In GTPv1C though, there's no Instance byte, and we still encounter repeated IEs (like GSN Address in Create PDP Context Request). Hence, the TLV decoder needs to be updated to track count of IEs found (identified by tag+instance, where instance is always 0 in GTPv1C) and get the proper description index + offset into the decoded structure. * [GTP]: Move GTPv2-C specifics to its own libgtp subdir This will allow adding GTPv1-C code by the side. Most GTPv2 code is left in this patch as "gtp" instead of renaming it to "gtp2" in order to avoid massive changes. It can be done at a later stage if wanted. * [GTP] Support generating GTPv1-C messages * [SMF] Add Gn interface support This patch introduces GTPv1C support to open5gs-smfd. With it, open5gs-becomes a GGSN too, where SGSN can connect to, hence supporting GERAN and UTRAN networks.
2022-02-18 13:23:45 +00:00
ies.append({ "ie_value" : "PS Handover XID Parameters", "presence" : "Optional", "reference" : "7.7.79"})
ies.append({ "ie_value" : "Direct Tunnel Flags", "presence" : "Optional", "reference" : "7.7.81"})
ies.append({ "ie_value" : "Reliable INTER RAT HANDOVER INFO", "presence" : "Optional", "reference" : "7.7.87"})
ies.append({ "ie_value" : "Subscribed RFSP Index", "presence" : "Optional", "reference" : "7.7.88"})
ies.append({ "ie_value" : "RFSP Index in use", "presence" : "Optional", "reference" : "7.7.88"})
ies.append({ "ie_value" : "Co-located GGSN-PGW FQDN", "presence" : "Optional", "reference" : "7.7.90"})
ies.append({ "ie_value" : "Evolved Allocation/Retention Priority II", "presence" : "Optional", "reference" : "7.7.92"})
ies.append({ "ie_value" : "Extended Common Flags", "presence" : "Optional", "reference" : "7.7.93"})
ies.append({ "ie_value" : "CSG ID", "presence" : "Optional", "reference" : "7.7.96"})
ies.append({ "ie_value" : "CSG Membership Indication", "presence" : "Optional", "reference" : "7.7.97"})
ies.append({ "ie_value" : "UE Network Capability", "presence" : "Optional", "reference" : "7.7.99"})
ies.append({ "ie_value" : "UE-AMBR", "presence" : "Optional", "reference" : "7.7.100"})
ies.append({ "ie_value" : "APN-AMBR with NSAPI", "presence" : "Optional", "reference" : "7.7.101"})
ies.append({ "ie_value" : "Signalling Priority Indication with NSAPI", "presence" : "Optional", "reference" : "7.7.104"})
ies.append({ "ie_value" : "Higher bitrates than 16 Mbps flag", "presence" : "Optional", "reference" : "7.7.105"})
ies.append({ "ie_value" : "Additional MM context for SRVCC", "presence" : "Optional", "reference" : "7.7.107"})
ies.append({ "ie_value" : "Additional flags for SRVCC", "presence" : "Optional", "reference" : "7.7.108"})
ies.append({ "ie_value" : "STN-SR", "presence" : "Optional", "reference" : "7.7.109"})
ies.append({ "ie_value" : "C-MSISDN", "presence" : "Optional", "reference" : "7.7.110"})
ies.append({ "ie_value" : "Extended RANAP Cause", "presence" : "Optional", "reference" : "7.7.111"})
ies.append({ "ie_value" : "eNodeB ID", "presence" : "Optional", "reference" : "7.7.112"})
ies.append({ "ie_value" : "Selection Mode with NSAPI", "presence" : "Optional", "reference" : "7.7.113"})
ies.append({ "ie_value" : "UE Usage Type", "presence" : "Optional", "reference" : "7.7.117"})
ies.append({ "ie_value" : "Extended Common Flags II", "presence" : "Optional", "reference" : "7.7.118"})
ies.append({ "ie_value" : "UE SCEF PDN Connection", "presence" : "Optional", "reference" : "7.7.121"})
msg_list[key]["ies"] = ies