diff options
author | wmeier <wmeier@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-03-15 15:40:55 +0000 |
---|---|---|
committer | wmeier <wmeier@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-03-15 15:40:55 +0000 |
commit | 46573f40bd5e59c0865b1deb11ea73feb2315288 (patch) | |
tree | 52ba83d1b1670d0f711b1c550f0d4680766edf8c /epan/dissectors/packet-ansi_map.c | |
parent | 99627dcb06274e609188ac55ffa39040554e392c (diff) |
As suggested by Jakub Zawadzki: g_free() is NULL safe, so we don't need check against it.
Also (from me): Clean up spacing
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@27727 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-ansi_map.c')
-rw-r--r-- | epan/dissectors/packet-ansi_map.c | 6653 |
1 files changed, 3324 insertions, 3329 deletions
diff --git a/epan/dissectors/packet-ansi_map.c b/epan/dissectors/packet-ansi_map.c index a9366fec34..b1f3968cc6 100644 --- a/epan/dissectors/packet-ansi_map.c +++ b/epan/dissectors/packet-ansi_map.c @@ -37,58 +37,58 @@ * * Credit to Tomas Kukosa for developing the asn2wrs compiler. * - * Title 3GPP2 Other + * Title 3GPP2 Other * * Cellular Radiotelecommunications Intersystem Operations - * 3GPP2 N.S0005-0 v 1.0 ANSI/TIA/EIA-41-D + * 3GPP2 N.S0005-0 v 1.0 ANSI/TIA/EIA-41-D * * Network Support for MDN-Based Message Centers - * 3GPP2 N.S0024-0 v1.0 IS-841 + * 3GPP2 N.S0024-0 v1.0 IS-841 * * Enhanced International Calling - * 3GPP2 N.S0027 IS-875 + * 3GPP2 N.S0027 IS-875 * * ANSI-41-D Miscellaneous Enhancements Revision 0 - * 3GPP2 N.S0015 PN-3590 (ANSI-41-E) + * 3GPP2 N.S0015 PN-3590 (ANSI-41-E) * * Authentication Enhancements - * 3GPP2 N.S0014-0 v1.0 IS-778 + * 3GPP2 N.S0014-0 v1.0 IS-778 * * Features In CDMA - * 3GPP2 N.S0010-0 v1.0 IS-735 + * 3GPP2 N.S0010-0 v1.0 IS-735 * * OTASP and OTAPA - * 3GPP2 N.S0011-0 v1.0 IS-725-A + * 3GPP2 N.S0011-0 v1.0 IS-725-A * * Circuit Mode Services - * 3GPP2 N.S0008-0 v1.0 IS-737 - * XXX SecondInterMSCCircuitID not implemented, parameter ID conflicts with ISLP Information! + * 3GPP2 N.S0008-0 v1.0 IS-737 + * XXX SecondInterMSCCircuitID not implemented, parameter ID conflicts with ISLP Information! * * IMSI - * 3GPP2 N.S0009-0 v1.0 IS-751 + * 3GPP2 N.S0009-0 v1.0 IS-751 * * WIN Phase 1 - * 3GPP2 N.S0013-0 v1.0 IS-771 + * 3GPP2 N.S0013-0 v1.0 IS-771 * - * DCCH (Clarification of Audit Order with Forced + * DCCH (Clarification of Audit Order with Forced * Re-Registration in pre-TIA/EIA-136-A Implementation - * 3GPP2 A.S0017-B IS-730 + * 3GPP2 A.S0017-B IS-730 * * UIM - * 3GPP2 N.S0003 + * 3GPP2 N.S0003 * * WIN Phase 2 - * 3GPP2 N.S0004-0 v1.0 IS-848 + * 3GPP2 N.S0004-0 v1.0 IS-848 * * TIA/EIA-41-D Pre-Paid Charging - * 3GPP2 N.S0018-0 v1.0 IS-826 + * 3GPP2 N.S0018-0 v1.0 IS-826 * * User Selective Call Forwarding - * 3GPP2 N.S0021-0 v1.0 IS-838 + * 3GPP2 N.S0021-0 v1.0 IS-838 * * * Answer Hold - * 3GPP2 N.S0022-0 v1.0 IS-837 + * 3GPP2 N.S0022-0 v1.0 IS-837 * */ @@ -116,7 +116,7 @@ #define PSNAME "ANSI MAP" #define PFNAME "ansi_map" -/* Preferenc settings default */ +/* Preference settings default */ #define MAX_SSN 254 static range_t *global_ssn_range; @@ -1140,8 +1140,8 @@ static guint8 ServiceIndicator; struct ansi_map_invokedata_t { - guint32 opcode; - guint8 ServiceIndicator; + guint32 opcode; + guint8 ServiceIndicator; }; static void dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_); @@ -1153,184 +1153,180 @@ static GHashTable *TransactionId_table=NULL; static void TransactionId_table_cleanup(gpointer key , gpointer value, gpointer user_data _U_){ - struct ansi_map_invokedata_t *ansi_map_saved_invokedata = value; - gchar *TransactionId_str = key; + struct ansi_map_invokedata_t *ansi_map_saved_invokedata = value; + gchar *TransactionId_str = key; - if ( TransactionId_str ){ - g_free(TransactionId_str); - } - if (ansi_map_saved_invokedata){ - g_free(ansi_map_saved_invokedata); - } + g_free(TransactionId_str); + g_free(ansi_map_saved_invokedata); } void ansi_map_init_transaction_table(void){ - /* Destroy any existing memory chunks / hashes. */ - if (TransactionId_table){ - g_hash_table_foreach(TransactionId_table, TransactionId_table_cleanup, NULL); - g_hash_table_destroy(TransactionId_table); - } + /* Destroy any existing memory chunks / hashes. */ + if (TransactionId_table){ + g_hash_table_foreach(TransactionId_table, TransactionId_table_cleanup, NULL); + g_hash_table_destroy(TransactionId_table); + } - TransactionId_table = g_hash_table_new(g_str_hash, g_str_equal); + TransactionId_table = g_hash_table_new(g_str_hash, g_str_equal); } static void ansi_map_init_protocol(void) { - ansi_map_init_transaction_table(); + ansi_map_init_transaction_table(); } /* Store Invoke information needed for the corresponding reply */ static void update_saved_invokedata(packet_info *pinfo, proto_tree *tree _U_, tvbuff_t *tvb _U_){ - struct ansi_map_invokedata_t *ansi_map_saved_invokedata; - struct ansi_tcap_private_t *p_private_tcap; - address* src = &(pinfo->src); - address* dst = &(pinfo->dst); - guint8 *src_str; - guint8 *dst_str; - char *buf; - - buf=ep_alloc(1024); - - src_str = address_to_str(src); - dst_str = address_to_str(dst); - - /* Data from the TCAP dissector */ - if (pinfo->private_data != NULL){ - p_private_tcap=pinfo->private_data; - if ((!pinfo->fd->flags.visited)&&(p_private_tcap->TransactionID_str)){ - /* Only do this once XXX I hope its the right thing to do */ - /* The hash string needs to contain src and dest to distiguish differnt flows */ - g_snprintf(buf,1024,"%s%s%s",p_private_tcap->TransactionID_str,src_str,dst_str); - /* If the entry allready exists don't owervrite it */ - ansi_map_saved_invokedata = g_hash_table_lookup(TransactionId_table,buf); - if(ansi_map_saved_invokedata) - return; - - ansi_map_saved_invokedata = g_malloc(sizeof(struct ansi_map_invokedata_t)); - ansi_map_saved_invokedata->opcode = p_private_tcap->d.OperationCode_private; - ansi_map_saved_invokedata->ServiceIndicator = ServiceIndicator; - - g_hash_table_insert(TransactionId_table, - g_strdup(buf), - ansi_map_saved_invokedata); - /* - g_warning("Invoke Hash string %s",buf); - */ - } - } + struct ansi_map_invokedata_t *ansi_map_saved_invokedata; + struct ansi_tcap_private_t *p_private_tcap; + address* src = &(pinfo->src); + address* dst = &(pinfo->dst); + guint8 *src_str; + guint8 *dst_str; + char *buf; + + buf=ep_alloc(1024); + + src_str = address_to_str(src); + dst_str = address_to_str(dst); + + /* Data from the TCAP dissector */ + if (pinfo->private_data != NULL){ + p_private_tcap=pinfo->private_data; + if ((!pinfo->fd->flags.visited)&&(p_private_tcap->TransactionID_str)){ + /* Only do this once XXX I hope its the right thing to do */ + /* The hash string needs to contain src and dest to distiguish differnt flows */ + g_snprintf(buf,1024,"%s%s%s",p_private_tcap->TransactionID_str,src_str,dst_str); + /* If the entry allready exists don't owervrite it */ + ansi_map_saved_invokedata = g_hash_table_lookup(TransactionId_table,buf); + if(ansi_map_saved_invokedata) + return; + + ansi_map_saved_invokedata = g_malloc(sizeof(struct ansi_map_invokedata_t)); + ansi_map_saved_invokedata->opcode = p_private_tcap->d.OperationCode_private; + ansi_map_saved_invokedata->ServiceIndicator = ServiceIndicator; + + g_hash_table_insert(TransactionId_table, + g_strdup(buf), + ansi_map_saved_invokedata); + /* + g_warning("Invoke Hash string %s",buf); + */ + } + } } /* value strings */ const value_string ansi_map_opr_code_strings[] = { - { 1, "Handoff Measurement Request" }, - { 2, "Facilities Directive" }, - { 3, "Mobile On Channel" }, - { 4, "Handoff Back" }, - { 5, "Facilities Release" }, - { 6, "Qualification Request" }, - { 7, "Qualification Directive" }, - { 8, "Blocking" }, - { 9, "Unblocking" }, - { 10, "Reset Circuit" }, - { 11, "Trunk Test" }, - { 12, "Trunk Test Disconnect" }, - { 13, "Registration Notification" }, - { 14, "Registration Cancellation" }, - { 15, "Location Request" }, - { 16, "Routing Request" }, - { 17, "Feature Request" }, - { 18, "Reserved 18 (Service Profile Request, IS-41-C)" }, - { 19, "Reserved 19 (Service Profile Directive, IS-41-C)" }, - { 20, "Unreliable Roamer Data Directive" }, - { 21, "Reserved 21 (Call Data Request, IS-41-C)" }, - { 22, "MS Inactive" }, - { 23, "Transfer To Number Request" }, - { 24, "Redirection Request" }, - { 25, "Handoff To Third" }, - { 26, "Flash Request" }, - { 27, "Authentication Directive" }, - { 28, "Authentication Request" }, - { 29, "Base Station Challenge" }, - { 30, "Authentication Failure Report" }, - { 31, "Count Request" }, - { 32, "Inter System Page" }, - { 33, "Unsolicited Response" }, - { 34, "Bulk Deregistration" }, - { 35, "Handoff Measurement Request 2" }, - { 36, "Facilities Directive 2" }, - { 37, "Handoff Back 2" }, - { 38, "Handoff To Third 2" }, - { 39, "Authentication Directive Forward" }, - { 40, "Authentication Status Report" }, - { 41, "Reserved 41" }, - { 42, "Information Directive" }, - { 43, "Information Forward" }, - { 44, "Inter System Answer" }, - { 45, "Inter System Page 2" }, - { 46, "Inter System Setup" }, - { 47, "Origination Request" }, - { 48, "Random Variable Request" }, - { 49, "Redirection Directive" }, - { 50, "Remote User Interaction Directive" }, - { 51, "SMS Delivery Backward" }, - { 52, "SMS Delivery Forward" }, - { 53, "SMS Delivery Point to Point" }, - { 54, "SMS Notification" }, - { 55, "SMS Request" }, - { 56, "OTASP Request" }, - { 57, "Information Backward" }, - { 58, "Change Facilities" }, - { 59, "Change Service" }, - { 60, "Parameter Request" }, - { 61, "TMSI Directive" }, - { 62, "NumberPortabilityRequest" }, - { 63, "Service Request" }, - { 64, "Analyzed Information Request" }, - { 65, "Connection Failure Report" }, - { 66, "Connect Resource" }, - { 67, "Disconnect Resource" }, - { 68, "Facility Selected and Available" }, - { 69, "Instruction Request" }, - { 70, "Modify" }, - { 71, "Reset Timer" }, - { 72, "Search" }, - { 73, "Seize Resource" }, - { 74, "SRF Directive" }, - { 75, "T Busy" }, - { 76, "T NoAnswer" }, - { 77, "Release" }, - { 78, "SMS Delivery Point to Point Ack" }, - { 79, "Message Directive" }, - { 80, "Bulk Disconnection" }, - { 81, "Call Control Directive" }, - { 82, "O Answer" }, - { 83, "O Disconnect" }, - { 84, "Call Recovery Report" }, - { 85, "T Answer" }, - { 86, "T Disconnect" }, - { 87, "Unreliable Call Data" }, - { 88, "O CalledPartyBusy" }, - { 89, "O NoAnswer" }, - { 90, "Position Request" }, - { 91, "Position Request Forward" }, - { 92, "Call Termination Report" }, - { 93, "Geo Position Directive" }, - { 94, "Geo Position Request" }, - { 95, "Inter System Position Request" }, - { 96, "Inter System Position Request Forward" }, - { 97, "ACG Directive" }, - { 98, "Roamer Database Verification Request" }, - { 99, "Add Service" }, - { 100, "Drop Service" }, - { 102, "LCSParameterRequest" }, - { 106, "PositionEventNotification" }, - { 0, NULL }, + { 1, "Handoff Measurement Request" }, + { 2, "Facilities Directive" }, + { 3, "Mobile On Channel" }, + { 4, "Handoff Back" }, + { 5, "Facilities Release" }, + { 6, "Qualification Request" }, + { 7, "Qualification Directive" }, + { 8, "Blocking" }, + { 9, "Unblocking" }, + { 10, "Reset Circuit" }, + { 11, "Trunk Test" }, + { 12, "Trunk Test Disconnect" }, + { 13, "Registration Notification" }, + { 14, "Registration Cancellation" }, + { 15, "Location Request" }, + { 16, "Routing Request" }, + { 17, "Feature Request" }, + { 18, "Reserved 18 (Service Profile Request, IS-41-C)" }, + { 19, "Reserved 19 (Service Profile Directive, IS-41-C)" }, + { 20, "Unreliable Roamer Data Directive" }, + { 21, "Reserved 21 (Call Data Request, IS-41-C)" }, + { 22, "MS Inactive" }, + { 23, "Transfer To Number Request" }, + { 24, "Redirection Request" }, + { 25, "Handoff To Third" }, + { 26, "Flash Request" }, + { 27, "Authentication Directive" }, + { 28, "Authentication Request" }, + { 29, "Base Station Challenge" }, + { 30, "Authentication Failure Report" }, + { 31, "Count Request" }, + { 32, "Inter System Page" }, + { 33, "Unsolicited Response" }, + { 34, "Bulk Deregistration" }, + { 35, "Handoff Measurement Request 2" }, + { 36, "Facilities Directive 2" }, + { 37, "Handoff Back 2" }, + { 38, "Handoff To Third 2" }, + { 39, "Authentication Directive Forward" }, + { 40, "Authentication Status Report" }, + { 41, "Reserved 41" }, + { 42, "Information Directive" }, + { 43, "Information Forward" }, + { 44, "Inter System Answer" }, + { 45, "Inter System Page 2" }, + { 46, "Inter System Setup" }, + { 47, "Origination Request" }, + { 48, "Random Variable Request" }, + { 49, "Redirection Directive" }, + { 50, "Remote User Interaction Directive" }, + { 51, "SMS Delivery Backward" }, + { 52, "SMS Delivery Forward" }, + { 53, "SMS Delivery Point to Point" }, + { 54, "SMS Notification" }, + { 55, "SMS Request" }, + { 56, "OTASP Request" }, + { 57, "Information Backward" }, + { 58, "Change Facilities" }, + { 59, "Change Service" }, + { 60, "Parameter Request" }, + { 61, "TMSI Directive" }, + { 62, "NumberPortabilityRequest" }, + { 63, "Service Request" }, + { 64, "Analyzed Information Request" }, + { 65, "Connection Failure Report" }, + { 66, "Connect Resource" }, + { 67, "Disconnect Resource" }, + { 68, "Facility Selected and Available" }, + { 69, "Instruction Request" }, + { 70, "Modify" }, + { 71, "Reset Timer" }, + { 72, "Search" }, + { 73, "Seize Resource" }, + { 74, "SRF Directive" }, + { 75, "T Busy" }, + { 76, "T NoAnswer" }, + { 77, "Release" }, + { 78, "SMS Delivery Point to Point Ack" }, + { 79, "Message Directive" }, + { 80, "Bulk Disconnection" }, + { 81, "Call Control Directive" }, + { 82, "O Answer" }, + { 83, "O Disconnect" }, + { 84, "Call Recovery Report" }, + { 85, "T Answer" }, + { 86, "T Disconnect" }, + { 87, "Unreliable Call Data" }, + { 88, "O CalledPartyBusy" }, + { 89, "O NoAnswer" }, + { 90, "Position Request" }, + { 91, "Position Request Forward" }, + { 92, "Call Termination Report" }, + { 93, "Geo Position Directive" }, + { 94, "Geo Position Request" }, + { 95, "Inter System Position Request" }, + { 96, "Inter System Position Request Forward" }, + { 97, "ACG Directive" }, + { 98, "Roamer Database Verification Request" }, + { 99, "Add Service" }, + { 100, "Drop Service" }, + { 102, "LCSParameterRequest" }, + { 106, "PositionEventNotification" }, + { 0, NULL }, }; static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx); @@ -1360,77 +1356,77 @@ static dgt_set_t Dgt1_9_bcd = { static char* unpack_digits2(tvbuff_t *tvb, int offset,dgt_set_t *dgt){ - int length; - guint8 octet; - int i=0; - char *digit_str; + int length; + guint8 octet; + int i=0; + char *digit_str; - length = tvb_length(tvb); - if (length < offset) - return ""; - digit_str = ep_alloc((length - offset)*2+1); + length = tvb_length(tvb); + if (length < offset) + return ""; + digit_str = ep_alloc((length - offset)*2+1); - while ( offset < length ){ + while ( offset < length ){ - octet = tvb_get_guint8(tvb,offset); - digit_str[i] = dgt->out[octet & 0x0f]; - i++; + octet = tvb_get_guint8(tvb,offset); + digit_str[i] = dgt->out[octet & 0x0f]; + i++; - /* - * unpack second value in byte - */ - octet = octet >> 4; + /* + * unpack second value in byte + */ + octet = octet >> 4; - if (octet == 0x0f) /* odd number bytes - hit filler */ - break; + if (octet == 0x0f) /* odd number bytes - hit filler */ + break; - digit_str[i] = dgt->out[octet & 0x0f]; - i++; - offset++; + digit_str[i] = dgt->out[octet & 0x0f]; + i++; + offset++; - } - digit_str[i]= '\0'; - return digit_str; + } + digit_str[i]= '\0'; + return digit_str; } /* Type of Digits (octet 1, bits A-H) */ static const value_string ansi_map_type_of_digits_vals[] = { - { 0, "Not Used" }, - { 1, "Dialed Number or Called Party Number" }, - { 2, "Calling Party Number" }, - { 3, "Caller Interaction" }, - { 4, "Routing Number" }, - { 5, "Billing Number" }, - { 6, "Destination Number" }, - { 7, "LATA" }, - { 8, "Carrier" }, - { 0, NULL } + { 0, "Not Used" }, + { 1, "Dialed Number or Called Party Number" }, + { 2, "Calling Party Number" }, + { 3, "Caller Interaction" }, + { 4, "Routing Number" }, + { 5, "Billing Number" }, + { 6, "Destination Number" }, + { 7, "LATA" }, + { 8, "Carrier" }, + { 0, NULL } }; /* Nature of Number (octet 2, bits A-H )*/ static const true_false_string ansi_map_na_bool_val = { - "International", - "National" + "International", + "National" }; static const true_false_string ansi_map_pi_bool_val = { - "Presentation Restricted", - "Presentation Allowed" + "Presentation Restricted", + "Presentation Allowed" }; static const true_false_string ansi_map_navail_bool_val = { - "Number is not available", - "Number is available" + "Number is not available", + "Number is available" }; static const true_false_string ansi_map_si_bool_val = { - "User provided, screening passed", - "User provided, not screened" + "User provided, screening passed", + "User provided, not screened" }; static const value_string ansi_map_si_vals[] = { { 0, "User provided, not screened"}, { 1, "User provided, screening passed"}, { 2, "User provided, screening failed"}, { 3, "Network provided"}, - { 0, NULL } + { 0, NULL } }; /* Encoding (octet 3, bits A-D) */ static const value_string ansi_map_digits_enc_vals[] = { @@ -1438,7 +1434,7 @@ static const value_string ansi_map_digits_enc_vals[] = { { 1, "BCD"}, { 2, "IA5"}, { 3, "Octet string"}, - { 0, NULL } + { 0, NULL } }; /* Numbering Plan (octet 3, bits E-H) */ static const value_string ansi_map_np_vals[] = { @@ -1450,150 +1446,150 @@ static const value_string ansi_map_np_vals[] = { { 5, "Maritime Mobile Numbering"}, { 6, "Land Mobile Numbering (ITU-T Rec. E.212)"}, { 7, "Private Numbering Plan"}, - { 13, "SS7 Point Code (PC) and Subsystem Number (SSN)"}, - { 14, "Internet Protocol (IP) Address."}, - { 15, "Reserved for extension"}, - { 0, NULL } + { 13, "SS7 Point Code (PC) and Subsystem Number (SSN)"}, + { 14, "Internet Protocol (IP) Address."}, + { 15, "Reserved for extension"}, + { 0, NULL } }; static void dissect_ansi_map_min_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - char *digit_str; - int offset = 0; - - proto_tree *subtree; + char *digit_str; + int offset = 0; + + proto_tree *subtree; + + + subtree = proto_item_add_subtree(actx->created_item, ett_mintype); - - subtree = proto_item_add_subtree(actx->created_item, ett_mintype); - - digit_str = unpack_digits2(tvb, offset, &Dgt1_9_bcd); - proto_tree_add_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, digit_str); - proto_item_append_text(actx->created_item, " - %s", digit_str); + digit_str = unpack_digits2(tvb, offset, &Dgt1_9_bcd); + proto_tree_add_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, digit_str); + proto_item_append_text(actx->created_item, " - %s", digit_str); } static void dissect_ansi_map_digits_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - - guint8 octet , octet_len; - guint8 b1,b2,b3,b4; - int offset = 0; - char *digit_str; - - proto_tree *subtree; - - - subtree = proto_item_add_subtree(actx->created_item, ett_digitstype); - - /* Octet 1 */ - proto_tree_add_item(subtree, hf_ansi_map_type_of_digits, tvb, offset, 1, FALSE); - offset++; - /* Octet 2 */ - proto_tree_add_item(subtree, hf_ansi_map_reservedBitHG, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_si, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_reservedBitD, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_navail, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_pi, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_na, tvb, offset, 1, FALSE); - offset++; - /* Octet 3 */ - octet = tvb_get_guint8(tvb,offset); - proto_tree_add_item(subtree, hf_ansi_map_np, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_digits_enc, tvb, offset, 1, FALSE); - offset++; - /* Octet 4 - */ - switch(octet>>4){ - case 0:/* Unknown or not applicable */ - switch ((octet&0xf)){ - case 1: - /* BCD Coding */ - octet_len = tvb_get_guint8(tvb,offset); - proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, FALSE); - if(octet_len == 0) - return; - offset++; - digit_str = unpack_digits2(tvb, offset, &Dgt_tbcd); - proto_tree_add_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, digit_str); - proto_item_append_text(actx->created_item, " - %s", digit_str); - break; - case 2: - /* IA5 Coding */ - octet_len = tvb_get_guint8(tvb,offset); - proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, FALSE); - if(octet_len == 0) - return; - offset++; - proto_tree_add_item(subtree, hf_ansi_map_ia5_digits, tvb, offset, -1, FALSE); - proto_item_append_text(actx->created_item, " - %s", tvb_get_ephemeral_string(tvb,offset,tvb_length_remaining(tvb,offset))); - break; - case 3: - /* Octet string */ - break; - default: - break; - } - break; - case 1:/* ISDN Numbering (not used in this Standard). */ - case 3:/* Data Numbering (ITU-T Rec. X.121) (not used in this Standard). */ - case 4:/* Telex Numbering (ITU-T Rec. F.69) (not used in this Standard). */ - case 5:/* Maritime Mobile Numbering (not used in this Standard). */ - proto_tree_add_text(subtree, tvb, offset, -1, "This Number plan should not have been used"); - break; - case 2:/* Telephony Numbering (ITU-T Rec. E.164,E.163). */ - case 6:/* Land Mobile Numbering (ITU-T Rec. E.212) */ - case 7:/* Private Numbering Plan */ - octet_len = tvb_get_guint8(tvb,offset); - proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, FALSE); - if(octet_len == 0) - return; - offset++; - switch ((octet&0xf)){ - case 1: - /* BCD Coding */ - digit_str = unpack_digits2(tvb, offset, &Dgt_tbcd); - proto_tree_add_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, digit_str); - proto_item_append_text(actx->created_item, " - %s", digit_str); - break; - case 2: - /* IA5 Coding */ - proto_tree_add_item(subtree, hf_ansi_map_ia5_digits, tvb, offset, -1, FALSE); - proto_item_append_text(actx->created_item, " - %s", tvb_get_ephemeral_string(tvb,offset,tvb_length_remaining(tvb,offset))); - break; - case 3: - /* Octet string */ - break; - default: - break; - } - break; - case 13:/* ANSI SS7 Point Code (PC) and Subsystem Number (SSN). */ - switch ((octet&0xf)){ - case 3: - /* Octet string */ - /* Point Code Member Number octet 2 */ - b1 = tvb_get_guint8(tvb,offset); - offset++; - /* Point Code Cluster Number octet 3 */ - b2 = tvb_get_guint8(tvb,offset); - offset++; - /* Point Code Network Number octet 4 */ - b3 = tvb_get_guint8(tvb,offset); - offset++; - /* Subsystem Number (SSN) octet 5 */ - b4 = tvb_get_guint8(tvb,offset); - proto_tree_add_text(subtree, tvb, offset-3, 4 , "Point Code %u-%u-%u SSN %u", - b3, b2, b1, b4); - proto_item_append_text(actx->created_item, " - Point Code %u-%u-%u SSN %u", b3, b2, b1, b4); - break; - default: - break; - } - break; - case 14:/* Internet Protocol (IP) Address. */ - break; - default: - proto_tree_add_text(subtree, tvb, offset, -1, "This Number plan should not have been used"); - break; - } + + guint8 octet , octet_len; + guint8 b1,b2,b3,b4; + int offset = 0; + char *digit_str; + + proto_tree *subtree; + + + subtree = proto_item_add_subtree(actx->created_item, ett_digitstype); + + /* Octet 1 */ + proto_tree_add_item(subtree, hf_ansi_map_type_of_digits, tvb, offset, 1, FALSE); + offset++; + /* Octet 2 */ + proto_tree_add_item(subtree, hf_ansi_map_reservedBitHG, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_si, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_reservedBitD, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_navail, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_pi, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_na, tvb, offset, 1, FALSE); + offset++; + /* Octet 3 */ + octet = tvb_get_guint8(tvb,offset); + proto_tree_add_item(subtree, hf_ansi_map_np, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_digits_enc, tvb, offset, 1, FALSE); + offset++; + /* Octet 4 - */ + switch(octet>>4){ + case 0:/* Unknown or not applicable */ + switch ((octet&0xf)){ + case 1: + /* BCD Coding */ + octet_len = tvb_get_guint8(tvb,offset); + proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, FALSE); + if(octet_len == 0) + return; + offset++; + digit_str = unpack_digits2(tvb, offset, &Dgt_tbcd); + proto_tree_add_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, digit_str); + proto_item_append_text(actx->created_item, " - %s", digit_str); + break; + case 2: + /* IA5 Coding */ + octet_len = tvb_get_guint8(tvb,offset); + proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, FALSE); + if(octet_len == 0) + return; + offset++; + proto_tree_add_item(subtree, hf_ansi_map_ia5_digits, tvb, offset, -1, FALSE); + proto_item_append_text(actx->created_item, " - %s", tvb_get_ephemeral_string(tvb,offset,tvb_length_remaining(tvb,offset))); + break; + case 3: + /* Octet string */ + break; + default: + break; + } + break; + case 1:/* ISDN Numbering (not used in this Standard). */ + case 3:/* Data Numbering (ITU-T Rec. X.121) (not used in this Standard). */ + case 4:/* Telex Numbering (ITU-T Rec. F.69) (not used in this Standard). */ + case 5:/* Maritime Mobile Numbering (not used in this Standard). */ + proto_tree_add_text(subtree, tvb, offset, -1, "This Number plan should not have been used"); + break; + case 2:/* Telephony Numbering (ITU-T Rec. E.164,E.163). */ + case 6:/* Land Mobile Numbering (ITU-T Rec. E.212) */ + case 7:/* Private Numbering Plan */ + octet_len = tvb_get_guint8(tvb,offset); + proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, FALSE); + if(octet_len == 0) + return; + offset++; + switch ((octet&0xf)){ + case 1: + /* BCD Coding */ + digit_str = unpack_digits2(tvb, offset, &Dgt_tbcd); + proto_tree_add_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, digit_str); + proto_item_append_text(actx->created_item, " - %s", digit_str); + break; + case 2: + /* IA5 Coding */ + proto_tree_add_item(subtree, hf_ansi_map_ia5_digits, tvb, offset, -1, FALSE); + proto_item_append_text(actx->created_item, " - %s", tvb_get_ephemeral_string(tvb,offset,tvb_length_remaining(tvb,offset))); + break; + case 3: + /* Octet string */ + break; + default: + break; + } + break; + case 13:/* ANSI SS7 Point Code (PC) and Subsystem Number (SSN). */ + switch ((octet&0xf)){ + case 3: + /* Octet string */ + /* Point Code Member Number octet 2 */ + b1 = tvb_get_guint8(tvb,offset); + offset++; + /* Point Code Cluster Number octet 3 */ + b2 = tvb_get_guint8(tvb,offset); + offset++; + /* Point Code Network Number octet 4 */ + b3 = tvb_get_guint8(tvb,offset); + offset++; + /* Subsystem Number (SSN) octet 5 */ + b4 = tvb_get_guint8(tvb,offset); + proto_tree_add_text(subtree, tvb, offset-3, 4 , "Point Code %u-%u-%u SSN %u", + b3, b2, b1, b4); + proto_item_append_text(actx->created_item, " - Point Code %u-%u-%u SSN %u", b3, b2, b1, b4); + break; + default: + break; + } + break; + case 14:/* Internet Protocol (IP) Address. */ + break; + default: + proto_tree_add_text(subtree, tvb, offset, -1, "This Number plan should not have been used"); + break; + } } /* 6.5.3.13. Subaddress */ @@ -1612,21 +1608,21 @@ static const value_string ansi_map_sub_addr_type_vals[] = { { 5, "Reserved"}, { 6, "Reserved"}, { 7, "Reserved"}, - { 0, NULL } + { 0, NULL } }; static void dissect_ansi_map_subaddress(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; + int offset = 0; + + proto_tree *subtree; + - - subtree = proto_item_add_subtree(actx->created_item, ett_billingid); - /* Type of Subaddress (octet 1, bits E-G) */ - proto_tree_add_item(subtree, hf_ansi_map_subaddr_type, tvb, offset, 1, FALSE); - /* Odd/Even Indicator (O/E) (octet 1, bit D) */ - proto_tree_add_item(subtree, hf_ansi_map_subaddr_odd_even, tvb, offset, 1, FALSE); + subtree = proto_item_add_subtree(actx->created_item, ett_billingid); + /* Type of Subaddress (octet 1, bits E-G) */ + proto_tree_add_item(subtree, hf_ansi_map_subaddr_type, tvb, offset, 1, FALSE); + /* Odd/Even Indicator (O/E) (octet 1, bit D) */ + proto_tree_add_item(subtree, hf_ansi_map_subaddr_odd_even, tvb, offset, 1, FALSE); } /* @@ -1646,222 +1642,221 @@ static const value_string ansi_map_ActionCode_vals[] = { { 7, "Disconnect all call legs"}, { 8, "Attach MSC to OTAF"}, { 9, "Initiate RegistrationNotification"}, - { 10, "Generate Public Encryption values"}, - { 11, "Generate A-key"}, - { 12, "Perform SSD Update procedure"}, - { 13, "Perform Re-authentication procedure"}, - { 14, "Release TRN"}, - { 15, "Commit A-key"}, - { 16, "Release Resources (e.g., A-key, Traffic Channel)"}, - { 17, "Record NEWMSID"}, - { 18, "Allocate Resources (e.g., Multiple message traffic channel delivery)."}, - { 19, "Generate Authentication Signature"}, - { 20, "Release leg and redirect subscriber"}, - { 21, "Do Not Wait For MS User Level Response"}, - { 22, "Prepare for CDMA Handset-Based Position Determination"}, - { 23, "CDMA Handset-Based Position Determination Complete"}, - { 0, NULL } + { 10, "Generate Public Encryption values"}, + { 11, "Generate A-key"}, + { 12, "Perform SSD Update procedure"}, + { 13, "Perform Re-authentication procedure"}, + { 14, "Release TRN"}, + { 15, "Commit A-key"}, + { 16, "Release Resources (e.g., A-key, Traffic Channel)"}, + { 17, "Record NEWMSID"}, + { 18, "Allocate Resources (e.g., Multiple message traffic channel delivery)."}, + { 19, "Generate Authentication Signature"}, + { 20, "Release leg and redirect subscriber"}, + { 21, "Do Not Wait For MS User Level Response"}, + { 22, "Prepare for CDMA Handset-Based Position Determination"}, + { 23, "CDMA Handset-Based Position Determination Complete"}, + { 0, NULL } }; /* 6.5.2.3 AlertCode */ /* Pitch (octet 1, bits G-H) */ static const value_string ansi_map_AlertCode_Pitch_vals[] = { - { 0, "Medium pitch"}, - { 1, "High pitch"}, - { 2, "Low pitch"}, - { 3, "Reserved"}, - { 0, NULL } + { 0, "Medium pitch"}, + { 1, "High pitch"}, + { 2, "Low pitch"}, + { 3, "Reserved"}, + { 0, NULL } }; /* Cadence (octet 1, bits A-F) */ static const value_string ansi_map_AlertCode_Cadence_vals[] = { - { 0, "NoTone"}, - { 1, "Long"}, - { 2, "ShortShort"}, - { 3, "ShortShortLong"}, - { 4, "ShortShort2"}, - { 5, "ShortLongShort"}, - { 6, "ShortShortShortShort"}, - { 7, "PBXLong"}, - { 8, "PBXShortShort"}, - { 9, "PBXShortShortLong"}, - { 0, "NoTone"}, - - { 10, "PBXShortLongShort"}, - { 11, "PBXShortShortShortShort"}, - { 12, "PipPipPipPip"}, - { 13, "Reserved. Treat the same as value 0, NoTone"}, - { 14, "Reserved. Treat the same as value 0, NoTone"}, - { 15, "Reserved. Treat the same as value 0, NoTone"}, - { 16, "Reserved. Treat the same as value 0, NoTone"}, - { 17, "Reserved. Treat the same as value 0, NoTone"}, - { 18, "Reserved. Treat the same as value 0, NoTone"}, - { 19, "Reserved. Treat the same as value 0, NoTone"}, - { 20, NULL } + { 0, "NoTone"}, + { 1, "Long"}, + { 2, "ShortShort"}, + { 3, "ShortShortLong"}, + { 4, "ShortShort2"}, + { 5, "ShortLongShort"}, + { 6, "ShortShortShortShort"}, + { 7, "PBXLong"}, + { 8, "PBXShortShort"}, + { 9, "PBXShortShortLong"}, + + { 10, "PBXShortLongShort"}, + { 11, "PBXShortShortShortShort"}, + { 12, "PipPipPipPip"}, + { 13, "Reserved. Treat the same as value 0, NoTone"}, + { 14, "Reserved. Treat the same as value 0, NoTone"}, + { 15, "Reserved. Treat the same as value 0, NoTone"}, + { 16, "Reserved. Treat the same as value 0, NoTone"}, + { 17, "Reserved. Treat the same as value 0, NoTone"}, + { 18, "Reserved. Treat the same as value 0, NoTone"}, + { 19, "Reserved. Treat the same as value 0, NoTone"}, + { 0, NULL } }; /* Alert Action (octet 2, bits A-C) */ static const value_string ansi_map_AlertCode_Alert_Action_vals[] = { - { 0, "Alert without waiting to report"}, - { 1, "Apply a reminder alert once"}, - { 2, "Other values reserved. Treat the same as value 0, Alert without waiting to report"}, - { 3, "Other values reserved. Treat the same as value 0, Alert without waiting to report"}, - { 4, "Other values reserved. Treat the same as value 0, Alert without waiting to report"}, - { 5, "Other values reserved. Treat the same as value 0, Alert without waiting to report"}, - { 6, "Other values reserved. Treat the same as value 0, Alert without waiting to report"}, - { 7, "Other values reserved. Treat the same as value 0, Alert without waiting to report"}, - { 0, NULL } + { 0, "Alert without waiting to report"}, + { 1, "Apply a reminder alert once"}, + { 2, "Other values reserved. Treat the same as value 0, Alert without waiting to report"}, + { 3, "Other values reserved. Treat the same as value 0, Alert without waiting to report"}, + { 4, "Other values reserved. Treat the same as value 0, Alert without waiting to report"}, + { 5, "Other values reserved. Treat the same as value 0, Alert without waiting to report"}, + { 6, "Other values reserved. Treat the same as value 0, Alert without waiting to report"}, + { 7, "Other values reserved. Treat the same as value 0, Alert without waiting to report"}, + { 0, NULL } }; static void dissect_ansi_map_alertcode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; + int offset = 0; + + proto_tree *subtree; + - - subtree = proto_item_add_subtree(actx->created_item, ett_billingid); - /* Pitch (octet 1, bits G-H) */ - proto_tree_add_item(subtree, hf_ansi_alertcode_pitch, tvb, offset, 1, FALSE); - /* Cadence (octet 1, bits A-F) */ - proto_tree_add_item(subtree, hf_ansi_alertcode_cadence, tvb, offset, 1, FALSE); - offset++; + subtree = proto_item_add_subtree(actx->created_item, ett_billingid); + /* Pitch (octet 1, bits G-H) */ + proto_tree_add_item(subtree, hf_ansi_alertcode_pitch, tvb, offset, 1, FALSE); + /* Cadence (octet 1, bits A-F) */ + proto_tree_add_item(subtree, hf_ansi_alertcode_cadence, tvb, offset, 1, FALSE); + offset++; - /* Alert Action (octet 2, bits A-C) */ - proto_tree_add_item(subtree, hf_ansi_alertcode_alertaction, tvb, offset, 1, FALSE); + /* Alert Action (octet 2, bits A-C) */ + proto_tree_add_item(subtree, hf_ansi_alertcode_alertaction, tvb, offset, 1, FALSE); } /* 6.5.2.4 AlertResult */ /* Result (octet 1) */ static const value_string ansi_map_AlertResult_result_vals[] = { - { 0, "Not specified"}, - { 1, "Success"}, - { 2, "Failure"}, - { 3, "Denied"}, - { 4, "NotAttempted"}, - { 5, "NoPageResponse"}, - { 6, "Busy"}, - { 0, NULL } + { 0, "Not specified"}, + { 1, "Success"}, + { 2, "Failure"}, + { 3, "Denied"}, + { 4, "NotAttempted"}, + { 5, "NoPageResponse"}, + { 6, "Busy"}, + { 0, NULL } }; /* 6.5.2.5 AnnouncementCode Updatef from NS0018Re*/ /* Tone (octet 1) */ static const value_string ansi_map_AnnouncementCode_tone_vals[] = { - { 0, "DialTone"}, - { 1, "RingBack or AudibleAlerting"}, - { 2, "InterceptTone or MobileReorder"}, - { 3, "CongestionTone or ReorderTone"}, - { 4, "BusyTone"}, - { 5, "ConfirmationTone"}, - { 6, "AnswerTone"}, - { 7, "CallWaitingTone"}, - { 8, "OffHookTone"}, - { 17, "RecallDialTone"}, - { 18, "BargeInTone"}, - { 20, "PPCInsufficientTone"}, - { 21, "PPCWarningTone1"}, - { 22, "PPCWarningTone2"}, - { 23, "PPCWarningTone3"}, - { 24, "PPCDisconnectTone"}, - { 25, "PPCRedirectTone"}, - { 63, "TonesOff"}, - { 192, "PipTone"}, - { 193, "AbbreviatedIntercept"}, - { 194, "AbbreviatedCongestion"}, - { 195, "WarningTone"}, - { 196, "DenialToneBurst"}, - { 197, "DialToneBurst"}, - { 250, "IncomingAdditionalCallTone"}, - { 251, "PriorityAdditionalCallTone"}, - { 0, NULL } + { 0, "DialTone"}, + { 1, "RingBack or AudibleAlerting"}, + { 2, "InterceptTone or MobileReorder"}, + { 3, "CongestionTone or ReorderTone"}, + { 4, "BusyTone"}, + { 5, "ConfirmationTone"}, + { 6, "AnswerTone"}, + { 7, "CallWaitingTone"}, + { 8, "OffHookTone"}, + { 17, "RecallDialTone"}, + { 18, "BargeInTone"}, + { 20, "PPCInsufficientTone"}, + { 21, "PPCWarningTone1"}, + { 22, "PPCWarningTone2"}, + { 23, "PPCWarningTone3"}, + { 24, "PPCDisconnectTone"}, + { 25, "PPCRedirectTone"}, + { 63, "TonesOff"}, + { 192, "PipTone"}, + { 193, "AbbreviatedIntercept"}, + { 194, "AbbreviatedCongestion"}, + { 195, "WarningTone"}, + { 196, "DenialToneBurst"}, + { 197, "DialToneBurst"}, + { 250, "IncomingAdditionalCallTone"}, + { 251, "PriorityAdditionalCallTone"}, + { 0, NULL } }; /* Class (octet 2, bits A-D) */ static const value_string ansi_map_AnnouncementCode_class_vals[] = { - { 0, "Concurrent"}, - { 1, "Sequential"}, - { 0, NULL } + { 0, "Concurrent"}, + { 1, "Sequential"}, + { 0, NULL } }; /* Standard Announcement (octet 3) Updated with N.S0015 */ static const value_string ansi_map_AnnouncementCode_std_ann_vals[] = { - { 0, "None"}, - { 1, "UnauthorizedUser"}, - { 2, "InvalidESN"}, - { 3, "UnauthorizedMobile"}, - { 4, "SuspendedOrigination"}, - { 5, "OriginationDenied"}, - { 6, "ServiceAreaDenial"}, - { 16, "PartialDial"}, - { 17, "Require1Plus"}, - { 18, "Require1PlusNPA"}, - { 19, "Require0Plus"}, - { 20, "Require0PlusNPA"}, - { 21, "Deny1Plus"}, - { 22, "Unsupported10plus"}, - { 23, "Deny10plus"}, - { 24, "Unsupported10XXX"}, - { 25, "Deny10XXX"}, - { 26, "Deny10XXXLocally"}, - { 27, "Require10Plus"}, - { 28, "RequireNPA"}, - { 29, "DenyTollOrigination"}, - { 30, "DenyInternationalOrigination"}, - { 31, "Deny0Minus"}, - { 48, "DenyNumber"}, - { 49, "AlternateOperatorServices"}, - { 64, "No Circuit or AllCircuitsBusy or FacilityProblem"}, - { 65, "Overload"}, - { 66, "InternalOfficeFailure"}, - { 67, "NoWinkReceived"}, - { 68, "InterofficeLinkFailure"}, - { 69, "Vacant"}, - { 70, "InvalidPrefix or InvalidAccessCode"}, - { 71, "OtherDialingIrregularity"}, - { 80, "VacantNumber or DisconnectedNumber"}, - { 81, "DenyTermination"}, - { 82, "SuspendedTermination"}, - { 83, "ChangedNumber"}, - { 84, "InaccessibleSubscriber"}, - { 85, "DenyIncomingTol"}, - { 86, "RoamerAccessScreening"}, - { 87, "RefuseCall"}, - { 88, "RedirectCall"}, - { 89, "NoPageResponse"}, - { 90, "NoAnswer"}, - { 96, "RoamerIntercept"}, - { 97, "GeneralInformation"}, - { 112, "UnrecognizedFeatureCode"}, - { 113, "UnauthorizedFeatureCode"}, - { 114, "RestrictedFeatureCode"}, - { 115, "InvalidModifierDigits"}, - { 116, "SuccessfulFeatureRegistration"}, - { 117, "SuccessfulFeatureDeRegistration"}, - { 118, "SuccessfulFeatureActivation"}, - { 119, "SuccessfulFeatureDeActivation"}, - { 120, "InvalidForwardToNumber"}, - { 121, "CourtesyCallWarning"}, - { 128, "EnterPINSendPrompt"}, - { 129, "EnterPINPrompt"}, - { 130, "ReEnterPINSendPrompt"}, - { 131, "ReEnterPINPrompt"}, - { 132, "EnterOldPINSendPrompt"}, - { 133, "EnterOldPINPrompt"}, - { 134, "EnterNewPINSendPrompt"}, - { 135, "EnterNewPINPrompt"}, - { 136, "ReEnterNewPINSendPrompt"}, - { 137, "ReEnterNewPINPrompt"}, - { 138, "EnterPasswordPrompt"}, - { 139, "EnterDirectoryNumberPrompt"}, - { 140, "ReEnterDirectoryNumberPrompt"}, - { 141, "EnterFeatureCodePrompt"}, - { 142, "EnterEnterCreditCardNumberPrompt"}, - { 143, "EnterDestinationNumberPrompt"}, - { 152, "PPCInsufficientAccountBalance"}, - { 153, "PPCFiveMinuteWarning"}, - { 154, "PPCThreeMinuteWarning"}, - { 155, "PPCTwoMinuteWarning"}, - { 156, "PPCOneMinuteWarning"}, - { 157, "PPCDisconnect"}, - { 158, "PPCRedirect"}, - { 0, NULL } + { 0, "None"}, + { 1, "UnauthorizedUser"}, + { 2, "InvalidESN"}, + { 3, "UnauthorizedMobile"}, + { 4, "SuspendedOrigination"}, + { 5, "OriginationDenied"}, + { 6, "ServiceAreaDenial"}, + { 16, "PartialDial"}, + { 17, "Require1Plus"}, + { 18, "Require1PlusNPA"}, + { 19, "Require0Plus"}, + { 20, "Require0PlusNPA"}, + { 21, "Deny1Plus"}, + { 22, "Unsupported10plus"}, + { 23, "Deny10plus"}, + { 24, "Unsupported10XXX"}, + { 25, "Deny10XXX"}, + { 26, "Deny10XXXLocally"}, + { 27, "Require10Plus"}, + { 28, "RequireNPA"}, + { 29, "DenyTollOrigination"}, + { 30, "DenyInternationalOrigination"}, + { 31, "Deny0Minus"}, + { 48, "DenyNumber"}, + { 49, "AlternateOperatorServices"}, + { 64, "No Circuit or AllCircuitsBusy or FacilityProblem"}, + { 65, "Overload"}, + { 66, "InternalOfficeFailure"}, + { 67, "NoWinkReceived"}, + { 68, "InterofficeLinkFailure"}, + { 69, "Vacant"}, + { 70, "InvalidPrefix or InvalidAccessCode"}, + { 71, "OtherDialingIrregularity"}, + { 80, "VacantNumber or DisconnectedNumber"}, + { 81, "DenyTermination"}, + { 82, "SuspendedTermination"}, + { 83, "ChangedNumber"}, + { 84, "InaccessibleSubscriber"}, + { 85, "DenyIncomingTol"}, + { 86, "RoamerAccessScreening"}, + { 87, "RefuseCall"}, + { 88, "RedirectCall"}, + { 89, "NoPageResponse"}, + { 90, "NoAnswer"}, + { 96, "RoamerIntercept"}, + { 97, "GeneralInformation"}, + { 112, "UnrecognizedFeatureCode"}, + { 113, "UnauthorizedFeatureCode"}, + { 114, "RestrictedFeatureCode"}, + { 115, "InvalidModifierDigits"}, + { 116, "SuccessfulFeatureRegistration"}, + { 117, "SuccessfulFeatureDeRegistration"}, + { 118, "SuccessfulFeatureActivation"}, + { 119, "SuccessfulFeatureDeActivation"}, + { 120, "InvalidForwardToNumber"}, + { 121, "CourtesyCallWarning"}, + { 128, "EnterPINSendPrompt"}, + { 129, "EnterPINPrompt"}, + { 130, "ReEnterPINSendPrompt"}, + { 131, "ReEnterPINPrompt"}, + { 132, "EnterOldPINSendPrompt"}, + { 133, "EnterOldPINPrompt"}, + { 134, "EnterNewPINSendPrompt"}, + { 135, "EnterNewPINPrompt"}, + { 136, "ReEnterNewPINSendPrompt"}, + { 137, "ReEnterNewPINPrompt"}, + { 138, "EnterPasswordPrompt"}, + { 139, "EnterDirectoryNumberPrompt"}, + { 140, "ReEnterDirectoryNumberPrompt"}, + { 141, "EnterFeatureCodePrompt"}, + { 142, "EnterEnterCreditCardNumberPrompt"}, + { 143, "EnterDestinationNumberPrompt"}, + { 152, "PPCInsufficientAccountBalance"}, + { 153, "PPCFiveMinuteWarning"}, + { 154, "PPCThreeMinuteWarning"}, + { 155, "PPCTwoMinuteWarning"}, + { 156, "PPCOneMinuteWarning"}, + { 157, "PPCDisconnect"}, + { 158, "PPCRedirect"}, + { 0, NULL } }; @@ -1869,52 +1864,52 @@ static const value_string ansi_map_AnnouncementCode_std_ann_vals[] = { static void dissect_ansi_map_announcementcode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; - - - subtree = proto_item_add_subtree(actx->created_item, ett_billingid); - - /* Tone (octet 1) */ - proto_tree_add_item(subtree, hf_ansi_map_announcementcode_tone, tvb, offset, 1, FALSE); - offset++; - /* Class (octet 2, bits A-D) */ - proto_tree_add_item(subtree, hf_ansi_map_announcementcode_class, tvb, offset, 1, FALSE); - offset++; - /* Standard Announcement (octet 3) */ - proto_tree_add_item(subtree, hf_ansi_map_announcementcode_std_ann, tvb, offset, 1, FALSE); - offset++; - /* Custom Announcement ( octet 4 ) - e. The assignment of this octet is left to bilateral agreement. When a Custom - Announcement is specified it takes precedence over either the Standard - Announcement or Tone - */ - proto_tree_add_item(subtree, hf_ansi_map_announcementcode_cust_ann, tvb, offset, 1, FALSE); + int offset = 0; + + proto_tree *subtree; + + + subtree = proto_item_add_subtree(actx->created_item, ett_billingid); + + /* Tone (octet 1) */ + proto_tree_add_item(subtree, hf_ansi_map_announcementcode_tone, tvb, offset, 1, FALSE); + offset++; + /* Class (octet 2, bits A-D) */ + proto_tree_add_item(subtree, hf_ansi_map_announcementcode_class, tvb, offset, 1, FALSE); + offset++; + /* Standard Announcement (octet 3) */ + proto_tree_add_item(subtree, hf_ansi_map_announcementcode_std_ann, tvb, offset, 1, FALSE); + offset++; + /* Custom Announcement ( octet 4 ) + e. The assignment of this octet is left to bilateral agreement. When a Custom + Announcement is specified it takes precedence over either the Standard + Announcement or Tone + */ + proto_tree_add_item(subtree, hf_ansi_map_announcementcode_cust_ann, tvb, offset, 1, FALSE); } /* 6.5.2.8 AuthenticationCapability Updated N.S0003*/ static const value_string ansi_map_AuthenticationCapability_vals[] = { - { 0, "Not used"}, - { 1, "No authentication required"}, - { 2, "Authentication required"}, - { 128, "Authentication required and UIM capable."}, - { 0, NULL } + { 0, "Not used"}, + { 1, "No authentication required"}, + { 2, "Authentication required"}, + { 128, "Authentication required and UIM capable."}, + { 0, NULL } }; /* 6.5.2.14 AuthorizationPeriod*/ /* Period (octet 1) */ static const value_string ansi_map_authorizationperiod_period_vals[] = { - { 0, "Not used"}, - { 1, "Per Call"}, - { 2, "Hours"}, - { 3, "Days"}, - { 4, "Weeks"}, - { 5, "Per Agreement"}, - { 6, "Indefinite (i.e., authorized until canceled or deregistered)"}, - { 7, "Number of calls. Re-authorization should be attempted after this number of (rejected) call attempts"}, - { 0, NULL } + { 0, "Not used"}, + { 1, "Per Call"}, + { 2, "Hours"}, + { 3, "Days"}, + { 4, "Weeks"}, + { 5, "Per Agreement"}, + { 6, "Indefinite (i.e., authorized until canceled or deregistered)"}, + { 7, "Number of calls. Re-authorization should be attempted after this number of (rejected) call attempts"}, + { 0, NULL } }; /* Value (octet 2) Number of minutes hours, days, weeks, or @@ -1925,143 +1920,143 @@ on sending and ignored on receipt. static void dissect_ansi_map_authorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; + int offset = 0; + + proto_tree *subtree; - - subtree = proto_item_add_subtree(actx->created_item, ett_billingid); - proto_tree_add_item(subtree, hf_ansi_map_authorizationperiod_period, tvb, offset, 1, FALSE); - offset++; - proto_tree_add_item(subtree, hf_ansi_map_value, tvb, offset, 1, FALSE); + + subtree = proto_item_add_subtree(actx->created_item, ett_billingid); + proto_tree_add_item(subtree, hf_ansi_map_authorizationperiod_period, tvb, offset, 1, FALSE); + offset++; + proto_tree_add_item(subtree, hf_ansi_map_value, tvb, offset, 1, FALSE); } /* 6.5.2.15 AvailabilityType */ static const value_string ansi_map_AvailabilityType_vals[] = { - { 0, "Not used"}, - { 1, "Unspecified MS inactivity type"}, - { 0, NULL } + { 0, "Not used"}, + { 1, "Unspecified MS inactivity type"}, + { 0, NULL } }; /* 6.5.2.16 BillingID */ static void dissect_ansi_map_billingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; + int offset = 0; + + proto_tree *subtree; + - - subtree = proto_item_add_subtree(actx->created_item, ett_billingid); + subtree = proto_item_add_subtree(actx->created_item, ett_billingid); - proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE); - offset = offset + 2; - proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE); - offset++; - /* ID Number */ - proto_tree_add_item(subtree, hf_ansi_map_idno, tvb, offset, 3, FALSE); - offset = offset + 3; - proto_tree_add_item(subtree, hf_ansi_map_segcount, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE); + offset = offset + 2; + proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE); + offset++; + /* ID Number */ + proto_tree_add_item(subtree, hf_ansi_map_idno, tvb, offset, 3, FALSE); + offset = offset + 3; + proto_tree_add_item(subtree, hf_ansi_map_segcount, tvb, offset, 1, FALSE); } /* 6.5.2.20 CallingFeaturesIndicator */ static const value_string ansi_map_FeatureActivity_vals[] = { - { 0, "Not used"}, - { 1, "Not authorized"}, - { 2, "Authorized but de-activated"}, - { 3, "Authorized and activated"}, - { 0, NULL } + { 0, "Not used"}, + { 1, "Not authorized"}, + { 2, "Authorized but de-activated"}, + { 3, "Authorized and activated"}, + { 0, NULL } }; static void dissect_ansi_map_callingfeaturesindicator(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - int length; - - proto_tree *subtree; - - length = tvb_length_remaining(tvb,offset); - - subtree = proto_item_add_subtree(actx->created_item, ett_mscid); - - /* Call Waiting: FeatureActivity, CW-FA (Octet 1 bits GH ) */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cwfa, tvb, offset, 1, FALSE); - /* Call Forwarding No Answer FeatureActivity, CFNA-FA (Octet 1 bits EF ) */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfnafa, tvb, offset, 1, FALSE); - /* Call Forwarding Busy FeatureActivity, CFB-FA (Octet 1 bits CD ) */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfbfa, tvb, offset, 1, FALSE); - /* Call Forwarding Unconditional FeatureActivity, CFU-FA (Octet 1 bits AB ) */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfufa, tvb, offset, 1, FALSE); - offset++; - length--; - - /* Call Transfer: FeatureActivity, CT-FA (Octet 2 bits GH ) */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ctfa, tvb, offset, 1, FALSE); - /* Voice Privacy FeatureActivity, VP-FA (Octet 2 bits EF ) */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_vpfa, tvb, offset, 1, FALSE); - /* Call Delivery: FeatureActivity (not interpreted on reception by IS-41-C or later) - CD-FA (Octet 2 bits CD ) */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cdfa, tvb, offset, 1, FALSE); - /* Three-Way Calling FeatureActivity, 3WC-FA (Octet 2 bits AB ) */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_3wcfa, tvb, offset, 1, FALSE); - offset++; - length--; - - - /* Calling Number Identification Restriction Override FeatureActivity CNIROver-FA (Octet 3 bits GH ) */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cniroverfa, tvb, offset, 1, FALSE); - /* Calling Number Identification Restriction: FeatureActivity CNIR-FA (Octet 3 bits EF ) */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnirfa, tvb, offset, 1, FALSE); - /* Calling Number Identification Presentation: FeatureActivity CNIP2-FA (Octet 3 bits CD ) */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnip2fa, tvb, offset, 1, FALSE); - /* Calling Number Identification Presentation: FeatureActivity CNIP1-FA (Octet 3 bits AB ) */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnip1fa, tvb, offset, 1, FALSE); - length--; - if ( length == 0) - return; - offset++; - - /* USCF divert to voice mail: FeatureActivity USCFvm-FA (Octet 4 bits GH ) */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfvmfa, tvb, offset, 1, FALSE); - /* Answer Hold: FeatureActivity AH-FA (Octet 4 bits EF ) N.S0029-0 v1.0 */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ahfa, tvb, offset, 1, FALSE); - /* Data Privacy Feature Activity DP-FA (Octet 4 bits CD ) N.S0008-0 v 1.0 */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_dpfa, tvb, offset, 1, FALSE); - /* Priority Call Waiting FeatureActivity PCW-FA (Octet 4 bits AB ) */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_pcwfa, tvb, offset, 1, FALSE); - length--; - if ( length == 0) - return; - offset++; - - /* USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA (Octet 5 bits AB ) */ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfmsfa, tvb, offset, 1, FALSE); - /* USCF divert to network registered DN:FeatureActivity. USCFnr-FA (Octet 5 bits CD )*/ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfnrfa, tvb, offset, 1, FALSE); - /* CDMA-Packet Data Service: FeatureActivity. CPDS-FA (Octet 5 bits EF ) N.S0029-0 v1.0*/ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cpdsfa, tvb, offset, 1, FALSE); - /* CDMA-Concurrent Service:FeatureActivity. CCS-FA (Octet 5 bits GH ) N.S0029-0 v1.0*/ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ccsfa, tvb, offset, 1, FALSE); - length--; - if ( length == 0) - return; - offset++; - - /* TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA (Octet 6 bits AB ) N.S0029-0 v1.0*/ - proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_epefa, tvb, offset, 1, FALSE); + int offset = 0; + int length; + + proto_tree *subtree; + + length = tvb_length_remaining(tvb,offset); + + subtree = proto_item_add_subtree(actx->created_item, ett_mscid); + + /* Call Waiting: FeatureActivity, CW-FA (Octet 1 bits GH ) */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cwfa, tvb, offset, 1, FALSE); + /* Call Forwarding No Answer FeatureActivity, CFNA-FA (Octet 1 bits EF ) */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfnafa, tvb, offset, 1, FALSE); + /* Call Forwarding Busy FeatureActivity, CFB-FA (Octet 1 bits CD ) */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfbfa, tvb, offset, 1, FALSE); + /* Call Forwarding Unconditional FeatureActivity, CFU-FA (Octet 1 bits AB ) */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfufa, tvb, offset, 1, FALSE); + offset++; + length--; + + /* Call Transfer: FeatureActivity, CT-FA (Octet 2 bits GH ) */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ctfa, tvb, offset, 1, FALSE); + /* Voice Privacy FeatureActivity, VP-FA (Octet 2 bits EF ) */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_vpfa, tvb, offset, 1, FALSE); + /* Call Delivery: FeatureActivity (not interpreted on reception by IS-41-C or later) + CD-FA (Octet 2 bits CD ) */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cdfa, tvb, offset, 1, FALSE); + /* Three-Way Calling FeatureActivity, 3WC-FA (Octet 2 bits AB ) */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_3wcfa, tvb, offset, 1, FALSE); + offset++; + length--; + + + /* Calling Number Identification Restriction Override FeatureActivity CNIROver-FA (Octet 3 bits GH ) */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cniroverfa, tvb, offset, 1, FALSE); + /* Calling Number Identification Restriction: FeatureActivity CNIR-FA (Octet 3 bits EF ) */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnirfa, tvb, offset, 1, FALSE); + /* Calling Number Identification Presentation: FeatureActivity CNIP2-FA (Octet 3 bits CD ) */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnip2fa, tvb, offset, 1, FALSE); + /* Calling Number Identification Presentation: FeatureActivity CNIP1-FA (Octet 3 bits AB ) */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnip1fa, tvb, offset, 1, FALSE); + length--; + if ( length == 0) + return; + offset++; + + /* USCF divert to voice mail: FeatureActivity USCFvm-FA (Octet 4 bits GH ) */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfvmfa, tvb, offset, 1, FALSE); + /* Answer Hold: FeatureActivity AH-FA (Octet 4 bits EF ) N.S0029-0 v1.0 */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ahfa, tvb, offset, 1, FALSE); + /* Data Privacy Feature Activity DP-FA (Octet 4 bits CD ) N.S0008-0 v 1.0 */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_dpfa, tvb, offset, 1, FALSE); + /* Priority Call Waiting FeatureActivity PCW-FA (Octet 4 bits AB ) */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_pcwfa, tvb, offset, 1, FALSE); + length--; + if ( length == 0) + return; + offset++; + + /* USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA (Octet 5 bits AB ) */ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfmsfa, tvb, offset, 1, FALSE); + /* USCF divert to network registered DN:FeatureActivity. USCFnr-FA (Octet 5 bits CD )*/ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfnrfa, tvb, offset, 1, FALSE); + /* CDMA-Packet Data Service: FeatureActivity. CPDS-FA (Octet 5 bits EF ) N.S0029-0 v1.0*/ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cpdsfa, tvb, offset, 1, FALSE); + /* CDMA-Concurrent Service:FeatureActivity. CCS-FA (Octet 5 bits GH ) N.S0029-0 v1.0*/ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ccsfa, tvb, offset, 1, FALSE); + length--; + if ( length == 0) + return; + offset++; + + /* TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA (Octet 6 bits AB ) N.S0029-0 v1.0*/ + proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_epefa, tvb, offset, 1, FALSE); } /* 6.5.2.27 CancellationType */ static const value_string ansi_map_CancellationType_vals[] = { - { 0, "Not used"}, - { 1, "ServingSystemOption"}, - { 2, "ReportInCall."}, - { 3, "Discontinue"}, - { 0, NULL } + { 0, "Not used"}, + { 1, "ServingSystemOption"}, + { 2, "ReportInCall."}, + { 3, "Discontinue"}, + { 0, NULL } }; /* 6.5.2.29 CDMACallMode Updated with N.S0029-0 v1.0*/ @@ -2072,164 +2067,164 @@ static const true_false_string ansi_map_CDMACallMode_cdma_bool_val = { }; /* Call Mode (octet 1, bit B) */ static const true_false_string ansi_map_CallMode_amps_bool_val = { - "AAMPS 800 MHz channel acceptable", - "AMPS 800 MHz channel not acceptable" + "AAMPS 800 MHz channel acceptable", + "AMPS 800 MHz channel not acceptable" }; /* Call Mode (octet 1, bit C) */ static const true_false_string ansi_map_CallMode_namps_bool_val = { - "NAMPS 800 MHz channel acceptable", - "NAMPS 800 MHz channel not acceptable" + "NAMPS 800 MHz channel acceptable", + "NAMPS 800 MHz channel not acceptable" }; /* Call Mode (octet 1, bit D) */ static const true_false_string ansi_map_CDMACallMode_cls1_bool_val = { - "CDMA 1900 MHz channel (Band Class 1) acceptable.", - "CDMA 1900 MHz channel (Band Class 1) not acceptable" + "CDMA 1900 MHz channel (Band Class 1) acceptable.", + "CDMA 1900 MHz channel (Band Class 1) not acceptable" }; /* Call Mode (octet 1, bit E) */ static const true_false_string ansi_map_CDMACallMode_cls2_bool_val = { - "TACS channel (Band Class 2) acceptable", - "TACS channel (Band Class 2) not acceptable" + "TACS channel (Band Class 2) acceptable", + "TACS channel (Band Class 2) not acceptable" }; /* Call Mode (octet 1, bit F) */ static const true_false_string ansi_map_CDMACallMode_cls3_bool_val = { - "JTACS channel (Band Class 3) acceptable", - "JTACS channel (Band Class 3) not acceptable" + "JTACS channel (Band Class 3) acceptable", + "JTACS channel (Band Class 3) not acceptable" }; /* Call Mode (octet 1, bit G) */ static const true_false_string ansi_map_CDMACallMode_cls4_bool_val = { - "Korean PCS channel (Band Class 4) acceptable", - "Korean PCS channel (Band Class 4) not acceptable" + "Korean PCS channel (Band Class 4) acceptable", + "Korean PCS channel (Band Class 4) not acceptable" }; /* Call Mode (octet 1, bit H) */ static const true_false_string ansi_map_CDMACallMode_cls5_bool_val = { - "450 MHz channel (Band Class 5) not acceptable", - "450 MHz channel (Band Class 5) not acceptable" + "450 MHz channel (Band Class 5) not acceptable", + "450 MHz channel (Band Class 5) not acceptable" }; /* Call Mode (octet 2, bit A) */ static const true_false_string ansi_map_CDMACallMode_cls6_bool_val = { - "2 GHz channel (Band Class 6) acceptable.", - "2 GHz channel (Band Class 6) not acceptable." + "2 GHz channel (Band Class 6) acceptable.", + "2 GHz channel (Band Class 6) not acceptable." }; /* Call Mode (octet 2, bit B) */ static const true_false_string ansi_map_CDMACallMode_cls7_bool_val = { - "700 MHz channel (Band Class 7) acceptable", - "700 MHz channel (Band Class 7) not acceptable" + "700 MHz channel (Band Class 7) acceptable", + "700 MHz channel (Band Class 7) not acceptable" }; /* Call Mode (octet 2, bit C) */ static const true_false_string ansi_map_CDMACallMode_cls8_bool_val = { - "1800 MHz channel (Band Class 8) acceptable", - "1800 MHz channel (Band Class 8) not acceptable" + "1800 MHz channel (Band Class 8) acceptable", + "1800 MHz channel (Band Class 8) not acceptable" }; /* Call Mode (octet 2, bit D) */ static const true_false_string ansi_map_CDMACallMode_cls9_bool_val = { - "900 MHz channel (Band Class 9) acceptable", - "900 MHz channel (Band Class 9) not acceptable" + "900 MHz channel (Band Class 9) acceptable", + "900 MHz channel (Band Class 9) not acceptable" }; /* Call Mode (octet 2, bit E) */ static const true_false_string ansi_map_CDMACallMode_cls10_bool_val = { - "Secondary 800 MHz channel (Band Class 10) acceptable.", - "Secondary 800 MHz channel (Band Class 10) not acceptable." + "Secondary 800 MHz channel (Band Class 10) acceptable.", + "Secondary 800 MHz channel (Band Class 10) not acceptable." }; static void dissect_ansi_map_cdmacallmode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - int length; - - proto_tree *subtree; - - length = tvb_length_remaining(tvb,offset); - - - subtree = proto_item_add_subtree(actx->created_item, ett_mscid); - /* Call Mode (octet 1, bit H) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls5, tvb, offset, 1, FALSE); - /* Call Mode (octet 1, bit G) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls4, tvb, offset, 1, FALSE); - /* Call Mode (octet 1, bit F) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls3, tvb, offset, 1, FALSE); - /* Call Mode (octet 1, bit E) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls2, tvb, offset, 1, FALSE); - /* Call Mode (octet 1, bit D) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls1, tvb, offset, 1, FALSE); - /* Call Mode (octet 1, bit C) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_namps, tvb, offset, 1, FALSE); - /* Call Mode (octet 1, bit B) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_amps, tvb, offset, 1, FALSE); - /* Call Mode (octet 1, bit A) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cdma, tvb, offset, 1, FALSE); - - length--; - if ( length == 0) - return; - offset++; - - /* Call Mode (octet 2, bit E) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls10, tvb, offset, 1, FALSE); - /* Call Mode (octet 2, bit D) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls9, tvb, offset, 1, FALSE); - /* Call Mode (octet 2, bit C) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls8, tvb, offset, 1, FALSE); - /* Call Mode (octet 2, bit B) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls7, tvb, offset, 1, FALSE); - /* Call Mode (octet 2, bit A) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls6, tvb, offset, 1, FALSE); + int offset = 0; + int length; + + proto_tree *subtree; + + length = tvb_length_remaining(tvb,offset); + + + subtree = proto_item_add_subtree(actx->created_item, ett_mscid); + /* Call Mode (octet 1, bit H) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls5, tvb, offset, 1, FALSE); + /* Call Mode (octet 1, bit G) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls4, tvb, offset, 1, FALSE); + /* Call Mode (octet 1, bit F) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls3, tvb, offset, 1, FALSE); + /* Call Mode (octet 1, bit E) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls2, tvb, offset, 1, FALSE); + /* Call Mode (octet 1, bit D) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls1, tvb, offset, 1, FALSE); + /* Call Mode (octet 1, bit C) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_namps, tvb, offset, 1, FALSE); + /* Call Mode (octet 1, bit B) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_amps, tvb, offset, 1, FALSE); + /* Call Mode (octet 1, bit A) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cdma, tvb, offset, 1, FALSE); + + length--; + if ( length == 0) + return; + offset++; + + /* Call Mode (octet 2, bit E) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls10, tvb, offset, 1, FALSE); + /* Call Mode (octet 2, bit D) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls9, tvb, offset, 1, FALSE); + /* Call Mode (octet 2, bit C) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls8, tvb, offset, 1, FALSE); + /* Call Mode (octet 2, bit B) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls7, tvb, offset, 1, FALSE); + /* Call Mode (octet 2, bit A) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls6, tvb, offset, 1, FALSE); } /* 6.5.2.30 CDMAChannelData */ /* Updated with N.S0010-0 v 1.0 */ static const value_string ansi_map_cdmachanneldata_band_cls_vals[] = { - { 0, "800 MHz Cellular System"}, - { 0, NULL } + { 0, "800 MHz Cellular System"}, + { 0, NULL } }; static void dissect_ansi_map_cdmachanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - int length; - - proto_tree *subtree; - - length = tvb_length_remaining(tvb,offset); - - - subtree = proto_item_add_subtree(actx->created_item, ett_cdmachanneldata); - - proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_Frame_Offset, tvb, offset, 1, FALSE); - /* CDMA Channel Number */ - proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_CDMA_ch_no, tvb, offset, 2, FALSE); - offset = offset + 2; - length = length -2; - /* Band Class */ - proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_band_cls, tvb, offset, 1, FALSE); - /* Long Code Mask */ - proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b6, tvb, offset, 1, FALSE); - offset++; - proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b5, tvb, offset, 1, FALSE); - offset++; - proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b4, tvb, offset, 1, FALSE); - offset++; - proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b3, tvb, offset, 1, FALSE); - offset++; - proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b2, tvb, offset, 1, FALSE); - offset++; - proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b1, tvb, offset, 1, FALSE); - length = length - 6; - if (length == 0) - return; - offset++; - /* NP_EXT */ - proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_np_ext, tvb, offset, 1, FALSE); - /* Nominal Power */ - proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_nominal_pwr, tvb, offset, 1, FALSE); - /* Number Preamble */ - proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_nr_preamble, tvb, offset, 1, FALSE); + int offset = 0; + int length; + + proto_tree *subtree; + + length = tvb_length_remaining(tvb,offset); + + + subtree = proto_item_add_subtree(actx->created_item, ett_cdmachanneldata); + + proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_Frame_Offset, tvb, offset, 1, FALSE); + /* CDMA Channel Number */ + proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_CDMA_ch_no, tvb, offset, 2, FALSE); + offset = offset + 2; + length = length -2; + /* Band Class */ + proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_band_cls, tvb, offset, 1, FALSE); + /* Long Code Mask */ + proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b6, tvb, offset, 1, FALSE); + offset++; + proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b5, tvb, offset, 1, FALSE); + offset++; + proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b4, tvb, offset, 1, FALSE); + offset++; + proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b3, tvb, offset, 1, FALSE); + offset++; + proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b2, tvb, offset, 1, FALSE); + offset++; + proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b1, tvb, offset, 1, FALSE); + length = length - 6; + if (length == 0) + return; + offset++; + /* NP_EXT */ + proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_np_ext, tvb, offset, 1, FALSE); + /* Nominal Power */ + proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_nominal_pwr, tvb, offset, 1, FALSE); + /* Number Preamble */ + proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_nr_preamble, tvb, offset, 1, FALSE); } /* 6.5.2.31 CDMACodeChannel */ @@ -2237,79 +2232,79 @@ dissect_ansi_map_cdmachanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tr /* 6.5.2.41 CDMAStationClassMark */ /* Power Class: (PC) (octet 1, bits A and B) */ static const value_string ansi_map_CDMAStationClassMark_pc_vals[] = { - { 0, "Class I"}, - { 1, "Class II"}, - { 2, "Class III"}, - { 3, "Reserved"}, - { 0, NULL } + { 0, "Class I"}, + { 1, "Class II"}, + { 2, "Class III"}, + { 3, "Reserved"}, + { 0, NULL } }; /* Analog Transmission: (DTX) (octet 1, bit C) */ static const true_false_string ansi_map_CDMAStationClassMark_dtx_bool_val = { - "Discontinuous", - "Continuous" + "Discontinuous", + "Continuous" }; /* Slotted Mode Indicator: (SMI) (octet 1, bit F) */ static const true_false_string ansi_map_CDMAStationClassMark_smi_bool_val = { - "Slotted capable", - "Slotted incapable" + "Slotted capable", + "Slotted incapable" }; /* Dual-mode Indicator(DMI) (octet 1, bit G) */ static const true_false_string ansi_map_CDMAStationClassMark_dmi_bool_val = { - "Dual-mode CDMA", - "CDMA only" + "Dual-mode CDMA", + "CDMA only" }; static void dissect_ansi_map_cdmastationclassmark(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; - - - subtree = proto_item_add_subtree(actx->created_item, ett_cdmastationclassmark); - - proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE); - /* Dual-mode Indicator(DMI) (octet 1, bit G) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_dmi, tvb, offset, 1, FALSE); - /* Slotted Mode Indicator: (SMI) (octet 1, bit F) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_smi, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_reservedBitED, tvb, offset, 1, FALSE); - /* Analog Transmission: (DTX) (octet 1, bit C) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_dtx, tvb, offset, 1, FALSE); - /* Power Class: (PC) (octet 1, bits A and B) */ - proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_pc, tvb, offset, 1, FALSE); + int offset = 0; + + proto_tree *subtree; + + + subtree = proto_item_add_subtree(actx->created_item, ett_cdmastationclassmark); + + proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE); + /* Dual-mode Indicator(DMI) (octet 1, bit G) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_dmi, tvb, offset, 1, FALSE); + /* Slotted Mode Indicator: (SMI) (octet 1, bit F) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_smi, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_reservedBitED, tvb, offset, 1, FALSE); + /* Analog Transmission: (DTX) (octet 1, bit C) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_dtx, tvb, offset, 1, FALSE); + /* Power Class: (PC) (octet 1, bits A and B) */ + proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_pc, tvb, offset, 1, FALSE); } /* 6.5.2.47 ChannelData */ /* Discontinuous Transmission Mode (DTX) (octet 1, bits E and D) */ static const value_string ansi_map_ChannelData_dtx_vals[] = { - { 0, "DTX disabled"}, - { 1, "Reserved. Treat the same as value 00, DTX disabled."}, - { 2, "DTX-low mode"}, - { 3, "DTX mode active or acceptable"}, - { 0, NULL } + { 0, "DTX disabled"}, + { 1, "Reserved. Treat the same as value 00, DTX disabled."}, + { 2, "DTX-low mode"}, + { 3, "DTX mode active or acceptable"}, + { 0, NULL } }; static void dissect_ansi_map_channeldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; + int offset = 0; + + proto_tree *subtree; - - subtree = proto_item_add_subtree(actx->created_item, ett_channeldata); - /* SAT Color Code (SCC) (octet 1, bits H and G) */ - proto_tree_add_item(subtree, hf_ansi_map_channeldata_scc, tvb, offset, 1, FALSE); - /* Discontinuous Transmission Mode (DTX) (octet 1, bits E and D) */ - proto_tree_add_item(subtree, hf_ansi_map_channeldata_dtx, tvb, offset, 1, FALSE); - /* Voice Mobile Attenuation Code (VMAC) (octet 1, bits A - C)*/ - proto_tree_add_item(subtree, hf_ansi_map_channeldata_vmac, tvb, offset, 1, FALSE); + subtree = proto_item_add_subtree(actx->created_item, ett_channeldata); - offset++; - /* Channel Number (CHNO) ( octet 2 and 3 ) */ - proto_tree_add_item(subtree, hf_ansi_map_channeldata_chno, tvb, offset, 2, FALSE); + /* SAT Color Code (SCC) (octet 1, bits H and G) */ + proto_tree_add_item(subtree, hf_ansi_map_channeldata_scc, tvb, offset, 1, FALSE); + /* Discontinuous Transmission Mode (DTX) (octet 1, bits E and D) */ + proto_tree_add_item(subtree, hf_ansi_map_channeldata_dtx, tvb, offset, 1, FALSE); + /* Voice Mobile Attenuation Code (VMAC) (octet 1, bits A - C)*/ + proto_tree_add_item(subtree, hf_ansi_map_channeldata_vmac, tvb, offset, 1, FALSE); + + offset++; + /* Channel Number (CHNO) ( octet 2 and 3 ) */ + proto_tree_add_item(subtree, hf_ansi_map_channeldata_chno, tvb, offset, 2, FALSE); } @@ -2318,24 +2313,24 @@ dissect_ansi_map_channeldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree * /* Voice Privacy (VP) Confidentiality Status (octet 1, bit A) */ static const true_false_string ansi_map_ConfidentialityModes_bool_val = { - "On", - "Off" + "On", + "Off" }; static void dissect_ansi_map_confidentialitymodes(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; + int offset = 0; + + proto_tree *subtree; + - - subtree = proto_item_add_subtree(actx->created_item, ett_confidentialitymodes); + subtree = proto_item_add_subtree(actx->created_item, ett_confidentialitymodes); - /* DataPrivacy (DP) Confidentiality Status (octet 1, bit C) */ - proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_dp, tvb, offset, 1, FALSE); - /* Signaling Message Encryption (SE) Confidentiality Status (octet 1, bit B) */ - proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_se, tvb, offset, 1, FALSE); - /* Voice Privacy (VP) Confidentiality Status (octet 1, bit A) */ - proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_vp, tvb, offset, 1, FALSE); + /* DataPrivacy (DP) Confidentiality Status (octet 1, bit C) */ + proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_dp, tvb, offset, 1, FALSE); + /* Signaling Message Encryption (SE) Confidentiality Status (octet 1, bit B) */ + proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_se, tvb, offset, 1, FALSE); + /* Voice Privacy (VP) Confidentiality Status (octet 1, bit A) */ + proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_vp, tvb, offset, 1, FALSE); } @@ -2350,53 +2345,53 @@ dissect_ansi_map_confidentialitymodes(tvbuff_t *tvb, packet_info *pinfo _U_, pro static void dissect_ansi_map_controlchanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; - - - subtree = proto_item_add_subtree(actx->created_item, ett_controlchanneldata); - - /* Digital Color Code (DCC) (octet 1, bit H and G) */ - proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_dcc, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_reservedBitFED, tvb, offset, 1, FALSE); - /* Control Mobile Attenuation Code (CMAC) (octet 1, bit A - C) */ - proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_cmac, tvb, offset, 1, FALSE); - offset++; - /* Channel Number (CHNO) ( octet 2 and 3 ) */ - proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_chno, tvb, offset, 2, FALSE); - /* Supplementary Digital Color Codes (SDCC1 and SDCC2) */ - offset = offset +2; - /* SDCC1 ( octet 4, bit D and C )*/ - proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc1, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_reservedBitHGFE, tvb, offset, 1, FALSE); - /* SDCC2 ( octet 4, bit A and B )*/ - proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc2, tvb, offset, 1, FALSE); + int offset = 0; + + proto_tree *subtree; + + + subtree = proto_item_add_subtree(actx->created_item, ett_controlchanneldata); + + /* Digital Color Code (DCC) (octet 1, bit H and G) */ + proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_dcc, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_reservedBitFED, tvb, offset, 1, FALSE); + /* Control Mobile Attenuation Code (CMAC) (octet 1, bit A - C) */ + proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_cmac, tvb, offset, 1, FALSE); + offset++; + /* Channel Number (CHNO) ( octet 2 and 3 ) */ + proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_chno, tvb, offset, 2, FALSE); + /* Supplementary Digital Color Codes (SDCC1 and SDCC2) */ + offset = offset +2; + /* SDCC1 ( octet 4, bit D and C )*/ + proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc1, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_reservedBitHGFE, tvb, offset, 1, FALSE); + /* SDCC2 ( octet 4, bit A and B )*/ + proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc2, tvb, offset, 1, FALSE); } /* 6.5.2.52 CountUpdateReport */ static const value_string ansi_map_CountUpdateReport_vals[] = { - { 0, "Class I"}, - { 1, "Class II"}, - { 2, "Class III"}, - { 3, "Reserved"}, - { 0, NULL } + { 0, "Class I"}, + { 1, "Class II"}, + { 2, "Class III"}, + { 3, "Reserved"}, + { 0, NULL } }; /* 6.5.2.53 DeniedAuthorizationPeriod */ /* Period (octet 1) */ static const value_string ansi_map_deniedauthorizationperiod_period_vals[] = { - { 0, "Not used"}, - { 1, "Per Call. Re-authorization should be attempted on the next call attempt"}, - { 2, "Hours"}, - { 3, "Days"}, - { 4, "Weeks"}, - { 5, "Per Agreement"}, - { 6, "Reserved"}, - { 7, "Number of calls. Re-authorization should be attempted after this number of (rejected) call attempts"}, - { 8, "Minutes"}, - { 0, NULL } + { 0, "Not used"}, + { 1, "Per Call. Re-authorization should be attempted on the next call attempt"}, + { 2, "Hours"}, + { 3, "Days"}, + { 4, "Weeks"}, + { 5, "Per Agreement"}, + { 6, "Reserved"}, + { 7, "Number of calls. Re-authorization should be attempted after this number of (rejected) call attempts"}, + { 8, "Minutes"}, + { 0, NULL } }; /* Value (octet 2) Number of minutes hours, days, weeks, or @@ -2408,15 +2403,15 @@ on sending and ignored on receipt. static void dissect_ansi_map_deniedauthorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; + int offset = 0; - - subtree = proto_item_add_subtree(actx->created_item, ett_billingid); - proto_tree_add_item(subtree, hf_ansi_map_deniedauthorizationperiod_period, tvb, offset, 1, FALSE); - offset++; - proto_tree_add_item(subtree, hf_ansi_map_value, tvb, offset, 1, FALSE); + proto_tree *subtree; + + + subtree = proto_item_add_subtree(actx->created_item, ett_billingid); + proto_tree_add_item(subtree, hf_ansi_map_deniedauthorizationperiod_period, tvb, offset, 1, FALSE); + offset++; + proto_tree_add_item(subtree, hf_ansi_map_value, tvb, offset, 1, FALSE); } @@ -2426,86 +2421,86 @@ dissect_ansi_map_deniedauthorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_ /* 6.5.2.64 ExtendedMSCID */ static const value_string ansi_map_msc_type_vals[] = { - { 0, "Not specified"}, - { 1, "Serving MSC"}, - { 2, "Home MSC"}, - { 3, "Gateway MSC"}, - { 4, "HLR"}, - { 5, "VLR"}, - { 6, "EIR (reserved)"}, - { 7, "AC"}, - { 8, "Border MSC"}, - { 9, "Originating MSC"}, - { 0, NULL } + { 0, "Not specified"}, + { 1, "Serving MSC"}, + { 2, "Home MSC"}, + { 3, "Gateway MSC"}, + { 4, "HLR"}, + { 5, "VLR"}, + { 6, "EIR (reserved)"}, + { 7, "AC"}, + { 8, "Border MSC"}, + { 9, "Originating MSC"}, + { 0, NULL } }; static void dissect_ansi_map_extendedmscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; + int offset = 0; + + proto_tree *subtree; - - subtree = proto_item_add_subtree(actx->created_item, ett_extendedmscid); - /* Type (octet 1) */ - proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, FALSE); - offset++; - proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE); - offset = offset + 2; - proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE); + + subtree = proto_item_add_subtree(actx->created_item, ett_extendedmscid); + /* Type (octet 1) */ + proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, FALSE); + offset++; + proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE); + offset = offset + 2; + proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE); } /* 6.5.2.65 ExtendedSystemMyTypeCode */ static void dissect_ansi_map_extendedsystemmytypecode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx){ - int offset = 0; - - proto_tree *subtree; + int offset = 0; + + proto_tree *subtree; - - subtree = proto_item_add_subtree(actx->created_item, ett_extendedsystemmytypecode); - /* Type (octet 1) */ - proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, FALSE); - offset++; - offset = dissect_ansi_map_SystemMyTypeCode(TRUE, tvb, offset, actx, subtree, hf_ansi_map_systemMyTypeCode); + + subtree = proto_item_add_subtree(actx->created_item, ett_extendedsystemmytypecode); + /* Type (octet 1) */ + proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, FALSE); + offset++; + offset = dissect_ansi_map_SystemMyTypeCode(TRUE, tvb, offset, actx, subtree, hf_ansi_map_systemMyTypeCode); } /* 6.5.2.68 GeographicAuthorization */ /* Geographic Authorization (octet 1) */ static const value_string ansi_map_GeographicAuthorization_vals[] = { - { 0, "Not used"}, - { 1, "Authorized for all MarketIDs served by the VLR"}, - { 2, "Authorized for this MarketID only"}, - { 3, "Authorized for this MarketID and Switch Number only"}, - { 4, "Authorized for this LocationAreaID within a MarketID only"}, - { 5, "VLR"}, - { 6, "EIR (reserved)"}, - { 7, "AC"}, - { 8, "Border MSC"}, - { 9, "Originating MSC"}, - { 0, NULL } + { 0, "Not used"}, + { 1, "Authorized for all MarketIDs served by the VLR"}, + { 2, "Authorized for this MarketID only"}, + { 3, "Authorized for this MarketID and Switch Number only"}, + { 4, "Authorized for this LocationAreaID within a MarketID only"}, + { 5, "VLR"}, + { 6, "EIR (reserved)"}, + { 7, "AC"}, + { 8, "Border MSC"}, + { 9, "Originating MSC"}, + { 0, NULL } }; /* 6.5.2.71 HandoffState */ /* Party Involved (PI) (octet 1, bit A) */ static const true_false_string ansi_map_HandoffState_pi_bool_val = { - "Terminator is handing off", - "Originator is handing off" + "Terminator is handing off", + "Originator is handing off" }; static void dissect_ansi_map_handoffstate(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; + int offset = 0; + + proto_tree *subtree; + - - subtree = proto_item_add_subtree(actx->created_item, ett_handoffstate); - /* Party Involved (PI) (octet 1, bit A) */ - proto_tree_add_item(subtree, hf_ansi_map_handoffstate_pi, tvb, offset, 1, FALSE); + subtree = proto_item_add_subtree(actx->created_item, ett_handoffstate); + /* Party Involved (PI) (octet 1, bit A) */ + proto_tree_add_item(subtree, hf_ansi_map_handoffstate_pi, tvb, offset, 1, FALSE); } /* 6.5.2.72 InterMSCCircuitID */ @@ -2513,85 +2508,85 @@ dissect_ansi_map_handoffstate(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree static void dissect_ansi_map_intermsccircuitid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; - guint8 octet, octet2; + int offset = 0; - - subtree = proto_item_add_subtree(actx->created_item, ett_billingid); - /* Trunk Group Number (G) Octet 1 */ - octet = tvb_get_guint8(tvb,offset); - proto_tree_add_item(subtree, hf_ansi_map_tgn, tvb, offset, 1, FALSE); - offset++; - /* Trunk Member Number (M) Octet2 */ - octet2 = tvb_get_guint8(tvb,offset); - proto_tree_add_item(subtree, hf_ansi_map_tmn, tvb, offset, 1, FALSE); - proto_item_append_text(actx->created_item, " (G %u/M %u)", octet, octet2); + proto_tree *subtree; + guint8 octet, octet2; + + + subtree = proto_item_add_subtree(actx->created_item, ett_billingid); + /* Trunk Group Number (G) Octet 1 */ + octet = tvb_get_guint8(tvb,offset); + proto_tree_add_item(subtree, hf_ansi_map_tgn, tvb, offset, 1, FALSE); + offset++; + /* Trunk Member Number (M) Octet2 */ + octet2 = tvb_get_guint8(tvb,offset); + proto_tree_add_item(subtree, hf_ansi_map_tmn, tvb, offset, 1, FALSE); + proto_item_append_text(actx->created_item, " (G %u/M %u)", octet, octet2); } /* 6.5.2.78 MessageWaitingNotificationCount */ /* Type of messages (octet 1) */ static const value_string ansi_map_MessageWaitingNotificationCount_type_vals[] = { - { 0, "Voice messages"}, - { 1, "Short Message Services (SMS) messages"}, - { 2, "Group 3 (G3) Fax messages"}, - { 0, NULL } + { 0, "Voice messages"}, + { 1, "Short Message Services (SMS) messages"}, + { 2, "Group 3 (G3) Fax messages"}, + { 0, NULL } }; static void dissect_ansi_map_messagewaitingnotificationcount(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; + int offset = 0; + + proto_tree *subtree; + - - subtree = proto_item_add_subtree(actx->created_item, ett_billingid); - /* Type of messages (octet 1) */ - proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationcount_tom, tvb, offset, 1, FALSE); - offset++; - /* Number of Messages Waiting (octet 2) */ - proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationcount_no_mw, tvb, offset, 1, FALSE); + subtree = proto_item_add_subtree(actx->created_item, ett_billingid); + /* Type of messages (octet 1) */ + proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationcount_tom, tvb, offset, 1, FALSE); + offset++; + /* Number of Messages Waiting (octet 2) */ + proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationcount_no_mw, tvb, offset, 1, FALSE); } /* 6.5.2.79 MessageWaitingNotificationType */ /* Pip Tone (PT) (octet 1, bit A) */ static const true_false_string ansi_map_MessageWaitingNotificationType_pt_bool_val = { - "Pip Tone (PT) notification is required", - "Pip Tone (PT) notification is not authorized or no notification is required" + "Pip Tone (PT) notification is required", + "Pip Tone (PT) notification is not authorized or no notification is required" }; /* Alert Pip Tone (APT) (octet 1, bit B) */ static const true_false_string ansi_map_MessageWaitingNotificationType_apt_bool_val = { - "Alert Pip Tone (APT) notification is required", - "Alert Pip Tone (APT) notification is not authorized or notification is not required" + "Alert Pip Tone (APT) notification is required", + "Alert Pip Tone (APT) notification is not authorized or notification is not required" }; /* Message Waiting Indication (MWI) (octet 1, bits C and D) */ static const value_string ansi_map_MessageWaitingNotificationType_mwi_vals[] = { - { 0, "No MWI. Message Waiting Indication (MWI) notification is not authorized or notification is not required"}, - { 1, "Reserved"}, - { 2, "MWI On. Message Waiting Indication (MWI) notification is required. Messages waiting"}, - { 3, "MWI Off. Message Waiting Indication (MWI) notification is required. No messages waiting"}, - { 0, NULL } + { 0, "No MWI. Message Waiting Indication (MWI) notification is not authorized or notification is not required"}, + { 1, "Reserved"}, + { 2, "MWI On. Message Waiting Indication (MWI) notification is required. Messages waiting"}, + { 3, "MWI Off. Message Waiting Indication (MWI) notification is required. No messages waiting"}, + { 0, NULL } }; static void dissect_ansi_map_messagewaitingnotificationtype(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; + int offset = 0; - - subtree = proto_item_add_subtree(actx->created_item, ett_billingid); - - /* Message Waiting Indication (MWI) (octet 1, bits C and D) */ - proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_mwi, tvb, offset, 1, FALSE); - /* Alert Pip Tone (APT) (octet 1, bit B) */ - proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_apt, tvb, offset, 1, FALSE); - /* Pip Tone (PT) (octet 1, bit A) */ - proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_pt, tvb, offset, 1, FALSE); + proto_tree *subtree; + + + subtree = proto_item_add_subtree(actx->created_item, ett_billingid); + + /* Message Waiting Indication (MWI) (octet 1, bits C and D) */ + proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_mwi, tvb, offset, 1, FALSE); + /* Alert Pip Tone (APT) (octet 1, bit B) */ + proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_apt, tvb, offset, 1, FALSE); + /* Pip Tone (PT) (octet 1, bit A) */ + proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_pt, tvb, offset, 1, FALSE); } /* 6.5.2.81 MobileIdentificationNumber */ @@ -2600,89 +2595,89 @@ dissect_ansi_map_messagewaitingnotificationtype(tvbuff_t *tvb, packet_info *pinf static void dissect_ansi_map_mscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; + int offset = 0; + + proto_tree *subtree; - - subtree = proto_item_add_subtree(actx->created_item, ett_mscid); - proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE); - offset = offset + 2; - proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE); + subtree = proto_item_add_subtree(actx->created_item, ett_mscid); + + proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE); + offset = offset + 2; + proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE); } /* 6.5.2.84 MSLocation */ static void dissect_ansi_map_mslocation(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - - proto_tree *subtree; + int offset = 0; + + proto_tree *subtree; + - - subtree = proto_item_add_subtree(actx->created_item, ett_mscid); + subtree = proto_item_add_subtree(actx->created_item, ett_mscid); - /* Latitude in tenths of a second octet 1 - 3 */ - proto_tree_add_item(subtree, hf_ansi_map_mslocation_lat, tvb, offset, 3, FALSE); - offset = offset + 3; - /* Longitude in tenths of a second octet 4 - 6 */ - proto_tree_add_item(subtree, hf_ansi_map_mslocation_long, tvb, offset, 3, FALSE); - offset = offset + 3; - /* Resolution in units of 1 foot octet 7, octet 8 optional */ - proto_tree_add_item(subtree, hf_ansi_map_mslocation_res, tvb, offset, -1, FALSE); + /* Latitude in tenths of a second octet 1 - 3 */ + proto_tree_add_item(subtree, hf_ansi_map_mslocation_lat, tvb, offset, 3, FALSE); + offset = offset + 3; + /* Longitude in tenths of a second octet 4 - 6 */ + proto_tree_add_item(subtree, hf_ansi_map_mslocation_long, tvb, offset, 3, FALSE); + offset = offset + 3; + /* Resolution in units of 1 foot octet 7, octet 8 optional */ + proto_tree_add_item(subtree, hf_ansi_map_mslocation_res, tvb, offset, -1, FALSE); } /* 6.5.2.85 NAMPSCallMode */ static void dissect_ansi_map_nampscallmode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - proto_tree *subtree; + int offset = 0; + proto_tree *subtree; + - - subtree = proto_item_add_subtree(actx->created_item, ett_mscid); + subtree = proto_item_add_subtree(actx->created_item, ett_mscid); - /* Call Mode (octet 1, bits A and B) */ - proto_tree_add_item(subtree, hf_ansi_map_nampscallmode_amps, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_nampscallmode_namps, tvb, offset, 1, FALSE); + /* Call Mode (octet 1, bits A and B) */ + proto_tree_add_item(subtree, hf_ansi_map_nampscallmode_amps, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_nampscallmode_namps, tvb, offset, 1, FALSE); } /* 6.5.2.86 NAMPSChannelData */ /* Narrow Analog Voice Channel Assignment (NAVCA) (octet 1, bits A and B) */ static const value_string ansi_map_NAMPSChannelData_navca_vals[] = { - { 0, "Wide. 30 kHz AMPS voice channel"}, - { 1, "Upper. 10 kHz NAMPS voice channel"}, - { 2, "Middle. 10 kHz NAMPS voice channel"}, - { 3, "Lower. 10 kHz NAMPS voice channel"}, - { 0, NULL } + { 0, "Wide. 30 kHz AMPS voice channel"}, + { 1, "Upper. 10 kHz NAMPS voice channel"}, + { 2, "Middle. 10 kHz NAMPS voice channel"}, + { 3, "Lower. 10 kHz NAMPS voice channel"}, + { 0, NULL } }; /* Color Code Indicator (CCIndicator) (octet 1, bits C, D, and E) */ static const value_string ansi_map_NAMPSChannelData_ccinidicator_vals[] = { - { 0, "ChannelData parameter SCC field applies"}, - { 1, "Digital SAT Color Code 1 (ignore SCC field)"}, - { 2, "Digital SAT Color Code 2 (ignore SCC field)"}, - { 3, "Digital SAT Color Code 3 (ignore SCC field)"}, - { 4, "Digital SAT Color Code 4 (ignore SCC field)"}, - { 5, "Digital SAT Color Code 5 (ignore SCC field)"}, - { 6, "Digital SAT Color Code 6 (ignore SCC field)"}, - { 7, "Digital SAT Color Code 7 (ignore SCC field)"}, - { 0, NULL } + { 0, "ChannelData parameter SCC field applies"}, + { 1, "Digital SAT Color Code 1 (ignore SCC field)"}, + { 2, "Digital SAT Color Code 2 (ignore SCC field)"}, + { 3, "Digital SAT Color Code 3 (ignore SCC field)"}, + { 4, "Digital SAT Color Code 4 (ignore SCC field)"}, + { 5, "Digital SAT Color Code 5 (ignore SCC field)"}, + { 6, "Digital SAT Color Code 6 (ignore SCC field)"}, + { 7, "Digital SAT Color Code 7 (ignore SCC field)"}, + { 0, NULL } }; static void dissect_ansi_map_nampschanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - proto_tree *subtree; + int offset = 0; + proto_tree *subtree; - - subtree = proto_item_add_subtree(actx->created_item, ett_mscid); - /* Color Code Indicator (CCIndicator) (octet 1, bits C, D, and E) */ - proto_tree_add_item(subtree, hf_ansi_map_nampschanneldata_CCIndicator, tvb, offset, 1, FALSE); - /* Narrow Analog Voice Channel Assignment (NAVCA) (octet 1, bits A and B) */ - proto_tree_add_item(subtree, hf_ansi_map_nampschanneldata_navca, tvb, offset, 1, FALSE); + subtree = proto_item_add_subtree(actx->created_item, ett_mscid); + + /* Color Code Indicator (CCIndicator) (octet 1, bits C, D, and E) */ + proto_tree_add_item(subtree, hf_ansi_map_nampschanneldata_CCIndicator, tvb, offset, 1, FALSE); + /* Narrow Analog Voice Channel Assignment (NAVCA) (octet 1, bits A and B) */ + proto_tree_add_item(subtree, hf_ansi_map_nampschanneldata_navca, tvb, offset, 1, FALSE); } @@ -2692,70 +2687,70 @@ dissect_ansi_map_nampschanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t /* Call Waiting for Incoming Call (CWIC) (octet 1, bits C and D) */ static const value_string ansi_map_onetimefeatureindicator_cw_vals[] = { - { 0, "Ignore"}, - { 1, "No CW"}, - { 2, "Normal CW"}, - { 3, "Priority CW"}, - { 0, NULL } + { 0, "Ignore"}, + { 1, "No CW"}, + { 2, "Normal CW"}, + { 3, "Priority CW"}, + { 0, NULL } }; /* MessageWaitingNotification (MWN) (octet 1, bits E and F) */ static const value_string ansi_map_onetimefeatureindicator_mwn_vals[] = { - { 0, "Ignore"}, - { 1, "Pip Tone Inactive"}, - { 2, "Pip Tone Active"}, - { 3, "Reserved"}, - { 0, NULL } + { 0, "Ignore"}, + { 1, "Pip Tone Inactive"}, + { 2, "Pip Tone Active"}, + { 3, "Reserved"}, + { 0, NULL } }; /* Calling Number Identification Restriction (CNIR) (octet 1, bits G and H)*/ static const value_string ansi_map_onetimefeatureindicator_cnir_vals[] = { - { 0, "Ignore"}, - { 1, "CNIR Inactive"}, - { 2, "CNIR Active"}, - { 3, "Reserved"}, - { 0, NULL } + { 0, "Ignore"}, + { 1, "CNIR Inactive"}, + { 2, "CNIR Active"}, + { 3, "Reserved"}, + { 0, NULL } }; /* Priority Access and Channel Assignment (PACA) (octet 2, bits A and B)*/ static const value_string ansi_map_onetimefeatureindicator_paca_vals[] = { - { 0, "Ignore"}, - { 1, "PACA Demand Inactive"}, - { 2, "PACA Demand Activated"}, - { 3, "Reserved"}, - { 0, NULL } + { 0, "Ignore"}, + { 1, "PACA Demand Inactive"}, + { 2, "PACA Demand Activated"}, + { 3, "Reserved"}, + { 0, NULL } }; /* Flash Privileges (Flash) (octet 2, bits C and D) */ static const value_string ansi_map_onetimefeatureindicator_flash_vals[] = { - { 0, "Ignore"}, - { 1, "Flash Inactive"}, - { 2, "Flash Active"}, - { 3, "Reserved"}, - { 0, NULL } + { 0, "Ignore"}, + { 1, "Flash Inactive"}, + { 2, "Flash Active"}, + { 3, "Reserved"}, + { 0, NULL } }; /* Calling Name Restriction (CNAR) (octet 2, bits E and F) */ static const value_string ansi_map_onetimefeatureindicator_cnar_vals[] = { - { 0, "Ignore"}, - { 1, "Presentation Allowed"}, - { 2, "Presentation Restricted."}, - { 3, "Blocking Toggle"}, - { 0, NULL } + { 0, "Ignore"}, + { 1, "Presentation Allowed"}, + { 2, "Presentation Restricted."}, + { 3, "Blocking Toggle"}, + { 0, NULL } }; static void dissect_ansi_map_onetimefeatureindicator(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - proto_tree *subtree; + int offset = 0; + proto_tree *subtree; - - subtree = proto_item_add_subtree(actx->created_item, ett_mscid); - /* Calling Number Identification Restriction (CNIR) (octet 1, bits G and H)*/ - /* MessageWaitingNotification (MWN) (octet 1, bits E and F) */ - /* Call Waiting for Incoming Call (CWIC) (octet 1, bits C and D) */ - /* Call Waiting for Future Incoming Call (CWFI) (octet 1, bits A and B) */ - offset++; - /* Calling Name Restriction (CNAR) (octet 2, bits E and F) */ - /* Flash Privileges (Flash) (octet 2, bits C and D) */ - /* Priority Access and Channel Assignment (PACA) (octet 2, bits A and B)*/ + subtree = proto_item_add_subtree(actx->created_item, ett_mscid); + + /* Calling Number Identification Restriction (CNIR) (octet 1, bits G and H)*/ + /* MessageWaitingNotification (MWN) (octet 1, bits E and F) */ + /* Call Waiting for Incoming Call (CWIC) (octet 1, bits C and D) */ + /* Call Waiting for Future Incoming Call (CWFI) (octet 1, bits A and B) */ + offset++; + /* Calling Name Restriction (CNAR) (octet 2, bits E and F) */ + /* Flash Privileges (Flash) (octet 2, bits C and D) */ + /* Priority Access and Channel Assignment (PACA) (octet 2, bits A and B)*/ } @@ -2763,230 +2758,230 @@ dissect_ansi_map_onetimefeatureindicator(tvbuff_t *tvb _U_, packet_info *pinfo _ /* 6.5.2.90 OriginationTriggers */ /* All Origination (All) (octet 1, bit A) */ static const true_false_string ansi_map_originationtriggers_all_bool_val = { - "Launch an OriginationRequest for any call attempt. This overrides all other values", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt. This overrides all other values", + "Trigger is not active" }; /* Local (octet 1, bit B) */ static const true_false_string ansi_map_originationtriggers_local_bool_val = { - "Launch an OriginationRequest for any local call attempt", - "Trigger is not active" + "Launch an OriginationRequest for any local call attempt", + "Trigger is not active" }; /* Intra-LATA Toll (ILATA) (octet 1, bit C) */ static const true_false_string ansi_map_originationtriggers_ilata_bool_val = { - "Launch an OriginationRequest for any intra-LATA call attempt", - "Trigger is not active" + "Launch an OriginationRequest for any intra-LATA call attempt", + "Trigger is not active" }; /* Inter-LATA Toll (OLATA) (octet 1, bit D) */ static const true_false_string ansi_map_originationtriggers_olata_bool_val = { - "Launch an OriginationRequest for any inter-LATA toll call attempt", - "Trigger is not active" + "Launch an OriginationRequest for any inter-LATA toll call attempt", + "Trigger is not active" }; /* International (Int'l ) (octet 1, bit E) */ static const true_false_string ansi_map_originationtriggers_int_bool_val = { - "Launch an OriginationRequest for any international call attempt", - "Trigger is not active" + "Launch an OriginationRequest for any international call attempt", + "Trigger is not active" }; /* World Zone (WZ) (octet 1, bit F) */ static const true_false_string ansi_map_originationtriggers_wz_bool_val = { - "Launch an OriginationRequest for any call attempt outside of the current World Zone (as defined in ITU-T Rec. E.164)", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt outside of the current World Zone (as defined in ITU-T Rec. E.164)", + "Trigger is not active" }; /* Unrecognized Number (Unrec) (octet 1, bit G) */ static const true_false_string ansi_map_originationtriggers_unrec_bool_val = { - "Launch an OriginationRequest for any call attempt to an unrecognized number", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt to an unrecognized number", + "Trigger is not active" }; /* Revertive Call (RvtC) (octet 1, bit H)*/ static const true_false_string ansi_map_originationtriggers_rvtc_bool_val = { - "Launch an OriginationRequest for any Revertive Call attempt", - "Trigger is not active" + "Launch an OriginationRequest for any Revertive Call attempt", + "Trigger is not active" }; /* Star (octet 2, bit A) */ static const true_false_string ansi_map_originationtriggers_star_bool_val = { - "Launch an OriginationRequest for any number beginning with a Star '*' digit", - "Trigger is not active" + "Launch an OriginationRequest for any number beginning with a Star '*' digit", + "Trigger is not active" }; /* Double Star (DS) (octet 2, bit B) */ static const true_false_string ansi_map_originationtriggers_ds_bool_val = { - "Launch an OriginationRequest for any number beginning with two Star '**' digits", - "Trigger is not active" + "Launch an OriginationRequest for any number beginning with two Star '**' digits", + "Trigger is not active" }; /* Pound (octet 2, bit C) */ static const true_false_string ansi_map_originationtriggers_pound_bool_val = { - "Launch an OriginationRequest for any number beginning with a Pound '#' digit", - "Trigger is not active" + "Launch an OriginationRequest for any number beginning with a Pound '#' digit", + "Trigger is not active" }; /* Double Pound (DP) (octet 2, bit D) */ static const true_false_string ansi_map_originationtriggers_dp_bool_val = { - "Launch an OriginationRequest for any number beginning with two Pound '##' digits", - "Trigger is not active" + "Launch an OriginationRequest for any number beginning with two Pound '##' digits", + "Trigger is not active" }; /* Prior Agreement (PA) (octet 2, bit E) */ static const true_false_string ansi_map_originationtriggers_pa_bool_val = { - "Launch an OriginationRequest for any number matching a criteria of a prior agreement", - "Trigger is not active" + "Launch an OriginationRequest for any number matching a criteria of a prior agreement", + "Trigger is not active" }; /* No digits (octet 3, bit A) */ static const true_false_string ansi_map_originationtriggers_nodig_bool_val = { - "Launch an OriginationRequest for any call attempt with no digits", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with no digits", + "Trigger is not active" }; /* 1 digit (octet 3, bit B) */ static const true_false_string ansi_map_originationtriggers_onedig_bool_val = { - "Launch an OriginationRequest for any call attempt with 1 digit", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with 1 digit", + "Trigger is not active" }; /* 1 digit (octet 3, bit C) */ static const true_false_string ansi_map_originationtriggers_twodig_bool_val = { - "Launch an OriginationRequest for any call attempt with 2 digits", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with 2 digits", + "Trigger is not active" }; /* 1 digit (octet 3, bit D) */ static const true_false_string ansi_map_originationtriggers_threedig_bool_val = { - "Launch an OriginationRequest for any call attempt with 3 digits", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with 3 digits", + "Trigger is not active" }; /* 1 digit (octet 3, bit E) */ static const true_false_string ansi_map_originationtriggers_fourdig_bool_val = { - "Launch an OriginationRequest for any call attempt with 4 digits", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with 4 digits", + "Trigger is not active" }; /* 1 digit (octet 3, bit F) */ static const true_false_string ansi_map_originationtriggers_fivedig_bool_val = { - "Launch an OriginationRequest for any call attempt with 5 digits", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with 5 digits", + "Trigger is not active" }; /* 1 digit (octet 3, bit G) */ static const true_false_string ansi_map_originationtriggers_sixdig_bool_val = { - "Launch an OriginationRequest for any call attempt with 6 digits", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with 6 digits", + "Trigger is not active" }; /* 1 digit (octet 3, bit H) */ static const true_false_string ansi_map_originationtriggers_sevendig_bool_val = { - "Launch an OriginationRequest for any call attempt with 7 digits", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with 7 digits", + "Trigger is not active" }; /* 1 digit (octet 4, bit A) */ static const true_false_string ansi_map_originationtriggers_eightdig_bool_val = { - "Launch an OriginationRequest for any call attempt with 8 digits", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with 8 digits", + "Trigger is not active" }; /* 1 digit (octet 4, bit B) */ static const true_false_string ansi_map_originationtriggers_ninedig_bool_val = { - "Launch an OriginationRequest for any call attempt with 9 digits", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with 9 digits", + "Trigger is not active" }; /* 1 digit (octet 4, bit C) */ static const true_false_string ansi_map_originationtriggers_tendig_bool_val = { - "Launch an OriginationRequest for any call attempt with 10 digits", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with 10 digits", + "Trigger is not active" }; /* 1 digit (octet 4, bit D) */ static const true_false_string ansi_map_originationtriggers_elevendig_bool_val = { - "Launch an OriginationRequest for any call attempt with 11 digits", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with 11 digits", + "Trigger is not active" }; /* 1 digit (octet 4, bit E) */ static const true_false_string ansi_map_originationtriggers_twelvedig_bool_val = { - "Launch an OriginationRequest for any call attempt with 12 digits", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with 12 digits", + "Trigger is not active" }; /* 1 digit (octet 4, bit F) */ static const true_false_string ansi_map_originationtriggers_thirteendig_bool_val = { - "Launch an OriginationRequest for any call attempt with 13 digits", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with 13 digits", + "Trigger is not active" }; /* 1 digit (octet 4, bit G) */ static const true_false_string ansi_map_originationtriggers_fourteendig_bool_val = { - "Launch an OriginationRequest for any call attempt with 14 digits", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with 14 digits", + "Trigger is not active" }; /* 1 digit (octet 4, bit H) */ static const true_false_string ansi_map_originationtriggers_fifteendig_bool_val = { - "Launch an OriginationRequest for any call attempt with 15 digits", - "Trigger is not active" + "Launch an OriginationRequest for any call attempt with 15 digits", + "Trigger is not active" }; static void dissect_ansi_map_originationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - proto_tree *subtree; - - - subtree = proto_item_add_subtree(actx->created_item, ett_originationtriggers); - - /* Revertive Call (RvtC) (octet 1, bit H)*/ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_rvtc, tvb, offset, 1, FALSE); - /* Unrecognized Number (Unrec) (octet 1, bit G) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_unrec, tvb, offset, 1, FALSE); - /* World Zone (WZ) (octet 1, bit F) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_wz, tvb, offset, 1, FALSE); - /* International (Int'l ) (octet 1, bit E) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_int, tvb, offset, 1, FALSE); - /* Inter-LATA Toll (OLATA) (octet 1, bit D) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_olata, tvb, offset, 1, FALSE); - /* Intra-LATA Toll (ILATA) (octet 1, bit C) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ilata, tvb, offset, 1, FALSE); - /* Local (octet 1, bit B) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_local, tvb, offset, 1, FALSE); - /* All Origination (All) (octet 1, bit A) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_all, tvb, offset, 1, FALSE); - offset++; - - /*Prior Agreement (PA) (octet 2, bit E) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_pa, tvb, offset, 1, FALSE); - /* Double Pound (DP) (octet 2, bit D) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_dp, tvb, offset, 1, FALSE); - /* Pound (octet 2, bit C) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_pound, tvb, offset, 1, FALSE); - /* Double Star (DS) (octet 2, bit B) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ds, tvb, offset, 1, FALSE); - /* Star (octet 2, bit A) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_star, tvb, offset, 1, FALSE); - offset++; - - /* 7 digit (octet 3, bit H) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_sevendig, tvb, offset, 1, FALSE); - /* 6 digit (octet 3, bit G) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_sixdig, tvb, offset, 1, FALSE); - /* 5 digit (octet 3, bit F) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fivedig, tvb, offset, 1, FALSE); - /* 4 digit (octet 3, bit E) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fourdig, tvb, offset, 1, FALSE); - /* 3 digit (octet 3, bit D) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_threedig, tvb, offset, 1, FALSE); - /* 2 digit (octet 3, bit C) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_twodig, tvb, offset, 1, FALSE); - /* 1 digit (octet 3, bit B) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_onedig, tvb, offset, 1, FALSE); - /* No digits (octet 3, bit A) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_nodig, tvb, offset, 1, FALSE); - offset++; - - /* 15 digit (octet 4, bit H) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fifteendig, tvb, offset, 1, FALSE); - /* 14 digit (octet 4, bit G) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fourteendig, tvb, offset, 1, FALSE); - /* 13 digit (octet 4, bit F) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_thirteendig, tvb, offset, 1, FALSE); - /* 12 digit (octet 4, bit E) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_twelvedig, tvb, offset, 1, FALSE); - /* 11 digit (octet 4, bit D) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_elevendig, tvb, offset, 1, FALSE); - /* 10 digit (octet 4, bit C) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_tendig, tvb, offset, 1, FALSE); - /* 9 digit (octet 4, bit B) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ninedig, tvb, offset, 1, FALSE); - /* 8 digits (octet 4, bit A) */ - proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_eightdig, tvb, offset, 1, FALSE); + int offset = 0; + proto_tree *subtree; + + + subtree = proto_item_add_subtree(actx->created_item, ett_originationtriggers); + + /* Revertive Call (RvtC) (octet 1, bit H)*/ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_rvtc, tvb, offset, 1, FALSE); + /* Unrecognized Number (Unrec) (octet 1, bit G) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_unrec, tvb, offset, 1, FALSE); + /* World Zone (WZ) (octet 1, bit F) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_wz, tvb, offset, 1, FALSE); + /* International (Int'l ) (octet 1, bit E) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_int, tvb, offset, 1, FALSE); + /* Inter-LATA Toll (OLATA) (octet 1, bit D) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_olata, tvb, offset, 1, FALSE); + /* Intra-LATA Toll (ILATA) (octet 1, bit C) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ilata, tvb, offset, 1, FALSE); + /* Local (octet 1, bit B) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_local, tvb, offset, 1, FALSE); + /* All Origination (All) (octet 1, bit A) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_all, tvb, offset, 1, FALSE); + offset++; + + /*Prior Agreement (PA) (octet 2, bit E) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_pa, tvb, offset, 1, FALSE); + /* Double Pound (DP) (octet 2, bit D) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_dp, tvb, offset, 1, FALSE); + /* Pound (octet 2, bit C) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_pound, tvb, offset, 1, FALSE); + /* Double Star (DS) (octet 2, bit B) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ds, tvb, offset, 1, FALSE); + /* Star (octet 2, bit A) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_star, tvb, offset, 1, FALSE); + offset++; + + /* 7 digit (octet 3, bit H) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_sevendig, tvb, offset, 1, FALSE); + /* 6 digit (octet 3, bit G) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_sixdig, tvb, offset, 1, FALSE); + /* 5 digit (octet 3, bit F) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fivedig, tvb, offset, 1, FALSE); + /* 4 digit (octet 3, bit E) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fourdig, tvb, offset, 1, FALSE); + /* 3 digit (octet 3, bit D) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_threedig, tvb, offset, 1, FALSE); + /* 2 digit (octet 3, bit C) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_twodig, tvb, offset, 1, FALSE); + /* 1 digit (octet 3, bit B) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_onedig, tvb, offset, 1, FALSE); + /* No digits (octet 3, bit A) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_nodig, tvb, offset, 1, FALSE); + offset++; + + /* 15 digit (octet 4, bit H) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fifteendig, tvb, offset, 1, FALSE); + /* 14 digit (octet 4, bit G) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fourteendig, tvb, offset, 1, FALSE); + /* 13 digit (octet 4, bit F) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_thirteendig, tvb, offset, 1, FALSE); + /* 12 digit (octet 4, bit E) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_twelvedig, tvb, offset, 1, FALSE); + /* 11 digit (octet 4, bit D) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_elevendig, tvb, offset, 1, FALSE); + /* 10 digit (octet 4, bit C) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_tendig, tvb, offset, 1, FALSE); + /* 9 digit (octet 4, bit B) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ninedig, tvb, offset, 1, FALSE); + /* 8 digits (octet 4, bit A) */ + proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_eightdig, tvb, offset, 1, FALSE); } @@ -2994,8 +2989,8 @@ dissect_ansi_map_originationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, prot /* Permanent Activation (PA) (octet 1, bit A) */ static const true_false_string ansi_map_pacaindicator_pa_bool_val = { - "PACA is permanently activated", - "PACA is not permanently activated" + "PACA is permanently activated", + "PACA is not permanently activated" }; static const value_string ansi_map_PACA_Level_vals[] = { @@ -3015,21 +3010,21 @@ static const value_string ansi_map_PACA_Level_vals[] = { { 13, "Priority Level 13"}, { 14, "Priority Level 14"}, { 15, "Priority Level 15"}, - { 0, NULL } + { 0, NULL } }; static void dissect_ansi_map_pacaindicator(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - proto_tree *subtree; + int offset = 0; + proto_tree *subtree; + - - subtree = proto_item_add_subtree(actx->created_item, ett_pacaindicator); - /* PACA Level (octet 1, bits B-E) */ - proto_tree_add_item(subtree, hf_ansi_map_PACA_Level, tvb, offset, 1, FALSE); - /* Permanent Activation (PA) (octet 1, bit A) */ - proto_tree_add_item(subtree, hf_ansi_map_pacaindicator_pa, tvb, offset, 1, FALSE); + subtree = proto_item_add_subtree(actx->created_item, ett_pacaindicator); + /* PACA Level (octet 1, bits B-E) */ + proto_tree_add_item(subtree, hf_ansi_map_PACA_Level, tvb, offset, 1, FALSE); + /* Permanent Activation (PA) (octet 1, bit A) */ + proto_tree_add_item(subtree, hf_ansi_map_pacaindicator_pa, tvb, offset, 1, FALSE); } /* 6.5.2.92 PageIndicator */ @@ -3037,56 +3032,56 @@ static const value_string ansi_map_PageIndicator_vals[] = { { 0, "Not used"}, { 1, "Page"}, { 2, "Listen only"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.93 PC_SSN */ static void dissect_ansi_map_pc_ssn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - proto_tree *subtree; - guint8 b1,b2,b3,b4; - - - subtree = proto_item_add_subtree(actx->created_item, ett_billingid); - /* Type (octet 1) */ - proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, FALSE); - offset++; - /* Point Code Member Number octet 2 */ - b1 = tvb_get_guint8(tvb,offset); - offset++; - /* Point Code Cluster Number octet 3 */ - b2 = tvb_get_guint8(tvb,offset); - offset++; - /* Point Code Network Number octet 4 */ - b3 = tvb_get_guint8(tvb,offset); - offset++; - /* Subsystem Number (SSN) octet 5 */ - b4 = tvb_get_guint8(tvb,offset); - proto_tree_add_text(subtree, tvb, offset-3, 4 , "Point Code %u-%u-%u SSN %u", - b3, b2, b1, b4); + int offset = 0; + proto_tree *subtree; + guint8 b1,b2,b3,b4; + + + subtree = proto_item_add_subtree(actx->created_item, ett_billingid); + /* Type (octet 1) */ + proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, FALSE); + offset++; + /* Point Code Member Number octet 2 */ + b1 = tvb_get_guint8(tvb,offset); + offset++; + /* Point Code Cluster Number octet 3 */ + b2 = tvb_get_guint8(tvb,offset); + offset++; + /* Point Code Network Number octet 4 */ + b3 = tvb_get_guint8(tvb,offset); + offset++; + /* Subsystem Number (SSN) octet 5 */ + b4 = tvb_get_guint8(tvb,offset); + proto_tree_add_text(subtree, tvb, offset-3, 4 , "Point Code %u-%u-%u SSN %u", + b3, b2, b1, b4); } /* 6.5.2.94 PilotBillingID */ static void dissect_ansi_map_pilotbillingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - proto_tree *subtree; + int offset = 0; + proto_tree *subtree; + - - subtree = proto_item_add_subtree(actx->created_item, ett_billingid); - /* First Originating MarketID octet 1 and 2 */ - proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE); - offset = offset + 2; - /* First Originating Switch Number octet 3*/ - proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE); - offset++; - /* ID Number */ - proto_tree_add_item(subtree, hf_ansi_map_idno, tvb, offset, 3, FALSE); - offset = offset + 3; - proto_tree_add_item(subtree, hf_ansi_map_segcount, tvb, offset, 1, FALSE); + subtree = proto_item_add_subtree(actx->created_item, ett_billingid); + /* First Originating MarketID octet 1 and 2 */ + proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE); + offset = offset + 2; + /* First Originating Switch Number octet 3*/ + proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE); + offset++; + /* ID Number */ + proto_tree_add_item(subtree, hf_ansi_map_idno, tvb, offset, 3, FALSE); + offset = offset + 3; + proto_tree_add_item(subtree, hf_ansi_map_segcount, tvb, offset, 1, FALSE); } /* 6.5.2.96 PreferredLanguageIndicator */ @@ -3097,39 +3092,39 @@ static const value_string ansi_map_PreferredLanguageIndicator_vals[] = { { 3, "Spanish"}, { 4, "German"}, { 5, "Portuguese"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.106 ReceivedSignalQuality */ /* a. This octet is encoded the same as octet 1 in the SignalQuality parameter (see - 6.5.2.121). + 6.5.2.121). */ /* 6.5.2.118 SetupResult */ static const value_string ansi_map_SetupResult_vals[] = { { 0, "Not used"}, { 1, "Unsuccessful"}, { 2, "Successful"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.121 SignalQuality */ /* TODO */ -/* 6.5.2.122 SMS_AccessDeniedReason (TIA/EIA-41.5-D, page 5-256) - N.S0011-0 v 1.0 - */ +/* 6.5.2.122 SMS_AccessDeniedReason (TIA/EIA-41.5-D, page 5-256) + N.S0011-0 v 1.0 +*/ static const value_string ansi_map_SMS_AccessDeniedReason_vals[] = { { 0, "Not used"}, { 1, "Denied"}, { 2, "Postponed"}, { 3, "Unavailable"}, { 4, "Invalid"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.125 SMS_CauseCode (TIA/EIA-41.5-D, page 5-262) - N.S0011-0 v 1.0 - */ + N.S0011-0 v 1.0 +*/ static const value_string ansi_map_SMS_CauseCode_vals[] = { { 0, "Address vacant"}, { 1, "Address translation failure"}, @@ -3172,7 +3167,7 @@ static const value_string ansi_map_SMS_CauseCode_vals[] = { { 108, "Session not active"}, { 109, "Reserved"}, { 110, "MS Disconnect"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.126 SMS_ChargeIndicator */ @@ -3182,21 +3177,21 @@ static const value_string ansi_map_SMS_ChargeIndicator_vals[] = { { 1, "No charge"}, { 2, "Charge original originator"}, { 3, "Charge original destination"}, - { 0, NULL } + { 0, NULL } }; -/* 4 through 63 Reserved. Treat the same as value 1, No charge. - 64 through 127 Reserved. Treat the same as value 2, Charge original originator. - 128 through 223 Reserved. Treat the same as value 3, Charge original destination. - 224 through 255 Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 2, Charge - original originator. - */ +/* 4 through 63 Reserved. Treat the same as value 1, No charge. + 64 through 127 Reserved. Treat the same as value 2, Charge original originator. + 128 through 223 Reserved. Treat the same as value 3, Charge original destination. + 224 through 255 Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 2, Charge + original originator. +*/ /* 6.5.2.130 SMS_NotificationIndicator N.S0005-0 v 1.0*/ static const value_string ansi_map_SMS_NotificationIndicator_vals[] = { { 0, "Not used"}, { 1, "Notify when available"}, { 2, "Do not notify when available"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.136 SMS_OriginationRestrictions */ @@ -3207,32 +3202,32 @@ static const value_string ansi_map_SMS_OriginationRestrictions_default_vals[] = { 1, "Reserved"}, { 1, "Allow specific"}, { 1, "Allow all"}, - { 0, NULL } + { 0, NULL } }; /* DIRECT (octet 1, bit C) */ static const true_false_string ansi_map_SMS_OriginationRestrictions_direct_bool_val = { - "Allow Direct", - "Block Direct" + "Allow Direct", + "Block Direct" }; /* Force Message Center (FMC) (octet 1, bit D) */ static const true_false_string ansi_map_SMS_OriginationRestrictions_fmc_bool_val = { - "Force Indirect", - "No effect" + "Force Indirect", + "No effect" }; static void dissect_ansi_map_sms_originationrestrictions(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - proto_tree *subtree; + int offset = 0; + proto_tree *subtree; + - - subtree = proto_item_add_subtree(actx->created_item, ett_sms_originationrestrictions); - proto_tree_add_item(subtree, hf_ansi_map_reservedBitHGFE, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_fmc, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_direct, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_default, tvb, offset, 1, FALSE); + subtree = proto_item_add_subtree(actx->created_item, ett_sms_originationrestrictions); + proto_tree_add_item(subtree, hf_ansi_map_reservedBitHGFE, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_fmc, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_direct, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_default, tvb, offset, 1, FALSE); } @@ -3253,17 +3248,17 @@ static const value_string ansi_map_SMS_TeleserviceIdentifier_vals[] = { { 32513, "TDMA Cellular Messaging Teleservice" }, { 32520, "TDMA System Assisted Mobile Positioning through Satellite (SAMPS)" }, { 32584, "TDMA Segmented System Assisted Mobile Positioning Service" }, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.140 SPINITriggers */ /* All Origination (All) (octet 1, bit A) */ /* 6.5.2.142 SSDUpdateReport */ static const value_string ansi_map_SSDUpdateReport_vals[] = { - { 0, "Not used"}, - { 4096, "AMPS Extended Protocol Enhanced Services"}, - { 4097, "CDMA Cellular Paging Teleservice"}, - { 4098, "CDMA Cellular Messaging Teleservice"}, + { 0, "Not used"}, + { 4096, "AMPS Extended Protocol Enhanced Services"}, + { 4097, "CDMA Cellular Paging Teleservice"}, + { 4098, "CDMA Cellular Messaging Teleservice"}, { 32513, "TDMA Cellular Messaging Teleservice"}, { 32514, "TDMA Cellular Paging Teleservice (CPT-136)"}, { 32515, "TDMA Over-the-Air Activation Teleservice (OATS)"}, @@ -3276,7 +3271,7 @@ static const value_string ansi_map_SSDUpdateReport_vals[] = { { 32580, "TDMA Segmented Over-the-Air Programming Teleservice (OPTS)."}, { 32581, "TDMA Segmented General UDP Transport Service (GUTS)"}, { 32576, "Reserved"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.143 StationClassMark */ @@ -3286,50 +3281,50 @@ static const value_string ansi_map_SSDUpdateReport_vals[] = { /* 6.5.2.146 SystemCapabilities */ /* Updated in N.S0008-0 v 1.0 */ static const true_false_string ansi_map_systemcapabilities_auth_bool_val = { - "Authentication parameters were requested on this system access (AUTH=1 in the OMT)", - "Authentication parameters were not requested on this system access (AUTH=0 in the OMT)." + "Authentication parameters were requested on this system access (AUTH=1 in the OMT)", + "Authentication parameters were not requested on this system access (AUTH=0 in the OMT)." }; static const true_false_string ansi_map_systemcapabilities_se_bool_val = { - "Signaling Message Encryption supported by the system", - "Signaling Message Encryption not supported by the system" + "Signaling Message Encryption supported by the system", + "Signaling Message Encryption not supported by the system" }; static const true_false_string ansi_map_systemcapabilities_vp_bool_val = { - "Voice Privacy supported by the system", - "Voice Privacy not supported by the system" + "Voice Privacy supported by the system", + "Voice Privacy not supported by the system" }; static const true_false_string ansi_map_systemcapabilities_cave_bool_val = { - "System can execute the CAVE algorithm and share SSD for the indicated MS", - "System cannot execute the CAVE algorithm and cannot share SSD for the indicated MS" + "System can execute the CAVE algorithm and share SSD for the indicated MS", + "System cannot execute the CAVE algorithm and cannot share SSD for the indicated MS" }; static const true_false_string ansi_map_systemcapabilities_ssd_bool_val = { - "SSD is shared with the system for the indicated MS", - "SSD is not shared with the system for the indicated MS" + "SSD is shared with the system for the indicated MS", + "SSD is not shared with the system for the indicated MS" }; static const true_false_string ansi_map_systemcapabilities_dp_bool_val = { - "DP is supported by the system", - "DP is not supported by the system" + "DP is supported by the system", + "DP is not supported by the system" }; static void dissect_ansi_map_systemcapabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - proto_tree *subtree; + int offset = 0; + proto_tree *subtree; + - - subtree = proto_item_add_subtree(actx->created_item, ett_systemcapabilities); - proto_tree_add_item(subtree, hf_ansi_map_reservedBitHG, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_dp, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_ssd, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_cave, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_vp, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_se, tvb, offset, 1, FALSE); - proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_auth, tvb, offset, 1, FALSE); + subtree = proto_item_add_subtree(actx->created_item, ett_systemcapabilities); + proto_tree_add_item(subtree, hf_ansi_map_reservedBitHG, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_dp, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_ssd, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_cave, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_vp, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_se, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_auth, tvb, offset, 1, FALSE); } /* 6.5.2.151 TDMABurstIndicator */ @@ -3341,19 +3336,19 @@ dissect_ansi_map_systemcapabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto static const value_string ansi_map_TerminationAccessType_vals[] = { { 0, "Not used"}, { 1, "Reserved for controlling system assignment (may be a trunk group identifier)."}, - /* 1 through 127 */ - { 127, "Reserved for controlling system assignment (may be a trunk group identifier)."}, - { 128, "Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 253, Land-to-Mobile Directory Number access"}, - /* 128 through 160 */ - { 160, "Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 253, Land-to-Mobile Directory Number access"}, - { 161, "Reserved for this Standard"}, - /* 161 through 251 */ - { 151, "Reserved for this Standard"}, - { 252, "Mobile-to-Mobile Directory Number access"}, - { 253, "Land-to-Mobile Directory Number access"}, - { 254, "Remote Feature Control port access"}, - { 255, "Roamer port access"}, - { 0, NULL } + /* 1 through 127 */ + { 127, "Reserved for controlling system assignment (may be a trunk group identifier)."}, + { 128, "Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 253, Land-to-Mobile Directory Number access"}, + /* 128 through 160 */ + { 160, "Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 253, Land-to-Mobile Directory Number access"}, + { 161, "Reserved for this Standard"}, + /* 161 through 251 */ + { 151, "Reserved for this Standard"}, + { 252, "Mobile-to-Mobile Directory Number access"}, + { 253, "Land-to-Mobile Directory Number access"}, + { 254, "Remote Feature Control port access"}, + { 255, "Roamer port access"}, + { 0, NULL } }; /* 6.5.2.158 TerminationTreatment */ @@ -3363,7 +3358,7 @@ static const value_string ansi_map_TerminationTreatment_vals[] = { { 2, "Voice Mail Storage"}, { 3, "Voice Mail Retrieval"}, { 4, "Dialogue Termination"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.159 TerminationTriggers */ @@ -3373,7 +3368,7 @@ static const value_string ansi_map_terminationtriggers_busy_vals[] = { { 1, "Busy Trigger"}, { 2, "Busy Leg"}, { 3, "Reserved. Treat as an unrecognized parameter value"}, - { 0, NULL } + { 0, NULL } }; /* Routing Failure (RF) (octet 1, bits C and D) */ static const value_string ansi_map_terminationtriggers_rf_vals[] = { @@ -3381,7 +3376,7 @@ static const value_string ansi_map_terminationtriggers_rf_vals[] = { { 1, "Routing Failure Trigger"}, { 2, "Failed Leg"}, { 3, "Reserved. Treat as an unrecognized parameter value"}, - { 0, NULL } + { 0, NULL } }; /* No Page Response (NPR) (octet 1, bits E and F) */ static const value_string ansi_map_terminationtriggers_npr_vals[] = { @@ -3389,7 +3384,7 @@ static const value_string ansi_map_terminationtriggers_npr_vals[] = { { 1, "No Page Response Trigger"}, { 2, "No Page Response Leg"}, { 3, "Reserved. Treat as an unrecognized parameter value"}, - { 0, NULL } + { 0, NULL } }; /* No Answer (NA) (octet 1, bits G and H) */ static const value_string ansi_map_terminationtriggers_na_vals[] = { @@ -3397,78 +3392,78 @@ static const value_string ansi_map_terminationtriggers_na_vals[] = { { 1, "No Answer Trigger"}, { 2, "No Answer Leg"}, { 3, "Reserved"}, - { 0, NULL } + { 0, NULL } }; /* None Reachable (NR) (octet 2, bit A) */ static const value_string ansi_map_terminationtriggers_nr_vals[] = { { 0, "Member Not Reachable"}, { 1, "Group Not Reachable"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.159 TerminationTriggers N.S0005-0 v 1.0*/ static void dissect_ansi_map_terminationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - proto_tree *subtree; + int offset = 0; + proto_tree *subtree; - - subtree = proto_item_add_subtree(actx->created_item, ett_transactioncapability); - proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE); - /* No Page Response (NPR) (octet 1, bits E and F) */ - proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_npr, tvb, offset, 1, FALSE); - /* No Answer (NA) (octet 1, bits G and H) */ - proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_na, tvb, offset, 1, FALSE); - /* Routing Failure (RF) (octet 1, bits C and D) */ - proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_rf, tvb, offset, 1, FALSE); - /* Busy (octet 1, bits A and B) */ - proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_busy, tvb, offset, 1, FALSE); - offset++; + subtree = proto_item_add_subtree(actx->created_item, ett_transactioncapability); - /* None Reachable (NR) (octet 2, bit A) */ - proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_nr, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE); + /* No Page Response (NPR) (octet 1, bits E and F) */ + proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_npr, tvb, offset, 1, FALSE); + /* No Answer (NA) (octet 1, bits G and H) */ + proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_na, tvb, offset, 1, FALSE); + /* Routing Failure (RF) (octet 1, bits C and D) */ + proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_rf, tvb, offset, 1, FALSE); + /* Busy (octet 1, bits A and B) */ + proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_busy, tvb, offset, 1, FALSE); + offset++; + + /* None Reachable (NR) (octet 2, bit A) */ + proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_nr, tvb, offset, 1, FALSE); } /* 6.5.2.160 TransactionCapability (TIA/EIA-41.5-D, page 5-315) */ /* Updated with N.S0010-0 v 1.0, N.S0012-0 v 1.0 N.S0013-0 v 1.0 */ static const true_false_string ansi_map_trans_cap_prof_bool_val = { - "The system is capable of supporting the IS-41-C profile parameters", - "The system is not capable of supporting the IS-41-C profile parameters" + "The system is capable of supporting the IS-41-C profile parameters", + "The system is not capable of supporting the IS-41-C profile parameters" }; static const true_false_string ansi_map_trans_cap_busy_bool_val = { - "The system is capable of detecting a busy condition at the current time", - "The system is not capable of detecting a busy condition at the current time" + "The system is capable of detecting a busy condition at the current time", + "The system is not capable of detecting a busy condition at the current time" }; static const true_false_string ansi_map_trans_cap_ann_bool_val = { - "The system is capable of honoring the AnnouncementList parameter at the current time", - "The system is not capable of honoring the AnnouncementList parameter at the current time" + "The system is capable of honoring the AnnouncementList parameter at the current time", + "The system is not capable of honoring the AnnouncementList parameter at the current time" }; static const true_false_string ansi_map_trans_cap_rui_bool_val = { - "The system is capable of interacting with the user", - "The system is not capable of interacting with the user" + "The system is capable of interacting with the user", + "The system is not capable of interacting with the user" }; static const true_false_string ansi_map_trans_cap_spini_bool_val = { - "The system is capable of supporting local SPINI operation", - "The system is not capable of supporting local SPINI operation at the current time" + "The system is capable of supporting local SPINI operation", + "The system is not capable of supporting local SPINI operation at the current time" }; static const true_false_string ansi_map_trans_cap_uzci_bool_val = { - "The system is User Zone capable at the current time", - "The system is not User Zone capable at the current time" + "The system is User Zone capable at the current time", + "The system is not User Zone capable at the current time" }; static const true_false_string ansi_map_trans_cap_ndss_bool_val = { - "Serving system is NDSS capable", - "Serving system is not NDSS capable" + "Serving system is NDSS capable", + "Serving system is not NDSS capable" }; static const true_false_string ansi_map_trans_cap_nami_bool_val = { - "The system is CNAP/CNAR capable", - "The system is not CNAP/CNAR capable" + "The system is CNAP/CNAR capable", + "The system is not CNAP/CNAR capable" }; static const value_string ansi_map_trans_cap_multerm_vals[] = { @@ -3488,53 +3483,53 @@ static const value_string ansi_map_trans_cap_multerm_vals[] = { { 13, "The system supports the number of call legs indicated"}, { 14, "The system supports the number of call legs indicated"}, { 15, "The system supports the number of call legs indicated"}, - { 0, NULL } + { 0, NULL } }; static const true_false_string ansi_map_trans_cap_tl_bool_val = { - "The system is capable of supporting the TerminationList parameter at the current time", - "The system is not capable of supporting the TerminationList parameter at the current time" + "The system is capable of supporting the TerminationList parameter at the current time", + "The system is not capable of supporting the TerminationList parameter at the current time" }; static const true_false_string ansi_map_trans_cap_waddr_bool_val = { - "The system is capable of supporting the TriggerAddressList parameter", - "The system is not capable of supporting the TriggerAddressList parameter" + "The system is capable of supporting the TriggerAddressList parameter", + "The system is not capable of supporting the TriggerAddressList parameter" }; static void dissect_ansi_map_transactioncapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - proto_tree *subtree; - - - subtree = proto_item_add_subtree(actx->created_item, ett_transactioncapability); - - /*NAME Capability Indicator (NAMI) (octet 1, bit H) */ - proto_tree_add_item(subtree, hf_ansi_map_trans_cap_nami, tvb, offset, 1, FALSE); - /* NDSS Capability (NDSS) (octet 1, bit G) */ - proto_tree_add_item(subtree, hf_ansi_map_trans_cap_ndss, tvb, offset, 1, FALSE); - /* UZ Capability Indicator (UZCI) (octet 1, bit F) */ - proto_tree_add_item(subtree, hf_ansi_map_trans_cap_uzci, tvb, offset, 1, FALSE); - /* Subscriber PIN Intercept (SPINI) (octet 1, bit E) */ - proto_tree_add_item(subtree, hf_ansi_map_trans_cap_spini, tvb, offset, 1, FALSE); - /* Remote User Interaction (RUI) (octet 1, bit D) */ - proto_tree_add_item(subtree, hf_ansi_map_trans_cap_rui, tvb, offset, 1, FALSE); - /* Announcements (ANN) (octet 1, bit C) */ - proto_tree_add_item(subtree, hf_ansi_map_trans_cap_ann, tvb, offset, 1, FALSE); - /* Busy Detection (BUSY) (octet 1, bit B) */ - proto_tree_add_item(subtree, hf_ansi_map_trans_cap_busy, tvb, offset, 1, FALSE); - /* Profile (PROF) (octet 1, bit A) */ - proto_tree_add_item(subtree, hf_ansi_map_trans_cap_prof, tvb, offset, 1, FALSE); - offset++; - - /* WIN Addressing (WADDR) (octet 2, bit F) */ - proto_tree_add_item(subtree, hf_ansi_trans_cap_waddr, tvb, offset, 1, FALSE); - /* TerminationList (TL) (octet 2, bit E) */ - proto_tree_add_item(subtree, hf_ansi_trans_cap_tl, tvb, offset, 1, FALSE); - /* Multiple Terminations (octet 2, bits A-D) */ - proto_tree_add_item(subtree, hf_ansi_trans_cap_multerm, tvb, offset, 1, FALSE); + int offset = 0; + proto_tree *subtree; + + + subtree = proto_item_add_subtree(actx->created_item, ett_transactioncapability); + + /*NAME Capability Indicator (NAMI) (octet 1, bit H) */ + proto_tree_add_item(subtree, hf_ansi_map_trans_cap_nami, tvb, offset, 1, FALSE); + /* NDSS Capability (NDSS) (octet 1, bit G) */ + proto_tree_add_item(subtree, hf_ansi_map_trans_cap_ndss, tvb, offset, 1, FALSE); + /* UZ Capability Indicator (UZCI) (octet 1, bit F) */ + proto_tree_add_item(subtree, hf_ansi_map_trans_cap_uzci, tvb, offset, 1, FALSE); + /* Subscriber PIN Intercept (SPINI) (octet 1, bit E) */ + proto_tree_add_item(subtree, hf_ansi_map_trans_cap_spini, tvb, offset, 1, FALSE); + /* Remote User Interaction (RUI) (octet 1, bit D) */ + proto_tree_add_item(subtree, hf_ansi_map_trans_cap_rui, tvb, offset, 1, FALSE); + /* Announcements (ANN) (octet 1, bit C) */ + proto_tree_add_item(subtree, hf_ansi_map_trans_cap_ann, tvb, offset, 1, FALSE); + /* Busy Detection (BUSY) (octet 1, bit B) */ + proto_tree_add_item(subtree, hf_ansi_map_trans_cap_busy, tvb, offset, 1, FALSE); + /* Profile (PROF) (octet 1, bit A) */ + proto_tree_add_item(subtree, hf_ansi_map_trans_cap_prof, tvb, offset, 1, FALSE); + offset++; + + /* WIN Addressing (WADDR) (octet 2, bit F) */ + proto_tree_add_item(subtree, hf_ansi_trans_cap_waddr, tvb, offset, 1, FALSE); + /* TerminationList (TL) (octet 2, bit E) */ + proto_tree_add_item(subtree, hf_ansi_trans_cap_tl, tvb, offset, 1, FALSE); + /* Multiple Terminations (octet 2, bits A-D) */ + proto_tree_add_item(subtree, hf_ansi_trans_cap_multerm, tvb, offset, 1, FALSE); } /* 6.5.2.162 UniqueChallengeReport */ @@ -3545,7 +3540,7 @@ static const value_string ansi_map_UniqueChallengeReport_vals[] = { { 2, "Unique Challenge no response"}, { 3, "Unique Challenge successful"}, { 4, "Unique Challenge failed"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.166 VoicePrivacyMask */ @@ -3553,121 +3548,121 @@ static const value_string ansi_map_UniqueChallengeReport_vals[] = { /* 6.5.2.e (TSB76) CDMAServiceConfigurationRecord N.S0008-0 v 1.0 */ /* a. This field carries the CDMA Service Configuration Record. The bit-layout is the -same as that of Service Configuration Record in TSB74, and J-STD-008. + same as that of Service Configuration Record in TSB74, and J-STD-008. */ /* 6.5.2.f CDMAServiceOption N.S0010-0 v 1.0 */ /* values copied from old ANSI map dissector */ static const range_string cdmaserviceoption_vals[] = { - { 1, 1, "Basic Variable Rate Voice Service (8 kbps)" }, - { 2, 2, "Mobile Station Loopback (8 kbps)" }, - { 3, 3, "Enhanced Variable Rate Voice Service (8 kbps)" }, - { 4, 4, "Asynchronous Data Service (9.6 kbps)" }, - { 5, 5, "Group 3 Facsimile (9.6 kbps)" }, - { 6, 6, "Short Message Services (Rate Set 1)" }, - { 7, 7, "Packet Data Service: Internet or ISO Protocol Stack (9.6 kbps)" }, - { 8, 8, "Packet Data Service: CDPD Protocol Stack (9.6 kbps)" }, - { 9, 9, "Mobile Station Loopback (13 kbps)" }, - { 10, 10, "STU-III Transparent Service" }, - { 11, 11, "STU-III Non-Transparent Service" }, - { 12, 12, "Asynchronous Data Service (14.4 or 9.6 kbps)" }, - { 13, 13, "Group 3 Facsimile (14.4 or 9.6 kbps)" }, - { 14, 14, "Short Message Services (Rate Set 2)" }, - { 15, 15, "Packet Data Service: Internet or ISO Protocol Stack (14.4 kbps)" }, - { 16, 16, "Packet Data Service: CDPD Protocol Stack (14.4 kbps)" }, - { 17, 17, "High Rate Voice Service (13 kbps)" }, - { 18, 18, "Over-the-Air Parameter Administration (Rate Set 1)" }, - { 19, 19, "Over-the-Air Parameter Administration (Rate Set 2)" }, - { 20, 20, "Group 3 Analog Facsimile (Rate Set 1)" }, - { 21, 21, "Group 3 Analog Facsimile (Rate Set 2)" }, - { 22, 22, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS1 reverse)" }, - { 23, 23, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS2 reverse)" }, - { 24, 24, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS1 reverse)" }, - { 25, 25, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS2 reverse)" }, - { 26, 26, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS1 reverse)" }, - { 27, 27, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS2 reverse)" }, - { 28, 28, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS1 reverse)" }, - { 29, 29, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS2 reverse)" }, - { 30, 30, "Supplemental Channel Loopback Test for Rate Set 1" }, - { 31, 31, "Supplemental Channel Loopback Test for Rate Set 2" }, - { 32, 32, "Test Data Service Option (TDSO)" }, - { 33, 33, "cdma2000 High Speed Packet Data Service, Internet or ISO Protocol Stack" }, - { 34, 34, "cdma2000 High Speed Packet Data Service, CDPD Protocol Stack" }, - { 35, 35, "Location Services, Rate Set 1 (9.6 kbps)" }, - { 36, 36, "Location Services, Rate Set 2 (14.4 kbps)" }, - { 37, 37, "ISDN Interworking Service (64 kbps)" }, - { 38, 38, "GSM Voice" }, - { 39, 39, "GSM Circuit Data" }, - { 40, 40, "GSM Packet Data" }, - { 41, 41, "GSM Short Message Service" }, - { 42, 42, "None Reserved for MC-MAP standard service options" }, - { 54, 54, "Markov Service Option (MSO)" }, - { 55, 55, "Loopback Service Option (LSO)" }, - { 56, 56, "Selectable Mode Vocoder" }, - { 57, 57, "32 kbps Circuit Video Conferencing" }, - { 58, 58, "64 kbps Circuit Video Conferencing" }, - { 59, 59, "HRPD Accounting Records Identifier" }, - { 60, 60, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Removal" }, - { 61, 61, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Compression" }, - { 62, 62, "Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB) Rate Set 2" }, - { 63, 63, "Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB) Rate Set 1" }, - { 64, 64, "HRPD auxiliary Packet Data Service instance" }, - { 65, 65, "cdma2000/GPRS Inter-working" }, - { 66, 66, "cdma2000 High Speed Packet Data Service, Internet or ISO Protocol Stack" }, - { 67, 67, "HRPD Packet Data IP Service where Higher Layer Protocol is IP or ROHC" }, - { 68, 68, "Enhanced Variable Rate Voice Service (EVRC-B)" }, - { 69, 69, "HRPD Packet Data Service, which when used in paging over the 1x air interface, a page response is required" }, - { 70, 70, "Enhanced Variable Rate Voice Service (EVRC-WB)" }, - { 71, 4099, "None Reserved for standard service options" }, - { 4100, 4100, "Asynchronous Data Service, Revision 1 (9.6 or 14.4 kbps)" }, - { 4101, 4101, "Group 3 Facsimile, Revision 1 (9.6 or 14.4 kbps)" }, - { 4102, 4102, "Reserved for standard service option" }, - { 4103, 4103, "Packet Data Service: Internet or ISO Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" }, - { 4104, 4104, "Packet Data Service: CDPD Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" }, - { 4105, 32767, "Reserved for standard service options" }, - { 32768, 32768, "QCELP (13 kbps)" }, - { 32769, 32771, "Proprietary QUALCOMM Incorporated" }, - { 32772, 32775, "Proprietary OKI Telecom" }, - { 32776, 32779, "Proprietary Lucent Technologies" }, - { 32780, 32783, "Nokia" }, - { 32784, 32787, "NORTEL NETWORKS" }, - { 32788, 32791, "Sony Electronics Inc" }, - { 32792, 32795, "Motorola" }, - { 32796, 32799, "QUALCOMM Incorporated" }, - { 32800, 32803, "QUALCOMM Incorporated" }, - { 32804, 32807, "QUALCOMM Incorporated" }, - { 32808, 32811, "QUALCOMM Incorporated" }, - { 32812, 32815, "Lucent Technologies" }, - { 32816, 32819, "Denso International" }, - { 32820, 32823, "Motorola" }, - { 32824, 32827, "Denso International" }, - { 32828, 32831, "Denso International" }, - { 32832, 32835, "Denso International" }, - { 32836, 32839, "NEC America" }, - { 32840, 32843, "Samsung Electronics" }, - { 32844, 32847, "Texas Instruments Incorporated" }, - { 32848, 32851, "Toshiba Corporation" }, - { 32852, 32855, "LG Electronics Inc." }, - { 32856, 32859, "VIA Telecom Inc." }, - { 0, 0, NULL } + { 1, 1, "Basic Variable Rate Voice Service (8 kbps)" }, + { 2, 2, "Mobile Station Loopback (8 kbps)" }, + { 3, 3, "Enhanced Variable Rate Voice Service (8 kbps)" }, + { 4, 4, "Asynchronous Data Service (9.6 kbps)" }, + { 5, 5, "Group 3 Facsimile (9.6 kbps)" }, + { 6, 6, "Short Message Services (Rate Set 1)" }, + { 7, 7, "Packet Data Service: Internet or ISO Protocol Stack (9.6 kbps)" }, + { 8, 8, "Packet Data Service: CDPD Protocol Stack (9.6 kbps)" }, + { 9, 9, "Mobile Station Loopback (13 kbps)" }, + { 10, 10, "STU-III Transparent Service" }, + { 11, 11, "STU-III Non-Transparent Service" }, + { 12, 12, "Asynchronous Data Service (14.4 or 9.6 kbps)" }, + { 13, 13, "Group 3 Facsimile (14.4 or 9.6 kbps)" }, + { 14, 14, "Short Message Services (Rate Set 2)" }, + { 15, 15, "Packet Data Service: Internet or ISO Protocol Stack (14.4 kbps)" }, + { 16, 16, "Packet Data Service: CDPD Protocol Stack (14.4 kbps)" }, + { 17, 17, "High Rate Voice Service (13 kbps)" }, + { 18, 18, "Over-the-Air Parameter Administration (Rate Set 1)" }, + { 19, 19, "Over-the-Air Parameter Administration (Rate Set 2)" }, + { 20, 20, "Group 3 Analog Facsimile (Rate Set 1)" }, + { 21, 21, "Group 3 Analog Facsimile (Rate Set 2)" }, + { 22, 22, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS1 reverse)" }, + { 23, 23, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS2 reverse)" }, + { 24, 24, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS1 reverse)" }, + { 25, 25, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS2 reverse)" }, + { 26, 26, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS1 reverse)" }, + { 27, 27, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS2 reverse)" }, + { 28, 28, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS1 reverse)" }, + { 29, 29, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS2 reverse)" }, + { 30, 30, "Supplemental Channel Loopback Test for Rate Set 1" }, + { 31, 31, "Supplemental Channel Loopback Test for Rate Set 2" }, + { 32, 32, "Test Data Service Option (TDSO)" }, + { 33, 33, "cdma2000 High Speed Packet Data Service, Internet or ISO Protocol Stack" }, + { 34, 34, "cdma2000 High Speed Packet Data Service, CDPD Protocol Stack" }, + { 35, 35, "Location Services, Rate Set 1 (9.6 kbps)" }, + { 36, 36, "Location Services, Rate Set 2 (14.4 kbps)" }, + { 37, 37, "ISDN Interworking Service (64 kbps)" }, + { 38, 38, "GSM Voice" }, + { 39, 39, "GSM Circuit Data" }, + { 40, 40, "GSM Packet Data" }, + { 41, 41, "GSM Short Message Service" }, + { 42, 42, "None Reserved for MC-MAP standard service options" }, + { 54, 54, "Markov Service Option (MSO)" }, + { 55, 55, "Loopback Service Option (LSO)" }, + { 56, 56, "Selectable Mode Vocoder" }, + { 57, 57, "32 kbps Circuit Video Conferencing" }, + { 58, 58, "64 kbps Circuit Video Conferencing" }, + { 59, 59, "HRPD Accounting Records Identifier" }, + { 60, 60, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Removal" }, + { 61, 61, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Compression" }, + { 62, 62, "Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB) Rate Set 2" }, + { 63, 63, "Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB) Rate Set 1" }, + { 64, 64, "HRPD auxiliary Packet Data Service instance" }, + { 65, 65, "cdma2000/GPRS Inter-working" }, + { 66, 66, "cdma2000 High Speed Packet Data Service, Internet or ISO Protocol Stack" }, + { 67, 67, "HRPD Packet Data IP Service where Higher Layer Protocol is IP or ROHC" }, + { 68, 68, "Enhanced Variable Rate Voice Service (EVRC-B)" }, + { 69, 69, "HRPD Packet Data Service, which when used in paging over the 1x air interface, a page response is required" }, + { 70, 70, "Enhanced Variable Rate Voice Service (EVRC-WB)" }, + { 71, 4099, "None Reserved for standard service options" }, + { 4100, 4100, "Asynchronous Data Service, Revision 1 (9.6 or 14.4 kbps)" }, + { 4101, 4101, "Group 3 Facsimile, Revision 1 (9.6 or 14.4 kbps)" }, + { 4102, 4102, "Reserved for standard service option" }, + { 4103, 4103, "Packet Data Service: Internet or ISO Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" }, + { 4104, 4104, "Packet Data Service: CDPD Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" }, + { 4105, 32767, "Reserved for standard service options" }, + { 32768, 32768, "QCELP (13 kbps)" }, + { 32769, 32771, "Proprietary QUALCOMM Incorporated" }, + { 32772, 32775, "Proprietary OKI Telecom" }, + { 32776, 32779, "Proprietary Lucent Technologies" }, + { 32780, 32783, "Nokia" }, + { 32784, 32787, "NORTEL NETWORKS" }, + { 32788, 32791, "Sony Electronics Inc" }, + { 32792, 32795, "Motorola" }, + { 32796, 32799, "QUALCOMM Incorporated" }, + { 32800, 32803, "QUALCOMM Incorporated" }, + { 32804, 32807, "QUALCOMM Incorporated" }, + { 32808, 32811, "QUALCOMM Incorporated" }, + { 32812, 32815, "Lucent Technologies" }, + { 32816, 32819, "Denso International" }, + { 32820, 32823, "Motorola" }, + { 32824, 32827, "Denso International" }, + { 32828, 32831, "Denso International" }, + { 32832, 32835, "Denso International" }, + { 32836, 32839, "NEC America" }, + { 32840, 32843, "Samsung Electronics" }, + { 32844, 32847, "Texas Instruments Incorporated" }, + { 32848, 32851, "Toshiba Corporation" }, + { 32852, 32855, "LG Electronics Inc." }, + { 32856, 32859, "VIA Telecom Inc." }, + { 0, 0, NULL } }; static void dissect_ansi_map_cdmaserviceoption(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - proto_tree *subtree; + int offset = 0; + proto_tree *subtree; + - - subtree = proto_item_add_subtree(actx->created_item, ett_cdmaserviceoption); + subtree = proto_item_add_subtree(actx->created_item, ett_cdmaserviceoption); - proto_tree_add_item(subtree, hf_ansi_map_cdmaserviceoption, tvb, offset, 2, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_cdmaserviceoption, tvb, offset, 2, FALSE); } /* 6.5.2.f (TSB76) CDMAServiceOption N.S0008-0 v 1.0*/ /* This field carries the CDMA Service Option. The bit-layout is the same as that of -Service Option in TSB74 and J-STD-008.*/ + Service Option in TSB74 and J-STD-008.*/ /* 6.5.2.i (IS-730) TDMAServiceCode N.S0008-0 v 1.0 */ static const value_string ansi_map_TDMAServiceCode_vals[] = { @@ -3679,7 +3674,7 @@ static const value_string ansi_map_TDMAServiceCode_vals[] = { { 5, "G3 Fax"}, { 6, "Not Used (Service Rejected)"}, { 7, "STU-III"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.j (IS-730) TDMATerminalCapability N.S0008-0 v 1.0 Updted with N.S0015-0 */ /* Supported Frequency Band (octet 1) */ @@ -3694,7 +3689,7 @@ static const value_string ansi_map_TDMATerminalCapability_prot_ver_vals[] = { { 5, "PV 1 as published in TIA/EIA-136-A."}, { 6, "PV 2 as published in TIA/EIA-136-A."}, { 7, "PV 3 as published in TIA/EIA-136-A."}, - { 0, NULL } + { 0, NULL } }; /* Asynchronous Data (ADS) (octet 4, bit A) N.S0007-0*/ /* Group 3 Fax (G3FAX) (octet 4, bit B) */ @@ -3713,7 +3708,7 @@ static const value_string ansi_map_TDMATerminalCapability_prot_ver_vals[] = { /* 6.5.2.aa BaseStationManufacturerCode N.S0007-0 v 1.0 */ /* The BaseStationManufacturerCode (BSMC) parameter specifies the manufacturer of the -base station that is currently serving the MS (see IS-136 for enumeration of values).*/ + base station that is currently serving the MS (see IS-136 for enumeration of values).*/ /* 6.5.2.ab BSMCStatus */ @@ -3721,7 +3716,7 @@ base station that is currently serving the MS (see IS-136 for enumeration of val static const value_string ansi_map_BSMCStatus_vals[] = { { 0, "Same BSMC Value shall not be supported"}, { 1, "Same BSMC Value shall be supported"}, - { 0, NULL } + { 0, NULL } }; /*- 6.5.2.ac ControlChannelMode (N.S0007-0 v 1.0)*/ @@ -3730,7 +3725,7 @@ static const value_string ansi_map_ControlChannelMode_vals[] = { { 1, "MS is in Analog CC Mode"}, { 2, "MS is in Digital CC Mode"}, { 3, "MS is in NAMPS CC Mode"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.ad NonPublicData N.S0007-0 v 1.0*/ @@ -3751,7 +3746,7 @@ static const value_string ansi_map_PagingFrameClass_vals[] = { { 6, "PagingFrameClass 7 (61.44 seconds)"}, { 7, "PagingFrameClass 8 (122.88 seconds)"}, { 8, "Reserved. Treat the same as value 0, PagingFrameClass 1"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.af PSID_RSIDInformation N.S0007-0 v 1.0*/ @@ -3765,7 +3760,7 @@ static const value_string ansi_map_ServicesResult_ppr_vals[] = { { 1, "Unsuccessful PSID/RSID download"}, { 2, "Successful PSID/RSID download"}, { 3, "Reserved. Treat the same as value 0, No Indication"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.ai SOCStatus N.S0007-0 v 1.0*/ @@ -3774,12 +3769,12 @@ static const value_string ansi_map_ServicesResult_ppr_vals[] = { static const value_string ansi_map_SOCStatus_vals[] = { { 0, "Same SOC Value shall not be supported"}, { 1, "Same SOC Value shall be supported"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.aj SystemOperatorCode N.S0007-0 v 1.0*/ /* The SystemOperatorCode (SOC) parameter specifies the system operator that is currently -providing service to a MS (see IS-136 for enumeration of values) */ + providing service to a MS (see IS-136 for enumeration of values) */ /* 6.5.2.al UserGroup N.S0007-0 v 1.0*/ @@ -3804,31 +3799,31 @@ static const value_string ansi_map_TDMABandwidth_vals[] = { { 13, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"}, { 14, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"}, { 15, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.az TDMADataFeaturesIndicator N.S0008-0 v 1.0 */ /* TDMADataFeaturesIndicator -ansi_map_FeatureActivity_vals - - ADS FeatureActivity ADS-FA ( octet 1 bit A and B ) - G3 Fax FeatureActivity G3FAX-FA ( octet 1 bit C and D ) - STU-III FeatureActivity STUIII-FA ( octet 1 bit E and F ) - Half Rate data FeatureActivity HRATE-FA ( octet 2 bit A and B ) - Full Rate data FeatureActivity FRATE-FA ( octet 2 bit C and D ) - Double Rate data FeatureActivity 2RATE-FA ( octet 2 bit E and F ) - Triple Rate data FeatureActivity 3RATE-FA ( octet g bit G and H ) - - Table 6.5.2.azt TDMADataFeaturesIndicator value - static const value_string ansi_map_TDMADataFeaturesIndicator_vals[] = { - { 0, "Not Used"}, - { 1, "Not Authorized"}, - { 2, "Authorized, but de-activated"}, - { 3, "Authorized and activated"}, - { 0, NULL } - -}; + ansi_map_FeatureActivity_vals + + ADS FeatureActivity ADS-FA ( octet 1 bit A and B ) + G3 Fax FeatureActivity G3FAX-FA ( octet 1 bit C and D ) + STU-III FeatureActivity STUIII-FA ( octet 1 bit E and F ) + Half Rate data FeatureActivity HRATE-FA ( octet 2 bit A and B ) + Full Rate data FeatureActivity FRATE-FA ( octet 2 bit C and D ) + Double Rate data FeatureActivity 2RATE-FA ( octet 2 bit E and F ) + Triple Rate data FeatureActivity 3RATE-FA ( octet g bit G and H ) + + Table 6.5.2.azt TDMADataFeaturesIndicator value + static const value_string ansi_map_TDMADataFeaturesIndicator_vals[] = { + { 0, "Not Used"}, + { 1, "Not Authorized"}, + { 2, "Authorized, but de-activated"}, + { 3, "Authorized and activated"}, + { 0, NULL } + + }; */ /* 6.5.2.ba TDMADataMode N.S0008-0 v 1.0*/ @@ -3837,37 +3832,37 @@ ansi_map_FeatureActivity_vals /* 6.5.2.bb CDMAConnectionReference N.S0008-0 v 1.0 */ /* Service Option Connection Reference Octet 1 */ -/* a. This field carries the CDMA Service Option Connection Reference. The bitlayout - is the same as that of Service Option Connection Reference in TSB74 and - J-STD-008. +/* a. This field carries the CDMA Service Option Connection Reference. The bitlayout + is the same as that of Service Option Connection Reference in TSB74 and + J-STD-008. */ /* 6.5.2.ad CDMAState N.S0008-0 v 1.0 */ /* Service Option State Octet 1 */ /* a. This field carries the CDMA Service Option State information. The CDMA -Service Option State is defined in the current CDMA Service Options standard. -If CDMA Service Option State is not explicitly defined within a section of the -relevant CDMA Service Option standard, the CDMA Service Option State shall -carry the value of the ORD_Q octet of all current Service Option Control Orders -(see IS-95), or the contents of all current CDMA Service Option Control -Messages (see TSB74) type specific field for this connection reference. */ + Service Option State is defined in the current CDMA Service Options standard. + If CDMA Service Option State is not explicitly defined within a section of the + relevant CDMA Service Option standard, the CDMA Service Option State shall + carry the value of the ORD_Q octet of all current Service Option Control Orders + (see IS-95), or the contents of all current CDMA Service Option Control + Messages (see TSB74) type specific field for this connection reference. */ /* 6.5.2.aj SecondInterMSCCircuitID */ /* -- XXX Same code as ISLPinformation??? -dissect_ansi_map_secondintermsccircuitid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree){ + dissect_ansi_map_secondintermsccircuitid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree){ - int offset = 0; - - proto_tree *subtree; + int offset = 0; - - subtree = proto_item_add_subtree(actx->created_item, ett_billingid); - / Trunk Group Number (G) Octet 1 / - proto_tree_add_item(subtree, hf_ansi_map_tgn, tvb, offset, 1, FALSE); - offset++; - / Trunk Member Number (M) Octet2 / - proto_tree_add_item(subtree, hf_ansi_map_tmn, tvb, offset, 1, FALSE); -} + proto_tree *subtree; + + + subtree = proto_item_add_subtree(actx->created_item, ett_billingid); + / Trunk Group Number (G) Octet 1 / + proto_tree_add_item(subtree, hf_ansi_map_tgn, tvb, offset, 1, FALSE); + offset++; + / Trunk Member Number (M) Octet2 / + proto_tree_add_item(subtree, hf_ansi_map_tmn, tvb, offset, 1, FALSE); + } */ /* 6.5.2.as ChangeServiceAttributes N.S0008-0 v 1.0 */ /* Change Facilities Flag (CHGFAC)(octet 1, bits A - B) */ @@ -3876,7 +3871,7 @@ static const value_string ansi_map_ChangeServiceAttributes_chgfac_vals[] = { { 1, "Change Facilities Operation Not Requested"}, { 2, "Change Facilities Operation Used"}, { 3, "Change Facilities Operation Not Used"}, - { 0, NULL } + { 0, NULL } }; /* Service Negotiate Flag (SRVNEG)(octet 1, bits C - D) */ static const value_string ansi_map_ChangeServiceAttributes_srvneg_vals[] = { @@ -3884,7 +3879,7 @@ static const value_string ansi_map_ChangeServiceAttributes_srvneg_vals[] = { { 1, "Service Negotiation Not Used"}, { 2, "Service Negotiation Required"}, { 3, "Service Negotiation Not Required"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.au DataPrivacyParameters N.S0008-0 v 1.0*/ /* Privacy Mode (PM) (octet 1, Bits A and B) */ @@ -3893,13 +3888,13 @@ static const value_string ansi_map_DataPrivacyParameters_pm_vals[] = { { 1, "Privacy Requested or Acknowledged"}, { 2, "Reserved. Treat reserved values the same as value 0, Privacy inactive or not supported."}, { 3, "Reserved. Treat reserved values the same as value 0, Privacy inactive or not supported."}, - { 0, NULL } + { 0, NULL } }; /* Data Privacy Version (PM) (octet 2) */ static const value_string ansi_map_DataPrivacyParameters_data_priv_ver_vals[] = { { 0, "Not used"}, { 1, "Data Privacy Version 1"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.av ISLPInformation N.S0008-0 v 1.0*/ @@ -3907,7 +3902,7 @@ static const value_string ansi_map_DataPrivacyParameters_data_priv_ver_vals[] = static const value_string ansi_map_islp_type_vals[] = { { 0, "No ISLP supported"}, { 1, "ISLP supported"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.bc AnalogRedirectInfo */ /* Sys Ordering (octet 1, bits A-E) */ @@ -3933,7 +3928,7 @@ static const value_string ansi_map_ServiceRedirectionCause_type_vals[] = { { 4, "RegistrationRejection."}, { 5, "WrongSID."}, { 6, "WrongNID.."}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.bq ServiceRedirectionInfo N.S0010-0 v 1.0 */ @@ -3949,22 +3944,22 @@ static const value_string ansi_map_Presentation_Status_vals[] = { { 1, "Presentation restricted"}, { 2, "Blocking toggle"}, { 3, "No indication"}, - { 0, NULL } + { 0, NULL } }; /* Availability (octet 1, bit E) N.S0012-0 v 1.0*/ static const true_false_string ansi_map_Availability_bool_val = { - "Name not available", - "Name available/unknown" + "Name not available", + "Name available/unknown" }; static void dissect_ansi_map_callingpartyname(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - proto_tree *subtree; - - subtree = proto_item_add_subtree(actx->created_item, ett_callingpartyname); - /* Availability (octet 1, bit E) N.S0012-0 v 1.0*/ + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_callingpartyname); + /* Availability (octet 1, bit E) N.S0012-0 v 1.0*/ - /* Presentation Status (octet 1, bits A and B) */ + /* Presentation Status (octet 1, bits A and B) */ @@ -3975,11 +3970,11 @@ dissect_ansi_map_callingpartyname(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro /* a. Refer to ANSI T1.610 for field encoding. */ /* 6.5.2.bz ServiceID -Service Identifier (octets 1 to n) -0 Not used. -1 Calling Name Presentation - No RND. -2 Calling Name Presentation with RND. - */ + Service Identifier (octets 1 to n) + 0 Not used. + 1 Calling Name Presentation - No RND. + 2 Calling Name Presentation with RND. +*/ /* 6.5.2.co GlobalTitle N.S0013-0 v 1.0 * Refer to Section 3 of ANSI T1.112 for the encoding of this field. @@ -3995,75 +3990,75 @@ static const value_string ansi_map_resource_type_vals[] = { { 1, "DTMF tone detector"}, { 2, "Automatic Speech Recognition - Speaker Independent - Digits"}, { 3, "Automatic Speech Recognition - Speaker Independent - Speech User Interface Version 1"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.df TriggerCapability */ /* Updated with N.S0004 N.S0013-0 v 1.0*/ static const true_false_string ansi_map_triggercapability_bool_val = { - "triggers can be armed by the TriggerAddressList parameter", - "triggers cannot be armed by the TriggerAddressList parameter" + "triggers can be armed by the TriggerAddressList parameter", + "triggers cannot be armed by the TriggerAddressList parameter" }; static void dissect_ansi_map_triggercapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - proto_tree *subtree; - - - subtree = proto_item_add_subtree(actx->created_item, ett_triggercapability); - - - /* O_No_Answer (ONA) (octet 1, bit H)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_ona, tvb, offset, 1, FALSE); - /* O_Disconnect (ODISC) (octet 1, bit G)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_odisc, tvb, offset, 1, FALSE); - /* O_Answer (OANS) (octet 1, bit F)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_oans, tvb, offset, 1, FALSE); - /* Origination_Attempt_Authorized (OAA) (octet 1, bit E)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_oaa, tvb, offset, 1, FALSE); - /* Revertive_Call (RvtC) (octet 1, bit D)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_rvtc, tvb, offset, 1, FALSE); - /* All_Calls (All) (octet 1, bit C)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_all, tvb, offset, 1, FALSE); - /* K-digit (K-digit) (octet 1, bit B)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_kdigit, tvb, offset, 1, FALSE); - /* Introducing Star/Pound (INIT) (octet 1, bit A) */ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_init, tvb, offset, 1, FALSE); - offset++; - - - /* O_Called_Party_Busy (OBSY) (octet 2, bit H)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_obsy, tvb, offset, 1, FALSE); - /* Called_Routing_Address_Available (CdRAA) (octet 2, bit G)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_cdraa, tvb, offset, 1, FALSE); - /* Initial_Termination (IT) (octet 2, bit F)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_it, tvb, offset, 1, FALSE); - /* Calling_Routing_Address_Available (CgRAA)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_cgraa, tvb, offset, 1, FALSE); - /* Advanced_Termination (AT) (octet 2, bit D)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_at, tvb, offset, 1, FALSE); - /* Prior_Agreement (PA) (octet 2, bit C)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_pa, tvb, offset, 1, FALSE); - /* Unrecognized_Number (Unrec) (octet 2, bit B)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_unrec, tvb, offset, 1, FALSE); - /* Call Types (CT) (octet 2, bit A)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_ct, tvb, offset, 1, FALSE); - offset++; - /* */ - /* */ - /* */ - /* T_Disconnect (TDISC) (octet 3, bit E)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tdisc, tvb, offset, 1, FALSE); - /* T_Answer (TANS) (octet 3, bit D)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tans, tvb, offset, 1, FALSE); - /* T_No_Answer (TNA) (octet 3, bit C)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tna, tvb, offset, 1, FALSE); - /* T_Busy (TBusy) (octet 3, bit B)*/ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tbusy, tvb, offset, 1, FALSE); - /* Terminating_Resource_Available (TRA) (octet 3, bit A) */ - proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tra, tvb, offset, 1, FALSE); + int offset = 0; + proto_tree *subtree; + + + subtree = proto_item_add_subtree(actx->created_item, ett_triggercapability); + + + /* O_No_Answer (ONA) (octet 1, bit H)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_ona, tvb, offset, 1, FALSE); + /* O_Disconnect (ODISC) (octet 1, bit G)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_odisc, tvb, offset, 1, FALSE); + /* O_Answer (OANS) (octet 1, bit F)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_oans, tvb, offset, 1, FALSE); + /* Origination_Attempt_Authorized (OAA) (octet 1, bit E)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_oaa, tvb, offset, 1, FALSE); + /* Revertive_Call (RvtC) (octet 1, bit D)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_rvtc, tvb, offset, 1, FALSE); + /* All_Calls (All) (octet 1, bit C)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_all, tvb, offset, 1, FALSE); + /* K-digit (K-digit) (octet 1, bit B)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_kdigit, tvb, offset, 1, FALSE); + /* Introducing Star/Pound (INIT) (octet 1, bit A) */ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_init, tvb, offset, 1, FALSE); + offset++; + + + /* O_Called_Party_Busy (OBSY) (octet 2, bit H)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_obsy, tvb, offset, 1, FALSE); + /* Called_Routing_Address_Available (CdRAA) (octet 2, bit G)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_cdraa, tvb, offset, 1, FALSE); + /* Initial_Termination (IT) (octet 2, bit F)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_it, tvb, offset, 1, FALSE); + /* Calling_Routing_Address_Available (CgRAA)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_cgraa, tvb, offset, 1, FALSE); + /* Advanced_Termination (AT) (octet 2, bit D)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_at, tvb, offset, 1, FALSE); + /* Prior_Agreement (PA) (octet 2, bit C)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_pa, tvb, offset, 1, FALSE); + /* Unrecognized_Number (Unrec) (octet 2, bit B)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_unrec, tvb, offset, 1, FALSE); + /* Call Types (CT) (octet 2, bit A)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_ct, tvb, offset, 1, FALSE); + offset++; + /* */ + /* */ + /* */ + /* T_Disconnect (TDISC) (octet 3, bit E)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tdisc, tvb, offset, 1, FALSE); + /* T_Answer (TANS) (octet 3, bit D)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tans, tvb, offset, 1, FALSE); + /* T_No_Answer (TNA) (octet 3, bit C)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tna, tvb, offset, 1, FALSE); + /* T_Busy (TBusy) (octet 3, bit B)*/ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tbusy, tvb, offset, 1, FALSE); + /* Terminating_Resource_Available (TRA) (octet 3, bit A) */ + proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tra, tvb, offset, 1, FALSE); } /* 6.5.2.ei DMH_ServiceID N.S0018 */ @@ -4072,35 +4067,35 @@ dissect_ansi_map_triggercapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_ /* Updated with N.S0004 */ /* ConnectResource (CONN) (octet 1, bit A) */ static const true_false_string ansi_map_winoperationscapability_conn_bool_val = { - "Sender is capable of supporting the ConnectResource, DisconnectResource, ConnectionFailureReport and ResetTimer (SSFT timer) operations", - "Sender is not capable of supporting the ConnectResource, DisconnectResource,ConnectionFailureReport and ResetTimer (SSFT timer) operations" + "Sender is capable of supporting the ConnectResource, DisconnectResource, ConnectionFailureReport and ResetTimer (SSFT timer) operations", + "Sender is not capable of supporting the ConnectResource, DisconnectResource,ConnectionFailureReport and ResetTimer (SSFT timer) operations" }; /* CallControlDirective (CCDIR) (octet 1, bit B) */ static const true_false_string ansi_map_winoperationscapability_ccdir_bool_val = { - "Sender is capable of supporting the CallControlDirective operation", - "Sender is not capable of supporting the CallControlDirective operation" + "Sender is capable of supporting the CallControlDirective operation", + "Sender is not capable of supporting the CallControlDirective operation" }; /* PositionRequest (POS) (octet 1, bit C) */ static const true_false_string ansi_map_winoperationscapability_pos_bool_val = { - "Sender is capable of supporting the PositionRequest operation", - "Sender is not capable of supporting the PositionRequest operation" + "Sender is capable of supporting the PositionRequest operation", + "Sender is not capable of supporting the PositionRequest operation" }; static void dissect_ansi_map_winoperationscapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - proto_tree *subtree; + int offset = 0; + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_winoperationscapability); - subtree = proto_item_add_subtree(actx->created_item, ett_winoperationscapability); - - /* PositionRequest (POS) (octet 1, bit C) */ - proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_pos, tvb, offset, 1, FALSE); - /* CallControlDirective (CCDIR) (octet 1, bit B) */ - proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_ccdir, tvb, offset, 1, FALSE); - /* ConnectResource (CONN) (octet 1, bit A) */ - proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_conn, tvb, offset, 1, FALSE); + /* PositionRequest (POS) (octet 1, bit C) */ + proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_pos, tvb, offset, 1, FALSE); + /* CallControlDirective (CCDIR) (octet 1, bit B) */ + proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_ccdir, tvb, offset, 1, FALSE); + /* ConnectResource (CONN) (octet 1, bit A) */ + proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_conn, tvb, offset, 1, FALSE); } /* @@ -4117,17 +4112,17 @@ dissect_ansi_map_winoperationscapability(tvbuff_t *tvb, packet_info *pinfo _U_, static void dissect_ansi_map_controlnetworkid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - proto_tree *subtree; + int offset = 0; + proto_tree *subtree; - - subtree = proto_item_add_subtree(actx->created_item, ett_controlnetworkid); - /* MarketID octet 1 and 2 */ - proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE); - offset = offset + 2; - /* Switch Number octet 3*/ - proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE); - offset++; + + subtree = proto_item_add_subtree(actx->created_item, ett_controlnetworkid); + /* MarketID octet 1 and 2 */ + proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE); + offset = offset + 2; + /* Switch Number octet 3*/ + proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE); + offset++; } @@ -4149,7 +4144,7 @@ static const value_string ansi_MSIDUsage_m_or_i_vals[] = { { 1, "MIN last used"}, { 2, "IMSI last used"}, { 3, "Reserved"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.ff NewMINExtension N.S0015-0 */ @@ -4173,7 +4168,7 @@ static const value_string ansi_ACGEncountered_vals[] = { { 13, "13-digit control"}, { 14, "14-digit control"}, { 15, "15-digit control"}, - { 0, NULL } + { 0, NULL } }; /* Control Type (octet 1, bits G-H) */ static const value_string ansi_ACGEncountered_cntrl_type_vals[] = { @@ -4181,7 +4176,7 @@ static const value_string ansi_ACGEncountered_cntrl_type_vals[] = { { 1, "Service Management System Initiated control encountered"}, { 2, "SCF Overload control encountered"}, { 3, "Reserved. Treat the same as value 0, Not used."}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.fw ControlType N.S0023-0 v 1.0 */ @@ -4208,7 +4203,7 @@ static const value_string ansi_map_Priority_vals[] = { { 13, "Priority Level 13"}, { 14, "Reserved"}, { 15, "Reserved"}, - { 0, NULL } + { 0, NULL } }; /* Assured Priority (octet 1, bits E-H)*/ @@ -4223,9 +4218,9 @@ static const value_string ansi_map_Priority_vals[] = { /* 6.5.2.gl CallingPartyCategory N.S0027*/ /* a. Refer to ITU-T Q.763 (Signalling System No. 7 ISDN user part formats and -codes) for encoding of this parameter. -b. Refer to national ISDN user part specifications for definitions and encoding of the -reserved for national use values. + codes) for encoding of this parameter. + b. Refer to national ISDN user part specifications for definitions and encoding of the + reserved for national use values. */ /* 6.5.2.gm CDMA2000HandoffInvokeIOSData N.S0029-0 v1.0*/ /* IOS A1 Element Handoff Invoke Information */ @@ -4246,73 +4241,73 @@ reserved for national use values. /* Position Request Type (octet 1, bits A-H) */ /* -static const value_string ansi_map_Position_Request_Type_vals[] = { - { 0, "Not used"}, - { 1, "Initial Position"}, - { 2, "Return the updated position"}, - { 3, "Return the updated or last known position"}, - { 4, "Reserved for LSP interface"}, - { 5, "Initial Position Only"}, - { 6, "Return the last known position"}, - { 7, "Return the updated position based on the serving cell identity"}, + static const value_string ansi_map_Position_Request_Type_vals[] = { + { 0, "Not used"}, + { 1, "Initial Position"}, + { 2, "Return the updated position"}, + { 3, "Return the updated or last known position"}, + { 4, "Reserved for LSP interface"}, + { 5, "Initial Position Only"}, + { 6, "Return the last known position"}, + { 7, "Return the updated position based on the serving cell identity"}, */ /* -values through 95 Reserved. Treat the same as value 1, Initial position. -96 through 255 Reserved for TIA/EIA-41 protocol extension. If unknown, treat the -same as value 1, Initial position. -* - { 0, NULL } -}; + values through 95 Reserved. Treat the same as value 1, Initial position. + 96 through 255 Reserved for TIA/EIA-41 protocol extension. If unknown, treat the + same as value 1, Initial position. + * + { 0, NULL } + }; */ /* LCS Client Type (CTYP) (octet 2, bit A) * -0 Emergency services LCS Client. -1 Non-emergency services LCS Client. -Call-Related Indicator (CALL) (octet 2, bit B) -Decimal Value Meaning -0 Call-related LCS Client request. -1 Non call-related LCS Client request. - -Current Serving Cell Information for Coarse Position Determination (CELL) (octet 2, bit C) -Decimal Value Meaning -0 No specific request. -1 Current serving cell information. Current serving cell information for -Target MS requested. Radio contact with Target MS is required. + 0 Emergency services LCS Client. + 1 Non-emergency services LCS Client. + Call-Related Indicator (CALL) (octet 2, bit B) + Decimal Value Meaning + 0 Call-related LCS Client request. + 1 Non call-related LCS Client request. + + Current Serving Cell Information for Coarse Position Determination (CELL) (octet 2, bit C) + Decimal Value Meaning + 0 No specific request. + 1 Current serving cell information. Current serving cell information for + Target MS requested. Radio contact with Target MS is required. */ /* 6.5.2.ft PositionResult * -static const value_string ansi_map_PositionResult_vals[] = { - { 0, "Not used"}, - { 1, "Initial position returned"}, - { 2, "Updated position returned"}, - { 3, "Last known position returned"}, - { 4, "Requested position is not available"}, - { 5, "Target MS disconnect"}, - { 6, "Target MS has handed-off"}, - { 7, "Identified MS is inactive or has roamed to another system"}, - { 8, "Unresponsive"}, - { 9, "Identified MS is responsive, but refused position request"}, - { 10, "System Failure"}, - { 11, "MSID is not known"}, - { 12, "Callback number is not known"}, - { 13, "Improper request"}, - { 14, "Mobile information returned"}, - { 15, "Signal not detected"}, - { 16, "PDE Timeout"}, - { 17, "Position pending"}, - { 18, "TDMA MAHO Information Returned"}, - { 19, "TDMA MAHO Information is not available"}, - { 20, "Access Denied"}, - { 21, "Requested PQOS not met"}, - { 22, "Resource required for CDMA handset-based position determination is currently unavailable"}, - { 23, "CDMA handset-based position determination failure"}, - { 24, "CDMA handset-based position determination failure detected by the PDE"}, - { 25, "CDMA handset-based position determination incomplete traffic channel requested for voice services"}, - { 26, "Emergency services call notification"}, - { 27, "Emergency services call precedence"}, - { 28, "Request acknowledged"}, - { 0, NULL } -}; + static const value_string ansi_map_PositionResult_vals[] = { + { 0, "Not used"}, + { 1, "Initial position returned"}, + { 2, "Updated position returned"}, + { 3, "Last known position returned"}, + { 4, "Requested position is not available"}, + { 5, "Target MS disconnect"}, + { 6, "Target MS has handed-off"}, + { 7, "Identified MS is inactive or has roamed to another system"}, + { 8, "Unresponsive"}, + { 9, "Identified MS is responsive, but refused position request"}, + { 10, "System Failure"}, + { 11, "MSID is not known"}, + { 12, "Callback number is not known"}, + { 13, "Improper request"}, + { 14, "Mobile information returned"}, + { 15, "Signal not detected"}, + { 16, "PDE Timeout"}, + { 17, "Position pending"}, + { 18, "TDMA MAHO Information Returned"}, + { 19, "TDMA MAHO Information is not available"}, + { 20, "Access Denied"}, + { 21, "Requested PQOS not met"}, + { 22, "Resource required for CDMA handset-based position determination is currently unavailable"}, + { 23, "CDMA handset-based position determination failure"}, + { 24, "CDMA handset-based position determination failure detected by the PDE"}, + { 25, "CDMA handset-based position determination incomplete traffic channel requested for voice services"}, + { 26, "Emergency services call notification"}, + { 27, "Emergency services call precedence"}, + { 28, "Request acknowledged"}, + { 0, NULL } + }; */ /* 6.5.2.bp-1 ServiceRedirectionCause value */ static const value_string ansi_map_ServiceRedirectionCause_vals[] = { @@ -4323,7 +4318,7 @@ static const value_string ansi_map_ServiceRedirectionCause_vals[] = { { 4, "RegistrationRejection"}, { 5, "WrongSID"}, { 6, "WrongNID"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.mT AuthenticationResponseReauthentication N.S0011-0 v 1.0*/ @@ -4334,25 +4329,25 @@ static const value_string ansi_map_ReauthenticationReport_vals[] = { { 2, "Reauthentication no response"}, { 3, "Reauthentication successful"}, { 4, "Reauthentication failed"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.lB AKeyProtocolVersion - N.S0011-0 v 1.0 - */ + N.S0011-0 v 1.0 +*/ static const value_string ansi_map_AKeyProtocolVersion_vals[] = { { 0, "Not used"}, { 1, "A-key Generation not supported"}, { 2, "Diffie Hellman with 768-bit modulus, 160-bit primitive, and 160-bit exponents"}, { 3, "Diffie Hellman with 512-bit modulus, 160-bit primitive, and 160-bit exponents"}, { 4, "Diffie Hellman with 768-bit modulus, 32-bit primitive, and 160-bit exponents"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.sB OTASP_ResultCode - N.S0011-0 v 1.0 - */ + N.S0011-0 v 1.0 +*/ static const value_string ansi_map_OTASP_ResultCode_vals[] = { { 0, "Accepted - Successful"}, { 1, "Rejected - Unknown cause."}, @@ -4361,12 +4356,12 @@ static const value_string ansi_map_OTASP_ResultCode_vals[] = { { 4, "Unrecognized OTASPCallEntry"}, { 5, "Unsupported AKeyProtocolVersion(s)"}, { 6, "Unable to Commit"}, - { 0, NULL } + { 0, NULL } }; /*6.5.2.wB ServiceIndicator - N.S0011-0 v 1.0 - */ + N.S0011-0 v 1.0 +*/ static const value_string ansi_map_ServiceIndicator_vals[] = { { 0, "Undefined Service"}, { 1, "CDMA OTASP Service"}, @@ -4375,31 +4370,31 @@ static const value_string ansi_map_ServiceIndicator_vals[] = { { 4, "CDMA Position Determination Service (Emergency Services)"}, { 5, "AMPS Position Determination Service (Emergency Services)"}, { 6, "CDMA Position Determination Service (Value Added Services)"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.xB SignalingMessageEncryptionReport - N.S0011-0 v 1.0 - */ + N.S0011-0 v 1.0 +*/ static const value_string ansi_map_SMEReport_vals[] = { { 0, "Not used"}, { 1, "Signaling Message Encryption enabling not attempted"}, { 2, "Signaling Message Encryption enabling no response"}, { 3, "Signaling Message Encryption is enabled"}, { 4, "Signaling Message Encryption enabling failed"}, - { 0, NULL } + { 0, NULL } }; /* 6.5.2.zB VoicePrivacyReport - N.S0011-0 v 1.0 - */ + N.S0011-0 v 1.0 +*/ static const value_string ansi_map_VoicePrivacyReport_vals[] = { { 0, "Not used"}, { 1, "Voice Privacy not attempted"}, { 2, "Voice Privacy no response"}, { 3, "Voice Privacy is active"}, { 4, "Voice Privacy failed"}, - { 0, NULL } + { 0, NULL } }; @@ -15166,7 +15161,7 @@ dissect_ansi_map_ReturnData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of /*--- End of included file: packet-ansi_map-fn.c ---*/ -#line 3636 "packet-ansi_map-template.c" +#line 3631 "packet-ansi_map-template.c" /* * 6.5.2.dk N.S0013-0 v 1.0,X.S0004-550-E v1.0 2.301 @@ -15174,663 +15169,663 @@ dissect_ansi_map_ReturnData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of static void dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - int offset = 0; - int end_offset = 0; - int j = 0; - proto_tree *subtree; - guint8 octet; - - end_offset = tvb_length_remaining(tvb,offset); - subtree = proto_item_add_subtree(actx->created_item, ett_win_trigger_list); - - while(offset< end_offset) { - octet = tvb_get_guint8(tvb,offset); - switch (octet){ - case 0xdc: - proto_tree_add_text(subtree, tvb, offset, 1, "TDP-R's armed"); - j=0; - break; - case 0xdd: - proto_tree_add_text(subtree, tvb, offset, 1, "TDP-N's armed"); - j=0; - break; - case 0xde: - proto_tree_add_text(subtree, tvb, offset, 1, "EDP-R's armed"); - j=0; - break; - case 0xdf: - proto_tree_add_text(subtree, tvb, offset, 1, "EDP-N's armed"); - j=0; - break; - default: - proto_tree_add_text(subtree, tvb, offset, 1, "[%u] (%u) %s",j,octet,val_to_str(octet, ansi_map_TriggerType_vals, "Unknown TriggerType (%u)")); - j++; - break; - } - offset++; - } + int offset = 0; + int end_offset = 0; + int j = 0; + proto_tree *subtree; + guint8 octet; + + end_offset = tvb_length_remaining(tvb,offset); + subtree = proto_item_add_subtree(actx->created_item, ett_win_trigger_list); + + while(offset< end_offset) { + octet = tvb_get_guint8(tvb,offset); + switch (octet){ + case 0xdc: + proto_tree_add_text(subtree, tvb, offset, 1, "TDP-R's armed"); + j=0; + break; + case 0xdd: + proto_tree_add_text(subtree, tvb, offset, 1, "TDP-N's armed"); + j=0; + break; + case 0xde: + proto_tree_add_text(subtree, tvb, offset, 1, "EDP-R's armed"); + j=0; + break; + case 0xdf: + proto_tree_add_text(subtree, tvb, offset, 1, "EDP-N's armed"); + j=0; + break; + default: + proto_tree_add_text(subtree, tvb, offset, 1, "[%u] (%u) %s",j,octet,val_to_str(octet, ansi_map_TriggerType_vals, "Unknown TriggerType (%u)")); + j++; + break; + } + offset++; + } } static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) { - switch(OperationCode){ - case 1: /*Handoff Measurement Request*/ - offset = dissect_ansi_map_HandoffMeasurementRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest); - break; - case 2: /*Facilities Directive*/ - offset = dissect_ansi_map_FacilitiesDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective); - break; - case 3: /*Mobile On Channel*/ - proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob"); - break; - case 4: /*Handoff Back*/ - offset = dissect_ansi_map_HandoffBack(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack); - break; - case 5: /*Facilities Release*/ - offset = dissect_ansi_map_FacilitiesRelease(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesRelease); - break; - case 6: /*Qualification Request*/ - offset = dissect_ansi_map_QualificationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequest); - break; - case 7: /*Qualification Directive*/ - offset = dissect_ansi_map_QualificationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationDirective); - break; - case 8: /*Blocking*/ - offset = dissect_ansi_map_Blocking(TRUE, tvb, offset, actx, tree, hf_ansi_map_blocking); - break; - case 9: /*Unblocking*/ - offset = dissect_ansi_map_Unblocking(TRUE, tvb, offset, actx, tree, hf_ansi_map_unblocking); - break; - case 10: /*Reset Circuit*/ - offset = dissect_ansi_map_ResetCircuit(TRUE, tvb, offset, actx, tree, hf_ansi_map_resetCircuit); - break; - case 11: /*Trunk Test*/ - offset = dissect_ansi_map_TrunkTest(TRUE, tvb, offset, actx, tree, hf_ansi_map_trunkTest); - break; - case 12: /*Trunk Test Disconnect*/ - offset = dissect_ansi_map_TrunkTestDisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_trunkTestDisconnect); - break; - case 13: /*Registration Notification*/ - offset = dissect_ansi_map_RegistrationNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationNotification); - break; - case 14: /*Registration Cancellation*/ - offset = dissect_ansi_map_RegistrationCancellation(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationCancellation); - break; - case 15: /*Location Request*/ - offset = dissect_ansi_map_LocationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_locationRequest); - break; - case 16: /*Routing Request*/ - offset = dissect_ansi_map_RoutingRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_routingRequest); - break; - case 17: /*Feature Request*/ - offset = dissect_ansi_map_FeatureRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_featureRequest); - break; - case 18: /*Reserved 18 (Service Profile Request, IS-41-C)*/ - proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob(18 (Service Profile Request, IS-41-C)"); - break; - case 19: /*Reserved 19 (Service Profile Directive, IS-41-C)*/ - proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob(19 Service Profile Directive, IS-41-C)"); - break; - case 20: /*Unreliable Roamer Data Directive*/ - offset = dissect_ansi_map_UnreliableRoamerDataDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_unreliableRoamerDataDirective); - break; - case 21: /*Reserved 21 (Call Data Request, IS-41-C)*/ - proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob(Reserved 21 (Call Data Request, IS-41-C)"); - break; - case 22: /*MS Inactive*/ - offset = dissect_ansi_map_MSInactive(TRUE, tvb, offset, actx, tree, hf_ansi_map_mSInactive); - break; - case 23: /*Transfer To Number Request*/ - offset = dissect_ansi_map_TransferToNumberRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_transferToNumberRequest); - break; - case 24: /*Redirection Request*/ - offset = dissect_ansi_map_RedirectionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_redirectionRequest); - break; - case 25: /*Handoff To Third*/ - offset = dissect_ansi_map_HandoffToThird(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird); - break; - case 26: /*Flash Request*/ - offset = dissect_ansi_map_FlashRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_flashRequest); - break; - case 27: /*Authentication Directive*/ - offset = dissect_ansi_map_AuthenticationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirective); - break; - case 28: /*Authentication Request*/ - offset = dissect_ansi_map_AuthenticationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationRequest); - break; - case 29: /*Base Station Challenge*/ - offset = dissect_ansi_map_BaseStationChallenge(TRUE, tvb, offset, actx, tree, hf_ansi_map_baseStationChallenge); - break; - case 30: /*Authentication Failure Report*/ - offset = dissect_ansi_map_AuthenticationFailureReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationFailureReport); - break; - case 31: /*Count Request*/ - offset = dissect_ansi_map_CountRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_countRequest); - break; - case 32: /*Inter System Page*/ - offset = dissect_ansi_map_InterSystemPage(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage); - break; - case 33: /*Unsolicited Response*/ - offset = dissect_ansi_map_UnsolicitedResponse(TRUE, tvb, offset, actx, tree, hf_ansi_map_unsolicitedResponse); - break; - case 34: /*Bulk Deregistration*/ - offset = dissect_ansi_map_BulkDeregistration(TRUE, tvb, offset, actx, tree, hf_ansi_map_bulkDeregistration); - break; - case 35: /*Handoff Measurement Request 2*/ - offset = dissect_ansi_map_HandoffMeasurementRequest2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest2); - break; - case 36: /*Facilities Directive 2*/ - offset = dissect_ansi_map_FacilitiesDirective2(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective2); - break; - case 37: /*Handoff Back 2*/ - offset = dissect_ansi_map_HandoffBack2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack2); - break; - case 38: /*Handoff To Third 2*/ - offset = dissect_ansi_map_HandoffToThird2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird2); - break; - case 39: /*Authentication Directive Forward*/ - offset = dissect_ansi_map_AuthenticationDirectiveForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveForward); - break; - case 40: /*Authentication Status Report*/ - offset = dissect_ansi_map_AuthenticationStatusReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationStatusReport); - break; - case 41: /*Reserved 41*/ - proto_tree_add_text(tree, tvb, offset, -1, "Reserved 41, Unknown invokeData blob"); - break; - case 42: /*Information Directive*/ - offset = dissect_ansi_map_InformationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationDirective); - break; - case 43: /*Information Forward*/ - offset = dissect_ansi_map_InformationForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationForward); - break; - case 44: /*Inter System Answer*/ - offset = dissect_ansi_map_InterSystemAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemAnswer); - break; - case 45: /*Inter System Page 2*/ - offset = dissect_ansi_map_InterSystemPage2(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage2); - break; - case 46: /*Inter System Setup*/ - offset = dissect_ansi_map_InterSystemSetup(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSetup); - break; - case 47: /*OriginationRequest*/ - offset = dissect_ansi_map_OriginationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_originationRequest); - break; - case 48: /*Random Variable Request*/ - offset = dissect_ansi_map_RandomVariableRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_randomVariableRequest); - break; - case 49: /*Redirection Directive*/ - offset = dissect_ansi_map_RedirectionDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_redirectionDirective); - break; - case 50: /*Remote User Interaction Directive*/ - offset = dissect_ansi_map_RemoteUserInteractionDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_remoteUserInteractionDirective); - break; - case 51: /*SMS Delivery Backward*/ - offset = dissect_ansi_map_SMSDeliveryBackward(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryBackward); - break; - case 52: /*SMS Delivery Forward*/ - offset = dissect_ansi_map_SMSDeliveryForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryForward); - break; - case 53: /*SMS Delivery Point to Point*/ - offset = dissect_ansi_map_SMSDeliveryPointToPoint(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryPointToPoint); - break; - case 54: /*SMS Notification*/ - offset = dissect_ansi_map_SMSNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSNotification); - break; - case 55: /*SMS Request*/ - offset = dissect_ansi_map_SMSRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSRequest); - break; - /* End N.S0005*/ - /* N.S0010-0 v 1.0 */ - /* N.S0011-0 v 1.0 */ - case 56: /*OTASP Request 6.4.2.CC*/ - offset = dissect_ansi_map_OTASPRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_oTASPRequest); - break; - /*End N.S0011-0 v 1.0 */ - case 57: /*Information Backward*/ - offset = offset; - break; - /* N.S0008-0 v 1.0 */ - case 58: /*Change Facilities*/ - offset = dissect_ansi_map_ChangeFacilities(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeFacilities); - break; - case 59: /*Change Service*/ - offset = dissect_ansi_map_ChangeService(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeService); - break; - /* End N.S0008-0 v 1.0 */ - case 60: /*Parameter Request*/ - offset = dissect_ansi_map_ParameterRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_parameterRequest); - break; - case 61: /*TMSI Directive*/ - offset = dissect_ansi_map_TMSIDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_tMSIDirective); - break; - /*End N.S0010-0 v 1.0 */ - case 62: /*NumberPortabilityRequest 62*/ - offset = dissect_ansi_map_NumberPortabilityRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_numberPortabilityRequest); - break; - case 63: /*Service Request N.S0012-0 v 1.0*/ - offset = dissect_ansi_map_ServiceRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_serviceRequest); - break; - /* N.S0013 */ - case 64: /*Analyzed Information Request*/ - offset = dissect_ansi_map_AnalyzedInformation(TRUE, tvb, offset, actx, tree, hf_ansi_map_analyzedInformation); - break; - case 65: /*Connection Failure Report*/ - offset = dissect_ansi_map_ConnectionFailureReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_connectionFailureReport); - break; - case 66: /*Connect Resource*/ - offset = dissect_ansi_map_ConnectResource(TRUE, tvb, offset, actx, tree, hf_ansi_map_connectResource); - break; - case 67: /*Disconnect Resource*/ - /* No data */ - break; - case 68: /*Facility Selected and Available*/ - offset = dissect_ansi_map_FacilitySelectedAndAvailable(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailable); - break; - case 69: /*Instruction Request*/ - /* No data */ - break; - case 70: /*Modify*/ - offset = dissect_ansi_map_Modify(TRUE, tvb, offset, actx, tree, hf_ansi_map_modify); - break; - case 71: /*Reset Timer*/ - /*No Data*/ - break; - case 72: /*Search*/ - offset = dissect_ansi_map_Search(TRUE, tvb, offset, actx, tree, hf_ansi_map_search); - break; - case 73: /*Seize Resource*/ - offset = dissect_ansi_map_SeizeResource(TRUE, tvb, offset, actx, tree, hf_ansi_map_seizeResource); - break; - case 74: /*SRF Directive*/ - offset = dissect_ansi_map_SRFDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_sRFDirective); - break; - case 75: /*T Busy*/ - offset = dissect_ansi_map_TBusy(TRUE, tvb, offset, actx, tree, hf_ansi_map_tBusy); - break; - case 76: /*T NoAnswer*/ - offset = dissect_ansi_map_TNoAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_tNoAnswer); - break; - /*END N.S0013 */ - case 77: /*Release*/ - offset = offset; - break; - case 78: /*SMS Delivery Point to Point Ack*/ - offset = offset; - break; - /* N.S0024*/ - case 79: /*Message Directive*/ - offset = dissect_ansi_map_MessageDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_messageDirective); - break; - /*END N.S0024*/ - /* N.S0018 PN-4287*/ - case 80: /*Bulk Disconnection*/ - offset = dissect_ansi_map_BulkDisconnection(TRUE, tvb, offset, actx, tree, hf_ansi_map_bulkDisconnection); - break; - case 81: /*Call Control Directive*/ - offset = dissect_ansi_map_CallControlDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_callControlDirective); - break; - case 82: /*O Answer*/ - offset = dissect_ansi_map_OAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_oAnswer); - break; - case 83: /*O Disconnect*/ - offset = dissect_ansi_map_ODisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_oDisconnect); - break; - case 84: /*Call Recovery Report*/ - offset = dissect_ansi_map_CallRecoveryReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_callRecoveryReport); - break; - case 85: /*T Answer*/ - offset = dissect_ansi_map_TAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_tAnswer); - break; - case 86: /*T Disconnect*/ - offset = dissect_ansi_map_TDisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_tDisconnect); - break; - case 87: /*Unreliable Call Data*/ - offset = dissect_ansi_map_UnreliableCallData(TRUE, tvb, offset, actx, tree, hf_ansi_map_unreliableCallData); - break; - /* N.S0018 PN-4287*/ - /*N.S0004 */ - case 88: /*O CalledPartyBusy*/ - offset = dissect_ansi_map_OCalledPartyBusy(TRUE, tvb, offset, actx, tree, hf_ansi_map_oCalledPartyBusy); - break; - case 89: /*O NoAnswer*/ - offset = dissect_ansi_map_ONoAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_oNoAnswer); - break; - case 90: /*Position Request*/ - offset = dissect_ansi_map_PositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequest); - break; - case 91: /*Position Request Forward*/ - offset = dissect_ansi_map_PositionRequestForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestForward); - break; - /*END N.S0004 */ - case 92: /*Call Termination Report*/ - offset = dissect_ansi_map_CallTerminationReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_callTerminationReport); - break; - case 93: /*Geo Position Directive*/ - offset = offset; - break; - case 94: /*Geo Position Request*/ - offset = dissect_ansi_map_GeoPositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequest); - break; - case 95: /*Inter System Position Request*/ - offset = dissect_ansi_map_InterSystemPositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequest); - break; - case 96: /*Inter System Position Request Forward*/ - offset = dissect_ansi_map_InterSystemPositionRequestForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestForward); - break; - /* 3GPP2 N.S0023-0 */ - case 97: /*ACG Directive*/ - offset = dissect_ansi_map_ACGDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_aCGDirective); - break; - /* END 3GPP2 N.S0023-0 */ - case 98: /*Roamer Database Verification Request*/ - offset = dissect_ansi_map_RoamerDatabaseVerificationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_roamerDatabaseVerificationRequest); - break; - /* N.S0029 X.S0001-A v1.0*/ - case 99: /*Add Service*/ - offset = dissect_ansi_map_AddService(TRUE, tvb, offset, actx, tree, hf_ansi_map_addService); - break; - case 100: /*Drop Service*/ - offset = dissect_ansi_map_DropService(TRUE, tvb, offset, actx, tree, hf_ansi_map_dropService); - break; - /*End N.S0029 X.S0001-A v1.0*/ - /* X.S0002-0 v1.0 */ - /* LCSParameterRequest */ - case 102: - offset = dissect_ansi_map_LCSParameterRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_lcsParameterRequest); - break; - /* CheckMEID X.S0008-0 v1.0*/ - case 104: - offset = dissect_ansi_map_CheckMEID(TRUE, tvb, offset, actx, tree, hf_ansi_map_checkMEID); - break; - /* PositionEventNotification */ - case 106: - offset = dissect_ansi_map_PositionEventNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionEventNotification); - break; - case 107: - /* StatusRequest X.S0008-0 v1.0*/ - offset = dissect_ansi_map_StatusRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_statusRequest); - break; - default: - proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob"); - break; - } - - return offset; - - } + switch(OperationCode){ + case 1: /*Handoff Measurement Request*/ + offset = dissect_ansi_map_HandoffMeasurementRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest); + break; + case 2: /*Facilities Directive*/ + offset = dissect_ansi_map_FacilitiesDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective); + break; + case 3: /*Mobile On Channel*/ + proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob"); + break; + case 4: /*Handoff Back*/ + offset = dissect_ansi_map_HandoffBack(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack); + break; + case 5: /*Facilities Release*/ + offset = dissect_ansi_map_FacilitiesRelease(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesRelease); + break; + case 6: /*Qualification Request*/ + offset = dissect_ansi_map_QualificationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequest); + break; + case 7: /*Qualification Directive*/ + offset = dissect_ansi_map_QualificationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationDirective); + break; + case 8: /*Blocking*/ + offset = dissect_ansi_map_Blocking(TRUE, tvb, offset, actx, tree, hf_ansi_map_blocking); + break; + case 9: /*Unblocking*/ + offset = dissect_ansi_map_Unblocking(TRUE, tvb, offset, actx, tree, hf_ansi_map_unblocking); + break; + case 10: /*Reset Circuit*/ + offset = dissect_ansi_map_ResetCircuit(TRUE, tvb, offset, actx, tree, hf_ansi_map_resetCircuit); + break; + case 11: /*Trunk Test*/ + offset = dissect_ansi_map_TrunkTest(TRUE, tvb, offset, actx, tree, hf_ansi_map_trunkTest); + break; + case 12: /*Trunk Test Disconnect*/ + offset = dissect_ansi_map_TrunkTestDisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_trunkTestDisconnect); + break; + case 13: /*Registration Notification*/ + offset = dissect_ansi_map_RegistrationNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationNotification); + break; + case 14: /*Registration Cancellation*/ + offset = dissect_ansi_map_RegistrationCancellation(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationCancellation); + break; + case 15: /*Location Request*/ + offset = dissect_ansi_map_LocationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_locationRequest); + break; + case 16: /*Routing Request*/ + offset = dissect_ansi_map_RoutingRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_routingRequest); + break; + case 17: /*Feature Request*/ + offset = dissect_ansi_map_FeatureRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_featureRequest); + break; + case 18: /*Reserved 18 (Service Profile Request, IS-41-C)*/ + proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob(18 (Service Profile Request, IS-41-C)"); + break; + case 19: /*Reserved 19 (Service Profile Directive, IS-41-C)*/ + proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob(19 Service Profile Directive, IS-41-C)"); + break; + case 20: /*Unreliable Roamer Data Directive*/ + offset = dissect_ansi_map_UnreliableRoamerDataDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_unreliableRoamerDataDirective); + break; + case 21: /*Reserved 21 (Call Data Request, IS-41-C)*/ + proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob(Reserved 21 (Call Data Request, IS-41-C)"); + break; + case 22: /*MS Inactive*/ + offset = dissect_ansi_map_MSInactive(TRUE, tvb, offset, actx, tree, hf_ansi_map_mSInactive); + break; + case 23: /*Transfer To Number Request*/ + offset = dissect_ansi_map_TransferToNumberRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_transferToNumberRequest); + break; + case 24: /*Redirection Request*/ + offset = dissect_ansi_map_RedirectionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_redirectionRequest); + break; + case 25: /*Handoff To Third*/ + offset = dissect_ansi_map_HandoffToThird(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird); + break; + case 26: /*Flash Request*/ + offset = dissect_ansi_map_FlashRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_flashRequest); + break; + case 27: /*Authentication Directive*/ + offset = dissect_ansi_map_AuthenticationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirective); + break; + case 28: /*Authentication Request*/ + offset = dissect_ansi_map_AuthenticationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationRequest); + break; + case 29: /*Base Station Challenge*/ + offset = dissect_ansi_map_BaseStationChallenge(TRUE, tvb, offset, actx, tree, hf_ansi_map_baseStationChallenge); + break; + case 30: /*Authentication Failure Report*/ + offset = dissect_ansi_map_AuthenticationFailureReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationFailureReport); + break; + case 31: /*Count Request*/ + offset = dissect_ansi_map_CountRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_countRequest); + break; + case 32: /*Inter System Page*/ + offset = dissect_ansi_map_InterSystemPage(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage); + break; + case 33: /*Unsolicited Response*/ + offset = dissect_ansi_map_UnsolicitedResponse(TRUE, tvb, offset, actx, tree, hf_ansi_map_unsolicitedResponse); + break; + case 34: /*Bulk Deregistration*/ + offset = dissect_ansi_map_BulkDeregistration(TRUE, tvb, offset, actx, tree, hf_ansi_map_bulkDeregistration); + break; + case 35: /*Handoff Measurement Request 2*/ + offset = dissect_ansi_map_HandoffMeasurementRequest2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest2); + break; + case 36: /*Facilities Directive 2*/ + offset = dissect_ansi_map_FacilitiesDirective2(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective2); + break; + case 37: /*Handoff Back 2*/ + offset = dissect_ansi_map_HandoffBack2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack2); + break; + case 38: /*Handoff To Third 2*/ + offset = dissect_ansi_map_HandoffToThird2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird2); + break; + case 39: /*Authentication Directive Forward*/ + offset = dissect_ansi_map_AuthenticationDirectiveForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveForward); + break; + case 40: /*Authentication Status Report*/ + offset = dissect_ansi_map_AuthenticationStatusReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationStatusReport); + break; + case 41: /*Reserved 41*/ + proto_tree_add_text(tree, tvb, offset, -1, "Reserved 41, Unknown invokeData blob"); + break; + case 42: /*Information Directive*/ + offset = dissect_ansi_map_InformationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationDirective); + break; + case 43: /*Information Forward*/ + offset = dissect_ansi_map_InformationForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationForward); + break; + case 44: /*Inter System Answer*/ + offset = dissect_ansi_map_InterSystemAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemAnswer); + break; + case 45: /*Inter System Page 2*/ + offset = dissect_ansi_map_InterSystemPage2(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage2); + break; + case 46: /*Inter System Setup*/ + offset = dissect_ansi_map_InterSystemSetup(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSetup); + break; + case 47: /*OriginationRequest*/ + offset = dissect_ansi_map_OriginationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_originationRequest); + break; + case 48: /*Random Variable Request*/ + offset = dissect_ansi_map_RandomVariableRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_randomVariableRequest); + break; + case 49: /*Redirection Directive*/ + offset = dissect_ansi_map_RedirectionDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_redirectionDirective); + break; + case 50: /*Remote User Interaction Directive*/ + offset = dissect_ansi_map_RemoteUserInteractionDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_remoteUserInteractionDirective); + break; + case 51: /*SMS Delivery Backward*/ + offset = dissect_ansi_map_SMSDeliveryBackward(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryBackward); + break; + case 52: /*SMS Delivery Forward*/ + offset = dissect_ansi_map_SMSDeliveryForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryForward); + break; + case 53: /*SMS Delivery Point to Point*/ + offset = dissect_ansi_map_SMSDeliveryPointToPoint(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryPointToPoint); + break; + case 54: /*SMS Notification*/ + offset = dissect_ansi_map_SMSNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSNotification); + break; + case 55: /*SMS Request*/ + offset = dissect_ansi_map_SMSRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSRequest); + break; + /* End N.S0005*/ + /* N.S0010-0 v 1.0 */ + /* N.S0011-0 v 1.0 */ + case 56: /*OTASP Request 6.4.2.CC*/ + offset = dissect_ansi_map_OTASPRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_oTASPRequest); + break; + /*End N.S0011-0 v 1.0 */ + case 57: /*Information Backward*/ + offset = offset; + break; + /* N.S0008-0 v 1.0 */ + case 58: /*Change Facilities*/ + offset = dissect_ansi_map_ChangeFacilities(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeFacilities); + break; + case 59: /*Change Service*/ + offset = dissect_ansi_map_ChangeService(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeService); + break; + /* End N.S0008-0 v 1.0 */ + case 60: /*Parameter Request*/ + offset = dissect_ansi_map_ParameterRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_parameterRequest); + break; + case 61: /*TMSI Directive*/ + offset = dissect_ansi_map_TMSIDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_tMSIDirective); + break; + /*End N.S0010-0 v 1.0 */ + case 62: /*NumberPortabilityRequest 62*/ + offset = dissect_ansi_map_NumberPortabilityRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_numberPortabilityRequest); + break; + case 63: /*Service Request N.S0012-0 v 1.0*/ + offset = dissect_ansi_map_ServiceRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_serviceRequest); + break; + /* N.S0013 */ + case 64: /*Analyzed Information Request*/ + offset = dissect_ansi_map_AnalyzedInformation(TRUE, tvb, offset, actx, tree, hf_ansi_map_analyzedInformation); + break; + case 65: /*Connection Failure Report*/ + offset = dissect_ansi_map_ConnectionFailureReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_connectionFailureReport); + break; + case 66: /*Connect Resource*/ + offset = dissect_ansi_map_ConnectResource(TRUE, tvb, offset, actx, tree, hf_ansi_map_connectResource); + break; + case 67: /*Disconnect Resource*/ + /* No data */ + break; + case 68: /*Facility Selected and Available*/ + offset = dissect_ansi_map_FacilitySelectedAndAvailable(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailable); + break; + case 69: /*Instruction Request*/ + /* No data */ + break; + case 70: /*Modify*/ + offset = dissect_ansi_map_Modify(TRUE, tvb, offset, actx, tree, hf_ansi_map_modify); + break; + case 71: /*Reset Timer*/ + /*No Data*/ + break; + case 72: /*Search*/ + offset = dissect_ansi_map_Search(TRUE, tvb, offset, actx, tree, hf_ansi_map_search); + break; + case 73: /*Seize Resource*/ + offset = dissect_ansi_map_SeizeResource(TRUE, tvb, offset, actx, tree, hf_ansi_map_seizeResource); + break; + case 74: /*SRF Directive*/ + offset = dissect_ansi_map_SRFDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_sRFDirective); + break; + case 75: /*T Busy*/ + offset = dissect_ansi_map_TBusy(TRUE, tvb, offset, actx, tree, hf_ansi_map_tBusy); + break; + case 76: /*T NoAnswer*/ + offset = dissect_ansi_map_TNoAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_tNoAnswer); + break; + /*END N.S0013 */ + case 77: /*Release*/ + offset = offset; + break; + case 78: /*SMS Delivery Point to Point Ack*/ + offset = offset; + break; + /* N.S0024*/ + case 79: /*Message Directive*/ + offset = dissect_ansi_map_MessageDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_messageDirective); + break; + /*END N.S0024*/ + /* N.S0018 PN-4287*/ + case 80: /*Bulk Disconnection*/ + offset = dissect_ansi_map_BulkDisconnection(TRUE, tvb, offset, actx, tree, hf_ansi_map_bulkDisconnection); + break; + case 81: /*Call Control Directive*/ + offset = dissect_ansi_map_CallControlDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_callControlDirective); + break; + case 82: /*O Answer*/ + offset = dissect_ansi_map_OAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_oAnswer); + break; + case 83: /*O Disconnect*/ + offset = dissect_ansi_map_ODisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_oDisconnect); + break; + case 84: /*Call Recovery Report*/ + offset = dissect_ansi_map_CallRecoveryReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_callRecoveryReport); + break; + case 85: /*T Answer*/ + offset = dissect_ansi_map_TAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_tAnswer); + break; + case 86: /*T Disconnect*/ + offset = dissect_ansi_map_TDisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_tDisconnect); + break; + case 87: /*Unreliable Call Data*/ + offset = dissect_ansi_map_UnreliableCallData(TRUE, tvb, offset, actx, tree, hf_ansi_map_unreliableCallData); + break; + /* N.S0018 PN-4287*/ + /*N.S0004 */ + case 88: /*O CalledPartyBusy*/ + offset = dissect_ansi_map_OCalledPartyBusy(TRUE, tvb, offset, actx, tree, hf_ansi_map_oCalledPartyBusy); + break; + case 89: /*O NoAnswer*/ + offset = dissect_ansi_map_ONoAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_oNoAnswer); + break; + case 90: /*Position Request*/ + offset = dissect_ansi_map_PositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequest); + break; + case 91: /*Position Request Forward*/ + offset = dissect_ansi_map_PositionRequestForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestForward); + break; + /*END N.S0004 */ + case 92: /*Call Termination Report*/ + offset = dissect_ansi_map_CallTerminationReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_callTerminationReport); + break; + case 93: /*Geo Position Directive*/ + offset = offset; + break; + case 94: /*Geo Position Request*/ + offset = dissect_ansi_map_GeoPositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequest); + break; + case 95: /*Inter System Position Request*/ + offset = dissect_ansi_map_InterSystemPositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequest); + break; + case 96: /*Inter System Position Request Forward*/ + offset = dissect_ansi_map_InterSystemPositionRequestForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestForward); + break; + /* 3GPP2 N.S0023-0 */ + case 97: /*ACG Directive*/ + offset = dissect_ansi_map_ACGDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_aCGDirective); + break; + /* END 3GPP2 N.S0023-0 */ + case 98: /*Roamer Database Verification Request*/ + offset = dissect_ansi_map_RoamerDatabaseVerificationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_roamerDatabaseVerificationRequest); + break; + /* N.S0029 X.S0001-A v1.0*/ + case 99: /*Add Service*/ + offset = dissect_ansi_map_AddService(TRUE, tvb, offset, actx, tree, hf_ansi_map_addService); + break; + case 100: /*Drop Service*/ + offset = dissect_ansi_map_DropService(TRUE, tvb, offset, actx, tree, hf_ansi_map_dropService); + break; + /*End N.S0029 X.S0001-A v1.0*/ + /* X.S0002-0 v1.0 */ + /* LCSParameterRequest */ + case 102: + offset = dissect_ansi_map_LCSParameterRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_lcsParameterRequest); + break; + /* CheckMEID X.S0008-0 v1.0*/ + case 104: + offset = dissect_ansi_map_CheckMEID(TRUE, tvb, offset, actx, tree, hf_ansi_map_checkMEID); + break; + /* PositionEventNotification */ + case 106: + offset = dissect_ansi_map_PositionEventNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionEventNotification); + break; + case 107: + /* StatusRequest X.S0008-0 v1.0*/ + offset = dissect_ansi_map_StatusRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_statusRequest); + break; + default: + proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob"); + break; + } + + return offset; + +} static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) { - switch(OperationCode){ - case 1: /*Handoff Measurement Request*/ - offset = dissect_ansi_map_HandoffMeasurementRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequestRes); - break; - case 2: /*Facilities Directive*/ - offset = dissect_ansi_map_FacilitiesDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirectiveRes); - break; - case 4: /*Handoff Back*/ - offset = dissect_ansi_map_HandoffBackRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBackRes); - break; - case 5: /*Facilities Release*/ - offset = dissect_ansi_map_FacilitiesReleaseRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesReleaseRes); - break; - case 6: /*Qualification Request*/ - offset = dissect_ansi_map_QualificationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequestRes); - break; - case 7: /*Qualification Directive*/ - offset = dissect_ansi_map_QualificationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationDirectiveRes); - break; - case 10: /*Reset Circuit*/ - offset = dissect_ansi_map_ResetCircuitRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_resetCircuitRes); - break; - case 13: /*Registration Notification*/ - offset = dissect_ansi_map_RegistrationNotificationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationNotificationRes); - break; - case 14: /*Registration Cancellation*/ - offset = dissect_ansi_map_RegistrationCancellationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationCancellationRes); - break; - case 15: /*Location Request*/ - offset = dissect_ansi_map_LocationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_locationRequestRes); - break; - case 16: /*Routing Request*/ - offset = dissect_ansi_map_RoutingRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_routingRequestRes); - break; - case 17: /*Feature Request*/ - offset = dissect_ansi_map_FeatureRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_featureRequestRes); - break; - case 23: /*Transfer To Number Request*/ - offset = dissect_ansi_map_TransferToNumberRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_transferToNumberRequestRes); - break; - case 25: /*Handoff To Third*/ - offset = dissect_ansi_map_HandoffToThirdRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThirdRes); - break; - case 26: /*Flash Request*/ - /* No data */ - proto_tree_add_text(tree, tvb, offset, -1, "No Data"); - break; - case 27: /*Authentication Directive*/ - offset = dissect_ansi_map_AuthenticationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveRes); - break; - case 28: /*Authentication Request*/ - offset = dissect_ansi_map_AuthenticationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationRequestRes); - break; - case 29: /*Base Station Challenge*/ - offset = dissect_ansi_map_BaseStationChallengeRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_baseStationChallengeRes); - break; - case 30: /*Authentication Failure Report*/ - offset = dissect_ansi_map_AuthenticationFailureReportRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationFailureReportRes); - break; - case 31: /*Count Request*/ - offset = dissect_ansi_map_CountRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_countRequestRes); - break; - case 32: /*Inter System Page*/ - offset = dissect_ansi_map_InterSystemPageRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPageRes); - break; - case 33: /*Unsolicited Response*/ - offset = dissect_ansi_map_UnsolicitedResponseRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_unsolicitedResponseRes); - break; - case 35: /*Handoff Measurement Request 2*/ - offset = dissect_ansi_map_HandoffMeasurementRequest2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest2Res); - break; - case 36: /*Facilities Directive 2*/ - offset = dissect_ansi_map_FacilitiesDirective2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective2Res); - break; - case 37: /*Handoff Back 2*/ - offset = dissect_ansi_map_HandoffBack2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack2Res); - break; - case 38: /*Handoff To Third 2*/ - offset = dissect_ansi_map_HandoffToThird2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird2Res); - break; - case 39: /*Authentication Directive Forward*/ - offset = dissect_ansi_map_AuthenticationDirectiveForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveForwardRes); - break; - case 40: /*Authentication Status Report*/ - offset = dissect_ansi_map_AuthenticationStatusReportRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationStatusReportRes); - break; - /*Reserved 41*/ - case 42: /*Information Directive*/ - offset = dissect_ansi_map_InformationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationDirectiveRes); - break; - case 43: /*Information Forward*/ - offset = dissect_ansi_map_InformationForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationForwardRes); - break; - case 45: /*Inter System Page 2*/ - offset = dissect_ansi_map_InterSystemPage2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage2Res); - break; - case 46: /*Inter System Setup*/ - offset = dissect_ansi_map_InterSystemSetupRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSetupRes); - break; - case 47: /*OriginationRequest*/ - offset = dissect_ansi_map_OriginationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_originationRequestRes); - break; - case 48: /*Random Variable Request*/ - offset = dissect_ansi_map_RandomVariableRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_randomVariableRequestRes); - break; - case 50: /*Remote User Interaction Directive*/ - offset = dissect_ansi_map_RemoteUserInteractionDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_remoteUserInteractionDirectiveRes); - break; - case 51: /*SMS Delivery Backward*/ - offset = dissect_ansi_map_SMSDeliveryBackwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryBackwardRes); - break; - case 52: /*SMS Delivery Forward*/ - offset = dissect_ansi_map_SMSDeliveryForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryForwardRes); - break; - case 53: /*SMS Delivery Point to Point*/ - offset = dissect_ansi_map_SMSDeliveryPointToPointRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryPointToPointRes); - break; - case 54: /*SMS Notification*/ - offset = dissect_ansi_map_SMSNotificationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSNotificationRes); - break; - case 55: /*SMS Request*/ - offset = dissect_ansi_map_SMSRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSRequestRes); - break; - /* N.S0008-0 v 1.0 */ - case 56: /*OTASP Request 6.4.2.CC*/ - offset = dissect_ansi_map_OTASPRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oTASPRequestRes); - break; - case 58: /*Change Facilities*/ - offset = dissect_ansi_map_ChangeFacilitiesRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeFacilitiesRes); - break; - case 59: /*Change Service*/ - offset = dissect_ansi_map_ChangeServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeServiceRes); - break; - case 60: /*Parameter Request*/ - offset = dissect_ansi_map_ParameterRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_parameterRequestRes); - break; - case 61: /*TMSI Directive*/ - offset = dissect_ansi_map_TMSIDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tMSIDirectiveRes); - break; - case 63: /*Service Request*/ - offset = dissect_ansi_map_ServiceRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_serviceRequestRes); - break; - /* N.S0013 */ - case 64: /*Analyzed Information Request*/ - offset = dissect_ansi_map_AnalyzedInformationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_analyzedInformationRes); - break; - case 68: /*Facility Selected and Available*/ - offset = dissect_ansi_map_FacilitySelectedAndAvailableRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailableRes); - break; - case 70: /*Modify*/ - offset = dissect_ansi_map_ModifyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_modifyRes); - break; - case 72: /*Search*/ - offset = dissect_ansi_map_SearchRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_searchRes);; - break; - case 73: /*Seize Resource*/ - offset = dissect_ansi_map_SeizeResourceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_seizeResourceRes); - break; - case 74: /*SRF Directive*/ - offset = dissect_ansi_map_SRFDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sRFDirectiveRes); - break; - case 75: /*T Busy*/ - offset = dissect_ansi_map_TBusyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tBusyRes); - break; - case 76: /*T NoAnswer*/ - offset = dissect_ansi_map_TNoAnswerRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tNoAnswerRes); - break; - case 81: /*Call Control Directive*/ - offset = dissect_ansi_map_CallControlDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_callControlDirectiveRes); - break; - case 83: /*O Disconnect*/ - offset = dissect_ansi_map_ODisconnectRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oDisconnectRes); - break; - case 86: /*T Disconnect*/ - offset = dissect_ansi_map_TDisconnectRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tDisconnectRes); - break; - case 88: /*O CalledPartyBusy*/ - offset = dissect_ansi_map_OCalledPartyBusyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oCalledPartyBusyRes); - break; - case 89: /*O NoAnswer*/ - offset = dissect_ansi_map_ONoAnswerRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oNoAnswerRes); - break; - case 90: /*Position Request*/ - offset = dissect_ansi_map_PositionRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestRes); - break; - case 91: /*Position Request Forward*/ - offset = dissect_ansi_map_PositionRequestForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestForwardRes); - break; - case 95: /*Inter System Position Request*/ - offset = dissect_ansi_map_InterSystemPositionRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestRes); - break; - case 96: /*Inter System Position Request Forward*/ - offset = dissect_ansi_map_InterSystemPositionRequestForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestRes); - break; - case 98: /*Roamer Database Verification Request*/ - offset = dissect_ansi_map_RoamerDatabaseVerificationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_roamerDatabaseVerificationRequestRes); - break; - case 99: /*Add Service*/ - offset = dissect_ansi_map_AddServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_addServiceRes); - break; - case 100: /*Drop Service*/ - offset = dissect_ansi_map_DropServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_dropServiceRes); - break; - /*End N.S0029 */ - /* X.S0002-0 v1.0 */ - /* LCSParameterRequest */ - case 102: - offset = dissect_ansi_map_LCSParameterRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_lcsParameterRequestRes); - break; - /* CheckMEID X.S0008-0 v1.0*/ - case 104: - offset = dissect_ansi_map_CheckMEIDRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_checkMEIDRes); - break; - /* PositionEventNotification * - case 106: - offset = dissect_ansi_map_PositionEventNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionEventNotificationRes); - break; - */ - case 107: - /* StatusRequest X.S0008-0 v1.0*/ - offset = dissect_ansi_map_StatusRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_statusRequestRes); - break; - - default: - proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob"); - break; - } - - return offset; - - } + switch(OperationCode){ + case 1: /*Handoff Measurement Request*/ + offset = dissect_ansi_map_HandoffMeasurementRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequestRes); + break; + case 2: /*Facilities Directive*/ + offset = dissect_ansi_map_FacilitiesDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirectiveRes); + break; + case 4: /*Handoff Back*/ + offset = dissect_ansi_map_HandoffBackRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBackRes); + break; + case 5: /*Facilities Release*/ + offset = dissect_ansi_map_FacilitiesReleaseRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesReleaseRes); + break; + case 6: /*Qualification Request*/ + offset = dissect_ansi_map_QualificationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequestRes); + break; + case 7: /*Qualification Directive*/ + offset = dissect_ansi_map_QualificationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationDirectiveRes); + break; + case 10: /*Reset Circuit*/ + offset = dissect_ansi_map_ResetCircuitRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_resetCircuitRes); + break; + case 13: /*Registration Notification*/ + offset = dissect_ansi_map_RegistrationNotificationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationNotificationRes); + break; + case 14: /*Registration Cancellation*/ + offset = dissect_ansi_map_RegistrationCancellationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationCancellationRes); + break; + case 15: /*Location Request*/ + offset = dissect_ansi_map_LocationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_locationRequestRes); + break; + case 16: /*Routing Request*/ + offset = dissect_ansi_map_RoutingRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_routingRequestRes); + break; + case 17: /*Feature Request*/ + offset = dissect_ansi_map_FeatureRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_featureRequestRes); + break; + case 23: /*Transfer To Number Request*/ + offset = dissect_ansi_map_TransferToNumberRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_transferToNumberRequestRes); + break; + case 25: /*Handoff To Third*/ + offset = dissect_ansi_map_HandoffToThirdRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThirdRes); + break; + case 26: /*Flash Request*/ + /* No data */ + proto_tree_add_text(tree, tvb, offset, -1, "No Data"); + break; + case 27: /*Authentication Directive*/ + offset = dissect_ansi_map_AuthenticationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveRes); + break; + case 28: /*Authentication Request*/ + offset = dissect_ansi_map_AuthenticationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationRequestRes); + break; + case 29: /*Base Station Challenge*/ + offset = dissect_ansi_map_BaseStationChallengeRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_baseStationChallengeRes); + break; + case 30: /*Authentication Failure Report*/ + offset = dissect_ansi_map_AuthenticationFailureReportRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationFailureReportRes); + break; + case 31: /*Count Request*/ + offset = dissect_ansi_map_CountRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_countRequestRes); + break; + case 32: /*Inter System Page*/ + offset = dissect_ansi_map_InterSystemPageRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPageRes); + break; + case 33: /*Unsolicited Response*/ + offset = dissect_ansi_map_UnsolicitedResponseRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_unsolicitedResponseRes); + break; + case 35: /*Handoff Measurement Request 2*/ + offset = dissect_ansi_map_HandoffMeasurementRequest2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest2Res); + break; + case 36: /*Facilities Directive 2*/ + offset = dissect_ansi_map_FacilitiesDirective2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective2Res); + break; + case 37: /*Handoff Back 2*/ + offset = dissect_ansi_map_HandoffBack2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack2Res); + break; + case 38: /*Handoff To Third 2*/ + offset = dissect_ansi_map_HandoffToThird2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird2Res); + break; + case 39: /*Authentication Directive Forward*/ + offset = dissect_ansi_map_AuthenticationDirectiveForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveForwardRes); + break; + case 40: /*Authentication Status Report*/ + offset = dissect_ansi_map_AuthenticationStatusReportRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationStatusReportRes); + break; + /*Reserved 41*/ + case 42: /*Information Directive*/ + offset = dissect_ansi_map_InformationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationDirectiveRes); + break; + case 43: /*Information Forward*/ + offset = dissect_ansi_map_InformationForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationForwardRes); + break; + case 45: /*Inter System Page 2*/ + offset = dissect_ansi_map_InterSystemPage2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage2Res); + break; + case 46: /*Inter System Setup*/ + offset = dissect_ansi_map_InterSystemSetupRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSetupRes); + break; + case 47: /*OriginationRequest*/ + offset = dissect_ansi_map_OriginationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_originationRequestRes); + break; + case 48: /*Random Variable Request*/ + offset = dissect_ansi_map_RandomVariableRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_randomVariableRequestRes); + break; + case 50: /*Remote User Interaction Directive*/ + offset = dissect_ansi_map_RemoteUserInteractionDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_remoteUserInteractionDirectiveRes); + break; + case 51: /*SMS Delivery Backward*/ + offset = dissect_ansi_map_SMSDeliveryBackwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryBackwardRes); + break; + case 52: /*SMS Delivery Forward*/ + offset = dissect_ansi_map_SMSDeliveryForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryForwardRes); + break; + case 53: /*SMS Delivery Point to Point*/ + offset = dissect_ansi_map_SMSDeliveryPointToPointRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryPointToPointRes); + break; + case 54: /*SMS Notification*/ + offset = dissect_ansi_map_SMSNotificationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSNotificationRes); + break; + case 55: /*SMS Request*/ + offset = dissect_ansi_map_SMSRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSRequestRes); + break; + /* N.S0008-0 v 1.0 */ + case 56: /*OTASP Request 6.4.2.CC*/ + offset = dissect_ansi_map_OTASPRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oTASPRequestRes); + break; + case 58: /*Change Facilities*/ + offset = dissect_ansi_map_ChangeFacilitiesRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeFacilitiesRes); + break; + case 59: /*Change Service*/ + offset = dissect_ansi_map_ChangeServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeServiceRes); + break; + case 60: /*Parameter Request*/ + offset = dissect_ansi_map_ParameterRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_parameterRequestRes); + break; + case 61: /*TMSI Directive*/ + offset = dissect_ansi_map_TMSIDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tMSIDirectiveRes); + break; + case 63: /*Service Request*/ + offset = dissect_ansi_map_ServiceRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_serviceRequestRes); + break; + /* N.S0013 */ + case 64: /*Analyzed Information Request*/ + offset = dissect_ansi_map_AnalyzedInformationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_analyzedInformationRes); + break; + case 68: /*Facility Selected and Available*/ + offset = dissect_ansi_map_FacilitySelectedAndAvailableRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailableRes); + break; + case 70: /*Modify*/ + offset = dissect_ansi_map_ModifyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_modifyRes); + break; + case 72: /*Search*/ + offset = dissect_ansi_map_SearchRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_searchRes);; + break; + case 73: /*Seize Resource*/ + offset = dissect_ansi_map_SeizeResourceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_seizeResourceRes); + break; + case 74: /*SRF Directive*/ + offset = dissect_ansi_map_SRFDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sRFDirectiveRes); + break; + case 75: /*T Busy*/ + offset = dissect_ansi_map_TBusyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tBusyRes); + break; + case 76: /*T NoAnswer*/ + offset = dissect_ansi_map_TNoAnswerRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tNoAnswerRes); + break; + case 81: /*Call Control Directive*/ + offset = dissect_ansi_map_CallControlDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_callControlDirectiveRes); + break; + case 83: /*O Disconnect*/ + offset = dissect_ansi_map_ODisconnectRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oDisconnectRes); + break; + case 86: /*T Disconnect*/ + offset = dissect_ansi_map_TDisconnectRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tDisconnectRes); + break; + case 88: /*O CalledPartyBusy*/ + offset = dissect_ansi_map_OCalledPartyBusyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oCalledPartyBusyRes); + break; + case 89: /*O NoAnswer*/ + offset = dissect_ansi_map_ONoAnswerRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oNoAnswerRes); + break; + case 90: /*Position Request*/ + offset = dissect_ansi_map_PositionRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestRes); + break; + case 91: /*Position Request Forward*/ + offset = dissect_ansi_map_PositionRequestForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestForwardRes); + break; + case 95: /*Inter System Position Request*/ + offset = dissect_ansi_map_InterSystemPositionRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestRes); + break; + case 96: /*Inter System Position Request Forward*/ + offset = dissect_ansi_map_InterSystemPositionRequestForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestRes); + break; + case 98: /*Roamer Database Verification Request*/ + offset = dissect_ansi_map_RoamerDatabaseVerificationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_roamerDatabaseVerificationRequestRes); + break; + case 99: /*Add Service*/ + offset = dissect_ansi_map_AddServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_addServiceRes); + break; + case 100: /*Drop Service*/ + offset = dissect_ansi_map_DropServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_dropServiceRes); + break; + /*End N.S0029 */ + /* X.S0002-0 v1.0 */ + /* LCSParameterRequest */ + case 102: + offset = dissect_ansi_map_LCSParameterRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_lcsParameterRequestRes); + break; + /* CheckMEID X.S0008-0 v1.0*/ + case 104: + offset = dissect_ansi_map_CheckMEIDRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_checkMEIDRes); + break; + /* PositionEventNotification * + case 106: + offset = dissect_ansi_map_PositionEventNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionEventNotificationRes); + break; + */ + case 107: + /* StatusRequest X.S0008-0 v1.0*/ + offset = dissect_ansi_map_StatusRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_statusRequestRes); + break; + + default: + proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob"); + break; + } + + return offset; + +} static int find_saved_invokedata(asn1_ctx_t *actx){ - struct ansi_map_invokedata_t *ansi_map_saved_invokedata; - struct ansi_tcap_private_t *p_private_tcap; - address* src = &(actx->pinfo->src); - address* dst = &(actx->pinfo->dst); - guint8 *src_str; - guint8 *dst_str; - char *buf; - - buf=ep_alloc(1024); - src_str = address_to_str(src); - dst_str = address_to_str(dst); - - /* Data from the TCAP dissector */ - if (actx->pinfo->private_data != NULL){ - p_private_tcap=actx->pinfo->private_data; - /* The hash string needs to contain src and dest to distiguish differnt flows */ - src_str = address_to_str(src); - dst_str = address_to_str(dst); - /* Reverse order to invoke */ - g_snprintf(buf,1024,"%s%s%s",p_private_tcap->TransactionID_str,dst_str,src_str); - /* - g_warning("Find Hash string %s",buf); - */ - ansi_map_saved_invokedata = g_hash_table_lookup(TransactionId_table, buf); - if(ansi_map_saved_invokedata){ - OperationCode = ansi_map_saved_invokedata->opcode & 0xff; - ServiceIndicator = ansi_map_saved_invokedata->ServiceIndicator; - }else{ - OperationCode = OperationCode & 0x00ff; - } - }else{ - OperationCode = OperationCode & 0x00ff; - } - return OperationCode; + struct ansi_map_invokedata_t *ansi_map_saved_invokedata; + struct ansi_tcap_private_t *p_private_tcap; + address* src = &(actx->pinfo->src); + address* dst = &(actx->pinfo->dst); + guint8 *src_str; + guint8 *dst_str; + char *buf; + + buf=ep_alloc(1024); + src_str = address_to_str(src); + dst_str = address_to_str(dst); + + /* Data from the TCAP dissector */ + if (actx->pinfo->private_data != NULL){ + p_private_tcap=actx->pinfo->private_data; + /* The hash string needs to contain src and dest to distiguish differnt flows */ + src_str = address_to_str(src); + dst_str = address_to_str(dst); + /* Reverse order to invoke */ + g_snprintf(buf,1024,"%s%s%s",p_private_tcap->TransactionID_str,dst_str,src_str); + /* + g_warning("Find Hash string %s",buf); + */ + ansi_map_saved_invokedata = g_hash_table_lookup(TransactionId_table, buf); + if(ansi_map_saved_invokedata){ + OperationCode = ansi_map_saved_invokedata->opcode & 0xff; + ServiceIndicator = ansi_map_saved_invokedata->ServiceIndicator; + }else{ + OperationCode = OperationCode & 0x00ff; + } + }else{ + OperationCode = OperationCode & 0x00ff; + } + return OperationCode; } static void @@ -15839,84 +15834,84 @@ dissect_ansi_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) proto_item *ansi_map_item; proto_tree *ansi_map_tree = NULL; int offset = 0; - struct ansi_tcap_private_t *p_private_tcap; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + struct ansi_tcap_private_t *p_private_tcap; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - SMS_BearerData_tvb = NULL; - ansi_map_sms_tele_id = -1; + SMS_BearerData_tvb = NULL; + ansi_map_sms_tele_id = -1; g_pinfo = pinfo; - g_tree = tree; + g_tree = tree; /* * Make entry in the Protocol column on summary display */ if (check_col(pinfo->cinfo, COL_PROTOCOL)) { - col_set_str(pinfo->cinfo, COL_PROTOCOL, "ANSI MAP"); + col_set_str(pinfo->cinfo, COL_PROTOCOL, "ANSI MAP"); } - /* Data from the TCAP dissector */ - if (pinfo->private_data == NULL){ - proto_tree_add_text(tree, tvb, 0, -1, "Dissector ERROR this dissector relays on private data"); - return; - } + /* Data from the TCAP dissector */ + if (pinfo->private_data == NULL){ + proto_tree_add_text(tree, tvb, 0, -1, "Dissector ERROR this dissector relays on private data"); + return; + } - /* - * create the ansi_map protocol tree - */ - ansi_map_item = proto_tree_add_item(tree, proto_ansi_map, tvb, 0, -1, FALSE); - ansi_map_tree = proto_item_add_subtree(ansi_map_item, ett_ansi_map); - ansi_map_is_invoke = FALSE; - is683_ota = FALSE; - is801_pld = FALSE; - ServiceIndicator = 0; - - p_private_tcap=pinfo->private_data; - - switch(p_private_tcap->d.pdu){ - /* - 1 : invoke, - 2 : returnResult, - 3 : returnError, - 4 : reject - */ - case 1: - OperationCode = p_private_tcap->d.OperationCode_private & 0x00ff; - ansi_map_is_invoke = TRUE; - if (check_col(pinfo->cinfo, COL_INFO)){ - col_clear(pinfo->cinfo, COL_INFO); - col_add_fstr(pinfo->cinfo, COL_INFO,"%s Invoke", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)")); - } - proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)")); - offset = dissect_invokeData(ansi_map_tree, tvb, 0, &asn1_ctx); - update_saved_invokedata(pinfo, ansi_map_tree, tvb); - break; - case 2: - OperationCode = find_saved_invokedata(&asn1_ctx); - if (check_col(pinfo->cinfo, COL_INFO)){ - col_clear(pinfo->cinfo, COL_INFO); - col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnResult", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)")); - } - proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)")); - offset = dissect_returnData(ansi_map_tree, tvb, 0, &asn1_ctx); - break; - case 3: - if (check_col(pinfo->cinfo, COL_INFO)){ - col_clear(pinfo->cinfo, COL_INFO); - col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnError", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)")); - } - break; - case 4: - if (check_col(pinfo->cinfo, COL_INFO)){ - col_clear(pinfo->cinfo, COL_INFO); - col_add_fstr(pinfo->cinfo, COL_INFO,"%s Reject", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)")); - } - break; - default: - /* Must be Invoke ReturnResult ReturnError or Reject */ - DISSECTOR_ASSERT_NOT_REACHED(); - break; - } + /* + * create the ansi_map protocol tree + */ + ansi_map_item = proto_tree_add_item(tree, proto_ansi_map, tvb, 0, -1, FALSE); + ansi_map_tree = proto_item_add_subtree(ansi_map_item, ett_ansi_map); + ansi_map_is_invoke = FALSE; + is683_ota = FALSE; + is801_pld = FALSE; + ServiceIndicator = 0; + + p_private_tcap=pinfo->private_data; + + switch(p_private_tcap->d.pdu){ + /* + 1 : invoke, + 2 : returnResult, + 3 : returnError, + 4 : reject + */ + case 1: + OperationCode = p_private_tcap->d.OperationCode_private & 0x00ff; + ansi_map_is_invoke = TRUE; + if (check_col(pinfo->cinfo, COL_INFO)){ + col_clear(pinfo->cinfo, COL_INFO); + col_add_fstr(pinfo->cinfo, COL_INFO,"%s Invoke", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)")); + } + proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)")); + offset = dissect_invokeData(ansi_map_tree, tvb, 0, &asn1_ctx); + update_saved_invokedata(pinfo, ansi_map_tree, tvb); + break; + case 2: + OperationCode = find_saved_invokedata(&asn1_ctx); + if (check_col(pinfo->cinfo, COL_INFO)){ + col_clear(pinfo->cinfo, COL_INFO); + col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnResult", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)")); + } + proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)")); + offset = dissect_returnData(ansi_map_tree, tvb, 0, &asn1_ctx); + break; + case 3: + if (check_col(pinfo->cinfo, COL_INFO)){ + col_clear(pinfo->cinfo, COL_INFO); + col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnError", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)")); + } + break; + case 4: + if (check_col(pinfo->cinfo, COL_INFO)){ + col_clear(pinfo->cinfo, COL_INFO); + col_add_fstr(pinfo->cinfo, COL_INFO,"%s Reject", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)")); + } + break; + default: + /* Must be Invoke ReturnResult ReturnError or Reject */ + DISSECTOR_ASSERT_NOT_REACHED(); + break; + } } static void range_delete_callback(guint32 ssn) @@ -15941,13 +15936,13 @@ proto_reg_handoff_ansi_map(void) if(!ansi_map_prefs_initialized) { - ansi_map_prefs_initialized = TRUE; - ansi_map_handle = find_dissector("ansi_map"); + ansi_map_prefs_initialized = TRUE; + ansi_map_handle = find_dissector("ansi_map"); } else { - range_foreach(ssn_range, range_delete_callback); - g_free(ssn_range); + range_foreach(ssn_range, range_delete_callback); + g_free(ssn_range); } ssn_range = range_copy(global_ssn_range); @@ -15958,808 +15953,808 @@ proto_reg_handoff_ansi_map(void) /*--- proto_register_ansi_map -------------------------------------------*/ void proto_register_ansi_map(void) { - module_t *ansi_map_module; + module_t *ansi_map_module; - /* List of fields */ + /* List of fields */ static hf_register_info hf[] = { - { &hf_ansi_map_op_code_fam, - { "Operation Code Family", "ansi_map.op_code_fam", - FT_UINT8, BASE_DEC, NULL, 0, - "Operation Code Family", HFILL }}, - { &hf_ansi_map_reservedBitH, - { "Reserved", "ansi_map.reserved_bitH", - FT_BOOLEAN, 8, NULL,0x80, - "Reserved", HFILL }}, - { &hf_ansi_map_reservedBitD, - { "Reserved", "ansi_map.reserved_bitD", - FT_BOOLEAN, 8, NULL,0x08, - "Reserved", HFILL }}, - { &hf_ansi_map_reservedBitHG, - { "Reserved", "ansi_map.reserved_bitHG", - FT_UINT8, BASE_DEC, NULL, 0xc0, - "Reserved", HFILL }}, - { &hf_ansi_map_reservedBitHGFE, - { "Reserved", "ansi_map.reserved_bitHGFE", - FT_UINT8, BASE_DEC, NULL, 0xf0, - "Reserved", HFILL }}, - { &hf_ansi_map_reservedBitFED, - { "Reserved", "ansi_map.reserved_bitFED", - FT_UINT8, BASE_DEC, NULL, 0x38, - "Reserved", HFILL }}, - { &hf_ansi_map_reservedBitED, - { "Reserved", "ansi_map.reserved_bitED", - FT_UINT8, BASE_DEC, NULL, 0x18, - "Reserved", HFILL }}, - { &hf_ansi_map_op_code, - { "Operation Code", "ansi_map.op_code", - FT_UINT8, BASE_DEC, VALS(ansi_map_opr_code_strings), 0x0, - "Operation Code", HFILL }}, - { &hf_ansi_map_type_of_digits, - { "Type of Digits", "ansi_map.type_of_digits", - FT_UINT8, BASE_DEC, VALS(ansi_map_type_of_digits_vals), 0x0, - "Type of Digits", HFILL }}, - { &hf_ansi_map_na, - { "Nature of Number", "ansi_map.na", - FT_BOOLEAN, 8, TFS(&ansi_map_na_bool_val),0x01, - "Nature of Number", HFILL }}, - { &hf_ansi_map_pi, - { "Presentation Indication", "ansi_map.type_of_pi", - FT_BOOLEAN, 8, TFS(&ansi_map_pi_bool_val),0x02, - "Presentation Indication", HFILL }}, - { &hf_ansi_map_navail, - { "Number available indication", "ansi_map.navail", - FT_BOOLEAN, 8, TFS(&ansi_map_navail_bool_val),0x04, - "Number available indication", HFILL }}, - { &hf_ansi_map_si, - { "Screening indication", "ansi_map.si", - FT_UINT8, BASE_DEC, VALS(ansi_map_si_vals), 0x30, - "Screening indication", HFILL }}, - { &hf_ansi_map_digits_enc, - { "Encoding", "ansi_map.enc", - FT_UINT8, BASE_DEC, VALS(ansi_map_digits_enc_vals), 0x0f, - "Encoding", HFILL }}, - { &hf_ansi_map_np, - { "Numbering Plan", "ansi_map.np", - FT_UINT8, BASE_DEC, VALS(ansi_map_np_vals), 0xf0, - "Numbering Plan", HFILL }}, - { &hf_ansi_map_nr_digits, - { "Number of Digits", "ansi_map.nr_digits", - FT_UINT8, BASE_DEC, NULL, 0x0, - "Number of Digits", HFILL }}, - { &hf_ansi_map_bcd_digits, - { "BCD digits", "ansi_map.bcd_digits", - FT_STRING, BASE_NONE, NULL, 0, - "BCD digits", HFILL }}, - { &hf_ansi_map_ia5_digits, - { "IA5 digits", "ansi_map.ia5_digits", - FT_STRING, BASE_NONE, NULL, 0, - "IA5 digits", HFILL }}, - { &hf_ansi_map_subaddr_type, - { "Type of Subaddress", "ansi_map.subaddr_type", - FT_UINT8, BASE_DEC, VALS(ansi_map_sub_addr_type_vals), 0x70, - "Type of Subaddress", HFILL }}, - { &hf_ansi_map_subaddr_odd_even, - { "Odd/Even Indicator", "ansi_map.subaddr_odd_even", - FT_BOOLEAN, 8, TFS(&ansi_map_navail_bool_val),0x08, - "Odd/Even Indicator", HFILL }}, - - { &hf_ansi_alertcode_cadence, - { "Cadence", "ansi_map.alertcode.cadence", - FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Cadence_vals), 0x3f, - "Cadence", HFILL }}, - { &hf_ansi_alertcode_pitch, - { "Pitch", "ansi_map.alertcode.pitch", - FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Pitch_vals), 0xc0, - "Pitch", HFILL }}, - { &hf_ansi_alertcode_alertaction, - { "Alert Action", "ansi_map.alertcode.alertaction", - FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Alert_Action_vals), 0x07, - "Alert Action", HFILL }}, - { &hf_ansi_map_announcementcode_tone, - { "Tone", "ansi_map.announcementcode.tone", - FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_tone_vals), 0x0, - "Tone", HFILL }}, - { &hf_ansi_map_announcementcode_class, - { "Tone", "ansi_map.announcementcode.class", - FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_class_vals), 0xf, - "Tone", HFILL }}, - { &hf_ansi_map_announcementcode_std_ann, - { "Standard Announcement", "ansi_map.announcementcode.std_ann", - FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_std_ann_vals), 0x0, - "Standard Announcement", HFILL }}, - { &hf_ansi_map_announcementcode_cust_ann, - { "Custom Announcement", "ansi_map.announcementcode.cust_ann", - FT_UINT8, BASE_DEC, NULL, 0x0, - "Custom Announcement", HFILL }}, - { &hf_ansi_map_authorizationperiod_period, - { "Period", "ansi_map.authorizationperiod.period", - FT_UINT8, BASE_DEC, VALS(ansi_map_authorizationperiod_period_vals), 0x0, - "Period", HFILL }}, - { &hf_ansi_map_value, - { " Value", "ansi_map.value", - FT_UINT8, BASE_DEC, NULL, 0x0, - "Value", HFILL }}, - { &hf_ansi_map_msc_type, - { "Type", "ansi_map.extendedmscid.type", - FT_UINT8, BASE_DEC, VALS(ansi_map_msc_type_vals), 0x0, - "Type", HFILL }}, - { &hf_ansi_map_handoffstate_pi, - { "Party Involved (PI)", "ansi_map.handoffstate.pi", - FT_BOOLEAN, 8, TFS(&ansi_map_HandoffState_pi_bool_val),0x01, - "Party Involved (PI)", HFILL }}, - { &hf_ansi_map_tgn, - { "Trunk Group Number (G)", "ansi_map.tgn", - FT_UINT8, BASE_DEC, NULL,0x0, - "Trunk Group Number (G)", HFILL }}, - { &hf_ansi_map_tmn, - { "Trunk Member Number (M)", "ansi_map.tgn", - FT_UINT8, BASE_DEC, NULL,0x0, - "Trunk Member Number (M)", HFILL }}, - { &hf_ansi_map_messagewaitingnotificationcount_tom, - { "Type of messages", "ansi_map.messagewaitingnotificationcount.tom", - FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationCount_type_vals), 0x0, - "Type of messages", HFILL }}, - { &hf_ansi_map_messagewaitingnotificationcount_no_mw, - { "Number of Messages Waiting", "ansi_map.messagewaitingnotificationcount.nomw", - FT_UINT8, BASE_DEC, NULL,0x0, - "Number of Messages Waiting", HFILL }}, - { &hf_ansi_map_messagewaitingnotificationtype_mwi, - { "Message Waiting Indication (MWI)", "ansi_map.messagewaitingnotificationcount.mwi", - FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationType_mwi_vals), 0x0, - "Message Waiting Indication (MWI)", HFILL }}, - { &hf_ansi_map_messagewaitingnotificationtype_apt, - { "Alert Pip Tone (APT)", "ansi_map.messagewaitingnotificationtype.apt", - FT_BOOLEAN, 8, TFS(&ansi_map_HandoffState_pi_bool_val),0x02, - "Alert Pip Tone (APT)", HFILL }}, - { &hf_ansi_map_messagewaitingnotificationtype_pt, - { "Pip Tone (PT)", "ansi_map.messagewaitingnotificationtype.pt", - FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationType_mwi_vals), 0xc0, - "Pip Tone (PT)", HFILL }}, - - { &hf_ansi_map_trans_cap_prof, - { "Profile (PROF)", "ansi_map.trans_cap_prof", - FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_prof_bool_val),0x01, - "Profile (PROF)", HFILL }}, - { &hf_ansi_map_trans_cap_busy, - { "Busy Detection (BUSY)", "ansi_map.trans_cap_busy", - FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_busy_bool_val),0x02, - "Busy Detection (BUSY)", HFILL }}, - { &hf_ansi_map_trans_cap_ann, - { "Announcements (ANN)", "ansi_map.trans_cap_ann", - FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_ann_bool_val),0x04, - "Announcements (ANN)", HFILL }}, - { &hf_ansi_map_trans_cap_rui, - { "Remote User Interaction (RUI)", "ansi_map.trans_cap_rui", - FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_rui_bool_val),0x08, - "Remote User Interaction (RUI)", HFILL }}, - { &hf_ansi_map_trans_cap_spini, - { "Subscriber PIN Intercept (SPINI)", "ansi_map.trans_cap_spini", - FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_spini_bool_val),0x10, - "Subscriber PIN Intercept (SPINI)", HFILL }}, - { &hf_ansi_map_trans_cap_uzci, - { "UZ Capability Indicator (UZCI)", "ansi_map.trans_cap_uzci", - FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_uzci_bool_val),0x20, - "UZ Capability Indicator (UZCI)", HFILL }}, - { &hf_ansi_map_trans_cap_ndss, - { "NDSS Capability (NDSS)", "ansi_map.trans_cap_ndss", - FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_ndss_bool_val),0x40, - "NDSS Capability (NDSS)", HFILL }}, - { &hf_ansi_map_trans_cap_nami, - { "NAME Capability Indicator (NAMI)", "ansi_map.trans_cap_nami", - FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_nami_bool_val),0x80, - "NAME Capability Indicator (NAMI)", HFILL }}, - { &hf_ansi_trans_cap_multerm, - { "Multiple Terminations", "ansi_map.trans_cap_multerm", - FT_UINT8, BASE_DEC, VALS(ansi_map_trans_cap_multerm_vals), 0x0f, - "Multiple Terminations", HFILL }}, - { &hf_ansi_map_terminationtriggers_busy, - { "Busy", "ansi_map.terminationtriggers.busy", - FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_busy_vals), 0x03, - "Busy", HFILL }}, - { &hf_ansi_map_terminationtriggers_rf, - { "Routing Failure (RF)", "ansi_map.terminationtriggers.rf", - FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_rf_vals), 0x0c, - "Routing Failure (RF)", HFILL }}, - { &hf_ansi_map_terminationtriggers_npr, - { "No Page Response (NPR)", "ansi_map.terminationtriggers.npr", - FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_npr_vals), 0x30, - "No Page Response (NPR)", HFILL }}, - { &hf_ansi_map_terminationtriggers_na, - { "No Answer (NA)", "ansi_map.terminationtriggers.na", - FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_na_vals), 0xc0, - "No Answer (NA)", HFILL }}, - { &hf_ansi_map_terminationtriggers_nr, - { "None Reachable (NR)", "ansi_map.terminationtriggers.nr", - FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_nr_vals), 0x01, - "None Reachable (NR)", HFILL }}, - { &hf_ansi_trans_cap_tl, - { "TerminationList (TL)", "ansi_map.trans_cap_tl", - FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_tl_bool_val),0x10, - "TerminationList (TL)", HFILL }}, - { &hf_ansi_map_cdmaserviceoption, - { "CDMAServiceOption", "ansi_map.cdmaserviceoption", - FT_UINT16, BASE_RANGE_STRING | BASE_DEC, RVALS(&cdmaserviceoption_vals), 0x0, - "CDMAServiceOption", HFILL }}, - { &hf_ansi_trans_cap_waddr, - { "WIN Addressing (WADDR)", "ansi_map.trans_cap_waddr", - FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_waddr_bool_val),0x20, - "WIN Addressing (WADDR)", HFILL }}, - - { &hf_ansi_map_MarketID, - { "MarketID", "ansi_map.marketid", - FT_UINT16, BASE_DEC, NULL, 0, - "MarketID", HFILL }}, - { &hf_ansi_map_swno, - { "Switch Number (SWNO)", "ansi_map.swno", - FT_UINT8, BASE_DEC, NULL, 0, - "Switch Number (SWNO)", HFILL }}, - { &hf_ansi_map_idno, - { "ID Number", "ansi_map.idno", - FT_UINT32, BASE_DEC, NULL, 0, - "ID Number", HFILL }}, - { &hf_ansi_map_segcount, - { "Segment Counter", "ansi_map.segcount", - FT_UINT8, BASE_DEC, NULL, 0, - "Segment Counter", HFILL }}, - { &hf_ansi_map_sms_originationrestrictions_direct, - { "DIRECT", "ansi_map.originationrestrictions.direct", - FT_BOOLEAN, 8, TFS(&ansi_map_SMS_OriginationRestrictions_direct_bool_val),0x04, - "DIRECT", HFILL }}, - { &hf_ansi_map_sms_originationrestrictions_default, - { "DEFAULT", "ansi_map.originationrestrictions.default", - FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_OriginationRestrictions_default_vals), 0x03, - "DEFAULT", HFILL }}, - { &hf_ansi_map_sms_originationrestrictions_fmc, - { "Force Message Center (FMC)", "ansi_map.originationrestrictions.fmc", - FT_BOOLEAN, 8, TFS(&ansi_map_SMS_OriginationRestrictions_fmc_bool_val),0x08, - "Force Message Center (FMC)", HFILL }}, - - { &hf_ansi_map_systemcapabilities_auth, - { "Authentication Parameters Requested (AUTH)", "ansi_map.systemcapabilities.auth", - FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_auth_bool_val),0x01, - "Authentication Parameters Requested (AUTH)", HFILL }}, - { &hf_ansi_map_systemcapabilities_se, - { "Signaling Message Encryption Capable (SE )", "ansi_map.systemcapabilities.se", - FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_se_bool_val),0x02, - "Signaling Message Encryption Capable (SE )", HFILL }}, - { &hf_ansi_map_systemcapabilities_vp, - { "Voice Privacy Capable (VP )", "ansi_map.systemcapabilities.vp", - FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_vp_bool_val),0x04, - "Voice Privacy Capable (VP )", HFILL }}, - { &hf_ansi_map_systemcapabilities_cave, - { "CAVE Algorithm Capable (CAVE)", "ansi_map.systemcapabilities.cave", - FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_cave_bool_val),0x08, - "CAVE Algorithm Capable (CAVE)", HFILL }}, - { &hf_ansi_map_systemcapabilities_ssd, - { "Shared SSD (SSD)", "ansi_map.systemcapabilities.ssd", - FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_ssd_bool_val),0x10, - "Shared SSD (SSD)", HFILL }}, - { &hf_ansi_map_systemcapabilities_dp, - { "Data Privacy (DP)", "ansi_map.systemcapabilities.dp", - FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_dp_bool_val),0x20, - "Data Privacy (DP)", HFILL }}, - - { &hf_ansi_map_mslocation_lat, - { "Latitude in tenths of a second", "ansi_map.mslocation.lat", - FT_UINT8, BASE_DEC, NULL, 0, - "Latitude in tenths of a second", HFILL }}, - { &hf_ansi_map_mslocation_long, - { "Longitude in tenths of a second", "ansi_map.mslocation.long", - FT_UINT8, BASE_DEC, NULL, 0, - "Switch Number (SWNO)", HFILL }}, - { &hf_ansi_map_mslocation_res, - { "Resolution in units of 1 foot", "ansi_map.mslocation.res", - FT_UINT8, BASE_DEC, NULL, 0, - "Resolution in units of 1 foot", HFILL }}, - { &hf_ansi_map_nampscallmode_namps, - { "Call Mode", "ansi_map.nampscallmode.namps", - FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_namps_bool_val),0x01, - "Call Mode", HFILL }}, - { &hf_ansi_map_nampscallmode_amps, - { "Call Mode", "ansi_map.nampscallmode.amps", - FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_amps_bool_val),0x02, - "Call Mode", HFILL }}, - { &hf_ansi_map_nampschanneldata_navca, - { "Narrow Analog Voice Channel Assignment (NAVCA)", "ansi_map.nampschanneldata.navca", - FT_UINT8, BASE_DEC, VALS(ansi_map_NAMPSChannelData_navca_vals), 0x03, - "Narrow Analog Voice Channel Assignment (NAVCA)", HFILL }}, - { &hf_ansi_map_nampschanneldata_CCIndicator, - { "Color Code Indicator (CCIndicator)", "ansi_map.nampschanneldata.ccindicator", - FT_UINT8, BASE_DEC, VALS(ansi_map_NAMPSChannelData_ccinidicator_vals), 0x1c, - "Color Code Indicator (CCIndicator)", HFILL }}, - - - { &hf_ansi_map_callingfeaturesindicator_cfufa, - { "Call Forwarding Unconditional FeatureActivity, CFU-FA", "ansi_map.callingfeaturesindicator.cfufa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03, - "Call Forwarding Unconditional FeatureActivity, CFU-FA", HFILL }}, - { &hf_ansi_map_callingfeaturesindicator_cfbfa, - { "Call Forwarding Busy FeatureActivity, CFB-FA", "ansi_map.callingfeaturesindicator.cfbafa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c, - "Call Forwarding Busy FeatureActivity, CFB-FA", HFILL }}, - { &hf_ansi_map_callingfeaturesindicator_cfnafa, - { "Call Forwarding No Answer FeatureActivity, CFNA-FA", "ansi_map.callingfeaturesindicator.cfnafa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30, - "Call Forwarding No Answer FeatureActivity, CFNA-FA", HFILL }}, - { &hf_ansi_map_callingfeaturesindicator_cwfa, - { "Call Waiting: FeatureActivity, CW-FA", "ansi_map.callingfeaturesindicator.cwfa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0, - "Call Waiting: FeatureActivity, CW-FA", HFILL }}, - - { &hf_ansi_map_callingfeaturesindicator_3wcfa, - { "Three-Way Calling FeatureActivity, 3WC-FA", "ansi_map.callingfeaturesindicator.3wcfa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03, - "Three-Way Calling FeatureActivity, 3WC-FA", HFILL }}, - - { &hf_ansi_map_callingfeaturesindicator_pcwfa, - { "Priority Call Waiting FeatureActivity PCW-FA", "ansi_map.callingfeaturesindicator.pcwfa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03, - "Priority Call Waiting FeatureActivity PCW-FA", HFILL }}, - - { &hf_ansi_map_callingfeaturesindicator_dpfa, - { "Data Privacy Feature Activity DP-FA", "ansi_map.callingfeaturesindicator.dpfa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c, - "Data Privacy Feature Activity DP-FA", HFILL }}, - { &hf_ansi_map_callingfeaturesindicator_ahfa, - { "Answer Hold: FeatureActivity AH-FA", "ansi_map.callingfeaturesindicator.ahfa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30, - "Answer Hold: FeatureActivity AH-FA", HFILL }}, - { &hf_ansi_map_callingfeaturesindicator_uscfvmfa, - { "USCF divert to voice mail: FeatureActivity USCFvm-FA", "ansi_map.callingfeaturesindicator.uscfvmfa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0, - "USCF divert to voice mail: FeatureActivity USCFvm-FA", HFILL }}, - - { &hf_ansi_map_callingfeaturesindicator_uscfmsfa, - { "USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA", "ansi_map.callingfeaturesindicator.uscfmsfa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03, - "USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA", HFILL }}, - { &hf_ansi_map_callingfeaturesindicator_uscfnrfa, - { "USCF divert to network registered DN:FeatureActivity. USCFnr-FA", "ansi_map.callingfeaturesindicator.uscfmsfa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c, - "USCF divert to network registered DN:FeatureActivity. USCFnr-FA", HFILL }}, - { &hf_ansi_map_callingfeaturesindicator_cpdsfa, - { "CDMA-Packet Data Service: FeatureActivity. CPDS-FA", "ansi_map.callingfeaturesindicator.cpdfa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30, - "CDMA-Packet Data Service: FeatureActivity. CPDS-FA", HFILL }}, - { &hf_ansi_map_callingfeaturesindicator_ccsfa, - { "CDMA-Concurrent Service:FeatureActivity. CCS-FA", "ansi_map.callingfeaturesindicator.ccsfa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0, - "CDMA-Concurrent Service:FeatureActivity. CCS-FA", HFILL }}, - - { &hf_ansi_map_callingfeaturesindicator_epefa, - { "TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA", "ansi_map.callingfeaturesindicator.epefa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03, - "TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA", HFILL }}, - - - { &hf_ansi_map_callingfeaturesindicator_cdfa, - { "Call Delivery: FeatureActivity, CD-FA", "ansi_map.callingfeaturesindicator.cdfa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c, - "Call Delivery: FeatureActivity, CD-FA", HFILL }}, - { &hf_ansi_map_callingfeaturesindicator_vpfa, - { "Voice Privacy FeatureActivity, VP-FA", "ansi_map.callingfeaturesindicator.vpfa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30, - "Voice Privacy FeatureActivity, VP-FA", HFILL }}, - { &hf_ansi_map_callingfeaturesindicator_ctfa, - { "Call Transfer: FeatureActivity, CT-FA", "ansi_map.callingfeaturesindicator.ctfa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0, - "Call Transfer: FeatureActivity, CT-FA", HFILL }}, - - { &hf_ansi_map_callingfeaturesindicator_cnip1fa, - { "One number (network-provided only) Calling Number Identification Presentation: FeatureActivity CNIP1-FA", "ansi_map.callingfeaturesindicator.cnip1fa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03, - "One number (network-provided only) Calling Number Identification Presentation: FeatureActivity CNIP1-FA", HFILL }}, - { &hf_ansi_map_callingfeaturesindicator_cnip2fa, - { "Two number (network-provided and user-provided) Calling Number Identification Presentation: FeatureActivity CNIP2-FA", "ansi_map.callingfeaturesindicator.cnip2fa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c, - "Two number (network-provided and user-provided) Calling Number Identification Presentation: FeatureActivity CNIP2-FA", HFILL }}, - { &hf_ansi_map_callingfeaturesindicator_cnirfa, - { "Calling Number Identification Restriction: FeatureActivity CNIR-FA", "ansi_map.callingfeaturesindicator.cnirfa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30, - "Calling Number Identification Restriction: FeatureActivity CNIR-FA", HFILL }}, - { &hf_ansi_map_callingfeaturesindicator_cniroverfa, - { "Calling Number Identification Restriction Override FeatureActivity CNIROver-FA", "ansi_map.callingfeaturesindicator.cniroverfa", - FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0, - "", HFILL }}, - - { &hf_ansi_map_cdmacallmode_cdma, - { "Call Mode", "ansi_map.cdmacallmode.cdma", - FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cdma_bool_val),0x01, - "Call Mode", HFILL }}, - { &hf_ansi_map_cdmacallmode_amps, - { "Call Mode", "ansi_map.cdmacallmode.amps", - FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_amps_bool_val),0x02, - "Call Mode", HFILL }}, - { &hf_ansi_map_cdmacallmode_namps, - { "Call Mode", "ansi_map.cdmacallmode.namps", - FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_namps_bool_val),0x04, - "Call Mode", HFILL }}, - { &hf_ansi_map_cdmacallmode_cls1, - { "Call Mode", "ansi_map.cdmacallmode.cls1", - FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls1_bool_val),0x08, - "Call Mode", HFILL }}, - { &hf_ansi_map_cdmacallmode_cls2, - { "Call Mode", "ansi_map.cdmacallmode.cls2", - FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls2_bool_val),0x10, - "Call Mode", HFILL }}, - { &hf_ansi_map_cdmacallmode_cls3, - { "Call Mode", "ansi_map.cdmacallmode.cls3", - FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls3_bool_val),0x20, - "Call Mode", HFILL }}, - { &hf_ansi_map_cdmacallmode_cls4, - { "Call Mode", "ansi_map.cdmacallmode.cls4", - FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls4_bool_val),0x40, - "Call Mode", HFILL }}, - { &hf_ansi_map_cdmacallmode_cls5, - { "Call Mode", "ansi_map.cdmacallmode.cls5", - FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls5_bool_val),0x80, - "Call Mode", HFILL }}, - { &hf_ansi_map_cdmacallmode_cls6, - { "Call Mode", "ansi_map.cdmacallmode.cls6", - FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls6_bool_val),0x01, - "Call Mode", HFILL }}, - { &hf_ansi_map_cdmacallmode_cls7, - { "Call Mode", "ansi_map.cdmacallmode.cls7", - FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls7_bool_val),0x02, - "Call Mode", HFILL }}, - { &hf_ansi_map_cdmacallmode_cls8, - { "Call Mode", "ansi_map.cdmacallmode.cls8", - FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls8_bool_val),0x04, - "Call Mode", HFILL }}, - { &hf_ansi_map_cdmacallmode_cls9, - { "Call Mode", "ansi_map.cdmacallmode.cls9", - FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls9_bool_val),0x08, - "Call Mode", HFILL }}, - { &hf_ansi_map_cdmacallmode_cls10, - { "Call Mode", "ansi_map.cdmacallmode.cls10", - FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls10_bool_val),0x10, - "Call Mode", HFILL }}, - {&hf_ansi_map_cdmachanneldata_Frame_Offset, - { "Frame Offset", "ansi_map.cdmachanneldata.frameoffset", - FT_UINT8, BASE_DEC, NULL, 0x78, - "Frame Offset", HFILL }}, - {&hf_ansi_map_cdmachanneldata_CDMA_ch_no, - { "CDMA Channel Number", "ansi_map.cdmachanneldata.cdma_ch_no", - FT_UINT16, BASE_DEC, NULL, 0x07FF, - "CDMA Channel Number", HFILL }}, - {&hf_ansi_map_cdmachanneldata_band_cls, - { "Band Class", "ansi_map.cdmachanneldata.band_cls", - FT_UINT8, BASE_DEC, VALS(ansi_map_cdmachanneldata_band_cls_vals), 0x7c, - "Band Class", HFILL }}, - {&hf_ansi_map_cdmachanneldata_lc_mask_b6, - { "Long Code Mask (byte 6) MSB", "ansi_map.cdmachanneldata.lc_mask_b6", - FT_UINT8, BASE_HEX, NULL, 0x03, - "Long Code Mask MSB (byte 6)", HFILL }}, - {&hf_ansi_map_cdmachanneldata_lc_mask_b5, - { "Long Code Mask (byte 5)", "ansi_map.cdmachanneldata.lc_mask_b5", - FT_UINT8, BASE_HEX, NULL, 0xff, - "Long Code Mask (byte 5)", HFILL }}, - {&hf_ansi_map_cdmachanneldata_lc_mask_b4, - { "Long Code Mask (byte 4)", "ansi_map.cdmachanneldata.lc_mask_b4", - FT_UINT8, BASE_HEX, NULL, 0xff, - "Long Code Mask (byte 4)", HFILL }}, - {&hf_ansi_map_cdmachanneldata_lc_mask_b3, - { "Long Code Mask (byte 3)", "ansi_map.cdmachanneldata.lc_mask_b3", - FT_UINT8, BASE_HEX, NULL, 0xff, - "Long Code Mask (byte 3)", HFILL }}, - {&hf_ansi_map_cdmachanneldata_lc_mask_b2, - { "Long Code Mask (byte 2)", "ansi_map.cdmachanneldata.lc_mask_b2", - FT_UINT8, BASE_HEX, NULL, 0xff, - "Long Code Mask (byte 2)", HFILL }}, - {&hf_ansi_map_cdmachanneldata_lc_mask_b1, - { "Long Code Mask LSB(byte 1)", "ansi_map.cdmachanneldata.lc_mask_b1", - FT_UINT8, BASE_HEX, NULL, 0xff, - "Long Code Mask (byte 1)LSB", HFILL }}, - {&hf_ansi_map_cdmachanneldata_np_ext, - { "NP EXT", "ansi_map.cdmachanneldata.np_ext", - FT_BOOLEAN, 8, NULL,0x80, - "NP EXT", HFILL }}, - {&hf_ansi_map_cdmachanneldata_nominal_pwr, - { "Nominal Power", "ansi_map.cdmachanneldata.nominal_pwr", - FT_UINT8, BASE_DEC, NULL, 0x71, - "Nominal Power", HFILL }}, - {&hf_ansi_map_cdmachanneldata_nr_preamble, - { "Number Preamble", "ansi_map.cdmachanneldata.nr_preamble", - FT_UINT8, BASE_DEC, NULL, 0x07, - "Number Preamble", HFILL }}, - - { &hf_ansi_map_cdmastationclassmark_pc, - { "Power Class(PC)", "ansi_map.cdmastationclassmark.pc", - FT_UINT8, BASE_DEC, VALS(ansi_map_CDMAStationClassMark_pc_vals), 0x03, - "Power Class(PC)", HFILL }}, - - { &hf_ansi_map_cdmastationclassmark_dtx, - { "Analog Transmission: (DTX)", "ansi_map.cdmastationclassmark.dtx", - FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_dtx_bool_val),0x04, - "Analog Transmission: (DTX)", HFILL }}, - { &hf_ansi_map_cdmastationclassmark_smi, - { " Slotted Mode Indicator: (SMI)", "ansi_map.cdmastationclassmark.smi", - FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_smi_bool_val),0x20, - " Slotted Mode Indicator: (SMI)", HFILL }}, - { &hf_ansi_map_cdmastationclassmark_dmi, - { "Dual-mode Indicator(DMI)", "ansi_map.cdmastationclassmark.dmi", - FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_dmi_bool_val),0x40, - "Dual-mode Indicator(DMI)", HFILL }}, - { &hf_ansi_map_channeldata_vmac, - { "Voice Mobile Attenuation Code (VMAC)", "ansi_map.channeldata.vmac", - FT_UINT8, BASE_DEC, NULL, 0x07, - "Voice Mobile Attenuation Code (VMAC)", HFILL }}, - { &hf_ansi_map_channeldata_dtx, - { "Discontinuous Transmission Mode (DTX)", "ansi_map.channeldata.dtx", - FT_UINT8, BASE_DEC, VALS(ansi_map_ChannelData_dtx_vals), 0x18, - "Discontinuous Transmission Mode (DTX)", HFILL }}, - { &hf_ansi_map_channeldata_scc, - { "SAT Color Code (SCC)", "ansi_map.channeldata.scc", - FT_UINT8, BASE_DEC, NULL, 0xc0, - "SAT Color Code (SCC)", HFILL }}, - { &hf_ansi_map_channeldata_chno, - { "Channel Number (CHNO)", "ansi_map.channeldata.chno", - FT_UINT16, BASE_DEC, NULL, 0x0, - "Channel Number (CHNO)", HFILL }}, - { &hf_ansi_map_ConfidentialityModes_vp, - { "Voice Privacy (VP) Confidentiality Status", "ansi_map.confidentialitymodes.vp", - FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x01, - "Voice Privacy (VP) Confidentiality Status", HFILL }}, - { &hf_ansi_map_controlchanneldata_dcc, - { "Digital Color Code (DCC)", "ansi_map.controlchanneldata.dcc", - FT_UINT8, BASE_DEC, NULL, 0xc0, - "Digital Color Code (DCC)", HFILL }}, - { &hf_ansi_map_controlchanneldata_cmac, - { "Control Mobile Attenuation Code (CMAC)", "ansi_map.controlchanneldata.cmac", - FT_UINT8, BASE_DEC, NULL, 0x07, - "Control Mobile Attenuation Code (CMAC)", HFILL }}, - { &hf_ansi_map_controlchanneldata_chno, - { "Channel Number (CHNO)", "ansi_map.controlchanneldata.cmac", - FT_UINT16, BASE_DEC, NULL, 0x0, - "Channel Number (CHNO)", HFILL }}, - { &hf_ansi_map_controlchanneldata_sdcc1, - { "Supplementary Digital Color Codes (SDCC1)", "ansi_map.controlchanneldata.ssdc1", - FT_UINT8, BASE_DEC, NULL, 0x0c, - "Supplementary Digital Color Codes (SDCC1)", HFILL }}, - { &hf_ansi_map_controlchanneldata_sdcc2, - { "Supplementary Digital Color Codes (SDCC2)", "ansi_map.controlchanneldata.ssdc2", - FT_UINT8, BASE_DEC, NULL, 0x03, - "Supplementary Digital Color Codes (SDCC2)", HFILL }}, - { &hf_ansi_map_ConfidentialityModes_se, - { "Signaling Message Encryption (SE) Confidentiality Status", "ansi_map.confidentialitymodes.se", - FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x02, - "Signaling Message Encryption (SE) Confidentiality Status", HFILL }}, - { &hf_ansi_map_ConfidentialityModes_dp, - { "DataPrivacy (DP) Confidentiality Status", "ansi_map.confidentialitymodes.dp", - FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x04, - "DataPrivacy (DP) Confidentiality Status", HFILL }}, - - { &hf_ansi_map_deniedauthorizationperiod_period, - { "Period", "ansi_map.deniedauthorizationperiod.period", - FT_UINT8, BASE_DEC, VALS(ansi_map_deniedauthorizationperiod_period_vals), 0x0, - "Period", HFILL }}, - - - { &hf_ansi_map_originationtriggers_all, - { "All Origination (All)", "ansi_map.originationtriggers.all", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_all_bool_val),0x01, - "All Origination (All)", HFILL }}, - { &hf_ansi_map_originationtriggers_local, - { "Local", "ansi_map.originationtriggers.all", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_local_bool_val),0x02, - "Local", HFILL }}, - { &hf_ansi_map_originationtriggers_ilata, - { "Intra-LATA Toll (ILATA)", "ansi_map.originationtriggers.ilata", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ilata_bool_val),0x04, - "Intra-LATA Toll (ILATA)", HFILL }}, - { &hf_ansi_map_originationtriggers_olata, - { "Inter-LATA Toll (OLATA)", "ansi_map.originationtriggers.olata", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_olata_bool_val),0x08, - "Inter-LATA Toll (OLATA)", HFILL }}, - { &hf_ansi_map_originationtriggers_int, - { "International (Int'l )", "ansi_map.originationtriggers.int", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_int_bool_val),0x10, - "International (Int'l )", HFILL }}, - { &hf_ansi_map_originationtriggers_wz, - { "World Zone (WZ)", "ansi_map.originationtriggers.wz", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_wz_bool_val),0x20, - "World Zone (WZ)", HFILL }}, - { &hf_ansi_map_originationtriggers_unrec, - { "Unrecognized Number (Unrec)", "ansi_map.originationtriggers.unrec", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_unrec_bool_val),0x40, - "Unrecognized Number (Unrec)", HFILL }}, - { &hf_ansi_map_originationtriggers_rvtc, - { "Revertive Call (RvtC)", "ansi_map.originationtriggers.rvtc", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_rvtc_bool_val),0x80, - "Revertive Call (RvtC)", HFILL }}, - { &hf_ansi_map_originationtriggers_star, - { "Star", "ansi_map.originationtriggers.star", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_star_bool_val),0x01, - "Star", HFILL }}, - { &hf_ansi_map_originationtriggers_ds, - { "Double Star (DS)", "ansi_map.originationtriggers.ds", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ds_bool_val),0x02, - "Double Star (DS)", HFILL }}, - { &hf_ansi_map_originationtriggers_pound, - { "Pound", "ansi_map.originationtriggers.pound", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_pound_bool_val),0x04, - "Pound", HFILL }}, - { &hf_ansi_map_originationtriggers_dp, - { "Double Pound (DP)", "ansi_map.originationtriggers.dp", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_dp_bool_val),0x08, - "Double Pound (DP)", HFILL }}, - { &hf_ansi_map_originationtriggers_pa, - { "Prior Agreement (PA)", "ansi_map.originationtriggers.pa", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_pa_bool_val),0x10, - "Prior Agreement (PA)", HFILL }}, - { &hf_ansi_map_originationtriggers_nodig, - { "No digits", "ansi_map.originationtriggers.nodig", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_nodig_bool_val),0x01, - "No digits", HFILL }}, - { &hf_ansi_map_originationtriggers_onedig, - { "1 digit", "ansi_map.originationtriggers.onedig", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_onedig_bool_val),0x02, - "1 digit", HFILL }}, - { &hf_ansi_map_originationtriggers_twodig, - { "2 digits", "ansi_map.originationtriggers.twodig", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_twodig_bool_val),0x04, - "2 digits", HFILL }}, - { &hf_ansi_map_originationtriggers_threedig, - { "3 digits", "ansi_map.originationtriggers.threedig", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_threedig_bool_val),0x08, - "3 digits", HFILL }}, - { &hf_ansi_map_originationtriggers_fourdig, - { "4 digits", "ansi_map.originationtriggers.fourdig", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fourdig_bool_val),0x10, - "4 digits", HFILL }}, - { &hf_ansi_map_originationtriggers_fivedig, - { "5 digits", "ansi_map.originationtriggers.fivedig", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fivedig_bool_val),0x20, - "5 digits", HFILL }}, - { &hf_ansi_map_originationtriggers_sixdig, - { "6 digits", "ansi_map.originationtriggers.sixdig", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_sixdig_bool_val),0x40, - "6 digits", HFILL }}, - { &hf_ansi_map_originationtriggers_sevendig, - { "7 digits", "ansi_map.originationtriggers.sevendig", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_sevendig_bool_val),0x80, - "7 digits", HFILL }}, - { &hf_ansi_map_originationtriggers_eightdig, - { "8 digits", "ansi_map.originationtriggers.eight", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_eightdig_bool_val),0x01, - "8 digits", HFILL }}, - { &hf_ansi_map_originationtriggers_ninedig, - { "9 digits", "ansi_map.originationtriggers.nine", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ninedig_bool_val),0x02, - "9 digits", HFILL }}, - { &hf_ansi_map_originationtriggers_tendig, - { "10 digits", "ansi_map.originationtriggers.ten", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_tendig_bool_val),0x04, - "10 digits", HFILL }}, - { &hf_ansi_map_originationtriggers_elevendig, - { "11 digits", "ansi_map.originationtriggers.eleven", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_elevendig_bool_val),0x08, - "11 digits", HFILL }}, - { &hf_ansi_map_originationtriggers_twelvedig, - { "12 digits", "ansi_map.originationtriggers.twelve", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_twelvedig_bool_val),0x10, - "12 digits", HFILL }}, - { &hf_ansi_map_originationtriggers_thirteendig, - { "13 digits", "ansi_map.originationtriggers.thirteen", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_thirteendig_bool_val),0x20, - "13 digits", HFILL }}, - { &hf_ansi_map_originationtriggers_fourteendig, - { "14 digits", "ansi_map.originationtriggers.fourteen", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fourteendig_bool_val),0x40, - "14 digits", HFILL }}, - { &hf_ansi_map_originationtriggers_fifteendig, - { "15 digits", "ansi_map.originationtriggers.fifteen", - FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fifteendig_bool_val),0x80, - "15 digits", HFILL }}, - - { &hf_ansi_map_triggercapability_init, - { "Introducing Star/Pound (INIT)", "ansi_map.triggercapability.init", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01, - "Introducing Star/Pound (INIT)", HFILL }}, - { &hf_ansi_map_triggercapability_kdigit, - { "K-digit (K-digit)", "ansi_map.triggercapability.kdigit", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02, - "K-digit (K-digit)", HFILL }}, - { &hf_ansi_map_triggercapability_all, - { "All_Calls (All)", "ansi_map.triggercapability.all", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04, - "All_Calls (All)", HFILL }}, - { &hf_ansi_map_triggercapability_rvtc, - { "Revertive_Call (RvtC)", "ansi_map.triggercapability.rvtc", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08, - "Revertive_Call (RvtC)", HFILL }}, - { &hf_ansi_map_triggercapability_oaa, - { "Origination_Attempt_Authorized (OAA)", "ansi_map.triggercapability.oaa", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10, - "Origination_Attempt_Authorized (OAA)", HFILL }}, - { &hf_ansi_map_triggercapability_oans, - { "O_Answer (OANS)", "ansi_map.triggercapability.oans", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x20, - "O_Answer (OANS)", HFILL }}, - { &hf_ansi_map_triggercapability_odisc, - { "O_Disconnect (ODISC)", "ansi_map.triggercapability.odisc", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x40, - "O_Disconnect (ODISC)", HFILL }}, - { &hf_ansi_map_triggercapability_ona, - { "O_No_Answer (ONA)", "ansi_map.triggercapability.ona", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x80, - "O_No_Answer (ONA)", HFILL }}, - - { &hf_ansi_map_triggercapability_ct , - { "Call Types (CT)", "ansi_map.triggercapability.ona", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01, - "Call Types (CT)", HFILL }}, - { &hf_ansi_map_triggercapability_unrec, - { "Unrecognized_Number (Unrec)", "ansi_map.triggercapability.unrec", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02, - "Unrecognized_Number (Unrec)", HFILL }}, - { &hf_ansi_map_triggercapability_pa, - { "Prior_Agreement (PA)", "ansi_map.triggercapability.pa", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04, - "Prior_Agreement (PA)", HFILL }}, - { &hf_ansi_map_triggercapability_at, - { "Advanced_Termination (AT)", "ansi_map.triggercapability.at", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08, - "Advanced_Termination (AT)", HFILL }}, - { &hf_ansi_map_triggercapability_cgraa, - { "Calling_Routing_Address_Available (CgRAA)", "ansi_map.triggercapability.cgraa", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10, - "Calling_Routing_Address_Available (CgRAA)", HFILL }}, - { &hf_ansi_map_triggercapability_it, - { "Initial_Termination (IT)", "ansi_map.triggercapability.it", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x20, - "Initial_Termination (IT)", HFILL }}, - { &hf_ansi_map_triggercapability_cdraa, - { "Called_Routing_Address_Available (CdRAA)", "ansi_map.triggercapability.cdraa", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x40, - "Called_Routing_Address_Available (CdRAA)", HFILL }}, - { &hf_ansi_map_triggercapability_obsy, - { "O_Called_Party_Busy (OBSY)", "ansi_map.triggercapability.ona", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x80, - "O_Called_Party_Busy (OBSY)", HFILL }}, - - { &hf_ansi_map_triggercapability_tra , - { "Terminating_Resource_Available (TRA)", "ansi_map.triggercapability.tra", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01, - "Terminating_Resource_Available (TRA)", HFILL }}, - { &hf_ansi_map_triggercapability_tbusy, - { "T_Busy (TBusy)", "ansi_map.triggercapability.tbusy", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02, - "T_Busy (TBusy)", HFILL }}, - { &hf_ansi_map_triggercapability_tna, - { "T_No_Answer (TNA)", "ansi_map.triggercapability.tna", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04, - "T_No_Answer (TNA)", HFILL }}, - { &hf_ansi_map_triggercapability_tans, - { "T_Answer (TANS)", "ansi_map.triggercapability.tans", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08, - "T_Answer (TANS)", HFILL }}, - { &hf_ansi_map_triggercapability_tdisc, - { "T_Disconnect (TDISC) ", "ansi_map.triggercapability.tdisc", - FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10, - "T_Disconnect (TDISC) ", HFILL }}, - { &hf_ansi_map_winoperationscapability_conn, - { "ConnectResource (CONN)", "ansi_map.winoperationscapability.conn", - FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_conn_bool_val),0x01, - "ConnectResource (CONN)", HFILL }}, - { &hf_ansi_map_winoperationscapability_ccdir, - { "CallControlDirective(CCDIR)", "ansi_map.winoperationscapability.ccdir", - FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_ccdir_bool_val),0x02, - "CallControlDirective(CCDIR)", HFILL }}, - { &hf_ansi_map_winoperationscapability_pos, - { "PositionRequest (POS)", "ansi_map.winoperationscapability.pos", - FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_pos_bool_val),0x04, - "PositionRequest (POS)", HFILL }}, - { &hf_ansi_map_pacaindicator_pa, - { "Permanent Activation (PA)", "ansi_map.pacaindicator_pa", - FT_BOOLEAN, 8, TFS(&ansi_map_pacaindicator_pa_bool_val),0x01, - "Permanent Activation (PA)", HFILL }}, - { &hf_ansi_map_PACA_Level, - { "PACA Level", "ansi_map.PACA_Level", - FT_UINT8, BASE_DEC, VALS(ansi_map_PACA_Level_vals), 0x1e, - "PACA Level", HFILL }}, - + { &hf_ansi_map_op_code_fam, + { "Operation Code Family", "ansi_map.op_code_fam", + FT_UINT8, BASE_DEC, NULL, 0, + "Operation Code Family", HFILL }}, + { &hf_ansi_map_reservedBitH, + { "Reserved", "ansi_map.reserved_bitH", + FT_BOOLEAN, 8, NULL,0x80, + "Reserved", HFILL }}, + { &hf_ansi_map_reservedBitD, + { "Reserved", "ansi_map.reserved_bitD", + FT_BOOLEAN, 8, NULL,0x08, + "Reserved", HFILL }}, + { &hf_ansi_map_reservedBitHG, + { "Reserved", "ansi_map.reserved_bitHG", + FT_UINT8, BASE_DEC, NULL, 0xc0, + "Reserved", HFILL }}, + { &hf_ansi_map_reservedBitHGFE, + { "Reserved", "ansi_map.reserved_bitHGFE", + FT_UINT8, BASE_DEC, NULL, 0xf0, + "Reserved", HFILL }}, + { &hf_ansi_map_reservedBitFED, + { "Reserved", "ansi_map.reserved_bitFED", + FT_UINT8, BASE_DEC, NULL, 0x38, + "Reserved", HFILL }}, + { &hf_ansi_map_reservedBitED, + { "Reserved", "ansi_map.reserved_bitED", + FT_UINT8, BASE_DEC, NULL, 0x18, + "Reserved", HFILL }}, + { &hf_ansi_map_op_code, + { "Operation Code", "ansi_map.op_code", + FT_UINT8, BASE_DEC, VALS(ansi_map_opr_code_strings), 0x0, + "Operation Code", HFILL }}, + { &hf_ansi_map_type_of_digits, + { "Type of Digits", "ansi_map.type_of_digits", + FT_UINT8, BASE_DEC, VALS(ansi_map_type_of_digits_vals), 0x0, + "Type of Digits", HFILL }}, + { &hf_ansi_map_na, + { "Nature of Number", "ansi_map.na", + FT_BOOLEAN, 8, TFS(&ansi_map_na_bool_val),0x01, + "Nature of Number", HFILL }}, + { &hf_ansi_map_pi, + { "Presentation Indication", "ansi_map.type_of_pi", + FT_BOOLEAN, 8, TFS(&ansi_map_pi_bool_val),0x02, + "Presentation Indication", HFILL }}, + { &hf_ansi_map_navail, + { "Number available indication", "ansi_map.navail", + FT_BOOLEAN, 8, TFS(&ansi_map_navail_bool_val),0x04, + "Number available indication", HFILL }}, + { &hf_ansi_map_si, + { "Screening indication", "ansi_map.si", + FT_UINT8, BASE_DEC, VALS(ansi_map_si_vals), 0x30, + "Screening indication", HFILL }}, + { &hf_ansi_map_digits_enc, + { "Encoding", "ansi_map.enc", + FT_UINT8, BASE_DEC, VALS(ansi_map_digits_enc_vals), 0x0f, + "Encoding", HFILL }}, + { &hf_ansi_map_np, + { "Numbering Plan", "ansi_map.np", + FT_UINT8, BASE_DEC, VALS(ansi_map_np_vals), 0xf0, + "Numbering Plan", HFILL }}, + { &hf_ansi_map_nr_digits, + { "Number of Digits", "ansi_map.nr_digits", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Number of Digits", HFILL }}, + { &hf_ansi_map_bcd_digits, + { "BCD digits", "ansi_map.bcd_digits", + FT_STRING, BASE_NONE, NULL, 0, + "BCD digits", HFILL }}, + { &hf_ansi_map_ia5_digits, + { "IA5 digits", "ansi_map.ia5_digits", + FT_STRING, BASE_NONE, NULL, 0, + "IA5 digits", HFILL }}, + { &hf_ansi_map_subaddr_type, + { "Type of Subaddress", "ansi_map.subaddr_type", + FT_UINT8, BASE_DEC, VALS(ansi_map_sub_addr_type_vals), 0x70, + "Type of Subaddress", HFILL }}, + { &hf_ansi_map_subaddr_odd_even, + { "Odd/Even Indicator", "ansi_map.subaddr_odd_even", + FT_BOOLEAN, 8, TFS(&ansi_map_navail_bool_val),0x08, + "Odd/Even Indicator", HFILL }}, + + { &hf_ansi_alertcode_cadence, + { "Cadence", "ansi_map.alertcode.cadence", + FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Cadence_vals), 0x3f, + "Cadence", HFILL }}, + { &hf_ansi_alertcode_pitch, + { "Pitch", "ansi_map.alertcode.pitch", + FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Pitch_vals), 0xc0, + "Pitch", HFILL }}, + { &hf_ansi_alertcode_alertaction, + { "Alert Action", "ansi_map.alertcode.alertaction", + FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Alert_Action_vals), 0x07, + "Alert Action", HFILL }}, + { &hf_ansi_map_announcementcode_tone, + { "Tone", "ansi_map.announcementcode.tone", + FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_tone_vals), 0x0, + "Tone", HFILL }}, + { &hf_ansi_map_announcementcode_class, + { "Tone", "ansi_map.announcementcode.class", + FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_class_vals), 0xf, + "Tone", HFILL }}, + { &hf_ansi_map_announcementcode_std_ann, + { "Standard Announcement", "ansi_map.announcementcode.std_ann", + FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_std_ann_vals), 0x0, + "Standard Announcement", HFILL }}, + { &hf_ansi_map_announcementcode_cust_ann, + { "Custom Announcement", "ansi_map.announcementcode.cust_ann", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Custom Announcement", HFILL }}, + { &hf_ansi_map_authorizationperiod_period, + { "Period", "ansi_map.authorizationperiod.period", + FT_UINT8, BASE_DEC, VALS(ansi_map_authorizationperiod_period_vals), 0x0, + "Period", HFILL }}, + { &hf_ansi_map_value, + { " Value", "ansi_map.value", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Value", HFILL }}, + { &hf_ansi_map_msc_type, + { "Type", "ansi_map.extendedmscid.type", + FT_UINT8, BASE_DEC, VALS(ansi_map_msc_type_vals), 0x0, + "Type", HFILL }}, + { &hf_ansi_map_handoffstate_pi, + { "Party Involved (PI)", "ansi_map.handoffstate.pi", + FT_BOOLEAN, 8, TFS(&ansi_map_HandoffState_pi_bool_val),0x01, + "Party Involved (PI)", HFILL }}, + { &hf_ansi_map_tgn, + { "Trunk Group Number (G)", "ansi_map.tgn", + FT_UINT8, BASE_DEC, NULL,0x0, + "Trunk Group Number (G)", HFILL }}, + { &hf_ansi_map_tmn, + { "Trunk Member Number (M)", "ansi_map.tgn", + FT_UINT8, BASE_DEC, NULL,0x0, + "Trunk Member Number (M)", HFILL }}, + { &hf_ansi_map_messagewaitingnotificationcount_tom, + { "Type of messages", "ansi_map.messagewaitingnotificationcount.tom", + FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationCount_type_vals), 0x0, + "Type of messages", HFILL }}, + { &hf_ansi_map_messagewaitingnotificationcount_no_mw, + { "Number of Messages Waiting", "ansi_map.messagewaitingnotificationcount.nomw", + FT_UINT8, BASE_DEC, NULL,0x0, + "Number of Messages Waiting", HFILL }}, + { &hf_ansi_map_messagewaitingnotificationtype_mwi, + { "Message Waiting Indication (MWI)", "ansi_map.messagewaitingnotificationcount.mwi", + FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationType_mwi_vals), 0x0, + "Message Waiting Indication (MWI)", HFILL }}, + { &hf_ansi_map_messagewaitingnotificationtype_apt, + { "Alert Pip Tone (APT)", "ansi_map.messagewaitingnotificationtype.apt", + FT_BOOLEAN, 8, TFS(&ansi_map_HandoffState_pi_bool_val),0x02, + "Alert Pip Tone (APT)", HFILL }}, + { &hf_ansi_map_messagewaitingnotificationtype_pt, + { "Pip Tone (PT)", "ansi_map.messagewaitingnotificationtype.pt", + FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationType_mwi_vals), 0xc0, + "Pip Tone (PT)", HFILL }}, + + { &hf_ansi_map_trans_cap_prof, + { "Profile (PROF)", "ansi_map.trans_cap_prof", + FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_prof_bool_val),0x01, + "Profile (PROF)", HFILL }}, + { &hf_ansi_map_trans_cap_busy, + { "Busy Detection (BUSY)", "ansi_map.trans_cap_busy", + FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_busy_bool_val),0x02, + "Busy Detection (BUSY)", HFILL }}, + { &hf_ansi_map_trans_cap_ann, + { "Announcements (ANN)", "ansi_map.trans_cap_ann", + FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_ann_bool_val),0x04, + "Announcements (ANN)", HFILL }}, + { &hf_ansi_map_trans_cap_rui, + { "Remote User Interaction (RUI)", "ansi_map.trans_cap_rui", + FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_rui_bool_val),0x08, + "Remote User Interaction (RUI)", HFILL }}, + { &hf_ansi_map_trans_cap_spini, + { "Subscriber PIN Intercept (SPINI)", "ansi_map.trans_cap_spini", + FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_spini_bool_val),0x10, + "Subscriber PIN Intercept (SPINI)", HFILL }}, + { &hf_ansi_map_trans_cap_uzci, + { "UZ Capability Indicator (UZCI)", "ansi_map.trans_cap_uzci", + FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_uzci_bool_val),0x20, + "UZ Capability Indicator (UZCI)", HFILL }}, + { &hf_ansi_map_trans_cap_ndss, + { "NDSS Capability (NDSS)", "ansi_map.trans_cap_ndss", + FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_ndss_bool_val),0x40, + "NDSS Capability (NDSS)", HFILL }}, + { &hf_ansi_map_trans_cap_nami, + { "NAME Capability Indicator (NAMI)", "ansi_map.trans_cap_nami", + FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_nami_bool_val),0x80, + "NAME Capability Indicator (NAMI)", HFILL }}, + { &hf_ansi_trans_cap_multerm, + { "Multiple Terminations", "ansi_map.trans_cap_multerm", + FT_UINT8, BASE_DEC, VALS(ansi_map_trans_cap_multerm_vals), 0x0f, + "Multiple Terminations", HFILL }}, + { &hf_ansi_map_terminationtriggers_busy, + { "Busy", "ansi_map.terminationtriggers.busy", + FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_busy_vals), 0x03, + "Busy", HFILL }}, + { &hf_ansi_map_terminationtriggers_rf, + { "Routing Failure (RF)", "ansi_map.terminationtriggers.rf", + FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_rf_vals), 0x0c, + "Routing Failure (RF)", HFILL }}, + { &hf_ansi_map_terminationtriggers_npr, + { "No Page Response (NPR)", "ansi_map.terminationtriggers.npr", + FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_npr_vals), 0x30, + "No Page Response (NPR)", HFILL }}, + { &hf_ansi_map_terminationtriggers_na, + { "No Answer (NA)", "ansi_map.terminationtriggers.na", + FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_na_vals), 0xc0, + "No Answer (NA)", HFILL }}, + { &hf_ansi_map_terminationtriggers_nr, + { "None Reachable (NR)", "ansi_map.terminationtriggers.nr", + FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_nr_vals), 0x01, + "None Reachable (NR)", HFILL }}, + { &hf_ansi_trans_cap_tl, + { "TerminationList (TL)", "ansi_map.trans_cap_tl", + FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_tl_bool_val),0x10, + "TerminationList (TL)", HFILL }}, + { &hf_ansi_map_cdmaserviceoption, + { "CDMAServiceOption", "ansi_map.cdmaserviceoption", + FT_UINT16, BASE_RANGE_STRING | BASE_DEC, RVALS(&cdmaserviceoption_vals), 0x0, + "CDMAServiceOption", HFILL }}, + { &hf_ansi_trans_cap_waddr, + { "WIN Addressing (WADDR)", "ansi_map.trans_cap_waddr", + FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_waddr_bool_val),0x20, + "WIN Addressing (WADDR)", HFILL }}, + + { &hf_ansi_map_MarketID, + { "MarketID", "ansi_map.marketid", + FT_UINT16, BASE_DEC, NULL, 0, + "MarketID", HFILL }}, + { &hf_ansi_map_swno, + { "Switch Number (SWNO)", "ansi_map.swno", + FT_UINT8, BASE_DEC, NULL, 0, + "Switch Number (SWNO)", HFILL }}, + { &hf_ansi_map_idno, + { "ID Number", "ansi_map.idno", + FT_UINT32, BASE_DEC, NULL, 0, + "ID Number", HFILL }}, + { &hf_ansi_map_segcount, + { "Segment Counter", "ansi_map.segcount", + FT_UINT8, BASE_DEC, NULL, 0, + "Segment Counter", HFILL }}, + { &hf_ansi_map_sms_originationrestrictions_direct, + { "DIRECT", "ansi_map.originationrestrictions.direct", + FT_BOOLEAN, 8, TFS(&ansi_map_SMS_OriginationRestrictions_direct_bool_val),0x04, + "DIRECT", HFILL }}, + { &hf_ansi_map_sms_originationrestrictions_default, + { "DEFAULT", "ansi_map.originationrestrictions.default", + FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_OriginationRestrictions_default_vals), 0x03, + "DEFAULT", HFILL }}, + { &hf_ansi_map_sms_originationrestrictions_fmc, + { "Force Message Center (FMC)", "ansi_map.originationrestrictions.fmc", + FT_BOOLEAN, 8, TFS(&ansi_map_SMS_OriginationRestrictions_fmc_bool_val),0x08, + "Force Message Center (FMC)", HFILL }}, + + { &hf_ansi_map_systemcapabilities_auth, + { "Authentication Parameters Requested (AUTH)", "ansi_map.systemcapabilities.auth", + FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_auth_bool_val),0x01, + "Authentication Parameters Requested (AUTH)", HFILL }}, + { &hf_ansi_map_systemcapabilities_se, + { "Signaling Message Encryption Capable (SE )", "ansi_map.systemcapabilities.se", + FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_se_bool_val),0x02, + "Signaling Message Encryption Capable (SE )", HFILL }}, + { &hf_ansi_map_systemcapabilities_vp, + { "Voice Privacy Capable (VP )", "ansi_map.systemcapabilities.vp", + FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_vp_bool_val),0x04, + "Voice Privacy Capable (VP )", HFILL }}, + { &hf_ansi_map_systemcapabilities_cave, + { "CAVE Algorithm Capable (CAVE)", "ansi_map.systemcapabilities.cave", + FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_cave_bool_val),0x08, + "CAVE Algorithm Capable (CAVE)", HFILL }}, + { &hf_ansi_map_systemcapabilities_ssd, + { "Shared SSD (SSD)", "ansi_map.systemcapabilities.ssd", + FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_ssd_bool_val),0x10, + "Shared SSD (SSD)", HFILL }}, + { &hf_ansi_map_systemcapabilities_dp, + { "Data Privacy (DP)", "ansi_map.systemcapabilities.dp", + FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_dp_bool_val),0x20, + "Data Privacy (DP)", HFILL }}, + + { &hf_ansi_map_mslocation_lat, + { "Latitude in tenths of a second", "ansi_map.mslocation.lat", + FT_UINT8, BASE_DEC, NULL, 0, + "Latitude in tenths of a second", HFILL }}, + { &hf_ansi_map_mslocation_long, + { "Longitude in tenths of a second", "ansi_map.mslocation.long", + FT_UINT8, BASE_DEC, NULL, 0, + "Switch Number (SWNO)", HFILL }}, + { &hf_ansi_map_mslocation_res, + { "Resolution in units of 1 foot", "ansi_map.mslocation.res", + FT_UINT8, BASE_DEC, NULL, 0, + "Resolution in units of 1 foot", HFILL }}, + { &hf_ansi_map_nampscallmode_namps, + { "Call Mode", "ansi_map.nampscallmode.namps", + FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_namps_bool_val),0x01, + "Call Mode", HFILL }}, + { &hf_ansi_map_nampscallmode_amps, + { "Call Mode", "ansi_map.nampscallmode.amps", + FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_amps_bool_val),0x02, + "Call Mode", HFILL }}, + { &hf_ansi_map_nampschanneldata_navca, + { "Narrow Analog Voice Channel Assignment (NAVCA)", "ansi_map.nampschanneldata.navca", + FT_UINT8, BASE_DEC, VALS(ansi_map_NAMPSChannelData_navca_vals), 0x03, + "Narrow Analog Voice Channel Assignment (NAVCA)", HFILL }}, + { &hf_ansi_map_nampschanneldata_CCIndicator, + { "Color Code Indicator (CCIndicator)", "ansi_map.nampschanneldata.ccindicator", + FT_UINT8, BASE_DEC, VALS(ansi_map_NAMPSChannelData_ccinidicator_vals), 0x1c, + "Color Code Indicator (CCIndicator)", HFILL }}, + + + { &hf_ansi_map_callingfeaturesindicator_cfufa, + { "Call Forwarding Unconditional FeatureActivity, CFU-FA", "ansi_map.callingfeaturesindicator.cfufa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03, + "Call Forwarding Unconditional FeatureActivity, CFU-FA", HFILL }}, + { &hf_ansi_map_callingfeaturesindicator_cfbfa, + { "Call Forwarding Busy FeatureActivity, CFB-FA", "ansi_map.callingfeaturesindicator.cfbafa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c, + "Call Forwarding Busy FeatureActivity, CFB-FA", HFILL }}, + { &hf_ansi_map_callingfeaturesindicator_cfnafa, + { "Call Forwarding No Answer FeatureActivity, CFNA-FA", "ansi_map.callingfeaturesindicator.cfnafa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30, + "Call Forwarding No Answer FeatureActivity, CFNA-FA", HFILL }}, + { &hf_ansi_map_callingfeaturesindicator_cwfa, + { "Call Waiting: FeatureActivity, CW-FA", "ansi_map.callingfeaturesindicator.cwfa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0, + "Call Waiting: FeatureActivity, CW-FA", HFILL }}, + + { &hf_ansi_map_callingfeaturesindicator_3wcfa, + { "Three-Way Calling FeatureActivity, 3WC-FA", "ansi_map.callingfeaturesindicator.3wcfa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03, + "Three-Way Calling FeatureActivity, 3WC-FA", HFILL }}, + + { &hf_ansi_map_callingfeaturesindicator_pcwfa, + { "Priority Call Waiting FeatureActivity PCW-FA", "ansi_map.callingfeaturesindicator.pcwfa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03, + "Priority Call Waiting FeatureActivity PCW-FA", HFILL }}, + + { &hf_ansi_map_callingfeaturesindicator_dpfa, + { "Data Privacy Feature Activity DP-FA", "ansi_map.callingfeaturesindicator.dpfa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c, + "Data Privacy Feature Activity DP-FA", HFILL }}, + { &hf_ansi_map_callingfeaturesindicator_ahfa, + { "Answer Hold: FeatureActivity AH-FA", "ansi_map.callingfeaturesindicator.ahfa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30, + "Answer Hold: FeatureActivity AH-FA", HFILL }}, + { &hf_ansi_map_callingfeaturesindicator_uscfvmfa, + { "USCF divert to voice mail: FeatureActivity USCFvm-FA", "ansi_map.callingfeaturesindicator.uscfvmfa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0, + "USCF divert to voice mail: FeatureActivity USCFvm-FA", HFILL }}, + + { &hf_ansi_map_callingfeaturesindicator_uscfmsfa, + { "USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA", "ansi_map.callingfeaturesindicator.uscfmsfa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03, + "USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA", HFILL }}, + { &hf_ansi_map_callingfeaturesindicator_uscfnrfa, + { "USCF divert to network registered DN:FeatureActivity. USCFnr-FA", "ansi_map.callingfeaturesindicator.uscfmsfa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c, + "USCF divert to network registered DN:FeatureActivity. USCFnr-FA", HFILL }}, + { &hf_ansi_map_callingfeaturesindicator_cpdsfa, + { "CDMA-Packet Data Service: FeatureActivity. CPDS-FA", "ansi_map.callingfeaturesindicator.cpdfa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30, + "CDMA-Packet Data Service: FeatureActivity. CPDS-FA", HFILL }}, + { &hf_ansi_map_callingfeaturesindicator_ccsfa, + { "CDMA-Concurrent Service:FeatureActivity. CCS-FA", "ansi_map.callingfeaturesindicator.ccsfa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0, + "CDMA-Concurrent Service:FeatureActivity. CCS-FA", HFILL }}, + + { &hf_ansi_map_callingfeaturesindicator_epefa, + { "TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA", "ansi_map.callingfeaturesindicator.epefa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03, + "TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA", HFILL }}, + + + { &hf_ansi_map_callingfeaturesindicator_cdfa, + { "Call Delivery: FeatureActivity, CD-FA", "ansi_map.callingfeaturesindicator.cdfa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c, + "Call Delivery: FeatureActivity, CD-FA", HFILL }}, + { &hf_ansi_map_callingfeaturesindicator_vpfa, + { "Voice Privacy FeatureActivity, VP-FA", "ansi_map.callingfeaturesindicator.vpfa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30, + "Voice Privacy FeatureActivity, VP-FA", HFILL }}, + { &hf_ansi_map_callingfeaturesindicator_ctfa, + { "Call Transfer: FeatureActivity, CT-FA", "ansi_map.callingfeaturesindicator.ctfa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0, + "Call Transfer: FeatureActivity, CT-FA", HFILL }}, + + { &hf_ansi_map_callingfeaturesindicator_cnip1fa, + { "One number (network-provided only) Calling Number Identification Presentation: FeatureActivity CNIP1-FA", "ansi_map.callingfeaturesindicator.cnip1fa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03, + "One number (network-provided only) Calling Number Identification Presentation: FeatureActivity CNIP1-FA", HFILL }}, + { &hf_ansi_map_callingfeaturesindicator_cnip2fa, + { "Two number (network-provided and user-provided) Calling Number Identification Presentation: FeatureActivity CNIP2-FA", "ansi_map.callingfeaturesindicator.cnip2fa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c, + "Two number (network-provided and user-provided) Calling Number Identification Presentation: FeatureActivity CNIP2-FA", HFILL }}, + { &hf_ansi_map_callingfeaturesindicator_cnirfa, + { "Calling Number Identification Restriction: FeatureActivity CNIR-FA", "ansi_map.callingfeaturesindicator.cnirfa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30, + "Calling Number Identification Restriction: FeatureActivity CNIR-FA", HFILL }}, + { &hf_ansi_map_callingfeaturesindicator_cniroverfa, + { "Calling Number Identification Restriction Override FeatureActivity CNIROver-FA", "ansi_map.callingfeaturesindicator.cniroverfa", + FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0, + "", HFILL }}, + + { &hf_ansi_map_cdmacallmode_cdma, + { "Call Mode", "ansi_map.cdmacallmode.cdma", + FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cdma_bool_val),0x01, + "Call Mode", HFILL }}, + { &hf_ansi_map_cdmacallmode_amps, + { "Call Mode", "ansi_map.cdmacallmode.amps", + FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_amps_bool_val),0x02, + "Call Mode", HFILL }}, + { &hf_ansi_map_cdmacallmode_namps, + { "Call Mode", "ansi_map.cdmacallmode.namps", + FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_namps_bool_val),0x04, + "Call Mode", HFILL }}, + { &hf_ansi_map_cdmacallmode_cls1, + { "Call Mode", "ansi_map.cdmacallmode.cls1", + FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls1_bool_val),0x08, + "Call Mode", HFILL }}, + { &hf_ansi_map_cdmacallmode_cls2, + { "Call Mode", "ansi_map.cdmacallmode.cls2", + FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls2_bool_val),0x10, + "Call Mode", HFILL }}, + { &hf_ansi_map_cdmacallmode_cls3, + { "Call Mode", "ansi_map.cdmacallmode.cls3", + FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls3_bool_val),0x20, + "Call Mode", HFILL }}, + { &hf_ansi_map_cdmacallmode_cls4, + { "Call Mode", "ansi_map.cdmacallmode.cls4", + FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls4_bool_val),0x40, + "Call Mode", HFILL }}, + { &hf_ansi_map_cdmacallmode_cls5, + { "Call Mode", "ansi_map.cdmacallmode.cls5", + FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls5_bool_val),0x80, + "Call Mode", HFILL }}, + { &hf_ansi_map_cdmacallmode_cls6, + { "Call Mode", "ansi_map.cdmacallmode.cls6", + FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls6_bool_val),0x01, + "Call Mode", HFILL }}, + { &hf_ansi_map_cdmacallmode_cls7, + { "Call Mode", "ansi_map.cdmacallmode.cls7", + FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls7_bool_val),0x02, + "Call Mode", HFILL }}, + { &hf_ansi_map_cdmacallmode_cls8, + { "Call Mode", "ansi_map.cdmacallmode.cls8", + FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls8_bool_val),0x04, + "Call Mode", HFILL }}, + { &hf_ansi_map_cdmacallmode_cls9, + { "Call Mode", "ansi_map.cdmacallmode.cls9", + FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls9_bool_val),0x08, + "Call Mode", HFILL }}, + { &hf_ansi_map_cdmacallmode_cls10, + { "Call Mode", "ansi_map.cdmacallmode.cls10", + FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls10_bool_val),0x10, + "Call Mode", HFILL }}, + {&hf_ansi_map_cdmachanneldata_Frame_Offset, + { "Frame Offset", "ansi_map.cdmachanneldata.frameoffset", + FT_UINT8, BASE_DEC, NULL, 0x78, + "Frame Offset", HFILL }}, + {&hf_ansi_map_cdmachanneldata_CDMA_ch_no, + { "CDMA Channel Number", "ansi_map.cdmachanneldata.cdma_ch_no", + FT_UINT16, BASE_DEC, NULL, 0x07FF, + "CDMA Channel Number", HFILL }}, + {&hf_ansi_map_cdmachanneldata_band_cls, + { "Band Class", "ansi_map.cdmachanneldata.band_cls", + FT_UINT8, BASE_DEC, VALS(ansi_map_cdmachanneldata_band_cls_vals), 0x7c, + "Band Class", HFILL }}, + {&hf_ansi_map_cdmachanneldata_lc_mask_b6, + { "Long Code Mask (byte 6) MSB", "ansi_map.cdmachanneldata.lc_mask_b6", + FT_UINT8, BASE_HEX, NULL, 0x03, + "Long Code Mask MSB (byte 6)", HFILL }}, + {&hf_ansi_map_cdmachanneldata_lc_mask_b5, + { "Long Code Mask (byte 5)", "ansi_map.cdmachanneldata.lc_mask_b5", + FT_UINT8, BASE_HEX, NULL, 0xff, + "Long Code Mask (byte 5)", HFILL }}, + {&hf_ansi_map_cdmachanneldata_lc_mask_b4, + { "Long Code Mask (byte 4)", "ansi_map.cdmachanneldata.lc_mask_b4", + FT_UINT8, BASE_HEX, NULL, 0xff, + "Long Code Mask (byte 4)", HFILL }}, + {&hf_ansi_map_cdmachanneldata_lc_mask_b3, + { "Long Code Mask (byte 3)", "ansi_map.cdmachanneldata.lc_mask_b3", + FT_UINT8, BASE_HEX, NULL, 0xff, + "Long Code Mask (byte 3)", HFILL }}, + {&hf_ansi_map_cdmachanneldata_lc_mask_b2, + { "Long Code Mask (byte 2)", "ansi_map.cdmachanneldata.lc_mask_b2", + FT_UINT8, BASE_HEX, NULL, 0xff, + "Long Code Mask (byte 2)", HFILL }}, + {&hf_ansi_map_cdmachanneldata_lc_mask_b1, + { "Long Code Mask LSB(byte 1)", "ansi_map.cdmachanneldata.lc_mask_b1", + FT_UINT8, BASE_HEX, NULL, 0xff, + "Long Code Mask (byte 1)LSB", HFILL }}, + {&hf_ansi_map_cdmachanneldata_np_ext, + { "NP EXT", "ansi_map.cdmachanneldata.np_ext", + FT_BOOLEAN, 8, NULL,0x80, + "NP EXT", HFILL }}, + {&hf_ansi_map_cdmachanneldata_nominal_pwr, + { "Nominal Power", "ansi_map.cdmachanneldata.nominal_pwr", + FT_UINT8, BASE_DEC, NULL, 0x71, + "Nominal Power", HFILL }}, + {&hf_ansi_map_cdmachanneldata_nr_preamble, + { "Number Preamble", "ansi_map.cdmachanneldata.nr_preamble", + FT_UINT8, BASE_DEC, NULL, 0x07, + "Number Preamble", HFILL }}, + + { &hf_ansi_map_cdmastationclassmark_pc, + { "Power Class(PC)", "ansi_map.cdmastationclassmark.pc", + FT_UINT8, BASE_DEC, VALS(ansi_map_CDMAStationClassMark_pc_vals), 0x03, + "Power Class(PC)", HFILL }}, + + { &hf_ansi_map_cdmastationclassmark_dtx, + { "Analog Transmission: (DTX)", "ansi_map.cdmastationclassmark.dtx", + FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_dtx_bool_val),0x04, + "Analog Transmission: (DTX)", HFILL }}, + { &hf_ansi_map_cdmastationclassmark_smi, + { " Slotted Mode Indicator: (SMI)", "ansi_map.cdmastationclassmark.smi", + FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_smi_bool_val),0x20, + " Slotted Mode Indicator: (SMI)", HFILL }}, + { &hf_ansi_map_cdmastationclassmark_dmi, + { "Dual-mode Indicator(DMI)", "ansi_map.cdmastationclassmark.dmi", + FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_dmi_bool_val),0x40, + "Dual-mode Indicator(DMI)", HFILL }}, + { &hf_ansi_map_channeldata_vmac, + { "Voice Mobile Attenuation Code (VMAC)", "ansi_map.channeldata.vmac", + FT_UINT8, BASE_DEC, NULL, 0x07, + "Voice Mobile Attenuation Code (VMAC)", HFILL }}, + { &hf_ansi_map_channeldata_dtx, + { "Discontinuous Transmission Mode (DTX)", "ansi_map.channeldata.dtx", + FT_UINT8, BASE_DEC, VALS(ansi_map_ChannelData_dtx_vals), 0x18, + "Discontinuous Transmission Mode (DTX)", HFILL }}, + { &hf_ansi_map_channeldata_scc, + { "SAT Color Code (SCC)", "ansi_map.channeldata.scc", + FT_UINT8, BASE_DEC, NULL, 0xc0, + "SAT Color Code (SCC)", HFILL }}, + { &hf_ansi_map_channeldata_chno, + { "Channel Number (CHNO)", "ansi_map.channeldata.chno", + FT_UINT16, BASE_DEC, NULL, 0x0, + "Channel Number (CHNO)", HFILL }}, + { &hf_ansi_map_ConfidentialityModes_vp, + { "Voice Privacy (VP) Confidentiality Status", "ansi_map.confidentialitymodes.vp", + FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x01, + "Voice Privacy (VP) Confidentiality Status", HFILL }}, + { &hf_ansi_map_controlchanneldata_dcc, + { "Digital Color Code (DCC)", "ansi_map.controlchanneldata.dcc", + FT_UINT8, BASE_DEC, NULL, 0xc0, + "Digital Color Code (DCC)", HFILL }}, + { &hf_ansi_map_controlchanneldata_cmac, + { "Control Mobile Attenuation Code (CMAC)", "ansi_map.controlchanneldata.cmac", + FT_UINT8, BASE_DEC, NULL, 0x07, + "Control Mobile Attenuation Code (CMAC)", HFILL }}, + { &hf_ansi_map_controlchanneldata_chno, + { "Channel Number (CHNO)", "ansi_map.controlchanneldata.cmac", + FT_UINT16, BASE_DEC, NULL, 0x0, + "Channel Number (CHNO)", HFILL }}, + { &hf_ansi_map_controlchanneldata_sdcc1, + { "Supplementary Digital Color Codes (SDCC1)", "ansi_map.controlchanneldata.ssdc1", + FT_UINT8, BASE_DEC, NULL, 0x0c, + "Supplementary Digital Color Codes (SDCC1)", HFILL }}, + { &hf_ansi_map_controlchanneldata_sdcc2, + { "Supplementary Digital Color Codes (SDCC2)", "ansi_map.controlchanneldata.ssdc2", + FT_UINT8, BASE_DEC, NULL, 0x03, + "Supplementary Digital Color Codes (SDCC2)", HFILL }}, + { &hf_ansi_map_ConfidentialityModes_se, + { "Signaling Message Encryption (SE) Confidentiality Status", "ansi_map.confidentialitymodes.se", + FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x02, + "Signaling Message Encryption (SE) Confidentiality Status", HFILL }}, + { &hf_ansi_map_ConfidentialityModes_dp, + { "DataPrivacy (DP) Confidentiality Status", "ansi_map.confidentialitymodes.dp", + FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x04, + "DataPrivacy (DP) Confidentiality Status", HFILL }}, + + { &hf_ansi_map_deniedauthorizationperiod_period, + { "Period", "ansi_map.deniedauthorizationperiod.period", + FT_UINT8, BASE_DEC, VALS(ansi_map_deniedauthorizationperiod_period_vals), 0x0, + "Period", HFILL }}, + + + { &hf_ansi_map_originationtriggers_all, + { "All Origination (All)", "ansi_map.originationtriggers.all", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_all_bool_val),0x01, + "All Origination (All)", HFILL }}, + { &hf_ansi_map_originationtriggers_local, + { "Local", "ansi_map.originationtriggers.all", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_local_bool_val),0x02, + "Local", HFILL }}, + { &hf_ansi_map_originationtriggers_ilata, + { "Intra-LATA Toll (ILATA)", "ansi_map.originationtriggers.ilata", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ilata_bool_val),0x04, + "Intra-LATA Toll (ILATA)", HFILL }}, + { &hf_ansi_map_originationtriggers_olata, + { "Inter-LATA Toll (OLATA)", "ansi_map.originationtriggers.olata", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_olata_bool_val),0x08, + "Inter-LATA Toll (OLATA)", HFILL }}, + { &hf_ansi_map_originationtriggers_int, + { "International (Int'l )", "ansi_map.originationtriggers.int", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_int_bool_val),0x10, + "International (Int'l )", HFILL }}, + { &hf_ansi_map_originationtriggers_wz, + { "World Zone (WZ)", "ansi_map.originationtriggers.wz", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_wz_bool_val),0x20, + "World Zone (WZ)", HFILL }}, + { &hf_ansi_map_originationtriggers_unrec, + { "Unrecognized Number (Unrec)", "ansi_map.originationtriggers.unrec", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_unrec_bool_val),0x40, + "Unrecognized Number (Unrec)", HFILL }}, + { &hf_ansi_map_originationtriggers_rvtc, + { "Revertive Call (RvtC)", "ansi_map.originationtriggers.rvtc", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_rvtc_bool_val),0x80, + "Revertive Call (RvtC)", HFILL }}, + { &hf_ansi_map_originationtriggers_star, + { "Star", "ansi_map.originationtriggers.star", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_star_bool_val),0x01, + "Star", HFILL }}, + { &hf_ansi_map_originationtriggers_ds, + { "Double Star (DS)", "ansi_map.originationtriggers.ds", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ds_bool_val),0x02, + "Double Star (DS)", HFILL }}, + { &hf_ansi_map_originationtriggers_pound, + { "Pound", "ansi_map.originationtriggers.pound", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_pound_bool_val),0x04, + "Pound", HFILL }}, + { &hf_ansi_map_originationtriggers_dp, + { "Double Pound (DP)", "ansi_map.originationtriggers.dp", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_dp_bool_val),0x08, + "Double Pound (DP)", HFILL }}, + { &hf_ansi_map_originationtriggers_pa, + { "Prior Agreement (PA)", "ansi_map.originationtriggers.pa", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_pa_bool_val),0x10, + "Prior Agreement (PA)", HFILL }}, + { &hf_ansi_map_originationtriggers_nodig, + { "No digits", "ansi_map.originationtriggers.nodig", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_nodig_bool_val),0x01, + "No digits", HFILL }}, + { &hf_ansi_map_originationtriggers_onedig, + { "1 digit", "ansi_map.originationtriggers.onedig", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_onedig_bool_val),0x02, + "1 digit", HFILL }}, + { &hf_ansi_map_originationtriggers_twodig, + { "2 digits", "ansi_map.originationtriggers.twodig", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_twodig_bool_val),0x04, + "2 digits", HFILL }}, + { &hf_ansi_map_originationtriggers_threedig, + { "3 digits", "ansi_map.originationtriggers.threedig", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_threedig_bool_val),0x08, + "3 digits", HFILL }}, + { &hf_ansi_map_originationtriggers_fourdig, + { "4 digits", "ansi_map.originationtriggers.fourdig", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fourdig_bool_val),0x10, + "4 digits", HFILL }}, + { &hf_ansi_map_originationtriggers_fivedig, + { "5 digits", "ansi_map.originationtriggers.fivedig", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fivedig_bool_val),0x20, + "5 digits", HFILL }}, + { &hf_ansi_map_originationtriggers_sixdig, + { "6 digits", "ansi_map.originationtriggers.sixdig", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_sixdig_bool_val),0x40, + "6 digits", HFILL }}, + { &hf_ansi_map_originationtriggers_sevendig, + { "7 digits", "ansi_map.originationtriggers.sevendig", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_sevendig_bool_val),0x80, + "7 digits", HFILL }}, + { &hf_ansi_map_originationtriggers_eightdig, + { "8 digits", "ansi_map.originationtriggers.eight", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_eightdig_bool_val),0x01, + "8 digits", HFILL }}, + { &hf_ansi_map_originationtriggers_ninedig, + { "9 digits", "ansi_map.originationtriggers.nine", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ninedig_bool_val),0x02, + "9 digits", HFILL }}, + { &hf_ansi_map_originationtriggers_tendig, + { "10 digits", "ansi_map.originationtriggers.ten", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_tendig_bool_val),0x04, + "10 digits", HFILL }}, + { &hf_ansi_map_originationtriggers_elevendig, + { "11 digits", "ansi_map.originationtriggers.eleven", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_elevendig_bool_val),0x08, + "11 digits", HFILL }}, + { &hf_ansi_map_originationtriggers_twelvedig, + { "12 digits", "ansi_map.originationtriggers.twelve", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_twelvedig_bool_val),0x10, + "12 digits", HFILL }}, + { &hf_ansi_map_originationtriggers_thirteendig, + { "13 digits", "ansi_map.originationtriggers.thirteen", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_thirteendig_bool_val),0x20, + "13 digits", HFILL }}, + { &hf_ansi_map_originationtriggers_fourteendig, + { "14 digits", "ansi_map.originationtriggers.fourteen", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fourteendig_bool_val),0x40, + "14 digits", HFILL }}, + { &hf_ansi_map_originationtriggers_fifteendig, + { "15 digits", "ansi_map.originationtriggers.fifteen", + FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fifteendig_bool_val),0x80, + "15 digits", HFILL }}, + + { &hf_ansi_map_triggercapability_init, + { "Introducing Star/Pound (INIT)", "ansi_map.triggercapability.init", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01, + "Introducing Star/Pound (INIT)", HFILL }}, + { &hf_ansi_map_triggercapability_kdigit, + { "K-digit (K-digit)", "ansi_map.triggercapability.kdigit", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02, + "K-digit (K-digit)", HFILL }}, + { &hf_ansi_map_triggercapability_all, + { "All_Calls (All)", "ansi_map.triggercapability.all", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04, + "All_Calls (All)", HFILL }}, + { &hf_ansi_map_triggercapability_rvtc, + { "Revertive_Call (RvtC)", "ansi_map.triggercapability.rvtc", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08, + "Revertive_Call (RvtC)", HFILL }}, + { &hf_ansi_map_triggercapability_oaa, + { "Origination_Attempt_Authorized (OAA)", "ansi_map.triggercapability.oaa", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10, + "Origination_Attempt_Authorized (OAA)", HFILL }}, + { &hf_ansi_map_triggercapability_oans, + { "O_Answer (OANS)", "ansi_map.triggercapability.oans", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x20, + "O_Answer (OANS)", HFILL }}, + { &hf_ansi_map_triggercapability_odisc, + { "O_Disconnect (ODISC)", "ansi_map.triggercapability.odisc", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x40, + "O_Disconnect (ODISC)", HFILL }}, + { &hf_ansi_map_triggercapability_ona, + { "O_No_Answer (ONA)", "ansi_map.triggercapability.ona", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x80, + "O_No_Answer (ONA)", HFILL }}, + + { &hf_ansi_map_triggercapability_ct , + { "Call Types (CT)", "ansi_map.triggercapability.ona", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01, + "Call Types (CT)", HFILL }}, + { &hf_ansi_map_triggercapability_unrec, + { "Unrecognized_Number (Unrec)", "ansi_map.triggercapability.unrec", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02, + "Unrecognized_Number (Unrec)", HFILL }}, + { &hf_ansi_map_triggercapability_pa, + { "Prior_Agreement (PA)", "ansi_map.triggercapability.pa", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04, + "Prior_Agreement (PA)", HFILL }}, + { &hf_ansi_map_triggercapability_at, + { "Advanced_Termination (AT)", "ansi_map.triggercapability.at", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08, + "Advanced_Termination (AT)", HFILL }}, + { &hf_ansi_map_triggercapability_cgraa, + { "Calling_Routing_Address_Available (CgRAA)", "ansi_map.triggercapability.cgraa", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10, + "Calling_Routing_Address_Available (CgRAA)", HFILL }}, + { &hf_ansi_map_triggercapability_it, + { "Initial_Termination (IT)", "ansi_map.triggercapability.it", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x20, + "Initial_Termination (IT)", HFILL }}, + { &hf_ansi_map_triggercapability_cdraa, + { "Called_Routing_Address_Available (CdRAA)", "ansi_map.triggercapability.cdraa", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x40, + "Called_Routing_Address_Available (CdRAA)", HFILL }}, + { &hf_ansi_map_triggercapability_obsy, + { "O_Called_Party_Busy (OBSY)", "ansi_map.triggercapability.ona", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x80, + "O_Called_Party_Busy (OBSY)", HFILL }}, + + { &hf_ansi_map_triggercapability_tra , + { "Terminating_Resource_Available (TRA)", "ansi_map.triggercapability.tra", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01, + "Terminating_Resource_Available (TRA)", HFILL }}, + { &hf_ansi_map_triggercapability_tbusy, + { "T_Busy (TBusy)", "ansi_map.triggercapability.tbusy", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02, + "T_Busy (TBusy)", HFILL }}, + { &hf_ansi_map_triggercapability_tna, + { "T_No_Answer (TNA)", "ansi_map.triggercapability.tna", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04, + "T_No_Answer (TNA)", HFILL }}, + { &hf_ansi_map_triggercapability_tans, + { "T_Answer (TANS)", "ansi_map.triggercapability.tans", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08, + "T_Answer (TANS)", HFILL }}, + { &hf_ansi_map_triggercapability_tdisc, + { "T_Disconnect (TDISC) ", "ansi_map.triggercapability.tdisc", + FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10, + "T_Disconnect (TDISC) ", HFILL }}, + { &hf_ansi_map_winoperationscapability_conn, + { "ConnectResource (CONN)", "ansi_map.winoperationscapability.conn", + FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_conn_bool_val),0x01, + "ConnectResource (CONN)", HFILL }}, + { &hf_ansi_map_winoperationscapability_ccdir, + { "CallControlDirective(CCDIR)", "ansi_map.winoperationscapability.ccdir", + FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_ccdir_bool_val),0x02, + "CallControlDirective(CCDIR)", HFILL }}, + { &hf_ansi_map_winoperationscapability_pos, + { "PositionRequest (POS)", "ansi_map.winoperationscapability.pos", + FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_pos_bool_val),0x04, + "PositionRequest (POS)", HFILL }}, + { &hf_ansi_map_pacaindicator_pa, + { "Permanent Activation (PA)", "ansi_map.pacaindicator_pa", + FT_BOOLEAN, 8, TFS(&ansi_map_pacaindicator_pa_bool_val),0x01, + "Permanent Activation (PA)", HFILL }}, + { &hf_ansi_map_PACA_Level, + { "PACA Level", "ansi_map.PACA_Level", + FT_UINT8, BASE_DEC, VALS(ansi_map_PACA_Level_vals), 0x1e, + "PACA Level", HFILL }}, + /*--- Included file: packet-ansi_map-hfarr.c ---*/ #line 1 "packet-ansi_map-hfarr.c" @@ -18913,39 +18908,39 @@ void proto_register_ansi_map(void) { "ansi_map.StatusRequestRes", HFILL }}, /*--- End of included file: packet-ansi_map-hfarr.c ---*/ -#line 5230 "packet-ansi_map-template.c" - }; - - /* List of subtrees */ - static gint *ett[] = { - &ett_ansi_map, - &ett_mintype, - &ett_digitstype, - &ett_billingid, - &ett_sms_bearer_data, - &ett_sms_teleserviceIdentifier, - &ett_extendedmscid, - &ett_extendedsystemmytypecode, - &ett_handoffstate, - &ett_mscid, - &ett_cdmachanneldata, - &ett_cdmastationclassmark, - &ett_channeldata, - &ett_confidentialitymodes, - &ett_controlchanneldata, - &ett_CDMA2000HandoffInvokeIOSData, - &ett_CDMA2000HandoffResponseIOSData, - &ett_originationtriggers, - &ett_pacaindicator, - &ett_callingpartyname, - &ett_triggercapability, - &ett_winoperationscapability, - &ett_win_trigger_list, - &ett_controlnetworkid, - &ett_transactioncapability, - &ett_cdmaserviceoption, - &ett_sms_originationrestrictions, - &ett_systemcapabilities, +#line 5225 "packet-ansi_map-template.c" + }; + + /* List of subtrees */ + static gint *ett[] = { + &ett_ansi_map, + &ett_mintype, + &ett_digitstype, + &ett_billingid, + &ett_sms_bearer_data, + &ett_sms_teleserviceIdentifier, + &ett_extendedmscid, + &ett_extendedsystemmytypecode, + &ett_handoffstate, + &ett_mscid, + &ett_cdmachanneldata, + &ett_cdmastationclassmark, + &ett_channeldata, + &ett_confidentialitymodes, + &ett_controlchanneldata, + &ett_CDMA2000HandoffInvokeIOSData, + &ett_CDMA2000HandoffResponseIOSData, + &ett_originationtriggers, + &ett_pacaindicator, + &ett_callingpartyname, + &ett_triggercapability, + &ett_winoperationscapability, + &ett_win_trigger_list, + &ett_controlnetworkid, + &ett_transactioncapability, + &ett_cdmaserviceoption, + &ett_sms_originationrestrictions, + &ett_systemcapabilities, /*--- Included file: packet-ansi_map-ettarr.c ---*/ #line 1 "packet-ansi_map-ettarr.c" @@ -19167,43 +19162,43 @@ void proto_register_ansi_map(void) { &ett_ansi_map_ReturnData, /*--- End of included file: packet-ansi_map-ettarr.c ---*/ -#line 5263 "packet-ansi_map-template.c" - }; +#line 5258 "packet-ansi_map-template.c" + }; - /* Register protocol */ - proto_ansi_map = proto_register_protocol(PNAME, PSNAME, PFNAME); - /* Register fields and subtrees */ - proto_register_field_array(proto_ansi_map, hf, array_length(hf)); - proto_register_subtree_array(ett, array_length(ett)); + /* Register protocol */ + proto_ansi_map = proto_register_protocol(PNAME, PSNAME, PFNAME); + /* Register fields and subtrees */ + proto_register_field_array(proto_ansi_map, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); - register_dissector("ansi_map", dissect_ansi_map, proto_ansi_map); + register_dissector("ansi_map", dissect_ansi_map, proto_ansi_map); - is637_tele_id_dissector_table = - register_dissector_table("ansi_map.tele_id", "IS-637 Teleservice ID", - FT_UINT8, BASE_DEC); + is637_tele_id_dissector_table = + register_dissector_table("ansi_map.tele_id", "IS-637 Teleservice ID", + FT_UINT8, BASE_DEC); - is683_dissector_table = - register_dissector_table("ansi_map.ota", "IS-683-A (OTA)", - FT_UINT8, BASE_DEC); + is683_dissector_table = + register_dissector_table("ansi_map.ota", "IS-683-A (OTA)", + FT_UINT8, BASE_DEC); - is801_dissector_table = - register_dissector_table("ansi_map.pld", "IS-801 (PLD)", - FT_UINT8, BASE_DEC); + is801_dissector_table = + register_dissector_table("ansi_map.pld", "IS-801 (PLD)", + FT_UINT8, BASE_DEC); - ansi_map_tap = register_tap("ansi_map"); + ansi_map_tap = register_tap("ansi_map"); - range_convert_str(&global_ssn_range, "5-14", MAX_SSN); + range_convert_str(&global_ssn_range, "5-14", MAX_SSN); - ansi_map_module = prefs_register_protocol(proto_ansi_map, proto_reg_handoff_ansi_map); + ansi_map_module = prefs_register_protocol(proto_ansi_map, proto_reg_handoff_ansi_map); - prefs_register_range_preference(ansi_map_module, "map.ssn", "ANSI MAP SSNs", - "ANSI MAP SSNs to decode as ANSI MAP", - &global_ssn_range, MAX_SSN); + prefs_register_range_preference(ansi_map_module, "map.ssn", "ANSI MAP SSNs", + "ANSI MAP SSNs to decode as ANSI MAP", + &global_ssn_range, MAX_SSN); - register_init_routine(&ansi_map_init_protocol); + register_init_routine(&ansi_map_init_protocol); } |