diff options
author | Anders Broman <anders.broman@ericsson.com> | 2018-11-19 13:12:02 +0100 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2018-11-19 13:28:32 +0000 |
commit | c2d625a5426c9e8281e316f8fb36de286b572965 (patch) | |
tree | 7faf9984f75774720e40eb627f02035b218d75cd /epan/dissectors/asn1/ain | |
parent | bc12cdb1a83437f9b04c14ffb02108ab20cf2108 (diff) |
ain:Prettify Carrier and AMAslpID parameters.
Bug: 15285
Change-Id: I34fc67e2faa4c4e53834b257796b3f256239f27a
Reviewed-on: https://code.wireshark.org/review/30711
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/asn1/ain')
-rw-r--r-- | epan/dissectors/asn1/ain/AIN-Operations.asn | 42 | ||||
-rw-r--r-- | epan/dissectors/asn1/ain/AIN-Parameters.asn | 25 | ||||
-rw-r--r-- | epan/dissectors/asn1/ain/ain.cnf | 35 | ||||
-rw-r--r-- | epan/dissectors/asn1/ain/packet-ain-template.c | 63 |
4 files changed, 131 insertions, 34 deletions
diff --git a/epan/dissectors/asn1/ain/AIN-Operations.asn b/epan/dissectors/asn1/ain/AIN-Operations.asn index 6cd7384d77..f24c7a2f6d 100644 --- a/epan/dissectors/asn1/ain/AIN-Operations.asn +++ b/epan/dissectors/asn1/ain/AIN-Operations.asn @@ -737,7 +737,7 @@ CallInfoFromResourceArg ::= SEQUENCE { } CODE private: 25610 } - --Family Name is “Request / Notification” + --Family Name is “Request / Notification” TAnswerArg ::= SEQUENCE{ userID UserID, @@ -1086,7 +1086,7 @@ CallInfoFromResourceArg ::= SEQUENCE { aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL, aMABusinessCustomerID AMABusinessCustomerID OPTIONAL, aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL, - aMAslpID AMAslpID OPTIONAL, + aMAslpID [10] IMPLICIT AMAslpID, aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL, amp1 Amp1 OPTIONAL, amp2 Amp2 OPTIONAL, @@ -1127,7 +1127,7 @@ CallInfoFromResourceArg ::= SEQUENCE { aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL, aMABusinessCustomerID AMABusinessCustomerID OPTIONAL, aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL, - aMAslpID AMAslpID OPTIONAL, + aMAslpID [10] IMPLICIT AMAslpID OPTIONAL, aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL, amp1 Amp1 OPTIONAL, amp2 Amp2 OPTIONAL, @@ -1178,7 +1178,7 @@ CallInfoFromResourceArg ::= SEQUENCE { overflowBillingIndicator OverflowBillingIndicator OPTIONAL, aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL, aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL, - aMAslpID AMAslpID OPTIONAL, + aMAslpID [10] IMPLICIT AMAslpID OPTIONAL, aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL, amp1 Amp1 OPTIONAL, amp2 Amp2 OPTIONAL, @@ -1213,7 +1213,7 @@ CallInfoFromResourceArg ::= SEQUENCE { aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL, aMABusinessCustomerID AMABusinessCustomerID OPTIONAL, aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL, - aMAslpID AMAslpID OPTIONAL, + aMAslpID [10] IMPLICIT AMAslpID OPTIONAL, aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL, amp1 Amp1 OPTIONAL, amp2 Amp2 OPTIONAL, @@ -1241,7 +1241,7 @@ CallInfoFromResourceArg ::= SEQUENCE { aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL, aMABusinessCustomerID AMABusinessCustomerID OPTIONAL, aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL, - aMAslpID AMAslpID OPTIONAL, + aMAslpID [10] IMPLICIT AMAslpID OPTIONAL, aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL, amp1 Amp1 OPTIONAL, amp2 Amp2 OPTIONAL, @@ -1296,7 +1296,7 @@ CallInfoFromResourceArg ::= SEQUENCE { aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL, aMABusinessCustomerID AMABusinessCustomerID OPTIONAL, aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL, - aMAslpID AMAslpID OPTIONAL, + aMAslpID [10] IMPLICIT AMAslpID OPTIONAL, aMAserviceProviderID AMAServiceProviderID OPTIONAL, amp1 Amp1 OPTIONAL, amp2 Amp2 OPTIONAL, @@ -1322,7 +1322,7 @@ CallInfoFromResourceArg ::= SEQUENCE { aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL, aMABusinessCustomerID AMABusinessCustomerID OPTIONAL, aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL, - aMAslpID AMAslpID OPTIONAL, + aMAslpID [10] IMPLICIT AMAslpID OPTIONAL, aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL, amp1 Amp1 OPTIONAL, amp2 Amp2 OPTIONAL, @@ -1389,7 +1389,7 @@ CallInfoFromResourceArg ::= SEQUENCE { aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL, aMABusinessCustomerID AMABusinessCustomerID OPTIONAL, aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL, - aMAslpID AMAslpID OPTIONAL, + aMAslpID [10] IMPLICIT AMAslpID OPTIONAL, aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL, amp1 Amp1 OPTIONAL, amp2 Amp2 OPTIONAL, @@ -1430,7 +1430,7 @@ CallInfoFromResourceArg ::= SEQUENCE { aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL, aMABusinessCustomerID AMABusinessCustomerID OPTIONAL, aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL, - aMAslpID AMAslpID OPTIONAL, + aMAslpID [10] IMPLICIT AMAslpID OPTIONAL, aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL, serviceProviderID ServiceProviderID OPTIONAL, serviceContext ServiceContext OPTIONAL, @@ -1478,7 +1478,7 @@ CallInfoFromResourceArg ::= SEQUENCE { aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL, aMABusinessCustomerID AMABusinessCustomerID OPTIONAL, aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL, - aMAslpID AMAslpID OPTIONAL, + aMAslpID [10] IMPLICIT AMAslpID OPTIONAL, aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL, amp1 Amp1 OPTIONAL, amp2 Amp2 OPTIONAL, @@ -1534,7 +1534,7 @@ CallInfoFromResourceArg ::= SEQUENCE { aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL, aMABusinessCustomerID AMABusinessCustomerID OPTIONAL, aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL, - aMAslpID AMAslpID OPTIONAL, + aMAslpID [10] IMPLICIT AMAslpID OPTIONAL, aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL, amp1 Amp1 OPTIONAL, amp2 Amp2 OPTIONAL, @@ -1592,7 +1592,7 @@ CallInfoFromResourceArg ::= SEQUENCE { aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL, aMABusinessCustomerID AMABusinessCustomerID OPTIONAL, aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL, - aMAslpID AMAslpID OPTIONAL, + aMAslpID [10] IMPLICIT AMAslpID OPTIONAL, aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL, amp1 Amp1 OPTIONAL, amp2 Amp2 OPTIONAL, @@ -1695,7 +1695,7 @@ CallInfoFromResourceArg ::= SEQUENCE { ARGUMENT AcgOverflowArg CODE private: 26884 - --Family Name is “Network Management” + --Family Name is “Network Management” } AcgOverflowArg ::= SEQUENCE{ @@ -1714,7 +1714,7 @@ CallInfoFromResourceArg ::= SEQUENCE { ERRORS{ applicationError } CODE private: 26886 - --Family Name is “Network Management” + --Family Name is “Network Management” } ActivityTestArg ::= SEQUENCE{ @@ -1733,7 +1733,7 @@ CallInfoFromResourceArg ::= SEQUENCE { faultReport } CODE private: 26887 - --Family Name is “Information Revision” + --Family Name is “Information Revision” } CallTypeRequestArg ::= SEQUENCE{ @@ -1747,7 +1747,7 @@ CallInfoFromResourceArg ::= SEQUENCE { ControlRequestArg CODE private: 26885 - --Family Name is “Network Management” + --Family Name is “Network Management” } ControlRequestArg ::= SEQUENCE{ @@ -1770,7 +1770,7 @@ CallInfoFromResourceArg ::= SEQUENCE { ERRORS{ applicationError } CODE private: 26882 - --Family Name is “Network Management” + --Family Name is “Network Management” } EchoRequestArg ::= SEQUENCE{ @@ -1785,7 +1785,7 @@ CallInfoFromResourceArg ::= SEQUENCE { ERRORS{ applicationError } CODE private: 27649 - --Family Name is “AMA” + --Family Name is “AMA” } FurnishAMAInformationArg ::= SEQUENCE{ @@ -1904,7 +1904,7 @@ CallInfoFromResourceArg ::= SEQUENCE { failureReport } CODE private: 26626 - --Family Name is “Information Revision” + --Family Name is “Information Revision” } QueryRequestArg ::= SEQUENCE{ @@ -1997,7 +1997,7 @@ CallInfoFromResourceArg ::= SEQUENCE { amp2 Amp2 OPTIONAL, extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL, controlEncountered ControlEncountered OPTIONAL, - aMAslpID AMAslpID OPTIONAL + aMAslpID [10] IMPLICIT AMAslpID OPTIONAL } updateRequest OPERATION ::= { diff --git a/epan/dissectors/asn1/ain/AIN-Parameters.asn b/epan/dissectors/asn1/ain/AIN-Parameters.asn index e687cbafda..2174d37651 100644 --- a/epan/dissectors/asn1/ain/AIN-Parameters.asn +++ b/epan/dissectors/asn1/ain/AIN-Parameters.asn @@ -175,8 +175,8 @@ --a) the number of rings the switch should -- generate prior to forwarding a call; or --b) the number of minutes the switch should - -- wait to generate a “ping” ring for an MWI, - --i.e., number of minutes between “ping” rings. + -- wait to generate a “ping” ring for an MWI, + --i.e., number of minutes between “ping” rings. UpdateGroup3::= SEQUENCE{ service3 [1] IMPLICIT Service3, @@ -430,7 +430,8 @@ AMASequenceNumber ::= [89] IMPLICIT OCTET STRING(SIZE(2)) - AMAslpID ::= [10] IMPLICIT OCTET STRING(SIZE(5)) +-- AMAslpID ::= [10] IMPLICIT OCTET STRING(SIZE(5)) + AMAslpID ::= OCTET STRING(SIZE(5)) Amp1 ::= [11] IMPLICIT OCTET STRING(SIZE(6)) @@ -719,14 +720,14 @@ tNoAnswer(5), --always "0"* termResourceAvailable(6), -- * tAnswer(7), -- * - networkBusy(8), --always “0”* - oSuspended(9), --always “0” - oDisconnectCalled(10), --always “0” - oDisconnect(11), --always “0” - oAbandon(12), --always “0” - featureActivator(13), --always “0” - switchHookFlash(14), --always “0” - success(15), --always “0” + networkBusy(8), --always “0”* + oSuspended(9), --always “0” + oDisconnectCalled(10), --always “0” + oDisconnect(11), --always “0” + oAbandon(12), --always “0” + featureActivator(13), --always “0” + switchHookFlash(14), --always “0” + success(15), --always “0” tDisconnect(16), timeout(17), originationAttempt(18), @@ -830,7 +831,7 @@ alternateTrunkGroup AlternateTrunkGroup, aMAAlternateBillingNumber AMAAlternateBillingNumber, aMABusinessCustomerID AMABusinessCustomerID, - aMAslpID AMAslpID, + aMAslpID [10] IMPLICIT AMAslpID, amp1 Amp1, amp2 Amp2, answerIndicator AnswerIndicator, diff --git a/epan/dissectors/asn1/ain/ain.cnf b/epan/dissectors/asn1/ain/ain.cnf index e0d551c5b9..9d4c328e01 100644 --- a/epan/dissectors/asn1/ain/ain.cnf +++ b/epan/dissectors/asn1/ain/ain.cnf @@ -200,6 +200,41 @@ static const ain_err_t ain_err_tab[] = { digit_str = tvb_bcd_dig_to_wmem_packet_str(parameter_tvb, 2, tvb_reported_length_remaining(parameter_tvb,2), NULL, FALSE); proto_tree_add_string(subtree, hf_ain_bcd_digits, parameter_tvb, 2, -1, digit_str); +#.FN_BODY CarrierFormat VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb; + proto_tree *subtree; + const char *digit_str; + + %(DEFAULT_BODY)s + + if (!parameter_tvb) + return offset; + + subtree = proto_item_add_subtree(actx->created_item, ett_ain_carrierformat); + /* Carrier Selection */ + proto_tree_add_item(subtree, hf_ain_carrier_selection, parameter_tvb, 0, 1, ENC_BIG_ENDIAN); + /* Nature of Carrier Number of Digits (always 4 )*/ + proto_tree_add_item(subtree, hf_ain_nature_of_carrier, parameter_tvb, 1, 1, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_ain_nr_digits, parameter_tvb, 1, 1, ENC_BIG_ENDIAN); + + /* 2nd Digit 1st Digit .. */ + digit_str = tvb_bcd_dig_to_wmem_packet_str(parameter_tvb, 2, tvb_reported_length_remaining(parameter_tvb,2), NULL, FALSE); + proto_tree_add_string(subtree, hf_ain_carrier_bcd_digits, parameter_tvb, 2, -1, digit_str); + +#.FN_BODY AMAslpID VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb; + proto_tree *subtree; + const char *digit_str; + + %(DEFAULT_BODY)s + + if (!parameter_tvb) + return offset; + + subtree = proto_item_add_subtree(actx->created_item, ett_ain_amaslpid); + + digit_str = tvb_bcd_dig_to_wmem_packet_str(parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), NULL, FALSE); + proto_tree_add_string(subtree, hf_ain_amaslpid, parameter_tvb, 0, -1, digit_str); #.END diff --git a/epan/dissectors/asn1/ain/packet-ain-template.c b/epan/dissectors/asn1/ain/packet-ain-template.c index 3721e1314a..cf64e68a5f 100644 --- a/epan/dissectors/asn1/ain/packet-ain-template.c +++ b/epan/dissectors/asn1/ain/packet-ain-template.c @@ -53,12 +53,19 @@ static int hf_ain_odd_even_indicator = -1; static int hf_ain_nature_of_address = -1; static int hf_ain_numbering_plan = -1; static int hf_ain_bcd_digits = -1; +static int hf_ain_carrier_selection = -1; +static int hf_ain_nature_of_carrier = -1; +static int hf_ain_nr_digits = -1; +static int hf_ain_carrier_bcd_digits = -1; +static int hf_ain_amaslpid = -1; #include "packet-ain-hf.c" /* Initialize the subtree pointers */ static int ett_ain = -1; static int ett_ain_digits = -1; +static int ett_ain_carrierformat = -1; +static int ett_ain_amaslpid = -1; #include "packet-ain-ett.c" @@ -82,6 +89,38 @@ static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_); static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx); +static const value_string ain_np_vals[] = { + { 0, "Unknown or not applicable"}, + { 1, "ISDN Numbering Plan (ITU Rec. E.164)"}, + { 2, "Telephony Numbering (ITU-T Rec. E.164,E.163)"}, + { 3, "Data Numbering (ITU-T Rec. X.121)"}, + { 4, "Telex Numbering (ITU-T Rec. F.69)"}, + { 5, "Maritime Mobile Numbering"}, + { 6, "Land Mobile Numbering (ITU-T Rec. E.212)"}, + { 7, "Private Numbering Plan"}, + { 0, NULL } +}; + +static const value_string ain_carrier_selection_vals[] = { + { 0, "No indication"}, + { 1, "Selected carrier identification code presubscribed and not input by calling party"}, + { 2, "Selected carrier identification code presubscribed and input by calling party"}, + { 3, "Selected carrier identification code presubscribed, no indication of whether input by calling party"}, + { 4, "Selected carrier identification code not presubscribed and input by calling party"}, + { 0, NULL } +}; + +static const value_string ain_nature_of_carrier_vals[] = { + { 0, "No NOC Provided"}, + { 1, "local"}, + { 2, "intraLATA toll"}, + { 3, "interLATA"}, + { 4, "local, intraLATA toll and interLATA"}, + { 5, "local and intraLATA toll"}, + { 6, "intraLATA toll and interLATA"}, + { 0, NULL } +}; + #include "packet-ain-table.c" #include "packet-ain-fn.c" @@ -176,12 +215,32 @@ void proto_register_ain(void) { NULL, HFILL } }, { &hf_ain_numbering_plan, { "Numbering plan", "ain.numbering_plan", - FT_UINT8, BASE_DEC, NULL, 0x70, + FT_UINT8, BASE_DEC, VALS(ain_np_vals), 0x70, NULL, HFILL } }, { &hf_ain_bcd_digits, { "BCD digits", "ain.bcd_digits", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, + { &hf_ain_carrier_selection, + { "Carrier Selection", "ain.carrier_selection", + FT_UINT8, BASE_DEC, VALS(ain_carrier_selection_vals), 0x0, + NULL, HFILL } }, + { &hf_ain_nature_of_carrier, + { "Nature of Carrier", "ain.nature_of_carrier", + FT_UINT8, BASE_DEC, VALS(ain_nature_of_carrier_vals), 0xf0, + NULL, HFILL } }, + { &hf_ain_nr_digits, + { "Number of Digits", "ain.nature_of_carrier", + FT_UINT8, BASE_DEC, NULL, 0x0f, + NULL, HFILL } }, + { &hf_ain_carrier_bcd_digits, + { "Carrier digits", "ain.carrier_bcd_digits", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL } }, + { &hf_ain_amaslpid, + { "AMAslpID", "ain.amaslpid", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL } }, #include "packet-ain-hfarr.c" }; @@ -190,6 +249,8 @@ void proto_register_ain(void) { static gint *ett[] = { &ett_ain, &ett_ain_digits, + &ett_ain_carrierformat, + &ett_ain_amaslpid, #include "packet-ain-ettarr.c" }; |