Get rid of get_ber_last_reated_item() and fix dissection of wIN-TriggerList.
[obnox/wireshark/wip.git] / epan / dissectors / packet-ansi_map.c
index 5a403b53e2f0a7b0b024481bcb8f86162184b394..fc78939cf50aefbc89110e0b581f14dd549f5fc6 100644 (file)
@@ -915,6 +915,7 @@ static gint ett_pacaindicator = -1;
 static gint ett_callingpartyname = -1;
 static gint ett_triggercapability = -1;
 static gint ett_winoperationscapability = -1;
+static gint ett_win_trigger_list = -1;
 static gint ett_controlnetworkid = -1;
 static gint ett_transactioncapability = -1;
 static gint ett_cdmaserviceoption = -1;
@@ -1149,7 +1150,7 @@ static gint ett_ansi_map_InvokeData = -1;
 static gint ett_ansi_map_ReturnData = -1;
 
 /*--- End of included file: packet-ansi_map-ett.c ---*/
-#line 356 "packet-ansi_map-template.c"
+#line 357 "packet-ansi_map-template.c"
 
 /* Global variables */
 static dissector_handle_t data_handle=NULL;
@@ -1171,6 +1172,8 @@ struct amsi_map_invokedata_t {
   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_);
+
 
 /* Transaction table */
 static GHashTable *TransactionId_table=NULL;
@@ -1477,32 +1480,32 @@ static const value_string ansi_map_np_vals[]  = {
 };
 
 static void 
-dissect_ansi_map_min_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+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_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(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(item, " - %s", 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_){
+dissect_ansi_map_digits_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
        
        guint8 octet;
        guint8 b1,b2,b3,b4;
        int offset = 0;
        char            *digit_str;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_digitstype);
+       
+       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);
@@ -1528,12 +1531,12 @@ dissect_ansi_map_digits_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
                        /* 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(item, " - %s", 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(item, " - %s", tvb_get_ephemeral_string(tvb,offset,tvb_length_remaining(tvb,offset)));
+                       proto_item_append_text(actx->created_item, " - %s", tvb_get_ephemeral_string(tvb,offset,tvb_length_remaining(tvb,offset)));
                        break;
                case 3:
                        /* Octet string */
@@ -1558,12 +1561,12 @@ dissect_ansi_map_digits_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
                        /* 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(item, " - %s", 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(item, " - %s", tvb_get_ephemeral_string(tvb,offset,tvb_length_remaining(tvb,offset)));
+                       proto_item_append_text(actx->created_item, " - %s", tvb_get_ephemeral_string(tvb,offset,tvb_length_remaining(tvb,offset)));
                        break;
                case 3:
                        /* Octet string */
@@ -1589,7 +1592,7 @@ dissect_ansi_map_digits_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
                        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(item, " - 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;
@@ -1623,13 +1626,13 @@ static const value_string ansi_map_sub_addr_type_vals[]  = {
 };
 
 static void 
-dissect_ansi_map_subaddress(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_subaddress(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_billingid);
+       
+       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) */
@@ -1719,14 +1722,14 @@ static const value_string ansi_map_AlertCode_Alert_Action_vals[]  = {
        {       0, NULL }
 };
 static void
-dissect_ansi_map_alertcode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_alertcode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_billingid);
+       
+       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) */
@@ -1874,14 +1877,14 @@ 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_){
+dissect_ansi_map_announcementcode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_billingid);
+       
+       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);
@@ -1930,14 +1933,14 @@ indicates anything else the Value is set to zero
 on sending and ignored on receipt. 
 */
 static void
-dissect_ansi_map_authorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_authorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_billingid);
+       
+       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);
@@ -1952,14 +1955,14 @@ static const value_string ansi_map_AvailabilityType_vals[]  = {
 
 /* 6.5.2.16 BillingID */
 static void
-dissect_ansi_map_billingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_billingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(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;
@@ -1984,15 +1987,15 @@ static const value_string ansi_map_FeatureActivity_vals[]  = {
 
 
 static void
-dissect_ansi_map_callingfeaturesindicator(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+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_item *item;
+       
        proto_tree *subtree;
 
        length = tvb_length_remaining(tvb,offset); 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_mscid);
+       
+       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);
@@ -2141,16 +2144,16 @@ static const true_false_string ansi_map_CDMACallMode_cls10_bool_val  = {
 };
 
 static void
-dissect_ansi_map_cdmacallmode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+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_item *item;
+       
        proto_tree *subtree;
 
        length = tvb_length_remaining(tvb,offset); 
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_mscid);
+       
+       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) */
@@ -2194,17 +2197,17 @@ static const value_string ansi_map_cdmachanneldata_band_cls_vals[]  = {
 };
 
 static void
-dissect_ansi_map_cdmachanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+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_item *item;
+       
        proto_tree *subtree;
 
        length = tvb_length_remaining(tvb,offset);
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_cdmachanneldata);
+       
+       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);
@@ -2268,13 +2271,13 @@ static const true_false_string ansi_map_CDMAStationClassMark_dmi_bool_val  = {
 
 
 static void
-dissect_ansi_map_cdmastationclassmark(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_cdmastationclassmark(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_cdmastationclassmark);
+       
+       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) */
@@ -2299,13 +2302,13 @@ static const value_string ansi_map_ChannelData_dtx_vals[]  = {
 
 
 static void
-dissect_ansi_map_channeldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_channeldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_channeldata);
+       
+       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);
@@ -2329,13 +2332,13 @@ static const true_false_string ansi_map_ConfidentialityModes_bool_val  = {
        "Off"
 };
 static void
-dissect_ansi_map_confidentialitymodes(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_confidentialitymodes(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(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);
@@ -2356,13 +2359,13 @@ dissect_ansi_map_confidentialitymodes(tvbuff_t *tvb, packet_info *pinfo _U_, pro
 /* SDCC2 ( octet 4, bit A and B )*/
 
 static void
-dissect_ansi_map_controlchanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_controlchanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_controlchanneldata);
+       
+       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);
@@ -2413,14 +2416,14 @@ on sending and ignored on receipt.
 */
 
 static void
-dissect_ansi_map_deniedauthorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_deniedauthorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_billingid);
+       
+       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);
@@ -2447,14 +2450,14 @@ static const value_string ansi_map_msc_type_vals[]  = {
 };
 
 static void
-dissect_ansi_map_extendedmscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_extendedmscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_extendedmscid);
+       
+       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++;
@@ -2468,11 +2471,11 @@ 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_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_extendedsystemmytypecode);
+       
+       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++;
@@ -2503,14 +2506,14 @@ static const true_false_string ansi_map_HandoffState_pi_bool_val  = {
        "Originator is handing off"
 };
 static void
-dissect_ansi_map_handoffstate(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_handoffstate(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_handoffstate);
+       
+       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);
 }
@@ -2518,15 +2521,15 @@ dissect_ansi_map_handoffstate(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
 /* 6.5.2.72 InterMSCCircuitID */
 /* Trunk Member Number (M) Octet2 */
 static void
-dissect_ansi_map_intermsccircuitid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_intermsccircuitid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
        guint8 octet, octet2;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_billingid);
+       
+       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);
@@ -2534,7 +2537,7 @@ dissect_ansi_map_intermsccircuitid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
        /* 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(item, " (G %u/M %u)", octet, octet2);
+       proto_item_append_text(actx->created_item, " (G %u/M %u)", octet, octet2);
 }
 
 /* 6.5.2.78 MessageWaitingNotificationCount */
@@ -2547,14 +2550,14 @@ static const value_string ansi_map_MessageWaitingNotificationCount_type_vals[]
 };
 
 static void
-dissect_ansi_map_messagewaitingnotificationcount(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_messagewaitingnotificationcount(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_billingid);
+       
+       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++;
@@ -2584,14 +2587,14 @@ static const value_string ansi_map_MessageWaitingNotificationType_mwi_vals[]  =
 };
 
 static void
-dissect_ansi_map_messagewaitingnotificationtype(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_messagewaitingnotificationtype(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_billingid);
+       
+       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);
@@ -2606,13 +2609,13 @@ dissect_ansi_map_messagewaitingnotificationtype(tvbuff_t *tvb, packet_info *pinf
 /* 6.5.2.82 MSCID */
 
 static void
-dissect_ansi_map_mscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_mscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_mscid);
+       
+       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;
@@ -2622,13 +2625,13 @@ dissect_ansi_map_mscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _
 
 /* 6.5.2.84 MSLocation */
 static void
-dissect_ansi_map_mslocation(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_mslocation(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(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);
@@ -2642,13 +2645,12 @@ dissect_ansi_map_mslocation(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *t
 }
 /* 6.5.2.85 NAMPSCallMode */
 static void
-dissect_ansi_map_nampscallmode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_nampscallmode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
        int offset = 0;
-       proto_item *item;
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(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);
@@ -2680,13 +2682,12 @@ static const value_string ansi_map_NAMPSChannelData_ccinidicator_vals[]  = {
 
 
 static void
-dissect_ansi_map_nampschanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_nampschanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
        int offset = 0;
-       proto_item *item;
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_mscid);
+       
+       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);
@@ -2750,13 +2751,12 @@ static const value_string ansi_map_onetimefeatureindicator_cnar_vals[]  = {
        {       0, NULL }
 };
 static void
-dissect_ansi_map_onetimefeatureindicator(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_){
+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_item *item;
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_mscid);
+       
+       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) */
@@ -2925,14 +2925,13 @@ static const true_false_string ansi_map_originationtriggers_fifteendig_bool_val
 };
 
 static void
-dissect_ansi_map_originationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_originationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_originationtriggers);
+       
+       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);
@@ -3030,14 +3029,13 @@ static const value_string ansi_map_PACA_Level_vals[]  = {
 };
 
 static void
-dissect_ansi_map_pacaindicator(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_pacaindicator(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_pacaindicator);
+       
+       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) */
@@ -3054,15 +3052,14 @@ static const value_string ansi_map_PageIndicator_vals[]  = {
 
 /* 6.5.2.93 PC_SSN */
 static void
-dissect_ansi_map_pc_ssn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+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_item *item;
        proto_tree *subtree;
        guint8 b1,b2,b3,b4;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_billingid);
+       
+       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++;
@@ -3083,14 +3080,13 @@ dissect_ansi_map_pc_ssn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree
 }
 /* 6.5.2.94 PilotBillingID */
 static void
-dissect_ansi_map_pilotbillingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_pilotbillingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_billingid);
+       
+       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;
@@ -3236,14 +3232,13 @@ static const true_false_string ansi_map_SMS_OriginationRestrictions_fmc_bool_val
 };
 
 static void
-dissect_ansi_map_sms_originationrestrictions(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+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_item *item;
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_sms_originationrestrictions);
+       
+       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);
@@ -3331,14 +3326,13 @@ static const true_false_string ansi_map_systemcapabilities_dp_bool_val  = {
 };
 
 static void
-dissect_ansi_map_systemcapabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_systemcapabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_systemcapabilities);
+       
+       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);
@@ -3424,14 +3418,13 @@ static const value_string ansi_map_terminationtriggers_nr_vals[]  = {
 
 /* 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_){
+dissect_ansi_map_terminationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_transactioncapability);
+       
+       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) */
@@ -3520,14 +3513,13 @@ static const true_false_string ansi_map_trans_cap_waddr_bool_val  = {
 
 
 static void
-dissect_ansi_map_transactioncapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_transactioncapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_transactioncapability);
+       
+       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);
@@ -3663,13 +3655,12 @@ static const range_string cdmaserviceoption_vals[] = {
 };
 
 static void
-dissect_ansi_map_cdmaserviceoption(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_cdmaserviceoption(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
        int offset = 0;
-       proto_item *item;
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(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);
 
@@ -3867,11 +3858,11 @@ Messages (see TSB74) type specific field for this connection reference. */
 dissect_ansi_map_secondintermsccircuitid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree){
 
        int offset = 0;
-       proto_item *item;
+       
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_billingid);
+       
+       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++;
@@ -3967,13 +3958,11 @@ static const true_false_string ansi_map_Availability_bool_val  = {
   "Name available/unknown"
 };
 static void
-dissect_ansi_map_callingpartyname(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_callingpartyname(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
-       proto_item *item;
        proto_tree *subtree;
-
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_callingpartyname);
+       
+       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) */
@@ -4018,14 +4007,13 @@ static const true_false_string ansi_map_triggercapability_bool_val  = {
 };
 
 static void
-dissect_ansi_map_triggercapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_triggercapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_triggercapability);
+       
+       subtree = proto_item_add_subtree(actx->created_item, ett_triggercapability);
 
 
        /* O_No_Answer (ONA) (octet 1, bit H)*/
@@ -4101,14 +4089,12 @@ static const true_false_string ansi_map_winoperationscapability_pos_bool_val  =
   "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_){
+dissect_ansi_map_winoperationscapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(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);
@@ -4118,6 +4104,10 @@ dissect_ansi_map_winoperationscapability(tvbuff_t *tvb, packet_info *pinfo _U_,
        proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_conn, tvb, offset,     1, FALSE);
 
 }
+/*
+ * 6.5.2.dk N.S0013-0 v 1.0,X.S0004-550-E v1.0 2.301
+ * Code to be found after include functions.
+ */
 
 /* 6.5.2.ei TIA/EIA-41.5-D Modifications N.S0018Re */
 /* Octet 1,2 1st MarketID */
@@ -4126,14 +4116,13 @@ dissect_ansi_map_winoperationscapability(tvbuff_t *tvb, packet_info *pinfo _U_,
 /* Second marcet ID etc */
 /* 6.5.2.ek ControlNetworkID N.S0018*/
 static void
-dissect_ansi_map_controlnetworkid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_){
+dissect_ansi_map_controlnetworkid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
 
        int offset = 0;
-       proto_item *item;
        proto_tree *subtree;
 
-       item = get_ber_last_created_item();
-       subtree = proto_item_add_subtree(item, ett_controlnetworkid);
+       
+       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;
@@ -4746,7 +4735,7 @@ dissect_ansi_map_MINType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_min_type(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_min_type(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -4845,7 +4834,7 @@ dissect_ansi_map_DigitsType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_digits_type(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_digits_type(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -4945,7 +4934,7 @@ dissect_ansi_map_MSCID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_mscid(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_mscid(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -5103,7 +5092,7 @@ dissect_ansi_map_InterMSCCircuitID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_intermsccircuitid(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_intermsccircuitid(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -5223,13 +5212,13 @@ dissect_ansi_map_SystemAccessType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
 
 static int
 dissect_ansi_map_SystemCapabilities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 407 "ansi_map.cnf"
+#line 403 "ansi_map.cnf"
        tvbuff_t *parameter_tvb = NULL;
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_systemcapabilities(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_systemcapabilities(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -5371,7 +5360,7 @@ dissect_ansi_map_ConfidentialityModes(gboolean implicit_tag _U_, tvbuff_t *tvb _
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_confidentialitymodes(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_confidentialitymodes(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -5407,7 +5396,7 @@ dissect_ansi_map_PC_SSN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_pc_ssn(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_pc_ssn(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -5456,13 +5445,13 @@ dissect_ansi_map_SuspiciousAccess(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
 
 static int
 dissect_ansi_map_TransactionCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 424 "ansi_map.cnf"
+#line 420 "ansi_map.cnf"
        tvbuff_t *parameter_tvb = NULL;
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_transactioncapability(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_transactioncapability(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -5680,7 +5669,7 @@ dissect_ansi_map_ReauthenticationReport(gboolean implicit_tag _U_, tvbuff_t *tvb
 
 static int
 dissect_ansi_map_ServiceIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 501 "ansi_map.cnf"
+#line 500 "ansi_map.cnf"
        tvbuff_t *parameter_tvb = NULL;
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        &parameter_tvb);
@@ -5909,7 +5898,7 @@ dissect_ansi_map_BillingID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_billingid(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_billingid(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -5927,7 +5916,7 @@ dissect_ansi_map_ChannelData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_channeldata(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_channeldata(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -6004,7 +5993,7 @@ dissect_ansi_map_HandoffState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_handoffstate(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_handoffstate(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -6109,7 +6098,7 @@ dissect_ansi_map_AlertCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_alertcode(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_alertcode(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -6121,17 +6110,15 @@ dissect_ansi_map_AlertCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
 
 static int
 dissect_ansi_map_CDMA2000HandoffInvokeIOSData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 475 "ansi_map.cnf"
+#line 478 "ansi_map.cnf"
        tvbuff_t *parameter_tvb = NULL;
-       proto_item *item;
     proto_tree *subtree;
 
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               item = get_ber_last_created_item();
-               subtree = proto_item_add_subtree(item, ett_CDMA2000HandoffInvokeIOSData);
+               subtree = proto_item_add_subtree(actx->created_item, ett_CDMA2000HandoffInvokeIOSData);
                dissect_cdma2000_a1_elements(parameter_tvb, actx->pinfo, subtree, 
                        0, tvb_length_remaining(parameter_tvb,0));
        }
@@ -6199,7 +6186,7 @@ dissect_ansi_map_CDMACallMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_cdmacallmode(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_cdmacallmode(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -6216,7 +6203,7 @@ dissect_ansi_map_CDMAChannelData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_cdmachanneldata(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_cdmachanneldata(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -6238,13 +6225,13 @@ dissect_ansi_map_CDMAConnectionReference(gboolean implicit_tag _U_, tvbuff_t *tv
 
 static int
 dissect_ansi_map_CDMAServiceOption(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 432 "ansi_map.cnf"
+#line 428 "ansi_map.cnf"
        tvbuff_t *parameter_tvb = NULL;
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_cdmaserviceoption(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_cdmaserviceoption(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -6382,7 +6369,7 @@ dissect_ansi_map_CDMAStationClassMark(gboolean implicit_tag _U_, tvbuff_t *tvb _
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_cdmastationclassmark(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_cdmastationclassmark(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -6498,7 +6485,7 @@ dissect_ansi_map_MSLocation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_mslocation(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_mslocation(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -6516,7 +6503,7 @@ dissect_ansi_map_NAMPSCallMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_nampscallmode(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_nampscallmode(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -6534,7 +6521,7 @@ dissect_ansi_map_NAMPSChannelData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_nampschanneldata(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_nampschanneldata(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -6721,17 +6708,15 @@ dissect_ansi_map_BSMCStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
 
 static int
 dissect_ansi_map_CDMA2000HandoffResponseIOSData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 488 "ansi_map.cnf"
+#line 489 "ansi_map.cnf"
        tvbuff_t *parameter_tvb = NULL;
-       proto_item *item;
     proto_tree *subtree;
 
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               item = get_ber_last_created_item();
-               subtree = proto_item_add_subtree(item, ett_CDMA2000HandoffResponseIOSData);
+               subtree = proto_item_add_subtree(actx->created_item, ett_CDMA2000HandoffResponseIOSData);
                dissect_cdma2000_a1_elements(parameter_tvb, actx->pinfo, subtree, 
                        0, tvb_length_remaining(parameter_tvb,0));
        }
@@ -6934,13 +6919,13 @@ dissect_ansi_map_ACGEncountered(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
 
 static int
 dissect_ansi_map_CallingPartyName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 443 "ansi_map.cnf"
+#line 439 "ansi_map.cnf"
        tvbuff_t *parameter_tvb = NULL;
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_callingpartyname(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_callingpartyname(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -6976,7 +6961,7 @@ dissect_ansi_map_Subaddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_subaddress(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_subaddress(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -7031,7 +7016,7 @@ dissect_ansi_map_OneTimeFeatureIndicator(gboolean implicit_tag _U_, tvbuff_t *tv
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_onetimefeatureindicator(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_onetimefeatureindicator(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -7157,7 +7142,7 @@ dissect_ansi_map_AnnouncementCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_announcementcode(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_announcementcode(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -7314,7 +7299,7 @@ dissect_ansi_map_PACAIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_pacaindicator(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_pacaindicator(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -7414,13 +7399,13 @@ dissect_ansi_map_LegInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
 
 static int
 dissect_ansi_map_TerminationTriggers(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 416 "ansi_map.cnf"
+#line 412 "ansi_map.cnf"
        tvbuff_t *parameter_tvb = NULL;
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_terminationtriggers(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_terminationtriggers(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -7603,8 +7588,16 @@ dissect_ansi_map_DestinationAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
 
 static int
 dissect_ansi_map_WIN_TriggerList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 462 "ansi_map.cnf"
+       tvbuff_t *parameter_tvb = NULL;
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
-                                       NULL);
+                                       &parameter_tvb);
+
+       if (parameter_tvb){
+               dissect_ansi_map_win_trigger_list(parameter_tvb,actx->pinfo,tree, actx);
+       }
+
+
 
   return offset;
 }
@@ -8227,7 +8220,7 @@ dissect_ansi_map_MessageWaitingNotificationCount(gboolean implicit_tag _U_, tvbu
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_messagewaitingnotificationcount(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_messagewaitingnotificationcount(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -8245,7 +8238,7 @@ dissect_ansi_map_MessageWaitingNotificationType(gboolean implicit_tag _U_, tvbuf
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_messagewaitingnotificationtype(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_messagewaitingnotificationtype(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -8331,7 +8324,7 @@ dissect_ansi_map_ExtendedMSCID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_extendedmscid(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_extendedmscid(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -8417,7 +8410,7 @@ dissect_ansi_map_PilotBillingID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_pilotbillingid(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_pilotbillingid(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -8878,13 +8871,13 @@ dissect_ansi_map_TriggerType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
 
 static int
 dissect_ansi_map_TriggerCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 451 "ansi_map.cnf"
+#line 447 "ansi_map.cnf"
        tvbuff_t *parameter_tvb = NULL;
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_triggercapability(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_triggercapability(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -8896,17 +8889,16 @@ dissect_ansi_map_TriggerCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
 
 static int
 dissect_ansi_map_WINOperationsCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 459 "ansi_map.cnf"
+#line 455 "ansi_map.cnf"
        tvbuff_t *parameter_tvb = NULL;
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_winoperationscapability(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_winoperationscapability(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
-
   return offset;
 }
 
@@ -8973,13 +8965,13 @@ dissect_ansi_map_LocationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
 
 static int
 dissect_ansi_map_ControlNetworkID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 467 "ansi_map.cnf"
+#line 470 "ansi_map.cnf"
        tvbuff_t *parameter_tvb = NULL;
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_controlnetworkid(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_controlnetworkid(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -9111,7 +9103,7 @@ dissect_ansi_map_OriginationTriggers(gboolean implicit_tag _U_, tvbuff_t *tvb _U
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_originationtriggers(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_originationtriggers(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -9283,7 +9275,7 @@ dissect_ansi_map_AuthorizationPeriod(gboolean implicit_tag _U_, tvbuff_t *tvb _U
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_authorizationperiod(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_authorizationperiod(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -9302,7 +9294,7 @@ dissect_ansi_map_DeniedAuthorizationPeriod(gboolean implicit_tag _U_, tvbuff_t *
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_deniedauthorizationperiod(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_deniedauthorizationperiod(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -9526,7 +9518,7 @@ dissect_ansi_map_ControlChannelData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_controlchanneldata(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_controlchanneldata(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -9739,7 +9731,7 @@ dissect_ansi_map_CallingFeaturesIndicator(gboolean implicit_tag _U_, tvbuff_t *t
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_callingfeaturesindicator(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_callingfeaturesindicator(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -9801,13 +9793,13 @@ dissect_ansi_map_RestrictionDigits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
 
 static int
 dissect_ansi_map_SMS_OriginationRestrictions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 371 "ansi_map.cnf"
+#line 369 "ansi_map.cnf"
        tvbuff_t *parameter_tvb = NULL;
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        &parameter_tvb);
 
        if (parameter_tvb){
-               dissect_ansi_map_sms_originationrestrictions(parameter_tvb,actx->pinfo,tree);
+               dissect_ansi_map_sms_originationrestrictions(parameter_tvb,actx->pinfo,tree, actx);
        }
 
 
@@ -10114,7 +10106,6 @@ static int
 dissect_ansi_map_SMS_BearerData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
 #line 338 "ansi_map.cnf"
        int length;
-    proto_item *item;
     proto_tree *subtree;
        SMS_BearerData_tvb = NULL;
 
@@ -10125,9 +10116,8 @@ dissect_ansi_map_SMS_BearerData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
                /* A zero length OCTET STRING will return a zero length tvb */
                length = tvb_length_remaining(SMS_BearerData_tvb,0);
                if (length <=0){
-                       item = get_ber_last_created_item();
-                       subtree = proto_item_add_subtree(item, ett_sms_bearer_data);
-                       proto_item_append_text(item," length %u",length);
+                       subtree = proto_item_add_subtree(actx->created_item, ett_sms_bearer_data);
+                       proto_item_append_text(actx->created_item," length %u",length);
                        SMS_BearerData_tvb = NULL;
                        return offset;
                }
@@ -10155,10 +10145,9 @@ dissect_ansi_map_SMS_BearerData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
 
 static int
 dissect_ansi_map_SMS_TeleserviceIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 380 "ansi_map.cnf"
+#line 378 "ansi_map.cnf"
 
        int length;
-    proto_item *item;
     proto_tree *subtree;
        tvbuff_t *parameter_tvb = NULL;
        static gint32 ansi_map_sms_tele_id = -1;
@@ -10170,9 +10159,8 @@ dissect_ansi_map_SMS_TeleserviceIdentifier(gboolean implicit_tag _U_, tvbuff_t *
                /* A zero length OCTET STRING will return a zero length tvb */
                length = tvb_length_remaining(parameter_tvb,0);
                if (length <=0){
-                       item = get_ber_last_created_item();
-                       subtree = proto_item_add_subtree(item, ett_sms_teleserviceIdentifier);
-                       proto_item_append_text(item, " length %u",length);
+                       subtree = proto_item_add_subtree(actx->created_item, ett_sms_teleserviceIdentifier);
+                       proto_item_append_text(actx->created_item, " length %u",length);
                        return offset;
                }
                ansi_map_sms_tele_id = tvb_get_ntohs(tvb,0);
@@ -13813,7 +13801,50 @@ dissect_ansi_map_ReturnData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
 
 
 /*--- End of included file: packet-ansi_map-fn.c ---*/
-#line 3622 "packet-ansi_map-template.c"
+#line 3611 "packet-ansi_map-template.c"
+
+/*
+ * 6.5.2.dk N.S0013-0 v 1.0,X.S0004-550-E v1.0 2.301
+ */
+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;
+       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) {
 
@@ -17494,7 +17525,7 @@ void proto_register_ansi_map(void) {
         "ansi_map.StatusRequestRes", HFILL }},
 
 /*--- End of included file: packet-ansi_map-hfarr.c ---*/
-#line 5074 "packet-ansi_map-template.c"
+#line 5106 "packet-ansi_map-template.c"
   };
 
   /* List of subtrees */
@@ -17521,6 +17552,7 @@ void proto_register_ansi_map(void) {
          &ett_callingpartyname,
          &ett_triggercapability,
          &ett_winoperationscapability,
+         &ett_win_trigger_list,
          &ett_controlnetworkid,
          &ett_transactioncapability,
          &ett_cdmaserviceoption,
@@ -17754,7 +17786,7 @@ void proto_register_ansi_map(void) {
     &ett_ansi_map_ReturnData,
 
 /*--- End of included file: packet-ansi_map-ettarr.c ---*/
-#line 5106 "packet-ansi_map-template.c"
+#line 5139 "packet-ansi_map-template.c"
   };