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;
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;
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;
};
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);
/* 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 */
/* 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 */
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;
};
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) */
{ 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) */
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);
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);
/* 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;
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);
};
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) */
};
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);
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) */
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);
"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);
/* 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);
*/
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);
};
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++;
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++;
"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);
}
/* 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);
/* 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 */
};
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++;
};
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);
/* 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;
/* 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);
}
/* 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);
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);
{ 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) */
};
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);
};
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) */
/* 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++;
}
/* 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;
};
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);
};
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);
/* 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) */
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);
};
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);
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++;
"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) */
};
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)*/
"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);
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 */
/* 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;
¶meter_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);
}
¶meter_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);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_mscid(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_mscid(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_intermsccircuitid(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_intermsccircuitid(parameter_tvb,actx->pinfo,tree, actx);
}
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,
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_systemcapabilities(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_systemcapabilities(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_confidentialitymodes(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_confidentialitymodes(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_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);
}
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,
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_transactioncapability(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_transactioncapability(parameter_tvb,actx->pinfo,tree, actx);
}
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,
¶meter_tvb);
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_billingid(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_billingid(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_channeldata(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_channeldata(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_handoffstate(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_handoffstate(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_alertcode(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_alertcode(parameter_tvb,actx->pinfo,tree, actx);
}
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,
¶meter_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));
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_cdmacallmode(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_cdmacallmode(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_cdmachanneldata(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_cdmachanneldata(parameter_tvb,actx->pinfo,tree, actx);
}
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,
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_cdmaserviceoption(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_cdmaserviceoption(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_cdmastationclassmark(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_cdmastationclassmark(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_mslocation(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_mslocation(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_nampscallmode(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_nampscallmode(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_nampschanneldata(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_nampschanneldata(parameter_tvb,actx->pinfo,tree, actx);
}
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,
¶meter_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));
}
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,
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_callingpartyname(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_callingpartyname(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_subaddress(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_subaddress(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_onetimefeatureindicator(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_onetimefeatureindicator(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_announcementcode(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_announcementcode(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_pacaindicator(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_pacaindicator(parameter_tvb,actx->pinfo,tree, actx);
}
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,
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_terminationtriggers(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_terminationtriggers(parameter_tvb,actx->pinfo,tree, actx);
}
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);
+ ¶meter_tvb);
+
+ if (parameter_tvb){
+ dissect_ansi_map_win_trigger_list(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+
return offset;
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_messagewaitingnotificationcount(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_messagewaitingnotificationcount(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_messagewaitingnotificationtype(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_messagewaitingnotificationtype(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_extendedmscid(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_extendedmscid(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_pilotbillingid(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_pilotbillingid(parameter_tvb,actx->pinfo,tree, actx);
}
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,
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_triggercapability(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_triggercapability(parameter_tvb,actx->pinfo,tree, actx);
}
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,
¶meter_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;
}
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,
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_controlnetworkid(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_controlnetworkid(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_originationtriggers(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_originationtriggers(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_authorizationperiod(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_authorizationperiod(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_deniedauthorizationperiod(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_deniedauthorizationperiod(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_controlchanneldata(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_controlchanneldata(parameter_tvb,actx->pinfo,tree, actx);
}
¶meter_tvb);
if (parameter_tvb){
- dissect_ansi_map_callingfeaturesindicator(parameter_tvb,actx->pinfo,tree);
+ dissect_ansi_map_callingfeaturesindicator(parameter_tvb,actx->pinfo,tree, actx);
}
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,
¶meter_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);
}
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;
/* 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;
}
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;
/* 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);
/*--- 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) {
"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 */
&ett_callingpartyname,
&ett_triggercapability,
&ett_winoperationscapability,
+ &ett_win_trigger_list,
&ett_controlnetworkid,
&ett_transactioncapability,
&ett_cdmaserviceoption,
&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"
};