diff options
author | dishadaniel <ddaniel@empirix.com> | 2018-06-01 06:11:23 -0400 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2018-06-04 12:17:18 +0000 |
commit | 236af95178ad127bfc5cdfebaa99260a10f8277b (patch) | |
tree | ae4fd900e1b119ec415123271ccb88d66452fd14 /epan/dissectors/asn1/gsm_map | |
parent | 79b12ab0713f6d7b6ce536f9ce1382f6901914e0 (diff) |
Added support for new proprietary fields (private extensions) for Ericsson.
Change-Id: Ie97289527dbcef7e5d18e5e152659ebb5de9bc19
Reviewed-on: https://code.wireshark.org/review/27940
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/asn1/gsm_map')
-rw-r--r-- | epan/dissectors/asn1/gsm_map/Ericsson.asn | 146 | ||||
-rw-r--r-- | epan/dissectors/asn1/gsm_map/Nokia.asn | 84 | ||||
-rw-r--r-- | epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c | 18 |
3 files changed, 154 insertions, 94 deletions
diff --git a/epan/dissectors/asn1/gsm_map/Ericsson.asn b/epan/dissectors/asn1/gsm_map/Ericsson.asn index 34a2cdc89b..b0206d7809 100644 --- a/epan/dissectors/asn1/gsm_map/Ericsson.asn +++ b/epan/dissectors/asn1/gsm_map/Ericsson.asn @@ -13,7 +13,11 @@ BEGIN IMPORTS IMSI, - IMEI + IMEI, + ISDN-AddressString, + Ext-SS-Status, + SignalInfo, + TBCD-STRING FROM MAP-CommonDataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-CommonDataTypes (18) version13 (13)} @@ -23,7 +27,8 @@ FROM MAP-MS-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-MS-DataTypes (11) version13 (13)} - ExtensionContainer + ExtensionContainer, + PrivateExtension FROM MAP-ExtensionDataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version13 (13)} @@ -38,5 +43,142 @@ EnhancedCheckIMEI-Arg ::= SEQUENCE { extensionContainer ExtensionContainer OPTIONAL, ...} + +-- Start of adding Private Extensions for EricssonS + +ExtensionSet MAP-EXTENSION ::= { + { &ExtensionType; ExtensionType, &extensionId; {1 2 826 0 1249 58 1 0} }, + ...} + +ExtensionType ::= CHOICE { + isdArgType [1] IsdArgType, + isdResType [2] IsdResType, + dsdArgType [3] DsdArgType, + sriArgType [4] SRIArgType, + sriResType [5] SRIResType, + prnArgType [6] PrnArgType, + ulArgType [7] UlArgType, + rdArgType [8] RdArgType, + saiArgType [9] SaiArgType, + saiResType [10] SaiResType, + atiArgType [11] AtiArgType, + atiResType [12] AtiResType, + extAtiArgType [13] ExtAtiArgType + } + +IsdArgType ::= SEQUENCE (SIZE(1..50)) OF + IsdArgData + +IsdArgData ::= SEQUENCE { + privateFeatureCode [1] PrivateFeatureCode OPTIONAL, + privateFeatureData PrivateFeatureData OPTIONAL, + ...} + +PrivateFeatureData ::= CHOICE { + subscriptionTypeInfo [3] SubscriptionTypeInfo, + oickInfo [7] OickInfo + } + +OickInfo ::= SEQUENCE { + ss-Status Ext-SS-Status, + inCategoryKey INCategoryKey } + +INCategoryKey ::= TBCD-STRING (SIZE(1..3)) + +SubscriptionTypeInfo ::= SEQUENCE { + subscriptionType SubscriptionType } + +SubscriptionType ::= OCTET STRING (SIZE(1)) + +IsdResType ::= SEQUENCE (SIZE(1..50)) OF + IsdResData + +IsdResData ::= SEQUENCE { + supportedPrivateFeature [1] PrivateFeatureCode OPTIONAL, + ... } + +DsdArgType ::= SEQUENCE (SIZE (1..50)) OF + DsdArgData + +DsdArgData ::= SEQUENCE { + privateFeatureWithdraw PrivateFeatureCode } + +SRIArgType ::= SEQUENCE (SIZE(1..50)) OF + SriArgData + +SriArgData ::= SEQUENCE { + privateFeatureCode [1] PrivateFeatureCode OPTIONAL, + extraNetworkInfo [2] ExtraSignalInfo OPTIONAL, + ... } + +SRIResType ::= SEQUENCE (SIZE(1..50)) OF + SriResData + +SriResData ::= SEQUENCE { + privateFeatureCode [1] PrivateFeatureCode OPTIONAL, + inCategoryKey [2] INCategoryKey OPTIONAL, + subscriptionType [5] SubscriptionType OPTIONAL, + ... } + +PrnArgType ::= SEQUENCE (SIZE(1..50)) OF + PrnArgData + +PrnArgData ::= SEQUENCE { + privateFeatureCode [1] PrivateFeatureCode OPTIONAL, + ..., + extraNetworkInfo [2] ExtraSignalInfo OPTIONAL } + +UlArgType ::= SEQUENCE (SIZE(1..50)) OF + UlArgData + +UlArgData ::= SEQUENCE { + privateFeatureCode [1] PrivateFeatureCode OPTIONAL, + privateFeatureUlArgData PrivateFeatureUlArgData OPTIONAL, + ... } + +PrivateFeatureUlArgData ::= CHOICE { + adc [3] IMEI } + +ExtraProtocolId ::= INTEGER { q763 (1)} (1..20) + +ExtraSignalInfo ::= [PRIVATE 1] SEQUENCE { + protocolId ExtraProtocolId, + signalInfo SignalInfo } + +SaiArgType ::= SEQUENCE { + msisdn [1] NULL OPTIONAL, + noAuthenVectorsRequested [2] NULL OPTIONAL + } + +SaiResType ::= SEQUENCE { + msIsdn [1] ISDN-AddressString OPTIONAL + } + +AtiArgType ::= SEQUENCE { + requestedInfoType [0] RequestedInfoType OPTIONAL + } + +AtiResType ::= SEQUENCE { + toBeDecided [1] NULL OPTIONAL + } + +RdArgType ::= SEQUENCE { + toBeDecidedOne [1] NULL OPTIONAL + } + +RequestedInfoType ::= SEQUENCE { + sgsnNumber [0] NULL OPTIONAL + } + +ExtAtiArgType ::= SEQUENCE (SIZE (1..50)) OF AtiArgData + +AtiArgData ::= SEQUENCE { + privateFeatureCode [1] PrivateFeatureCode OPTIONAL, + ...} + +PrivateFeatureCode ::= OCTET STRING (SIZE (1)) + +-- End of adding Private Extension for Ericsson + END diff --git a/epan/dissectors/asn1/gsm_map/Nokia.asn b/epan/dissectors/asn1/gsm_map/Nokia.asn index 75536232ab..032a72ac37 100644 --- a/epan/dissectors/asn1/gsm_map/Nokia.asn +++ b/epan/dissectors/asn1/gsm_map/Nokia.asn @@ -491,90 +491,6 @@ RoutingCategoryExt ::= [PRIVATE 0] SEQUENCE { extRoutingCategory [1] ExtRoutingCategory OPTIONAL, ... } -ExtensionType ::= CHOICE { - isdArgType [1] IsdArgType, - isdResType [2] IsdResType, - dsdArgType [3] DsdArgType, - sriArgType [4] SriArgType, - sriResType [5] SriResType, - prnArgType [6] PrnArgType, - ulArgType [7] UlArgType } - -IsdArgType ::= SEQUENCE (SIZE(1..50)) OF - IsdArgData - -IsdArgData ::= SEQUENCE { - privateFeatureCode [1] PrivateFeatureCode OPTIONAL, - privateFeatureData PrivateFeatureData OPTIONAL, - ...} - -PrivateFeatureCode ::= OCTET STRING (SIZE (1)) - -PrivateFeatureData ::= CHOICE { - oickInfo [7] OickInfo, - subscriptionTypeInfo [3] SubscriptionTypeInfo } - -OickInfo ::= SEQUENCE { - ss-Status Ext-SS-Status, - inCategoryKey INCategoryKey } - -INCategoryKey ::= TBCD-STRING (SIZE(1..3)) - -SubscriptionTypeInfo ::= SEQUENCE { - subscriptionType SubscriptionType } - -SubscriptionType ::= OCTET STRING (SIZE(1)) - -IsdResType ::= SEQUENCE (SIZE(1..50)) OF - IsdResData - -IsdResData ::= SEQUENCE { - supportedPrivateFeature [1] PrivateFeatureCode OPTIONAL, - ... } - -DsdArgType ::= SEQUENCE (SIZE (1..50)) OF - DsdArgData - -DsdArgData ::= SEQUENCE { - privateFeatureWithdraw PrivateFeatureCode } - -SriArgType ::= SEQUENCE (SIZE(1..50)) OF - SriArgData - -SriArgData ::= SEQUENCE { - privateFeatureCode [1] PrivateFeatureCode OPTIONAL, - extraNetworkInfo [2] ExtraSignalInfo OPTIONAL, - ... } - -SriResType ::= SEQUENCE (SIZE(1..50)) OF - SriResData - -SriResData ::= SEQUENCE { - privateFeatureCode [1] PrivateFeatureCode OPTIONAL, - inCategoryKey [2] INCategoryKey OPTIONAL, - subscriptionType [5] SubscriptionType OPTIONAL, - ... } - -PrnArgType ::= SEQUENCE (SIZE(1..50)) OF - PrnArgData - -PrnArgData ::= SEQUENCE { - privateFeatureCode [1] PrivateFeatureCode OPTIONAL, - ..., - extraNetworkInfo [2] ExtraSignalInfo OPTIONAL } - - -UlArgType ::= SEQUENCE (SIZE(1..50)) OF - UlArgData - -UlArgData ::= SEQUENCE { - privateFeatureCode [1] PrivateFeatureCode OPTIONAL, - privateFeatureUlArgData PrivateFeatureUlArgData OPTIONAL, - ... } - -PrivateFeatureUlArgData ::= CHOICE { - adc [3] IMEI } - SriForSMArgExt ::= [PRIVATE 0] SEQUENCE { cfuSMSCounter [0] CfuSMSCounter OPTIONAL, cfusmcfo [2] NULL OPTIONAL, diff --git a/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c b/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c index d7fed1efb2..d36a83d6a9 100644 --- a/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c +++ b/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c @@ -2113,6 +2113,14 @@ static int dissect_gsm_mapext_PlmnContainer(tvbuff_t *tvb, packet_info *pinfo, p return dissect_gsm_old_PlmnContainer(FALSE, tvb, 0, &asn1_ctx, tree, -1); } +static int dissect_gsm_map_ericsson_ext_ExtensionType(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) { + proto_tree *tree; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_gsm_map_ericsson_ExtensionType, NULL, "Ericsson Extension"); + return dissect_gsm_map_ericsson_ExtensionType(FALSE, tvb, 0, &asn1_ctx, tree, -1); +} + static int dissect_NokiaMAP_ext_SriResExtension(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) { proto_tree *tree; asn1_ctx_t asn1_ctx; @@ -2256,12 +2264,6 @@ static int dissect_NokiaMAP_ext_AnyTimeModArgExt(tvbuff_t *tvb, packet_info *pin return dissect_NokiaMAP_Extensions_AnyTimeModArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1); } -static int dissect_NokiaMAP_ext_ExtensionType(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - return dissect_NokiaMAP_Extensions_ExtensionType(FALSE, tvb, 0, &asn1_ctx, parent_tree, -1); -} - static int dissect_NokiaMAP_ext_AccessTypeExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); @@ -3013,11 +3015,11 @@ void proto_reg_handoff_gsm_map(void) { register_ber_oid_dissector("0.34.25",dissect_NokiaMAP_ext_RoutingCategoryExt,proto_gsm_map,"Nokia Routing Category Extension"); register_ber_oid_dissector("0.34.26",dissect_NokiaMAP_ext_AnyTimeModArgExt,proto_gsm_map,"Nokia AnyTimeMod Extension"); - register_ber_oid_dissector("1.2.826.0.1249.58.1.0",dissect_NokiaMAP_ext_ExtensionType,proto_gsm_map,"Nokia ExtensionType Extension"); - register_ber_oid_dissector("1.3.12.2.1107.3.66.1.1",dissect_NokiaMAP_ext_AccessTypeExt,proto_gsm_map,"Nokia AccessTypeExt Extension"); register_ber_oid_dissector("1.3.12.2.1107.3.66.1.3",dissect_NokiaMAP_ext_AccessSubscriptionListExt,proto_gsm_map,"Nokia AccessSubscriptionListExt Extension"); register_ber_oid_dissector("1.3.12.2.1107.3.66.1.6",dissect_NokiaMAP_ext_AllowedServiceData,proto_gsm_map,"Nokia AllowedServiceData Extension"); + + register_ber_oid_dissector("1.2.826.0.1249.58.1.0",dissect_gsm_map_ericsson_ext_ExtensionType,proto_gsm_map,"Ericsson ExtensionType Extension"); } else { range_foreach(ssn_range, range_delete_callback, NULL); |