aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--asn1/ansi_map/Makefile2
-rw-r--r--asn1/ansi_map/Makefile.nmake2
-rw-r--r--asn1/ansi_map/ansi_map.asn64
-rw-r--r--asn1/ansi_map/ansi_map.cnf77
-rw-r--r--asn1/ansi_map/packet-ansi_map-template.c129
-rw-r--r--asn1/tcap/ansi_tcap.cnf12
-rw-r--r--asn1/tcap/packet-ansi_tcap-template.c154
-rw-r--r--asn1/tcap/packet-tcap-template.c4
-rw-r--r--epan/dissectors/packet-ansi_map.c3828
-rw-r--r--epan/dissectors/packet-ansi_map.h2
-rw-r--r--epan/dissectors/packet-ansi_tcap.c186
-rw-r--r--epan/dissectors/packet-ansi_tcap.h2
-rw-r--r--epan/dissectors/packet-tcap.c4
13 files changed, 2997 insertions, 1469 deletions
diff --git a/asn1/ansi_map/Makefile b/asn1/ansi_map/Makefile
index 62686168e3..63c9d77722 100644
--- a/asn1/ansi_map/Makefile
+++ b/asn1/ansi_map/Makefile
@@ -8,7 +8,7 @@ all: generate_dissector
generate_dissector: $(DISSECTOR_FILES)
$(DISSECTOR_FILES): ../../tools/asn2wrs.py ansi_map.asn packet-$(PROTOCOL_NAME)-template.c packet-$(PROTOCOL_NAME)-template.h ansi_map.cnf
- python ../../tools/asn2wrs.py -b -X -e -p $(PROTOCOL_NAME) -c ansi_map.cnf -s packet-$(PROTOCOL_NAME)-template ansi_map.asn
+ python ../../tools/asn2wrs.py -b -X -T -e -p $(PROTOCOL_NAME) -c ansi_map.cnf -s packet-$(PROTOCOL_NAME)-template ansi_map.asn
clean:
rm -f parsetab.py parsetab.pyc $(DISSECTOR_FILES)
diff --git a/asn1/ansi_map/Makefile.nmake b/asn1/ansi_map/Makefile.nmake
index d427136085..13dbe4aeaa 100644
--- a/asn1/ansi_map/Makefile.nmake
+++ b/asn1/ansi_map/Makefile.nmake
@@ -15,7 +15,7 @@ generate_dissector: $(DISSECTOR_FILES)
$(DISSECTOR_FILES): ../../tools/asn2wrs.py ansi_map.asn packet-ansi_map-template.c packet-ansi_map-template.h ansi_map.cnf
!IFDEF PYTHON
- $(PYTHON) "../../tools/asn2wrs.py" -b -X -e -p $(PROTOCOL_NAME) -c ansi_map.cnf -s packet-ansi_map-template ansi_map.asn
+ $(PYTHON) "../../tools/asn2wrs.py" -b -X -T -e -p $(PROTOCOL_NAME) -c ansi_map.cnf -s packet-ansi_map-template ansi_map.asn
!ELSE
@echo Error: You need Python to use asn2wrs.py
@exit 1
diff --git a/asn1/ansi_map/ansi_map.asn b/asn1/ansi_map/ansi_map.asn
index 3ff28fb921..48b84e2702 100644
--- a/asn1/ansi_map/ansi_map.asn
+++ b/asn1/ansi_map/ansi_map.asn
@@ -10,70 +10,6 @@ IMPORTS
IMSI
FROM MAP-Protocol;
--- TCAP part
-
-ComponentPDU ::=
- CHOICE {
- invokeLast [ PRIVATE 9 ] IMPLICIT InvokePDU ,
- returnResultLast [ PRIVATE 10 ] IMPLICIT ReturnResultPDU,
- returnError [ PRIVATE 11 ] IMPLICIT ReturnErrorPDU ,
- reject [ PRIVATE 12 ] IMPLICIT RejectPDU ,
- invokeNotLast [ PRIVATE 13 ] IMPLICIT InvokePDU ,
- returnResultNotLast [ PRIVATE 14 ] IMPLICIT ReturnResultPDU
- }
-
-InvokePDU ::= SEQUENCE {
- componentIDs [ PRIVATE 15 ] IMPLICIT OCTET STRING (SIZE(0..2)) OPTIONAL ,
- operationCode OperationCode OPTIONAL,
- invokeParameters [ PRIVATE 18 ] IMPLICIT InvokeParameters
- }
-InvokeParameters ::= ANY
-ReturnParameters ::= ANY
--- ErrorParameters ::= ANY
-RejectParameters ::= ANY
-
-ReturnResultPDU ::= SEQUENCE {
- componentID ComponentID,
- returnResult [ PRIVATE 18 ] IMPLICIT ReturnParameters
- }
-
-
-ComponentID ::= [ PRIVATE 15 ] IMPLICIT OCTET STRING ( SIZE(1) )
-
-ReturnErrorPDU ::= SEQUENCE {
- componentID ComponentID ,
- errorCode ErrorCode ,
- parameterre RejectParameters
- }
-
-RejectPDU ::= SEQUENCE {
- componentID ComponentID ,
- rejectProblem [PRIVATE 21 ] IMPLICIT ProblemPDU,
- parameterrj RejectParameters
-}
-
-
-ProblemPDU ::= INTEGER {
- general-unrecognisedComponentType (257) ,
- general-incorrectComponentPortion ( 258 ) ,
- general-badlyStructuredCompPortion ( 259 )
-
- }
-
-
-OperationCode ::= CHOICE
- {
- national [PRIVATE 16] IMPLICIT INTEGER (-32768..32767),
- private [PRIVATE 17] IMPLICIT PrivateOperationCode
- }
-PrivateOperationCode ::= INTEGER
-
-ErrorCode ::= CHOICE
- {
- nationaler [PRIVATE 19] IMPLICIT INTEGER (-32768..32767),
- privateer [PRIVATE 20] IMPLICIT INTEGER
- }
--- END TCAP
--6.4.2.1
AuthenticationDirective ::= [PRIVATE 18] SET {
electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
diff --git a/asn1/ansi_map/ansi_map.cnf b/asn1/ansi_map/ansi_map.cnf
index dfc37a0075..78057a959b 100644
--- a/asn1/ansi_map/ansi_map.cnf
+++ b/asn1/ansi_map/ansi_map.cnf
@@ -13,78 +13,7 @@
#.FIELD_RENAME
-#.FN_BODY InvokeParameters
-
- ServiceIndicator = 0;
- OperationCode = OperationCode&0x00ff;
-
- ansi_map_is_invoke = TRUE;
- if (check_col(actx->pinfo->cinfo, COL_INFO)){
- col_set_str(actx->pinfo->cinfo, COL_INFO, val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
- }
- /* No Data */
- if(tvb_length_remaining(tvb, offset)<=0){
- update_saved_invokedata(actx->pinfo, tree, tvb);
- return offset;
-
- }
-
- offset = dissect_invokeData(tree, tvb, offset, actx);
- update_saved_invokedata(actx->pinfo, tree, tvb);
-
-#.FN_BODY ReturnParameters
- struct amsi_map_invokedata_t *ansi_map_saved_invokedata;
- struct tcap_private_t *p_private_tcap;
- proto_item *item;
- address* src = &(actx->pinfo->src);
- address* dst = &(actx->pinfo->dst);
- guint8 *src_str;
- guint8 *dst_str;
- char *buf;
-
- buf=ep_alloc(1024);
- src_str = address_to_str(src);
- dst_str = address_to_str(dst);
-
- /* Data from the TCAP dissector */
- if (actx->pinfo->private_data != NULL){
- p_private_tcap=actx->pinfo->private_data;
- /* The hash string needs to contain src and dest to distiguish differnt flows */
- src_str = address_to_str(src);
- dst_str = address_to_str(dst);
- buf = p_private_tcap->TransactionID_str;
- /* Reverse order to invoke */
- strcat(buf,dst_str);
- strcat(buf,src_str);
- strcat(buf,"\0");
- ansi_map_saved_invokedata = g_hash_table_lookup(TransactionId_table, p_private_tcap->TransactionID_str);
- if(ansi_map_saved_invokedata){
- OperationCode = ansi_map_saved_invokedata->opcode;
- ServiceIndicator = ansi_map_saved_invokedata->ServiceIndicator;
- }else{
- OperationCode = OperationCode & 0x00ff;
- }
- }else{
- OperationCode = OperationCode & 0x00ff;
- }
- if (check_col(actx->pinfo->cinfo, COL_INFO)){
- col_clear(actx->pinfo->cinfo, COL_INFO);
- col_add_fstr(actx->pinfo->cinfo, COL_INFO,"%s Response", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
- }
- /* No Data */
- if(tvb_length_remaining(tvb, offset)<=0){
- return offset;
- }
-
- item = proto_tree_add_text(tree, tvb, 0, -1, "OperationCode %s",val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown %u"));
- PROTO_ITEM_SET_GENERATED(item);
-
- ansi_map_is_invoke = FALSE;
- offset = dissect_returnData(tree, tvb, offset, actx);
-
-#.FN_BODY ErrorParameters
-
-#.FN_BODY RejectParameters
+
# N.S0005-0 v 1.0 TCAP Formats and Procedures 5-16 Application Services
# 6.3.2 Component Portion
@@ -92,10 +21,6 @@
# Specifier associated with each Operation Family member. For TIA/EIA-41 the
# Operation Family is coded as decimal 9. Bit H of the Operation Family is always
# coded as 0.
-#.FN_BODY PrivateOperationCode VAL_PTR = &OperationCode
- %(DEFAULT_BODY)s
- proto_tree_add_item(tree, hf_ansi_map_op_code_fam, tvb, offset-2,1,FALSE);
- proto_tree_add_item(tree, hf_ansi_map_op_code, tvb, offset-1,1,FALSE);
#.FN_BODY MINType VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb = NULL;
diff --git a/asn1/ansi_map/packet-ansi_map-template.c b/asn1/ansi_map/packet-ansi_map-template.c
index 681a50a5c1..25ec73df4f 100644
--- a/asn1/ansi_map/packet-ansi_map-template.c
+++ b/asn1/ansi_map/packet-ansi_map-template.c
@@ -104,6 +104,7 @@
#include "packet-ansi_a.h"
#include "packet-gsm_map.h"
#include "packet-tcap.h"
+#include "packet-ansi_tcap.h"
#define PNAME "ANSI Mobile Application Part"
#define PSNAME "ANSI MAP"
@@ -370,7 +371,7 @@ static guint32 OperationCode;
static guint8 ServiceIndicator;
-struct amsi_map_invokedata_t {
+struct ansi_map_invokedata_t {
guint32 opcode;
guint8 ServiceIndicator;
};
@@ -384,7 +385,7 @@ static GHashTable *TransactionId_table=NULL;
static void
TransactionId_table_cleanup(gpointer key , gpointer value, gpointer user_data _U_){
- struct amsi_map_invokedata_t *ansi_map_saved_invokedata = value;
+ struct ansi_map_invokedata_t *ansi_map_saved_invokedata = value;
gchar *TransactionId_str = key;
if ( TransactionId_str ){
@@ -417,9 +418,9 @@ ansi_map_init_protocol(void)
/* Store Invoke information needed for the corresponding reply */
static void
-update_saved_invokedata(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb){
- struct amsi_map_invokedata_t *ansi_map_saved_invokedata;
- struct tcap_private_t *p_private_tcap;
+update_saved_invokedata(packet_info *pinfo, proto_tree *tree _U_, tvbuff_t *tvb _U_){
+ struct ansi_map_invokedata_t *ansi_map_saved_invokedata;
+ struct ansi_tcap_private_t *p_private_tcap;
address* src = &(pinfo->src);
address* dst = &(pinfo->dst);
guint8 *src_str;
@@ -434,12 +435,12 @@ update_saved_invokedata(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb){
/* Data from the TCAP dissector */
if (pinfo->private_data != NULL){
p_private_tcap=pinfo->private_data;
- ansi_map_saved_invokedata = g_malloc(sizeof(ansi_map_saved_invokedata));
- ansi_map_saved_invokedata->opcode = OperationCode;
- ansi_map_saved_invokedata->ServiceIndicator = ServiceIndicator;
if ((!pinfo->fd->flags.visited)&&(p_private_tcap->TransactionID_str)){
/* Only do this once XXX I hope its the right thing to do */
- buf = p_private_tcap->TransactionID_str;
+ ansi_map_saved_invokedata = g_malloc(sizeof(ansi_map_saved_invokedata));
+ ansi_map_saved_invokedata->opcode = p_private_tcap->d.OperationCode_private;
+ ansi_map_saved_invokedata->ServiceIndicator = ServiceIndicator;
+ strcpy(buf,p_private_tcap->TransactionID_str);
/* The hash string needs to contain src and dest to distiguish differnt flows */
strcat(buf,src_str);
strcat(buf,dst_str);
@@ -447,7 +448,9 @@ update_saved_invokedata(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb){
g_hash_table_insert(TransactionId_table,
g_strdup(buf),
ansi_map_saved_invokedata);
- proto_tree_add_text(tree, tvb, 0, 1, "HAsh string %s",buf);
+ /*
+ g_warning("Invoke Hash string %s",buf);
+ */
}
}
@@ -757,7 +760,10 @@ dissect_ansi_map_digits_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
case 2:/* Telephony Numbering (ITU-T Rec. E.164,E.163). */
case 6:/* Land Mobile Numbering (ITU-T Rec. E.212) */
case 7:/* Private Numbering Plan */
+ octet = tvb_get_guint8(tvb,offset);
proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, FALSE);
+ if(octet == 0)
+ return;
offset++;
switch ((octet&0xf)){
case 1:
@@ -3617,7 +3623,7 @@ dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t
int offset = 0;
int end_offset = 0;
- int j = 0;
+ int j;
proto_tree *subtree;
guint8 octet;
@@ -3652,6 +3658,7 @@ dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t
}
}
+
static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
@@ -4043,6 +4050,10 @@ static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
case 25: /*Handoff To Third*/
offset = dissect_ansi_map_HandoffToThirdRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThirdRes);
break;
+ case 26: /*Flash Request*/
+ /* No data */
+ proto_tree_add_text(tree, tvb, offset, -1, "No Data");
+ break;
case 27: /*Authentication Directive*/
offset = dissect_ansi_map_AuthenticationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveRes);
break;
@@ -4228,12 +4239,54 @@ static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
}
+static int
+find_saved_invokedata(asn1_ctx_t *actx){
+ struct ansi_map_invokedata_t *ansi_map_saved_invokedata;
+ struct ansi_tcap_private_t *p_private_tcap;
+ address* src = &(actx->pinfo->src);
+ address* dst = &(actx->pinfo->dst);
+ guint8 *src_str;
+ guint8 *dst_str;
+ char *buf;
+
+ buf=ep_alloc(1024);
+ src_str = address_to_str(src);
+ dst_str = address_to_str(dst);
+
+ /* Data from the TCAP dissector */
+ if (actx->pinfo->private_data != NULL){
+ p_private_tcap=actx->pinfo->private_data;
+ /* The hash string needs to contain src and dest to distiguish differnt flows */
+ src_str = address_to_str(src);
+ dst_str = address_to_str(dst);
+ strcpy(buf, p_private_tcap->TransactionID_str);
+ /* Reverse order to invoke */
+ strcat(buf,dst_str);
+ strcat(buf,src_str);
+ strcat(buf,"\0");
+ /*
+ g_warning("Find Hash string %s",buf);
+ */
+ ansi_map_saved_invokedata = g_hash_table_lookup(TransactionId_table, p_private_tcap->TransactionID_str);
+ if(ansi_map_saved_invokedata){
+ OperationCode = ansi_map_saved_invokedata->opcode & 0xff;
+ ServiceIndicator = ansi_map_saved_invokedata->ServiceIndicator;
+ }else{
+ OperationCode = OperationCode & 0x00ff;
+ }
+ }else{
+ OperationCode = OperationCode & 0x00ff;
+ }
+ return OperationCode;
+}
+
static void
dissect_ansi_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
proto_item *ansi_map_item;
proto_tree *ansi_map_tree = NULL;
int offset = 0;
+ struct ansi_tcap_private_t *p_private_tcap;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
@@ -4248,6 +4301,12 @@ dissect_ansi_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
col_set_str(pinfo->cinfo, COL_PROTOCOL, "ANSI MAP");
}
+ /* Data from the TCAP dissector */
+ if (pinfo->private_data == NULL){
+ proto_tree_add_text(tree, tvb, 0, -1, "Dissector ERROR this dissector relays on private data");
+ return;
+ }
+
/*
* create the ansi_map protocol tree
*/
@@ -4256,8 +4315,54 @@ dissect_ansi_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
ansi_map_is_invoke = FALSE;
is683_ota = FALSE;
is801_pld = FALSE;
- dissect_ansi_map_ComponentPDU(FALSE, tvb, offset, &asn1_ctx, ansi_map_tree, -1);
+ ServiceIndicator = 0;
+ p_private_tcap=pinfo->private_data;
+
+ switch(p_private_tcap->d.pdu){
+ /*
+ 1 : invoke,
+ 2 : returnResult,
+ 3 : returnError,
+ 4 : reject
+ */
+ case 1:
+ OperationCode = p_private_tcap->d.OperationCode_private & 0x00ff;
+ ansi_map_is_invoke = TRUE;
+ if (check_col(pinfo->cinfo, COL_INFO)){
+ col_clear(pinfo->cinfo, COL_INFO);
+ col_add_fstr(pinfo->cinfo, COL_INFO,"%s Invoke", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
+ }
+ proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
+ offset = dissect_invokeData(ansi_map_tree, tvb, 0, &asn1_ctx);
+ update_saved_invokedata(pinfo, ansi_map_tree, tvb);
+ break;
+ case 2:
+ OperationCode = find_saved_invokedata(&asn1_ctx);
+ if (check_col(pinfo->cinfo, COL_INFO)){
+ col_clear(pinfo->cinfo, COL_INFO);
+ col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnResult", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
+ }
+ proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
+ offset = dissect_returnData(ansi_map_tree, tvb, 0, &asn1_ctx);
+ break;
+ case 3:
+ if (check_col(pinfo->cinfo, COL_INFO)){
+ col_clear(pinfo->cinfo, COL_INFO);
+ col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnError", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
+ }
+ break;
+ case 4:
+ if (check_col(pinfo->cinfo, COL_INFO)){
+ col_clear(pinfo->cinfo, COL_INFO);
+ col_add_fstr(pinfo->cinfo, COL_INFO,"%s Reject", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
+ }
+ break;
+ default:
+ /* Must be Invoke ReturnResult ReturnError or Reject */
+ DISSECTOR_ASSERT_NOT_REACHED();
+ break;
+ }
}
static void range_delete_callback(guint32 ssn)
diff --git a/asn1/tcap/ansi_tcap.cnf b/asn1/tcap/ansi_tcap.cnf
index a685253b1a..042d46710e 100644
--- a/asn1/tcap/ansi_tcap.cnf
+++ b/asn1/tcap/ansi_tcap.cnf
@@ -24,9 +24,9 @@ tvbuff_t *parameter_tvb;
if(!parameter_tvb)
return offset;
- find_tcap_subdisector(parameter_tvb, actx, tcap_top_tree);
+ find_tcap_subdisector(parameter_tvb, actx, tree);
-#.FN_FTR Invoke
+#.FN_HDR Invoke
ansi_tcap_private.d.pdu = 1;
#--- RETURN RESULT ---
@@ -43,9 +43,9 @@ tvbuff_t *parameter_tvb;
if(!parameter_tvb)
return offset;
- find_tcap_subdisector(parameter_tvb, actx, tcap_top_tree);
+ find_tcap_subdisector(parameter_tvb, actx, tree);
-#.FN_FTR ReturnResult
+#.FN_HDR ReturnResult
ansi_tcap_private.d.pdu = 2;
@@ -62,9 +62,9 @@ tvbuff_t *parameter_tvb;
if(!parameter_tvb)
return offset;
- find_tcap_subdisector(parameter_tvb, actx, tcap_top_tree);
+ find_tcap_subdisector(parameter_tvb, actx, tree);
-#.FN_FTR ReturnError
+#.FN_HDR ReturnError
ansi_tcap_private.d.pdu = 3;
#--- ObjectIDApplicationContext --
diff --git a/asn1/tcap/packet-ansi_tcap-template.c b/asn1/tcap/packet-ansi_tcap-template.c
index 8a575b8e18..cf36bf1d5e 100644
--- a/asn1/tcap/packet-ansi_tcap-template.c
+++ b/asn1/tcap/packet-ansi_tcap-template.c
@@ -105,7 +105,7 @@ struct ansi_tcap_private_t ansi_tcap_private;
static void ansi_tcap_ctx_init(struct ansi_tcap_private_t *a_tcap_ctx) {
memset(a_tcap_ctx, '\0', sizeof(*a_tcap_ctx));
a_tcap_ctx->signature = ANSI_TCAP_CTX_SIGNATURE;
- ansi_tcap_private.oid_is_present = FALSE;
+ a_tcap_ctx->oid_is_present = FALSE;
}
static void dissect_ansi_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree);
@@ -125,6 +125,124 @@ dissector_handle_t get_ansi_tcap_subdissector(guint32 ssn) {
}
*/
+/* Transaction tracking */
+/* Transaction table */
+struct ansi_tcap_invokedata_t {
+ gint OperationCode;
+ /*
+ 0 : national,
+ 1 : private
+ */
+ gint32 OperationCode_private;
+ gint32 OperationCode_national;
+};
+
+static GHashTable *TransactionId_table=NULL;
+
+static void
+TransactionId_table_cleanup(gpointer key , gpointer value, gpointer user_data _U_){
+
+ struct ansi_tcap_invokedata_t *ansi_tcap_saved_invokedata = value;
+ gchar *TransactionId_str = key;
+
+ if ( TransactionId_str ){
+ g_free(TransactionId_str);
+ }
+ if (ansi_tcap_saved_invokedata){
+ g_free(ansi_tcap_saved_invokedata);
+ }
+
+}
+
+void
+ansi_tcap_init_transaction_table(void){
+
+ /* Destroy any existing memory chunks / hashes. */
+ if (TransactionId_table){
+ g_hash_table_foreach(TransactionId_table, TransactionId_table_cleanup, NULL);
+ g_hash_table_destroy(TransactionId_table);
+ TransactionId_table = NULL;
+ }
+
+ TransactionId_table = g_hash_table_new(g_str_hash, g_str_equal);
+
+}
+
+static void
+ansi_tcap_init_protocol(void)
+{
+ ansi_tcap_init_transaction_table();
+}
+
+/* Store Invoke information needed for the corresponding reply */
+static void
+save_invoke_data(packet_info *pinfo, proto_tree *tree _U_, tvbuff_t *tvb _U_){
+ struct ansi_tcap_invokedata_t *ansi_tcap_saved_invokedata;
+ address* src = &(pinfo->src);
+ address* dst = &(pinfo->dst);
+ guint8 *src_str;
+ guint8 *dst_str;
+ char *buf;
+
+ buf=ep_alloc(1024);
+
+ src_str = address_to_str(src);
+ dst_str = address_to_str(dst);
+
+
+ if ((!pinfo->fd->flags.visited)&&(ansi_tcap_private.TransactionID_str)){
+ /* Only do this once XXX I hope its the right thing to do */
+ ansi_tcap_saved_invokedata = g_malloc(sizeof(ansi_tcap_saved_invokedata));
+ ansi_tcap_saved_invokedata->OperationCode = ansi_tcap_private.d.OperationCode;
+
+ ansi_tcap_saved_invokedata->OperationCode_national = ansi_tcap_private.d.OperationCode_national;
+ ansi_tcap_saved_invokedata->OperationCode_private = ansi_tcap_private.d.OperationCode_private;
+
+ strcpy(buf, ansi_tcap_private.TransactionID_str);
+ /* The hash string needs to contain src and dest to distiguish differnt flows */
+ strcat(buf,src_str);
+ strcat(buf,dst_str);
+ strcat(buf,"\0");
+ g_hash_table_insert(TransactionId_table,
+ g_strdup(buf),
+ ansi_tcap_saved_invokedata);
+ /*
+ g_warning("Tcap Invoke Hash string %s",buf);
+ */
+ }
+}
+
+static gboolean
+find_saved_invokedata(packet_info *pinfo, proto_tree *tree _U_, tvbuff_t *tvb _U_){
+ struct ansi_tcap_invokedata_t *ansi_tcap_saved_invokedata;
+ address* src = &(pinfo->src);
+ address* dst = &(pinfo->dst);
+ guint8 *src_str;
+ guint8 *dst_str;
+ char *buf;
+
+ buf=ep_alloc(1024);
+ src_str = address_to_str(src);
+ dst_str = address_to_str(dst);
+
+ /* The hash string needs to contain src and dest to distiguish differnt flows */
+ src_str = address_to_str(src);
+ dst_str = address_to_str(dst);
+ strcpy(buf, ansi_tcap_private.TransactionID_str);
+ /* Reverse order to invoke */
+ strcat(buf,dst_str);
+ strcat(buf,src_str);
+ strcat(buf,"\0");
+ ansi_tcap_saved_invokedata = g_hash_table_lookup(TransactionId_table, buf);
+ if(ansi_tcap_saved_invokedata){
+ ansi_tcap_private.d.OperationCode = ansi_tcap_saved_invokedata->OperationCode;
+ ansi_tcap_private.d.OperationCode_national = ansi_tcap_saved_invokedata->OperationCode_national;
+ ansi_tcap_private.d.OperationCode_private = ansi_tcap_saved_invokedata->OperationCode_private;
+ return TRUE;
+ }
+ return FALSE;
+}
+
/* As currently ANSI MAP is the only possible sub dissector this function
* must be improved to handle general cases.
*
@@ -143,6 +261,7 @@ dissector_handle_t get_ansi_tcap_subdissector(guint32 ssn) {
*/
static gboolean
find_tcap_subdisector(tvbuff_t *tvb, asn1_ctx_t *actx, proto_tree *tree){
+ proto_item *item;
/* If "DialoguePortion objectApplicationId ObjectIDApplicationContext
* points to the subdissector this code can be used.
@@ -152,18 +271,36 @@ find_tcap_subdisector(tvbuff_t *tvb, asn1_ctx_t *actx, proto_tree *tree){
return TRUE;
}
*/
+ if(ansi_tcap_private.d.pdu == 1){
+ /* Save Invoke data for this transaction */
+ save_invoke_data(actx->pinfo, tree, tvb);
+ }else{
+ /* Get saved data for this transaction */
+ if(find_saved_invokedata(actx->pinfo, tree, tvb)){
+ if(ansi_tcap_private.d.OperationCode == 0){
+ /* national */
+ item = proto_tree_add_int(tree, hf_ansi_tcap_national, tvb, 0, 0, ansi_tcap_private.d.OperationCode_national);
+ }else{
+ item = proto_tree_add_int(tree, hf_ansi_tcap_private, tvb, 0, 0, ansi_tcap_private.d.OperationCode_private);
+ }
+ PROTO_ITEM_SET_GENERATED(item);
+ ansi_tcap_private.d.OperationCode_item = item;
+ }
+ }
if(ansi_tcap_private.d.OperationCode == 0){
/* national */
- proto_tree_add_text(tree, tvb, 0, -1,
+ item = proto_tree_add_text(tree, tvb, 0, -1,
"Dissector for ANSI TCAP NATIONAL code:%u not implemented. Contact Wireshark developers if you want this supported",
ansi_tcap_private.d.OperationCode_national);
+ PROTO_ITEM_SET_GENERATED(item);
return FALSE;
}else if(ansi_tcap_private.d.OperationCode == 1){
/* private */
if((ansi_tcap_private.d.OperationCode_private & 0x0900) != 0x0900){
- proto_tree_add_text(tree, tvb, 0, -1,
+ item = proto_tree_add_text(tree, tvb, 0, -1,
"Dissector for ANSI TCAP PRIVATE code:%u not implemented. Contact Wireshark developers if you want this supported",
ansi_tcap_private.d.OperationCode_private);
+ PROTO_ITEM_SET_GENERATED(item);
return FALSE;
}
}
@@ -176,10 +313,9 @@ find_tcap_subdisector(tvbuff_t *tvb, asn1_ctx_t *actx, proto_tree *tree){
* Operation Family is coded as decimal 9. Bit H of the Operation Family is always
* coded as 0.
*/
+ call_dissector(ansi_map_handle, tvb, actx->pinfo, tcap_top_tree);
- call_dissector(ansi_map_handle, tvb, actx->pinfo, tree);
-
- return FALSE;
+ return TRUE;
}
#include "packet-ansi_tcap-fn.c"
@@ -195,8 +331,10 @@ dissect_ansi_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
proto_item *stat_item=NULL;
proto_tree *stat_tree=NULL;
gint offset = 0;
+#if 0
struct tcaphash_context_t * p_tcap_context;
dissector_handle_t subdissector_handle;
+#endif
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
@@ -224,6 +362,8 @@ dissect_ansi_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
gp_tcap_context=NULL;
dissect_ansi_tcap_PackageType(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+#if 0 /* Skipp this part for now it will be rewritten */
+
if (g_ansi_tcap_HandleSRT && !tcap_subdissector_used ) {
if (gtcap_DisplaySRT && tree) {
stat_item = proto_tree_add_text(tree, tvb, 0, 0, "Stat");
@@ -250,6 +390,7 @@ dissect_ansi_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
(p_tcap_context->callback)(tvb, pinfo, stat_tree, p_tcap_context);
}
}
+#endif
}
@@ -330,6 +471,7 @@ proto_register_ansi_tcap(void)
proto_register_subtree_array(ett, array_length(ett));
+ register_init_routine(&ansi_tcap_init_protocol);
}
diff --git a/asn1/tcap/packet-tcap-template.c b/asn1/tcap/packet-tcap-template.c
index d36d608e68..ce9dd38210 100644
--- a/asn1/tcap/packet-tcap-template.c
+++ b/asn1/tcap/packet-tcap-template.c
@@ -183,7 +183,7 @@ dissect_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
*
*/
get_ber_identifier(tvb, 0, &class, &pc, &tag);
-#if 0
+
if(class == BER_CLASS_PRI){
switch(tag){
case 1:
@@ -200,7 +200,7 @@ dissect_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
return;
}
}
-#endif
+
/* ITU TCAP */
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
diff --git a/epan/dissectors/packet-ansi_map.c b/epan/dissectors/packet-ansi_map.c
index ce2175b41a..83130605f7 100644
--- a/epan/dissectors/packet-ansi_map.c
+++ b/epan/dissectors/packet-ansi_map.c
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* ./packet-ansi_map.c */
-/* ../../tools/asn2wrs.py -b -X -e -p ansi_map -c ansi_map.cnf -s packet-ansi_map-template ansi_map.asn */
+/* ../../tools/asn2wrs.py -b -X -T -e -p ansi_map -c ansi_map.cnf -s packet-ansi_map-template ansi_map.asn */
/* Input file: packet-ansi_map-template.c */
@@ -112,6 +112,7 @@
#include "packet-ansi_a.h"
#include "packet-gsm_map.h"
#include "packet-tcap.h"
+#include "packet-ansi_tcap.h"
#define PNAME "ANSI Mobile Application Part"
#define PSNAME "ANSI MAP"
@@ -332,25 +333,6 @@ static int hf_ansi_map_pacaindicator_pa = -1;
/*--- Included file: packet-ansi_map-hf.c ---*/
#line 1 "packet-ansi_map-hf.c"
-static int hf_ansi_map_invokeLast = -1; /* InvokePDU */
-static int hf_ansi_map_returnResultLast = -1; /* ReturnResultPDU */
-static int hf_ansi_map_returnError = -1; /* ReturnErrorPDU */
-static int hf_ansi_map_reject = -1; /* RejectPDU */
-static int hf_ansi_map_invokeNotLast = -1; /* InvokePDU */
-static int hf_ansi_map_returnResultNotLast = -1; /* ReturnResultPDU */
-static int hf_ansi_map_componentIDs = -1; /* OCTET_STRING_SIZE_0_2 */
-static int hf_ansi_map_operationCode = -1; /* OperationCode */
-static int hf_ansi_map_invokeParameters = -1; /* InvokeParameters */
-static int hf_ansi_map_componentID = -1; /* ComponentID */
-static int hf_ansi_map_returnResult = -1; /* ReturnParameters */
-static int hf_ansi_map_errorCode = -1; /* ErrorCode */
-static int hf_ansi_map_parameterre = -1; /* RejectParameters */
-static int hf_ansi_map_rejectProblem = -1; /* ProblemPDU */
-static int hf_ansi_map_parameterrj = -1; /* RejectParameters */
-static int hf_ansi_map_national = -1; /* INTEGER_M32768_32767 */
-static int hf_ansi_map_private = -1; /* PrivateOperationCode */
-static int hf_ansi_map_nationaler = -1; /* INTEGER_M32768_32767 */
-static int hf_ansi_map_privateer = -1; /* INTEGER */
static int hf_ansi_map_electronicSerialNumber = -1; /* ElectronicSerialNumber */
static int hf_ansi_map_msid = -1; /* MSID */
static int hf_ansi_map_authenticationAlgorithmVersion = -1; /* AuthenticationAlgorithmVersion */
@@ -890,7 +872,7 @@ static int hf_ansi_map_checkMEIDRes = -1; /* CheckMEIDRes */
static int hf_ansi_map_statusRequestRes = -1; /* StatusRequestRes */
/*--- End of included file: packet-ansi_map-hf.c ---*/
-#line 325 "packet-ansi_map-template.c"
+#line 326 "packet-ansi_map-template.c"
/* Initialize the subtree pointers */
static gint ett_ansi_map = -1;
@@ -925,172 +907,165 @@ static gint ett_sms_originationrestrictions = -1;
/*--- Included file: packet-ansi_map-ett.c ---*/
#line 1 "packet-ansi_map-ett.c"
-static gint ett_ansi_map_ComponentPDU = -1;
-static gint ett_ansi_map_InvokePDU = -1;
-static gint ett_ansi_map_ReturnResultPDU = -1;
-static gint ett_ansi_map_ReturnErrorPDU = -1;
-static gint ett_ansi_map_RejectPDU = -1;
-static gint ett_ansi_map_OperationCode = -1;
-static gint ett_ansi_map_ErrorCode = -1;
-static gint ett_ansi_map_AuthenticationDirective = -1;
-static gint ett_ansi_map_AuthenticationDirectiveRes = -1;
-static gint ett_ansi_map_AuthenticationDirectiveForward = -1;
-static gint ett_ansi_map_AuthenticationDirectiveForwardRes = -1;
-static gint ett_ansi_map_AuthenticationFailureReport = -1;
-static gint ett_ansi_map_AuthenticationFailureReportRes = -1;
-static gint ett_ansi_map_AuthenticationRequest = -1;
-static gint ett_ansi_map_AuthenticationRequestRes = -1;
-static gint ett_ansi_map_AuthenticationStatusReport = -1;
-static gint ett_ansi_map_AuthenticationStatusReportRes = -1;
-static gint ett_ansi_map_BaseStationChallenge = -1;
-static gint ett_ansi_map_BaseStationChallengeRes = -1;
-static gint ett_ansi_map_Blocking = -1;
-static gint ett_ansi_map_BulkDeregistration = -1;
-static gint ett_ansi_map_CountRequest = -1;
-static gint ett_ansi_map_CountRequestRes = -1;
-static gint ett_ansi_map_FacilitiesDirective = -1;
-static gint ett_ansi_map_FacilitiesDirectiveRes = -1;
-static gint ett_ansi_map_FacilitiesDirective2 = -1;
-static gint ett_ansi_map_FacilitiesDirective2Res = -1;
-static gint ett_ansi_map_FacilitiesRelease = -1;
-static gint ett_ansi_map_FacilitiesReleaseRes = -1;
-static gint ett_ansi_map_FeatureRequest = -1;
-static gint ett_ansi_map_FeatureRequestRes = -1;
-static gint ett_ansi_map_FlashRequest = -1;
-static gint ett_ansi_map_HandoffBack = -1;
-static gint ett_ansi_map_HandoffBackRes = -1;
-static gint ett_ansi_map_HandoffBack2 = -1;
-static gint ett_ansi_map_HandoffBack2Res = -1;
-static gint ett_ansi_map_HandoffMeasurementRequest = -1;
-static gint ett_ansi_map_HandoffMeasurementRequestRes = -1;
-static gint ett_ansi_map_HandoffMeasurementRequest2 = -1;
-static gint ett_ansi_map_HandoffMeasurementRequest2Res = -1;
-static gint ett_ansi_map_HandoffToThird = -1;
-static gint ett_ansi_map_HandoffToThirdRes = -1;
-static gint ett_ansi_map_HandoffToThird2 = -1;
-static gint ett_ansi_map_HandoffToThird2Res = -1;
-static gint ett_ansi_map_InformationDirective = -1;
-static gint ett_ansi_map_InformationDirectiveRes = -1;
-static gint ett_ansi_map_InformationForward = -1;
-static gint ett_ansi_map_InformationForwardRes = -1;
-static gint ett_ansi_map_InterSystemAnswer = -1;
-static gint ett_ansi_map_InterSystemPage = -1;
-static gint ett_ansi_map_InterSystemPageRes = -1;
-static gint ett_ansi_map_InterSystemPage2 = -1;
-static gint ett_ansi_map_InterSystemPage2Res = -1;
-static gint ett_ansi_map_InterSystemSetup = -1;
-static gint ett_ansi_map_InterSystemSetupRes = -1;
-static gint ett_ansi_map_LocationRequest = -1;
-static gint ett_ansi_map_LocationRequestRes = -1;
-static gint ett_ansi_map_MSInactive = -1;
-static gint ett_ansi_map_OriginationRequest = -1;
-static gint ett_ansi_map_OriginationRequestRes = -1;
-static gint ett_ansi_map_QualificationDirective = -1;
-static gint ett_ansi_map_QualificationRequest = -1;
-static gint ett_ansi_map_QualificationRequestRes = -1;
-static gint ett_ansi_map_RandomVariableRequest = -1;
-static gint ett_ansi_map_RandomVariableRequestRes = -1;
-static gint ett_ansi_map_RedirectionDirective = -1;
-static gint ett_ansi_map_RedirectionRequest = -1;
-static gint ett_ansi_map_RegistrationCancellation = -1;
-static gint ett_ansi_map_RegistrationCancellationRes = -1;
-static gint ett_ansi_map_RegistrationNotification = -1;
-static gint ett_ansi_map_RegistrationNotificationRes = -1;
-static gint ett_ansi_map_RemoteUserInteractionDirective = -1;
-static gint ett_ansi_map_RemoteUserInteractionDirectiveRes = -1;
-static gint ett_ansi_map_ResetCircuit = -1;
-static gint ett_ansi_map_ResetCircuitRes = -1;
-static gint ett_ansi_map_RoutingRequest = -1;
-static gint ett_ansi_map_RoutingRequestRes = -1;
-static gint ett_ansi_map_SMSDeliveryBackward = -1;
-static gint ett_ansi_map_SMSDeliveryBackwardRes = -1;
-static gint ett_ansi_map_SMSDeliveryForward = -1;
-static gint ett_ansi_map_SMSDeliveryForwardRes = -1;
-static gint ett_ansi_map_SMSDeliveryPointToPoint = -1;
-static gint ett_ansi_map_SMSDeliveryPointToPointRes = -1;
-static gint ett_ansi_map_SMSNotification = -1;
-static gint ett_ansi_map_SMSNotificationRes = -1;
-static gint ett_ansi_map_SMSRequest = -1;
-static gint ett_ansi_map_SMSRequestRes = -1;
-static gint ett_ansi_map_TransferToNumberRequest = -1;
-static gint ett_ansi_map_TransferToNumberRequestRes = -1;
-static gint ett_ansi_map_TrunkTest = -1;
-static gint ett_ansi_map_TrunkTestDisconnect = -1;
-static gint ett_ansi_map_Unblocking = -1;
-static gint ett_ansi_map_UnreliableRoamerDataDirective = -1;
-static gint ett_ansi_map_UnsolicitedResponse = -1;
-static gint ett_ansi_map_UnsolicitedResponseRes = -1;
-static gint ett_ansi_map_ParameterRequest = -1;
-static gint ett_ansi_map_ParameterRequestRes = -1;
-static gint ett_ansi_map_TMSIDirective = -1;
-static gint ett_ansi_map_TMSIDirectiveRes = -1;
-static gint ett_ansi_map_NumberPortabilityRequest = -1;
-static gint ett_ansi_map_ServiceRequest = -1;
-static gint ett_ansi_map_ServiceRequestRes = -1;
-static gint ett_ansi_map_AnalyzedInformation = -1;
-static gint ett_ansi_map_AnalyzedInformationRes = -1;
-static gint ett_ansi_map_ConnectionFailureReport = -1;
-static gint ett_ansi_map_ConnectResource = -1;
-static gint ett_ansi_map_FacilitySelectedAndAvailable = -1;
-static gint ett_ansi_map_FacilitySelectedAndAvailableRes = -1;
-static gint ett_ansi_map_Modify = -1;
-static gint ett_ansi_map_ModifyRes = -1;
-static gint ett_ansi_map_Search = -1;
-static gint ett_ansi_map_SearchRes = -1;
-static gint ett_ansi_map_SeizeResource = -1;
-static gint ett_ansi_map_SeizeResourceRes = -1;
-static gint ett_ansi_map_SRFDirective = -1;
-static gint ett_ansi_map_SRFDirectiveRes = -1;
-static gint ett_ansi_map_TBusy = -1;
-static gint ett_ansi_map_TBusyRes = -1;
-static gint ett_ansi_map_TNoAnswer = -1;
-static gint ett_ansi_map_TNoAnswerRes = -1;
-static gint ett_ansi_map_ChangeFacilities = -1;
-static gint ett_ansi_map_ChangeFacilitiesRes = -1;
-static gint ett_ansi_map_ChangeService = -1;
-static gint ett_ansi_map_ChangeServiceRes = -1;
-static gint ett_ansi_map_MessageDirective = -1;
-static gint ett_ansi_map_BulkDisconnection = -1;
-static gint ett_ansi_map_CallControlDirective = -1;
-static gint ett_ansi_map_CallControlDirectiveRes = -1;
-static gint ett_ansi_map_OAnswer = -1;
-static gint ett_ansi_map_ODisconnect = -1;
-static gint ett_ansi_map_ODisconnectRes = -1;
-static gint ett_ansi_map_CallRecoveryReport = -1;
-static gint ett_ansi_map_TAnswer = -1;
-static gint ett_ansi_map_TDisconnect = -1;
-static gint ett_ansi_map_TDisconnectRes = -1;
-static gint ett_ansi_map_UnreliableCallData = -1;
-static gint ett_ansi_map_OCalledPartyBusy = -1;
-static gint ett_ansi_map_OCalledPartyBusyRes = -1;
-static gint ett_ansi_map_ONoAnswer = -1;
-static gint ett_ansi_map_ONoAnswerRes = -1;
-static gint ett_ansi_map_PositionRequest = -1;
-static gint ett_ansi_map_PositionRequestRes = -1;
-static gint ett_ansi_map_PositionRequestForward = -1;
-static gint ett_ansi_map_PositionRequestForwardRes = -1;
-static gint ett_ansi_map_CallTerminationReport = -1;
-static gint ett_ansi_map_GeoPositionRequest = -1;
-static gint ett_ansi_map_InterSystemPositionRequest = -1;
-static gint ett_ansi_map_InterSystemPositionRequestRes = -1;
-static gint ett_ansi_map_InterSystemPositionRequestForward = -1;
-static gint ett_ansi_map_InterSystemPositionRequestForwardRes = -1;
-static gint ett_ansi_map_ACGDirective = -1;
-static gint ett_ansi_map_RoamerDatabaseVerificationRequest = -1;
-static gint ett_ansi_map_RoamerDatabaseVerificationRequestRes = -1;
-static gint ett_ansi_map_LCSParameterRequest = -1;
-static gint ett_ansi_map_LCSParameterRequestRes = -1;
-static gint ett_ansi_map_CheckMEID = -1;
-static gint ett_ansi_map_CheckMEIDRes = -1;
-static gint ett_ansi_map_AddService = -1;
-static gint ett_ansi_map_AddServiceRes = -1;
-static gint ett_ansi_map_DropService = -1;
-static gint ett_ansi_map_DropServiceRes = -1;
-static gint ett_ansi_map_PositionEventNotification = -1;
-static gint ett_ansi_map_OTASPRequest = -1;
-static gint ett_ansi_map_OTASPRequestRes = -1;
-static gint ett_ansi_map_StatusRequest = -1;
-static gint ett_ansi_map_StatusRequestRes = -1;
+static gint ett_ansi_map_AuthenticationDirective_U = -1;
+static gint ett_ansi_map_AuthenticationDirectiveRes_U = -1;
+static gint ett_ansi_map_AuthenticationDirectiveForward_U = -1;
+static gint ett_ansi_map_AuthenticationDirectiveForwardRes_U = -1;
+static gint ett_ansi_map_AuthenticationFailureReport_U = -1;
+static gint ett_ansi_map_AuthenticationFailureReportRes_U = -1;
+static gint ett_ansi_map_AuthenticationRequest_U = -1;
+static gint ett_ansi_map_AuthenticationRequestRes_U = -1;
+static gint ett_ansi_map_AuthenticationStatusReport_U = -1;
+static gint ett_ansi_map_AuthenticationStatusReportRes_U = -1;
+static gint ett_ansi_map_BaseStationChallenge_U = -1;
+static gint ett_ansi_map_BaseStationChallengeRes_U = -1;
+static gint ett_ansi_map_Blocking_U = -1;
+static gint ett_ansi_map_BulkDeregistration_U = -1;
+static gint ett_ansi_map_CountRequest_U = -1;
+static gint ett_ansi_map_CountRequestRes_U = -1;
+static gint ett_ansi_map_FacilitiesDirective_U = -1;
+static gint ett_ansi_map_FacilitiesDirectiveRes_U = -1;
+static gint ett_ansi_map_FacilitiesDirective2_U = -1;
+static gint ett_ansi_map_FacilitiesDirective2Res_U = -1;
+static gint ett_ansi_map_FacilitiesRelease_U = -1;
+static gint ett_ansi_map_FacilitiesReleaseRes_U = -1;
+static gint ett_ansi_map_FeatureRequest_U = -1;
+static gint ett_ansi_map_FeatureRequestRes_U = -1;
+static gint ett_ansi_map_FlashRequest_U = -1;
+static gint ett_ansi_map_HandoffBack_U = -1;
+static gint ett_ansi_map_HandoffBackRes_U = -1;
+static gint ett_ansi_map_HandoffBack2_U = -1;
+static gint ett_ansi_map_HandoffBack2Res_U = -1;
+static gint ett_ansi_map_HandoffMeasurementRequest_U = -1;
+static gint ett_ansi_map_HandoffMeasurementRequestRes_U = -1;
+static gint ett_ansi_map_HandoffMeasurementRequest2_U = -1;
+static gint ett_ansi_map_HandoffMeasurementRequest2Res_U = -1;
+static gint ett_ansi_map_HandoffToThird_U = -1;
+static gint ett_ansi_map_HandoffToThirdRes_U = -1;
+static gint ett_ansi_map_HandoffToThird2_U = -1;
+static gint ett_ansi_map_HandoffToThird2Res_U = -1;
+static gint ett_ansi_map_InformationDirective_U = -1;
+static gint ett_ansi_map_InformationDirectiveRes_U = -1;
+static gint ett_ansi_map_InformationForward_U = -1;
+static gint ett_ansi_map_InformationForwardRes_U = -1;
+static gint ett_ansi_map_InterSystemAnswer_U = -1;
+static gint ett_ansi_map_InterSystemPage_U = -1;
+static gint ett_ansi_map_InterSystemPageRes_U = -1;
+static gint ett_ansi_map_InterSystemPage2_U = -1;
+static gint ett_ansi_map_InterSystemPage2Res_U = -1;
+static gint ett_ansi_map_InterSystemSetup_U = -1;
+static gint ett_ansi_map_InterSystemSetupRes_U = -1;
+static gint ett_ansi_map_LocationRequest_U = -1;
+static gint ett_ansi_map_LocationRequestRes_U = -1;
+static gint ett_ansi_map_MSInactive_U = -1;
+static gint ett_ansi_map_OriginationRequest_U = -1;
+static gint ett_ansi_map_OriginationRequestRes_U = -1;
+static gint ett_ansi_map_QualificationDirective_U = -1;
+static gint ett_ansi_map_QualificationRequest_U = -1;
+static gint ett_ansi_map_QualificationRequestRes_U = -1;
+static gint ett_ansi_map_RandomVariableRequest_U = -1;
+static gint ett_ansi_map_RandomVariableRequestRes_U = -1;
+static gint ett_ansi_map_RedirectionDirective_U = -1;
+static gint ett_ansi_map_RedirectionRequest_U = -1;
+static gint ett_ansi_map_RegistrationCancellation_U = -1;
+static gint ett_ansi_map_RegistrationCancellationRes_U = -1;
+static gint ett_ansi_map_RegistrationNotification_U = -1;
+static gint ett_ansi_map_RegistrationNotificationRes_U = -1;
+static gint ett_ansi_map_RemoteUserInteractionDirective_U = -1;
+static gint ett_ansi_map_RemoteUserInteractionDirectiveRes_U = -1;
+static gint ett_ansi_map_ResetCircuit_U = -1;
+static gint ett_ansi_map_ResetCircuitRes_U = -1;
+static gint ett_ansi_map_RoutingRequest_U = -1;
+static gint ett_ansi_map_RoutingRequestRes_U = -1;
+static gint ett_ansi_map_SMSDeliveryBackward_U = -1;
+static gint ett_ansi_map_SMSDeliveryBackwardRes_U = -1;
+static gint ett_ansi_map_SMSDeliveryForward_U = -1;
+static gint ett_ansi_map_SMSDeliveryForwardRes_U = -1;
+static gint ett_ansi_map_SMSDeliveryPointToPoint_U = -1;
+static gint ett_ansi_map_SMSDeliveryPointToPointRes_U = -1;
+static gint ett_ansi_map_SMSNotification_U = -1;
+static gint ett_ansi_map_SMSNotificationRes_U = -1;
+static gint ett_ansi_map_SMSRequest_U = -1;
+static gint ett_ansi_map_SMSRequestRes_U = -1;
+static gint ett_ansi_map_TransferToNumberRequest_U = -1;
+static gint ett_ansi_map_TransferToNumberRequestRes_U = -1;
+static gint ett_ansi_map_TrunkTest_U = -1;
+static gint ett_ansi_map_TrunkTestDisconnect_U = -1;
+static gint ett_ansi_map_Unblocking_U = -1;
+static gint ett_ansi_map_UnreliableRoamerDataDirective_U = -1;
+static gint ett_ansi_map_UnsolicitedResponse_U = -1;
+static gint ett_ansi_map_UnsolicitedResponseRes_U = -1;
+static gint ett_ansi_map_ParameterRequest_U = -1;
+static gint ett_ansi_map_ParameterRequestRes_U = -1;
+static gint ett_ansi_map_TMSIDirective_U = -1;
+static gint ett_ansi_map_TMSIDirectiveRes_U = -1;
+static gint ett_ansi_map_NumberPortabilityRequest_U = -1;
+static gint ett_ansi_map_ServiceRequest_U = -1;
+static gint ett_ansi_map_ServiceRequestRes_U = -1;
+static gint ett_ansi_map_AnalyzedInformation_U = -1;
+static gint ett_ansi_map_AnalyzedInformationRes_U = -1;
+static gint ett_ansi_map_ConnectionFailureReport_U = -1;
+static gint ett_ansi_map_ConnectResource_U = -1;
+static gint ett_ansi_map_FacilitySelectedAndAvailable_U = -1;
+static gint ett_ansi_map_FacilitySelectedAndAvailableRes_U = -1;
+static gint ett_ansi_map_Modify_U = -1;
+static gint ett_ansi_map_ModifyRes_U = -1;
+static gint ett_ansi_map_Search_U = -1;
+static gint ett_ansi_map_SearchRes_U = -1;
+static gint ett_ansi_map_SeizeResource_U = -1;
+static gint ett_ansi_map_SeizeResourceRes_U = -1;
+static gint ett_ansi_map_SRFDirective_U = -1;
+static gint ett_ansi_map_SRFDirectiveRes_U = -1;
+static gint ett_ansi_map_TBusy_U = -1;
+static gint ett_ansi_map_TBusyRes_U = -1;
+static gint ett_ansi_map_TNoAnswer_U = -1;
+static gint ett_ansi_map_TNoAnswerRes_U = -1;
+static gint ett_ansi_map_ChangeFacilities_U = -1;
+static gint ett_ansi_map_ChangeFacilitiesRes_U = -1;
+static gint ett_ansi_map_ChangeService_U = -1;
+static gint ett_ansi_map_ChangeServiceRes_U = -1;
+static gint ett_ansi_map_MessageDirective_U = -1;
+static gint ett_ansi_map_BulkDisconnection_U = -1;
+static gint ett_ansi_map_CallControlDirective_U = -1;
+static gint ett_ansi_map_CallControlDirectiveRes_U = -1;
+static gint ett_ansi_map_OAnswer_U = -1;
+static gint ett_ansi_map_ODisconnect_U = -1;
+static gint ett_ansi_map_ODisconnectRes_U = -1;
+static gint ett_ansi_map_CallRecoveryReport_U = -1;
+static gint ett_ansi_map_TAnswer_U = -1;
+static gint ett_ansi_map_TDisconnect_U = -1;
+static gint ett_ansi_map_TDisconnectRes_U = -1;
+static gint ett_ansi_map_UnreliableCallData_U = -1;
+static gint ett_ansi_map_OCalledPartyBusy_U = -1;
+static gint ett_ansi_map_OCalledPartyBusyRes_U = -1;
+static gint ett_ansi_map_ONoAnswer_U = -1;
+static gint ett_ansi_map_ONoAnswerRes_U = -1;
+static gint ett_ansi_map_PositionRequest_U = -1;
+static gint ett_ansi_map_PositionRequestRes_U = -1;
+static gint ett_ansi_map_PositionRequestForward_U = -1;
+static gint ett_ansi_map_PositionRequestForwardRes_U = -1;
+static gint ett_ansi_map_CallTerminationReport_U = -1;
+static gint ett_ansi_map_GeoPositionRequest_U = -1;
+static gint ett_ansi_map_InterSystemPositionRequest_U = -1;
+static gint ett_ansi_map_InterSystemPositionRequestRes_U = -1;
+static gint ett_ansi_map_InterSystemPositionRequestForward_U = -1;
+static gint ett_ansi_map_InterSystemPositionRequestForwardRes_U = -1;
+static gint ett_ansi_map_ACGDirective_U = -1;
+static gint ett_ansi_map_RoamerDatabaseVerificationRequest_U = -1;
+static gint ett_ansi_map_RoamerDatabaseVerificationRequestRes_U = -1;
+static gint ett_ansi_map_LCSParameterRequest_U = -1;
+static gint ett_ansi_map_LCSParameterRequestRes_U = -1;
+static gint ett_ansi_map_CheckMEID_U = -1;
+static gint ett_ansi_map_CheckMEIDRes_U = -1;
+static gint ett_ansi_map_AddService_U = -1;
+static gint ett_ansi_map_AddServiceRes_U = -1;
+static gint ett_ansi_map_DropService_U = -1;
+static gint ett_ansi_map_DropServiceRes_U = -1;
+static gint ett_ansi_map_PositionEventNotification_U = -1;
+static gint ett_ansi_map_OTASPRequest_U = -1;
+static gint ett_ansi_map_OTASPRequestRes_U = -1;
+static gint ett_ansi_map_StatusRequest_U = -1;
+static gint ett_ansi_map_StatusRequestRes_U = -1;
static gint ett_ansi_map_AnnouncementList = -1;
static gint ett_ansi_map_CDMACodeChannelInformation = -1;
static gint ett_ansi_map_CDMACodeChannelList = -1;
@@ -1150,7 +1125,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 357 "packet-ansi_map-template.c"
+#line 358 "packet-ansi_map-template.c"
/* Global variables */
static dissector_handle_t data_handle=NULL;
@@ -1167,7 +1142,7 @@ static guint32 OperationCode;
static guint8 ServiceIndicator;
-struct amsi_map_invokedata_t {
+struct ansi_map_invokedata_t {
guint32 opcode;
guint8 ServiceIndicator;
};
@@ -1181,7 +1156,7 @@ static GHashTable *TransactionId_table=NULL;
static void
TransactionId_table_cleanup(gpointer key , gpointer value, gpointer user_data _U_){
- struct amsi_map_invokedata_t *ansi_map_saved_invokedata = value;
+ struct ansi_map_invokedata_t *ansi_map_saved_invokedata = value;
gchar *TransactionId_str = key;
if ( TransactionId_str ){
@@ -1214,9 +1189,9 @@ ansi_map_init_protocol(void)
/* Store Invoke information needed for the corresponding reply */
static void
-update_saved_invokedata(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb){
- struct amsi_map_invokedata_t *ansi_map_saved_invokedata;
- struct tcap_private_t *p_private_tcap;
+update_saved_invokedata(packet_info *pinfo, proto_tree *tree _U_, tvbuff_t *tvb _U_){
+ struct ansi_map_invokedata_t *ansi_map_saved_invokedata;
+ struct ansi_tcap_private_t *p_private_tcap;
address* src = &(pinfo->src);
address* dst = &(pinfo->dst);
guint8 *src_str;
@@ -1231,12 +1206,12 @@ update_saved_invokedata(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb){
/* Data from the TCAP dissector */
if (pinfo->private_data != NULL){
p_private_tcap=pinfo->private_data;
- ansi_map_saved_invokedata = g_malloc(sizeof(ansi_map_saved_invokedata));
- ansi_map_saved_invokedata->opcode = OperationCode;
- ansi_map_saved_invokedata->ServiceIndicator = ServiceIndicator;
if ((!pinfo->fd->flags.visited)&&(p_private_tcap->TransactionID_str)){
/* Only do this once XXX I hope its the right thing to do */
- buf = p_private_tcap->TransactionID_str;
+ ansi_map_saved_invokedata = g_malloc(sizeof(ansi_map_saved_invokedata));
+ ansi_map_saved_invokedata->opcode = p_private_tcap->d.OperationCode_private;
+ ansi_map_saved_invokedata->ServiceIndicator = ServiceIndicator;
+ strcpy(buf,p_private_tcap->TransactionID_str);
/* The hash string needs to contain src and dest to distiguish differnt flows */
strcat(buf,src_str);
strcat(buf,dst_str);
@@ -1244,7 +1219,9 @@ update_saved_invokedata(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb){
g_hash_table_insert(TransactionId_table,
g_strdup(buf),
ansi_map_saved_invokedata);
- proto_tree_add_text(tree, tvb, 0, 1, "HAsh string %s",buf);
+ /*
+ g_warning("Invoke Hash string %s",buf);
+ */
}
}
@@ -1554,7 +1531,10 @@ dissect_ansi_map_digits_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
case 2:/* Telephony Numbering (ITU-T Rec. E.164,E.163). */
case 6:/* Land Mobile Numbering (ITU-T Rec. E.212) */
case 7:/* Private Numbering Plan */
+ octet = tvb_get_guint8(tvb,offset);
proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, FALSE);
+ if(octet == 0)
+ return;
offset++;
switch ((octet&0xf)){
case 1:
@@ -4410,314 +4390,6 @@ static const value_string ansi_map_VoicePrivacyReport_vals[] = {
static int
-dissect_ansi_map_OCTET_STRING_SIZE_0_2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-
-static int
-dissect_ansi_map_INTEGER_M32768_32767(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-
-static int
-dissect_ansi_map_PrivateOperationCode(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 96 "ansi_map.cnf"
- offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
- &OperationCode);
-
- proto_tree_add_item(tree, hf_ansi_map_op_code_fam, tvb, offset-2,1,FALSE);
- proto_tree_add_item(tree, hf_ansi_map_op_code, tvb, offset-1,1,FALSE);
-
-
-
- return offset;
-}
-
-
-static const value_string ansi_map_OperationCode_vals[] = {
- { 16, "national" },
- { 17, "private" },
- { 0, NULL }
-};
-
-static const ber_choice_t OperationCode_choice[] = {
- { 16, &hf_ansi_map_national , BER_CLASS_PRI, 16, BER_FLAGS_IMPLTAG, dissect_ansi_map_INTEGER_M32768_32767 },
- { 17, &hf_ansi_map_private , BER_CLASS_PRI, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_PrivateOperationCode },
- { 0, NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ansi_map_OperationCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_choice(actx, tree, tvb, offset,
- OperationCode_choice, hf_index, ett_ansi_map_OperationCode,
- NULL);
-
- return offset;
-}
-
-
-
-static int
-dissect_ansi_map_InvokeParameters(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 17 "ansi_map.cnf"
-
- ServiceIndicator = 0;
- OperationCode = OperationCode&0x00ff;
-
- ansi_map_is_invoke = TRUE;
- if (check_col(actx->pinfo->cinfo, COL_INFO)){
- col_set_str(actx->pinfo->cinfo, COL_INFO, val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
- }
- /* No Data */
- if(tvb_length_remaining(tvb, offset)<=0){
- update_saved_invokedata(actx->pinfo, tree, tvb);
- return offset;
-
- }
-
- offset = dissect_invokeData(tree, tvb, offset, actx);
- update_saved_invokedata(actx->pinfo, tree, tvb);
-
-
-
- return offset;
-}
-
-
-static const ber_sequence_t InvokePDU_sequence[] = {
- { &hf_ansi_map_componentIDs, BER_CLASS_PRI, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OCTET_STRING_SIZE_0_2 },
- { &hf_ansi_map_operationCode, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_OperationCode },
- { &hf_ansi_map_invokeParameters, BER_CLASS_PRI, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_InvokeParameters },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ansi_map_InvokePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- InvokePDU_sequence, hf_index, ett_ansi_map_InvokePDU);
-
- return offset;
-}
-
-
-
-static int
-dissect_ansi_map_ComponentID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-
-static int
-dissect_ansi_map_ReturnParameters(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 36 "ansi_map.cnf"
- struct amsi_map_invokedata_t *ansi_map_saved_invokedata;
- struct tcap_private_t *p_private_tcap;
- proto_item *item;
- address* src = &(actx->pinfo->src);
- address* dst = &(actx->pinfo->dst);
- guint8 *src_str;
- guint8 *dst_str;
- char *buf;
-
- buf=ep_alloc(1024);
- src_str = address_to_str(src);
- dst_str = address_to_str(dst);
-
- /* Data from the TCAP dissector */
- if (actx->pinfo->private_data != NULL){
- p_private_tcap=actx->pinfo->private_data;
- /* The hash string needs to contain src and dest to distiguish differnt flows */
- src_str = address_to_str(src);
- dst_str = address_to_str(dst);
- buf = p_private_tcap->TransactionID_str;
- /* Reverse order to invoke */
- strcat(buf,dst_str);
- strcat(buf,src_str);
- strcat(buf,"\0");
- ansi_map_saved_invokedata = g_hash_table_lookup(TransactionId_table, p_private_tcap->TransactionID_str);
- if(ansi_map_saved_invokedata){
- OperationCode = ansi_map_saved_invokedata->opcode;
- ServiceIndicator = ansi_map_saved_invokedata->ServiceIndicator;
- }else{
- OperationCode = OperationCode & 0x00ff;
- }
- }else{
- OperationCode = OperationCode & 0x00ff;
- }
- if (check_col(actx->pinfo->cinfo, COL_INFO)){
- col_clear(actx->pinfo->cinfo, COL_INFO);
- col_add_fstr(actx->pinfo->cinfo, COL_INFO,"%s Response", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
- }
- /* No Data */
- if(tvb_length_remaining(tvb, offset)<=0){
- return offset;
- }
-
- item = proto_tree_add_text(tree, tvb, 0, -1, "OperationCode %s",val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown %u"));
- PROTO_ITEM_SET_GENERATED(item);
-
- ansi_map_is_invoke = FALSE;
- offset = dissect_returnData(tree, tvb, offset, actx);
-
-
-
- return offset;
-}
-
-
-static const ber_sequence_t ReturnResultPDU_sequence[] = {
- { &hf_ansi_map_componentID, BER_CLASS_PRI, 15, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ComponentID },
- { &hf_ansi_map_returnResult, BER_CLASS_PRI, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_ReturnParameters },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ansi_map_ReturnResultPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- ReturnResultPDU_sequence, hf_index, ett_ansi_map_ReturnResultPDU);
-
- return offset;
-}
-
-
-
-static int
-dissect_ansi_map_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-static const value_string ansi_map_ErrorCode_vals[] = {
- { 19, "nationaler" },
- { 20, "privateer" },
- { 0, NULL }
-};
-
-static const ber_choice_t ErrorCode_choice[] = {
- { 19, &hf_ansi_map_nationaler , BER_CLASS_PRI, 19, BER_FLAGS_IMPLTAG, dissect_ansi_map_INTEGER_M32768_32767 },
- { 20, &hf_ansi_map_privateer , BER_CLASS_PRI, 20, BER_FLAGS_IMPLTAG, dissect_ansi_map_INTEGER },
- { 0, NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ansi_map_ErrorCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_choice(actx, tree, tvb, offset,
- ErrorCode_choice, hf_index, ett_ansi_map_ErrorCode,
- NULL);
-
- return offset;
-}
-
-
-
-static int
-dissect_ansi_map_RejectParameters(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 88 "ansi_map.cnf"
-
-
-
- return offset;
-}
-
-
-static const ber_sequence_t ReturnErrorPDU_sequence[] = {
- { &hf_ansi_map_componentID, BER_CLASS_PRI, 15, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ComponentID },
- { &hf_ansi_map_errorCode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_ErrorCode },
- { &hf_ansi_map_parameterre, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RejectParameters },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ansi_map_ReturnErrorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- ReturnErrorPDU_sequence, hf_index, ett_ansi_map_ReturnErrorPDU);
-
- return offset;
-}
-
-
-static const value_string ansi_map_ProblemPDU_vals[] = {
- { 257, "general-unrecognisedComponentType" },
- { 258, "general-incorrectComponentPortion" },
- { 259, "general-badlyStructuredCompPortion" },
- { 0, NULL }
-};
-
-
-static int
-dissect_ansi_map_ProblemPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-static const ber_sequence_t RejectPDU_sequence[] = {
- { &hf_ansi_map_componentID, BER_CLASS_PRI, 15, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ComponentID },
- { &hf_ansi_map_rejectProblem, BER_CLASS_PRI, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_ProblemPDU },
- { &hf_ansi_map_parameterrj, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RejectParameters },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ansi_map_RejectPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- RejectPDU_sequence, hf_index, ett_ansi_map_RejectPDU);
-
- return offset;
-}
-
-
-static const value_string ansi_map_ComponentPDU_vals[] = {
- { 9, "invokeLast" },
- { 10, "returnResultLast" },
- { 11, "returnError" },
- { 12, "reject" },
- { 13, "invokeNotLast" },
- { 14, "returnResultNotLast" },
- { 0, NULL }
-};
-
-static const ber_choice_t ComponentPDU_choice[] = {
- { 9, &hf_ansi_map_invokeLast , BER_CLASS_PRI, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_InvokePDU },
- { 10, &hf_ansi_map_returnResultLast, BER_CLASS_PRI, 10, BER_FLAGS_IMPLTAG, dissect_ansi_map_ReturnResultPDU },
- { 11, &hf_ansi_map_returnError, BER_CLASS_PRI, 11, BER_FLAGS_IMPLTAG, dissect_ansi_map_ReturnErrorPDU },
- { 12, &hf_ansi_map_reject , BER_CLASS_PRI, 12, BER_FLAGS_IMPLTAG, dissect_ansi_map_RejectPDU },
- { 13, &hf_ansi_map_invokeNotLast, BER_CLASS_PRI, 13, BER_FLAGS_IMPLTAG, dissect_ansi_map_InvokePDU },
- { 14, &hf_ansi_map_returnResultNotLast, BER_CLASS_PRI, 14, BER_FLAGS_IMPLTAG, dissect_ansi_map_ReturnResultPDU },
- { 0, NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_ansi_map_ComponentPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_choice(actx, tree, tvb, offset,
- ComponentPDU_choice, hf_index, ett_ansi_map_ComponentPDU,
- NULL);
-
- return offset;
-}
-
-
-
-static int
dissect_ansi_map_ElectronicSerialNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
@@ -4729,7 +4401,7 @@ dissect_ansi_map_ElectronicSerialNumber(gboolean implicit_tag _U_, tvbuff_t *tvb
static int
dissect_ansi_map_MINType(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 101 "ansi_map.cnf"
+#line 26 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -4828,7 +4500,7 @@ dissect_ansi_map_CDMAPrivateLongCodeMask(gboolean implicit_tag _U_, tvbuff_t *tv
static int
dissect_ansi_map_DigitsType(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 108 "ansi_map.cnf"
+#line 33 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -4928,7 +4600,7 @@ dissect_ansi_map_MobileStationMIN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
static int
dissect_ansi_map_MSCID(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 265 "ansi_map.cnf"
+#line 190 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -5033,7 +4705,7 @@ dissect_ansi_map_UpdateCount(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
}
-static const ber_sequence_t AuthenticationDirective_set[] = {
+static const ber_sequence_t AuthenticationDirective_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
{ &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
@@ -5061,23 +4733,43 @@ static const ber_sequence_t AuthenticationDirective_set[] = {
};
static int
-dissect_ansi_map_AuthenticationDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_AuthenticationDirective_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- AuthenticationDirective_set, hf_index, ett_ansi_map_AuthenticationDirective);
+ AuthenticationDirective_U_set, hf_index, ett_ansi_map_AuthenticationDirective_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_AuthenticationDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirective_U);
return offset;
}
-static const ber_sequence_t AuthenticationDirectiveRes_set[] = {
+static const ber_sequence_t AuthenticationDirectiveRes_U_set[] = {
{ &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_AuthenticationDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_AuthenticationDirectiveRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- AuthenticationDirectiveRes_set, hf_index, ett_ansi_map_AuthenticationDirectiveRes);
+ AuthenticationDirectiveRes_U_set, hf_index, ett_ansi_map_AuthenticationDirectiveRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_AuthenticationDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirectiveRes_U);
return offset;
}
@@ -5086,7 +4778,7 @@ dissect_ansi_map_AuthenticationDirectiveRes(gboolean implicit_tag _U_, tvbuff_t
static int
dissect_ansi_map_InterMSCCircuitID(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 240 "ansi_map.cnf"
+#line 165 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -5101,7 +4793,7 @@ dissect_ansi_map_InterMSCCircuitID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
}
-static const ber_sequence_t AuthenticationDirectiveForward_set[] = {
+static const ber_sequence_t AuthenticationDirectiveForward_U_set[] = {
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
{ &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
@@ -5111,9 +4803,19 @@ static const ber_sequence_t AuthenticationDirectiveForward_set[] = {
};
static int
-dissect_ansi_map_AuthenticationDirectiveForward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_AuthenticationDirectiveForward_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- AuthenticationDirectiveForward_set, hf_index, ett_ansi_map_AuthenticationDirectiveForward);
+ AuthenticationDirectiveForward_U_set, hf_index, ett_ansi_map_AuthenticationDirectiveForward_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_AuthenticationDirectiveForward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirectiveForward_U);
return offset;
}
@@ -5139,16 +4841,26 @@ dissect_ansi_map_UniqueChallengeReport(gboolean implicit_tag _U_, tvbuff_t *tvb
}
-static const ber_sequence_t AuthenticationDirectiveForwardRes_set[] = {
+static const ber_sequence_t AuthenticationDirectiveForwardRes_U_set[] = {
{ &hf_ansi_map_countUpdateReport, BER_CLASS_CON, 138, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CountUpdateReport },
{ &hf_ansi_map_uniqueChallengeReport, BER_CLASS_CON, 124, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UniqueChallengeReport },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_AuthenticationDirectiveForwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_AuthenticationDirectiveForwardRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- AuthenticationDirectiveForwardRes_set, hf_index, ett_ansi_map_AuthenticationDirectiveForwardRes);
+ AuthenticationDirectiveForwardRes_U_set, hf_index, ett_ansi_map_AuthenticationDirectiveForwardRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_AuthenticationDirectiveForwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirectiveForwardRes_U);
return offset;
}
@@ -5212,7 +4924,7 @@ 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 403 "ansi_map.cnf"
+#line 328 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -5271,7 +4983,7 @@ dissect_ansi_map_TerminalType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
-static const ber_sequence_t AuthenticationFailureReport_set[] = {
+static const ber_sequence_t AuthenticationFailureReport_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
{ &hf_ansi_map_reportType , BER_CLASS_CON, 44, BER_FLAGS_IMPLTAG, dissect_ansi_map_ReportType },
@@ -5287,15 +4999,25 @@ static const ber_sequence_t AuthenticationFailureReport_set[] = {
};
static int
-dissect_ansi_map_AuthenticationFailureReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_AuthenticationFailureReport_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- AuthenticationFailureReport_set, hf_index, ett_ansi_map_AuthenticationFailureReport);
+ AuthenticationFailureReport_U_set, hf_index, ett_ansi_map_AuthenticationFailureReport_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_AuthenticationFailureReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationFailureReport_U);
return offset;
}
-static const ber_sequence_t AuthenticationFailureReportRes_set[] = {
+static const ber_sequence_t AuthenticationFailureReportRes_U_set[] = {
{ &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
{ &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
{ &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
@@ -5313,9 +5035,19 @@ static const ber_sequence_t AuthenticationFailureReportRes_set[] = {
};
static int
-dissect_ansi_map_AuthenticationFailureReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_AuthenticationFailureReportRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- AuthenticationFailureReportRes_set, hf_index, ett_ansi_map_AuthenticationFailureReportRes);
+ AuthenticationFailureReportRes_U_set, hf_index, ett_ansi_map_AuthenticationFailureReportRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_AuthenticationFailureReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationFailureReportRes_U);
return offset;
}
@@ -5354,7 +5086,7 @@ dissect_ansi_map_CDMANetworkIdentification(gboolean implicit_tag _U_, tvbuff_t *
static int
dissect_ansi_map_ConfidentialityModes(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 194 "ansi_map.cnf"
+#line 119 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -5390,7 +5122,7 @@ dissect_ansi_map_Digits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_ansi_map_PC_SSN(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 321 "ansi_map.cnf"
+#line 246 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -5445,7 +5177,7 @@ 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 420 "ansi_map.cnf"
+#line 345 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -5460,7 +5192,7 @@ dissect_ansi_map_TransactionCapability(gboolean implicit_tag _U_, tvbuff_t *tvb
}
-static const ber_sequence_t AuthenticationRequest_set[] = {
+static const ber_sequence_t AuthenticationRequest_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
@@ -5484,9 +5216,19 @@ static const ber_sequence_t AuthenticationRequest_set[] = {
};
static int
-dissect_ansi_map_AuthenticationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_AuthenticationRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- AuthenticationRequest_set, hf_index, ett_ansi_map_AuthenticationRequest);
+ AuthenticationRequest_U_set, hf_index, ett_ansi_map_AuthenticationRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_AuthenticationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationRequest_U);
return offset;
}
@@ -5622,7 +5364,7 @@ dissect_ansi_map_VoicePrivacyMask(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
}
-static const ber_sequence_t AuthenticationRequestRes_set[] = {
+static const ber_sequence_t AuthenticationRequestRes_U_set[] = {
{ &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
{ &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
{ &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
@@ -5648,9 +5390,19 @@ static const ber_sequence_t AuthenticationRequestRes_set[] = {
};
static int
-dissect_ansi_map_AuthenticationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_AuthenticationRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- AuthenticationRequestRes_set, hf_index, ett_ansi_map_AuthenticationRequestRes);
+ AuthenticationRequestRes_U_set, hf_index, ett_ansi_map_AuthenticationRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_AuthenticationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationRequestRes_U);
return offset;
}
@@ -5669,7 +5421,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 500 "ansi_map.cnf"
+#line 425 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -5728,7 +5480,7 @@ dissect_ansi_map_VoicePrivacyReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
}
-static const ber_sequence_t AuthenticationStatusReport_set[] = {
+static const ber_sequence_t AuthenticationStatusReport_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
{ &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
@@ -5746,15 +5498,25 @@ static const ber_sequence_t AuthenticationStatusReport_set[] = {
};
static int
-dissect_ansi_map_AuthenticationStatusReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_AuthenticationStatusReport_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- AuthenticationStatusReport_set, hf_index, ett_ansi_map_AuthenticationStatusReport);
+ AuthenticationStatusReport_U_set, hf_index, ett_ansi_map_AuthenticationStatusReport_U);
return offset;
}
-static const ber_sequence_t AuthenticationStatusReportRes_set[] = {
+
+static int
+dissect_ansi_map_AuthenticationStatusReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationStatusReport_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AuthenticationStatusReportRes_U_set[] = {
{ &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
{ &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
{ &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
@@ -5771,9 +5533,19 @@ static const ber_sequence_t AuthenticationStatusReportRes_set[] = {
};
static int
-dissect_ansi_map_AuthenticationStatusReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_AuthenticationStatusReportRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- AuthenticationStatusReportRes_set, hf_index, ett_ansi_map_AuthenticationStatusReportRes);
+ AuthenticationStatusReportRes_U_set, hf_index, ett_ansi_map_AuthenticationStatusReportRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_AuthenticationStatusReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationStatusReportRes_U);
return offset;
}
@@ -5789,7 +5561,7 @@ dissect_ansi_map_RandomVariableBaseStation(gboolean implicit_tag _U_, tvbuff_t *
}
-static const ber_sequence_t BaseStationChallenge_set[] = {
+static const ber_sequence_t BaseStationChallenge_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
{ &hf_ansi_map_randomVariableBaseStation, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableBaseStation },
@@ -5799,9 +5571,19 @@ static const ber_sequence_t BaseStationChallenge_set[] = {
};
static int
-dissect_ansi_map_BaseStationChallenge(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_BaseStationChallenge_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- BaseStationChallenge_set, hf_index, ett_ansi_map_BaseStationChallenge);
+ BaseStationChallenge_U_set, hf_index, ett_ansi_map_BaseStationChallenge_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_BaseStationChallenge(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BaseStationChallenge_U);
return offset;
}
@@ -5817,49 +5599,79 @@ dissect_ansi_map_AuthenticationResponseBaseStation(gboolean implicit_tag _U_, tv
}
-static const ber_sequence_t BaseStationChallengeRes_set[] = {
+static const ber_sequence_t BaseStationChallengeRes_U_set[] = {
{ &hf_ansi_map_authenticationResponseBaseStation, BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseBaseStation },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_BaseStationChallengeRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_BaseStationChallengeRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- BaseStationChallengeRes_set, hf_index, ett_ansi_map_BaseStationChallengeRes);
+ BaseStationChallengeRes_U_set, hf_index, ett_ansi_map_BaseStationChallengeRes_U);
return offset;
}
-static const ber_sequence_t Blocking_set[] = {
+
+static int
+dissect_ansi_map_BaseStationChallengeRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BaseStationChallengeRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t Blocking_U_set[] = {
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_Blocking(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_Blocking_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- Blocking_set, hf_index, ett_ansi_map_Blocking);
+ Blocking_U_set, hf_index, ett_ansi_map_Blocking_U);
return offset;
}
-static const ber_sequence_t BulkDeregistration_set[] = {
+
+static int
+dissect_ansi_map_Blocking(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Blocking_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t BulkDeregistration_U_set[] = {
{ &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_BulkDeregistration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_BulkDeregistration_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- BulkDeregistration_set, hf_index, ett_ansi_map_BulkDeregistration);
+ BulkDeregistration_U_set, hf_index, ett_ansi_map_BulkDeregistration_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_BulkDeregistration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BulkDeregistration_U);
return offset;
}
-static const ber_sequence_t CountRequest_set[] = {
+static const ber_sequence_t CountRequest_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
{ &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
@@ -5867,23 +5679,43 @@ static const ber_sequence_t CountRequest_set[] = {
};
static int
-dissect_ansi_map_CountRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_CountRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- CountRequest_set, hf_index, ett_ansi_map_CountRequest);
+ CountRequest_U_set, hf_index, ett_ansi_map_CountRequest_U);
return offset;
}
-static const ber_sequence_t CountRequestRes_set[] = {
+
+static int
+dissect_ansi_map_CountRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CountRequest_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t CountRequestRes_U_set[] = {
{ &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_CountRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_CountRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- CountRequestRes_set, hf_index, ett_ansi_map_CountRequestRes);
+ CountRequestRes_U_set, hf_index, ett_ansi_map_CountRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_CountRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CountRequestRes_U);
return offset;
}
@@ -5892,7 +5724,7 @@ dissect_ansi_map_CountRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
static int
dissect_ansi_map_BillingID(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 148 "ansi_map.cnf"
+#line 73 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -5910,7 +5742,7 @@ dissect_ansi_map_BillingID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
static int
dissect_ansi_map_ChannelData(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 186 "ansi_map.cnf"
+#line 111 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -5987,7 +5819,7 @@ dissect_ansi_map_HandoffReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_ansi_map_HandoffState(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 232 "ansi_map.cnf"
+#line 157 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -6032,7 +5864,7 @@ dissect_ansi_map_TDMAChannelData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
}
-static const ber_sequence_t FacilitiesDirective_set[] = {
+static const ber_sequence_t FacilitiesDirective_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
@@ -6054,15 +5886,25 @@ static const ber_sequence_t FacilitiesDirective_set[] = {
};
static int
-dissect_ansi_map_FacilitiesDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_FacilitiesDirective_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- FacilitiesDirective_set, hf_index, ett_ansi_map_FacilitiesDirective);
+ FacilitiesDirective_U_set, hf_index, ett_ansi_map_FacilitiesDirective_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_FacilitiesDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirective_U);
return offset;
}
-static const ber_sequence_t FacilitiesDirectiveRes_set[] = {
+static const ber_sequence_t FacilitiesDirectiveRes_U_set[] = {
{ &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
{ &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
{ &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
@@ -6071,9 +5913,19 @@ static const ber_sequence_t FacilitiesDirectiveRes_set[] = {
};
static int
-dissect_ansi_map_FacilitiesDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_FacilitiesDirectiveRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- FacilitiesDirectiveRes_set, hf_index, ett_ansi_map_FacilitiesDirectiveRes);
+ FacilitiesDirectiveRes_U_set, hf_index, ett_ansi_map_FacilitiesDirectiveRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_FacilitiesDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirectiveRes_U);
return offset;
}
@@ -6092,7 +5944,7 @@ dissect_ansi_map_BaseStationManufacturerCode(gboolean implicit_tag _U_, tvbuff_t
static int
dissect_ansi_map_AlertCode(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 123 "ansi_map.cnf"
+#line 48 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -6110,7 +5962,7 @@ 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 478 "ansi_map.cnf"
+#line 403 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
proto_tree *subtree;
@@ -6180,7 +6032,7 @@ dissect_ansi_map_CDMABandClassList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
static int
dissect_ansi_map_CDMACallMode(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 163 "ansi_map.cnf"
+#line 88 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -6197,7 +6049,7 @@ dissect_ansi_map_CDMACallMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_ansi_map_CDMAChannelData(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 170 "ansi_map.cnf"
+#line 95 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -6225,7 +6077,7 @@ 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 428 "ansi_map.cnf"
+#line 353 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -6363,7 +6215,7 @@ dissect_ansi_map_CDMAServingOneWayDelay(gboolean implicit_tag _U_, tvbuff_t *tvb
static int
dissect_ansi_map_CDMAStationClassMark(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 178 "ansi_map.cnf"
+#line 103 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -6479,7 +6331,7 @@ dissect_ansi_map_ISLPInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
static int
dissect_ansi_map_MSLocation(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 273 "ansi_map.cnf"
+#line 198 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -6497,7 +6349,7 @@ dissect_ansi_map_MSLocation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
static int
dissect_ansi_map_NAMPSCallMode(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 281 "ansi_map.cnf"
+#line 206 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -6515,7 +6367,7 @@ dissect_ansi_map_NAMPSCallMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_ansi_map_NAMPSChannelData(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 289 "ansi_map.cnf"
+#line 214 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -6630,7 +6482,7 @@ dissect_ansi_map_UserZoneData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
-static const ber_sequence_t FacilitiesDirective2_set[] = {
+static const ber_sequence_t FacilitiesDirective2_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
@@ -6687,9 +6539,19 @@ static const ber_sequence_t FacilitiesDirective2_set[] = {
};
static int
-dissect_ansi_map_FacilitiesDirective2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_FacilitiesDirective2_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- FacilitiesDirective2_set, hf_index, ett_ansi_map_FacilitiesDirective2);
+ FacilitiesDirective2_U_set, hf_index, ett_ansi_map_FacilitiesDirective2_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_FacilitiesDirective2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirective2_U);
return offset;
}
@@ -6708,7 +6570,7 @@ 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 489 "ansi_map.cnf"
+#line 414 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
proto_tree *subtree;
@@ -6816,7 +6678,7 @@ dissect_ansi_map_SOCStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
}
-static const ber_sequence_t FacilitiesDirective2Res_set[] = {
+static const ber_sequence_t FacilitiesDirective2Res_U_set[] = {
{ &hf_ansi_map_bsmcstatus , BER_CLASS_CON, 198, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BSMCStatus },
{ &hf_ansi_map_cdma2000HandoffResponseIOSData, BER_CLASS_CON, 357, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffResponseIOSData },
{ &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
@@ -6838,9 +6700,19 @@ static const ber_sequence_t FacilitiesDirective2Res_set[] = {
};
static int
-dissect_ansi_map_FacilitiesDirective2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_FacilitiesDirective2Res_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- FacilitiesDirective2Res_set, hf_index, ett_ansi_map_FacilitiesDirective2Res);
+ FacilitiesDirective2Res_U_set, hf_index, ett_ansi_map_FacilitiesDirective2Res_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_FacilitiesDirective2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirective2Res_U);
return offset;
}
@@ -6875,7 +6747,7 @@ dissect_ansi_map_ReleaseReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
-static const ber_sequence_t FacilitiesRelease_set[] = {
+static const ber_sequence_t FacilitiesRelease_U_set[] = {
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ &hf_ansi_map_releaseReason, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseReason },
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
@@ -6884,23 +6756,43 @@ static const ber_sequence_t FacilitiesRelease_set[] = {
};
static int
-dissect_ansi_map_FacilitiesRelease(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_FacilitiesRelease_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- FacilitiesRelease_set, hf_index, ett_ansi_map_FacilitiesRelease);
+ FacilitiesRelease_U_set, hf_index, ett_ansi_map_FacilitiesRelease_U);
return offset;
}
-static const ber_sequence_t FacilitiesReleaseRes_set[] = {
+
+static int
+dissect_ansi_map_FacilitiesRelease(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesRelease_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t FacilitiesReleaseRes_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_FacilitiesReleaseRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_FacilitiesReleaseRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- FacilitiesReleaseRes_set, hf_index, ett_ansi_map_FacilitiesReleaseRes);
+ FacilitiesReleaseRes_U_set, hf_index, ett_ansi_map_FacilitiesReleaseRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_FacilitiesReleaseRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesReleaseRes_U);
return offset;
}
@@ -6919,7 +6811,7 @@ 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 439 "ansi_map.cnf"
+#line 364 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -6955,7 +6847,7 @@ dissect_ansi_map_CallingPartyNumberDigits2(gboolean implicit_tag _U_, tvbuff_t *
static int
dissect_ansi_map_Subaddress(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 115 "ansi_map.cnf"
+#line 40 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -7010,7 +6902,7 @@ dissect_ansi_map_MSCIdentificationNumber(gboolean implicit_tag _U_, tvbuff_t *tv
static int
dissect_ansi_map_OneTimeFeatureIndicator(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 297 "ansi_map.cnf"
+#line 222 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -7025,7 +6917,7 @@ dissect_ansi_map_OneTimeFeatureIndicator(gboolean implicit_tag _U_, tvbuff_t *tv
}
-static const ber_sequence_t FeatureRequest_set[] = {
+static const ber_sequence_t FeatureRequest_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_digits , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
@@ -7072,9 +6964,19 @@ static const ber_sequence_t FeatureRequest_set[] = {
};
static int
-dissect_ansi_map_FeatureRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_FeatureRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- FeatureRequest_set, hf_index, ett_ansi_map_FeatureRequest);
+ FeatureRequest_U_set, hf_index, ett_ansi_map_FeatureRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_FeatureRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FeatureRequest_U);
return offset;
}
@@ -7136,7 +7038,7 @@ dissect_ansi_map_ActionCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
static int
dissect_ansi_map_AnnouncementCode(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 131 "ansi_map.cnf"
+#line 56 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -7293,7 +7195,7 @@ dissect_ansi_map_NoAnswerTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_ansi_map_PACAIndicator(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 313 "ansi_map.cnf"
+#line 238 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -7399,7 +7301,7 @@ 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 412 "ansi_map.cnf"
+#line 337 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -7588,7 +7490,7 @@ 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"
+#line 387 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -7633,7 +7535,7 @@ dissect_ansi_map_TriggerAddressList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
}
-static const ber_sequence_t FeatureRequestRes_set[] = {
+static const ber_sequence_t FeatureRequestRes_U_set[] = {
{ &hf_ansi_map_featureResult, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureResult },
{ &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
{ &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
@@ -7670,9 +7572,19 @@ static const ber_sequence_t FeatureRequestRes_set[] = {
};
static int
-dissect_ansi_map_FeatureRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_FeatureRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- FeatureRequestRes_set, hf_index, ett_ansi_map_FeatureRequestRes);
+ FeatureRequestRes_U_set, hf_index, ett_ansi_map_FeatureRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_FeatureRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FeatureRequestRes_U);
return offset;
}
@@ -7687,7 +7599,7 @@ dissect_ansi_map_EmergencyServicesRoutingDigits(gboolean implicit_tag _U_, tvbuf
}
-static const ber_sequence_t FlashRequest_set[] = {
+static const ber_sequence_t FlashRequest_U_set[] = {
{ &hf_ansi_map_digits , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
@@ -7698,15 +7610,25 @@ static const ber_sequence_t FlashRequest_set[] = {
};
static int
-dissect_ansi_map_FlashRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_FlashRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- FlashRequest_set, hf_index, ett_ansi_map_FlashRequest);
+ FlashRequest_U_set, hf_index, ett_ansi_map_FlashRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_FlashRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FlashRequest_U);
return offset;
}
-static const ber_sequence_t HandoffBack_set[] = {
+static const ber_sequence_t HandoffBack_U_set[] = {
{ &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
@@ -7725,15 +7647,25 @@ static const ber_sequence_t HandoffBack_set[] = {
};
static int
-dissect_ansi_map_HandoffBack(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_HandoffBack_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- HandoffBack_set, hf_index, ett_ansi_map_HandoffBack);
+ HandoffBack_U_set, hf_index, ett_ansi_map_HandoffBack_U);
return offset;
}
-static const ber_sequence_t HandoffBackRes_set[] = {
+
+static int
+dissect_ansi_map_HandoffBack(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBack_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t HandoffBackRes_U_set[] = {
{ &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
{ &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
{ &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
@@ -7742,15 +7674,25 @@ static const ber_sequence_t HandoffBackRes_set[] = {
};
static int
-dissect_ansi_map_HandoffBackRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_HandoffBackRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- HandoffBackRes_set, hf_index, ett_ansi_map_HandoffBackRes);
+ HandoffBackRes_U_set, hf_index, ett_ansi_map_HandoffBackRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_HandoffBackRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBackRes_U);
return offset;
}
-static const ber_sequence_t HandoffBack2_set[] = {
+static const ber_sequence_t HandoffBack2_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
@@ -7803,15 +7745,25 @@ static const ber_sequence_t HandoffBack2_set[] = {
};
static int
-dissect_ansi_map_HandoffBack2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_HandoffBack2_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- HandoffBack2_set, hf_index, ett_ansi_map_HandoffBack2);
+ HandoffBack2_U_set, hf_index, ett_ansi_map_HandoffBack2_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_HandoffBack2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBack2_U);
return offset;
}
-static const ber_sequence_t HandoffBack2Res_set[] = {
+static const ber_sequence_t HandoffBack2Res_U_set[] = {
{ &hf_ansi_map_bsmcstatus , BER_CLASS_CON, 198, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BSMCStatus },
{ &hf_ansi_map_cdma2000HandoffResponseIOSData, BER_CLASS_CON, 357, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffResponseIOSData },
{ &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
@@ -7832,9 +7784,19 @@ static const ber_sequence_t HandoffBack2Res_set[] = {
};
static int
-dissect_ansi_map_HandoffBack2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_HandoffBack2Res_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- HandoffBack2Res_set, hf_index, ett_ansi_map_HandoffBack2Res);
+ HandoffBack2Res_U_set, hf_index, ett_ansi_map_HandoffBack2Res_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_HandoffBack2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBack2Res_U);
return offset;
}
@@ -7855,7 +7817,7 @@ dissect_ansi_map_TargetCellIDList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
}
-static const ber_sequence_t HandoffMeasurementRequest_set[] = {
+static const ber_sequence_t HandoffMeasurementRequest_U_set[] = {
{ &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
{ &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
{ &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
@@ -7867,9 +7829,19 @@ static const ber_sequence_t HandoffMeasurementRequest_set[] = {
};
static int
-dissect_ansi_map_HandoffMeasurementRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_HandoffMeasurementRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- HandoffMeasurementRequest_set, hf_index, ett_ansi_map_HandoffMeasurementRequest);
+ HandoffMeasurementRequest_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_HandoffMeasurementRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequest_U);
return offset;
}
@@ -7910,22 +7882,32 @@ dissect_ansi_map_SignalQuality(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
-static const ber_sequence_t HandoffMeasurementRequestRes_set[] = {
+static const ber_sequence_t HandoffMeasurementRequestRes_U_set[] = {
{ &hf_ansi_map_signalQuality, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalQuality },
{ &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_HandoffMeasurementRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_HandoffMeasurementRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- HandoffMeasurementRequestRes_set, hf_index, ett_ansi_map_HandoffMeasurementRequestRes);
+ HandoffMeasurementRequestRes_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_HandoffMeasurementRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequestRes_U);
return offset;
}
-static const ber_sequence_t HandoffMeasurementRequest2_set[] = {
+static const ber_sequence_t HandoffMeasurementRequest2_U_set[] = {
{ &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
{ &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
{ &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
@@ -7948,9 +7930,19 @@ static const ber_sequence_t HandoffMeasurementRequest2_set[] = {
};
static int
-dissect_ansi_map_HandoffMeasurementRequest2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_HandoffMeasurementRequest2_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- HandoffMeasurementRequest2_set, hf_index, ett_ansi_map_HandoffMeasurementRequest2);
+ HandoffMeasurementRequest2_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequest2_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_HandoffMeasurementRequest2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequest2_U);
return offset;
}
@@ -7984,22 +7976,32 @@ dissect_ansi_map_TargetMeasurementList(gboolean implicit_tag _U_, tvbuff_t *tvb
}
-static const ber_sequence_t HandoffMeasurementRequest2Res_set[] = {
+static const ber_sequence_t HandoffMeasurementRequest2Res_U_set[] = {
{ &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
{ &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_HandoffMeasurementRequest2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_HandoffMeasurementRequest2Res_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- HandoffMeasurementRequest2Res_set, hf_index, ett_ansi_map_HandoffMeasurementRequest2Res);
+ HandoffMeasurementRequest2Res_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequest2Res_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_HandoffMeasurementRequest2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequest2Res_U);
return offset;
}
-static const ber_sequence_t HandoffToThird_set[] = {
+static const ber_sequence_t HandoffToThird_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
@@ -8042,15 +8044,25 @@ static const ber_sequence_t HandoffToThird_set[] = {
};
static int
-dissect_ansi_map_HandoffToThird(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_HandoffToThird_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- HandoffToThird_set, hf_index, ett_ansi_map_HandoffToThird);
+ HandoffToThird_U_set, hf_index, ett_ansi_map_HandoffToThird_U);
return offset;
}
-static const ber_sequence_t HandoffToThirdRes_set[] = {
+
+static int
+dissect_ansi_map_HandoffToThird(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThird_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t HandoffToThirdRes_U_set[] = {
{ &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
{ &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
{ &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
@@ -8066,15 +8078,25 @@ static const ber_sequence_t HandoffToThirdRes_set[] = {
};
static int
-dissect_ansi_map_HandoffToThirdRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_HandoffToThirdRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- HandoffToThirdRes_set, hf_index, ett_ansi_map_HandoffToThirdRes);
+ HandoffToThirdRes_U_set, hf_index, ett_ansi_map_HandoffToThirdRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_HandoffToThirdRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThirdRes_U);
return offset;
}
-static const ber_sequence_t HandoffToThird2_set[] = {
+static const ber_sequence_t HandoffToThird2_U_set[] = {
{ &hf_ansi_map_bsmcstatus , BER_CLASS_CON, 198, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BSMCStatus },
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
@@ -8127,15 +8149,25 @@ static const ber_sequence_t HandoffToThird2_set[] = {
};
static int
-dissect_ansi_map_HandoffToThird2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_HandoffToThird2_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- HandoffToThird2_set, hf_index, ett_ansi_map_HandoffToThird2);
+ HandoffToThird2_U_set, hf_index, ett_ansi_map_HandoffToThird2_U);
return offset;
}
-static const ber_sequence_t HandoffToThird2Res_set[] = {
+
+static int
+dissect_ansi_map_HandoffToThird2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThird2_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t HandoffToThird2Res_U_set[] = {
{ &hf_ansi_map_cdma2000HandoffResponseIOSData, BER_CLASS_CON, 357, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffResponseIOSData },
{ &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
{ &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
@@ -8154,15 +8186,25 @@ static const ber_sequence_t HandoffToThird2Res_set[] = {
};
static int
-dissect_ansi_map_HandoffToThird2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_HandoffToThird2Res_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- HandoffToThird2Res_set, hf_index, ett_ansi_map_HandoffToThird2Res);
+ HandoffToThird2Res_U_set, hf_index, ett_ansi_map_HandoffToThird2Res_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_HandoffToThird2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThird2Res_U);
return offset;
}
-static const ber_sequence_t InformationDirective_set[] = {
+static const ber_sequence_t InformationDirective_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
{ &hf_ansi_map_alertCode , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
@@ -8179,9 +8221,19 @@ static const ber_sequence_t InformationDirective_set[] = {
};
static int
-dissect_ansi_map_InformationDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_InformationDirective_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- InformationDirective_set, hf_index, ett_ansi_map_InformationDirective);
+ InformationDirective_U_set, hf_index, ett_ansi_map_InformationDirective_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_InformationDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationDirective_U);
return offset;
}
@@ -8197,15 +8249,25 @@ dissect_ansi_map_AlertResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
}
-static const ber_sequence_t InformationDirectiveRes_set[] = {
+static const ber_sequence_t InformationDirectiveRes_U_set[] = {
{ &hf_ansi_map_alertResult, BER_CLASS_CON, 129, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertResult },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_InformationDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_InformationDirectiveRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- InformationDirectiveRes_set, hf_index, ett_ansi_map_InformationDirectiveRes);
+ InformationDirectiveRes_U_set, hf_index, ett_ansi_map_InformationDirectiveRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_InformationDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationDirectiveRes_U);
return offset;
}
@@ -8214,7 +8276,7 @@ dissect_ansi_map_InformationDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tv
static int
dissect_ansi_map_MessageWaitingNotificationCount(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 248 "ansi_map.cnf"
+#line 173 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -8232,7 +8294,7 @@ dissect_ansi_map_MessageWaitingNotificationCount(gboolean implicit_tag _U_, tvbu
static int
dissect_ansi_map_MessageWaitingNotificationType(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 256 "ansi_map.cnf"
+#line 181 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -8248,7 +8310,7 @@ dissect_ansi_map_MessageWaitingNotificationType(gboolean implicit_tag _U_, tvbuf
}
-static const ber_sequence_t InformationForward_set[] = {
+static const ber_sequence_t InformationForward_U_set[] = {
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
{ &hf_ansi_map_alertCode , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
@@ -8267,29 +8329,49 @@ static const ber_sequence_t InformationForward_set[] = {
};
static int
-dissect_ansi_map_InformationForward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_InformationForward_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- InformationForward_set, hf_index, ett_ansi_map_InformationForward);
+ InformationForward_U_set, hf_index, ett_ansi_map_InformationForward_U);
return offset;
}
-static const ber_sequence_t InformationForwardRes_set[] = {
+
+static int
+dissect_ansi_map_InformationForward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationForward_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t InformationForwardRes_U_set[] = {
{ &hf_ansi_map_alertResult, BER_CLASS_CON, 129, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertResult },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_InformationForwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_InformationForwardRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- InformationForwardRes_set, hf_index, ett_ansi_map_InformationForwardRes);
+ InformationForwardRes_U_set, hf_index, ett_ansi_map_InformationForwardRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_InformationForwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationForwardRes_U);
return offset;
}
-static const ber_sequence_t InterSystemAnswer_set[] = {
+static const ber_sequence_t InterSystemAnswer_U_set[] = {
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
@@ -8297,9 +8379,19 @@ static const ber_sequence_t InterSystemAnswer_set[] = {
};
static int
-dissect_ansi_map_InterSystemAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_InterSystemAnswer_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- InterSystemAnswer_set, hf_index, ett_ansi_map_InterSystemAnswer);
+ InterSystemAnswer_U_set, hf_index, ett_ansi_map_InterSystemAnswer_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_InterSystemAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemAnswer_U);
return offset;
}
@@ -8318,7 +8410,7 @@ dissect_ansi_map_CDMASlotCycleIndex(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
static int
dissect_ansi_map_ExtendedMSCID(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 217 "ansi_map.cnf"
+#line 142 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -8336,7 +8428,7 @@ dissect_ansi_map_ExtendedMSCID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_ansi_map_ExtendedSystemMyTypeCode(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 225 "ansi_map.cnf"
+#line 150 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -8403,7 +8495,7 @@ dissect_ansi_map_PageResponseTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
static int
dissect_ansi_map_PilotBillingID(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 329 "ansi_map.cnf"
+#line 254 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
@@ -8488,7 +8580,7 @@ dissect_ansi_map_TDMADataFeaturesIndicator(gboolean implicit_tag _U_, tvbuff_t *
}
-static const ber_sequence_t InterSystemPage_set[] = {
+static const ber_sequence_t InterSystemPage_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_alertCode , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
@@ -8546,9 +8638,19 @@ static const ber_sequence_t InterSystemPage_set[] = {
};
static int
-dissect_ansi_map_InterSystemPage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_InterSystemPage_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- InterSystemPage_set, hf_index, ett_ansi_map_InterSystemPage);
+ InterSystemPage_U_set, hf_index, ett_ansi_map_InterSystemPage_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_InterSystemPage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPage_U);
return offset;
}
@@ -8570,7 +8672,7 @@ dissect_ansi_map_ConditionallyDeniedReason(gboolean implicit_tag _U_, tvbuff_t *
}
-static const ber_sequence_t InterSystemPageRes_set[] = {
+static const ber_sequence_t InterSystemPageRes_U_set[] = {
{ &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
@@ -8585,9 +8687,19 @@ static const ber_sequence_t InterSystemPageRes_set[] = {
};
static int
-dissect_ansi_map_InterSystemPageRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_InterSystemPageRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- InterSystemPageRes_set, hf_index, ett_ansi_map_InterSystemPageRes);
+ InterSystemPageRes_U_set, hf_index, ett_ansi_map_InterSystemPageRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_InterSystemPageRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPageRes_U);
return offset;
}
@@ -8628,7 +8740,7 @@ dissect_ansi_map_PSID_RSIDList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
-static const ber_sequence_t InterSystemPage2_set[] = {
+static const ber_sequence_t InterSystemPage2_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_alertCode , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
@@ -8667,9 +8779,19 @@ static const ber_sequence_t InterSystemPage2_set[] = {
};
static int
-dissect_ansi_map_InterSystemPage2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_InterSystemPage2_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- InterSystemPage2_set, hf_index, ett_ansi_map_InterSystemPage2);
+ InterSystemPage2_U_set, hf_index, ett_ansi_map_InterSystemPage2_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_InterSystemPage2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPage2_U);
return offset;
}
@@ -8695,7 +8817,7 @@ dissect_ansi_map_TDMADataMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
-static const ber_sequence_t InterSystemPage2Res_set[] = {
+static const ber_sequence_t InterSystemPage2Res_U_set[] = {
{ &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
{ &hf_ansi_map_authenticationResponseBaseStation, BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseBaseStation },
{ &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
@@ -8711,9 +8833,19 @@ static const ber_sequence_t InterSystemPage2Res_set[] = {
};
static int
-dissect_ansi_map_InterSystemPage2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_InterSystemPage2Res_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- InterSystemPage2Res_set, hf_index, ett_ansi_map_InterSystemPage2Res);
+ InterSystemPage2Res_U_set, hf_index, ett_ansi_map_InterSystemPage2Res_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_InterSystemPage2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPage2Res_U);
return offset;
}
@@ -8729,7 +8861,7 @@ dissect_ansi_map_ChangeServiceAttributes(gboolean implicit_tag _U_, tvbuff_t *tv
}
-static const ber_sequence_t InterSystemSetup_set[] = {
+static const ber_sequence_t InterSystemSetup_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
@@ -8755,9 +8887,19 @@ static const ber_sequence_t InterSystemSetup_set[] = {
};
static int
-dissect_ansi_map_InterSystemSetup(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_InterSystemSetup_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- InterSystemSetup_set, hf_index, ett_ansi_map_InterSystemSetup);
+ InterSystemSetup_U_set, hf_index, ett_ansi_map_InterSystemSetup_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_InterSystemSetup(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemSetup_U);
return offset;
}
@@ -8773,7 +8915,7 @@ dissect_ansi_map_SetupResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
}
-static const ber_sequence_t InterSystemSetupRes_set[] = {
+static const ber_sequence_t InterSystemSetupRes_U_set[] = {
{ &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
{ &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
{ &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
@@ -8782,9 +8924,19 @@ static const ber_sequence_t InterSystemSetupRes_set[] = {
};
static int
-dissect_ansi_map_InterSystemSetupRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_InterSystemSetupRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- InterSystemSetupRes_set, hf_index, ett_ansi_map_InterSystemSetupRes);
+ InterSystemSetupRes_U_set, hf_index, ett_ansi_map_InterSystemSetupRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_InterSystemSetupRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemSetupRes_U);
return offset;
}
@@ -8871,7 +9023,7 @@ 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 447 "ansi_map.cnf"
+#line 372 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -8889,7 +9041,7 @@ 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 455 "ansi_map.cnf"
+#line 380 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -8928,7 +9080,7 @@ dissect_ansi_map_CallingPartyCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _
}
-static const ber_sequence_t LocationRequest_set[] = {
+static const ber_sequence_t LocationRequest_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_digits , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
@@ -8954,9 +9106,19 @@ static const ber_sequence_t LocationRequest_set[] = {
};
static int
-dissect_ansi_map_LocationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_LocationRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- LocationRequest_set, hf_index, ett_ansi_map_LocationRequest);
+ LocationRequest_U_set, hf_index, ett_ansi_map_LocationRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_LocationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LocationRequest_U);
return offset;
}
@@ -8965,7 +9127,7 @@ 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 470 "ansi_map.cnf"
+#line 395 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -8990,7 +9152,7 @@ dissect_ansi_map_DMH_ServiceID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
-static const ber_sequence_t LocationRequestRes_set[] = {
+static const ber_sequence_t LocationRequestRes_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
@@ -9027,9 +9189,19 @@ static const ber_sequence_t LocationRequestRes_set[] = {
};
static int
-dissect_ansi_map_LocationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_LocationRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- LocationRequestRes_set, hf_index, ett_ansi_map_LocationRequestRes);
+ LocationRequestRes_U_set, hf_index, ett_ansi_map_LocationRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_LocationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LocationRequestRes_U);
return offset;
}
@@ -9072,7 +9244,7 @@ dissect_ansi_map_SMS_MessageWaitingIndicator(gboolean implicit_tag _U_, tvbuff_t
}
-static const ber_sequence_t MSInactive_set[] = {
+static const ber_sequence_t MSInactive_U_set[] = {
{ &hf_ansi_map_lectronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
{ &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
@@ -9086,9 +9258,19 @@ static const ber_sequence_t MSInactive_set[] = {
};
static int
-dissect_ansi_map_MSInactive(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_MSInactive_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- MSInactive_set, hf_index, ett_ansi_map_MSInactive);
+ MSInactive_U_set, hf_index, ett_ansi_map_MSInactive_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_MSInactive(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_MSInactive_U);
return offset;
}
@@ -9097,7 +9279,7 @@ dissect_ansi_map_MSInactive(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
static int
dissect_ansi_map_OriginationTriggers(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 305 "ansi_map.cnf"
+#line 230 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -9128,7 +9310,7 @@ dissect_ansi_map_FeatureIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
}
-static const ber_sequence_t OriginationRequest_set[] = {
+static const ber_sequence_t OriginationRequest_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_digits , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
@@ -9160,9 +9342,19 @@ static const ber_sequence_t OriginationRequest_set[] = {
};
static int
-dissect_ansi_map_OriginationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_OriginationRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- OriginationRequest_set, hf_index, ett_ansi_map_OriginationRequest);
+ OriginationRequest_U_set, hf_index, ett_ansi_map_OriginationRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_OriginationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OriginationRequest_U);
return offset;
}
@@ -9178,7 +9370,7 @@ dissect_ansi_map_DMH_ChargeInformation(gboolean implicit_tag _U_, tvbuff_t *tvb
}
-static const ber_sequence_t OriginationRequestRes_set[] = {
+static const ber_sequence_t OriginationRequestRes_U_set[] = {
{ &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
{ &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
{ &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
@@ -9213,9 +9405,19 @@ static const ber_sequence_t OriginationRequestRes_set[] = {
};
static int
-dissect_ansi_map_OriginationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_OriginationRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- OriginationRequestRes_set, hf_index, ett_ansi_map_OriginationRequestRes);
+ OriginationRequestRes_U_set, hf_index, ett_ansi_map_OriginationRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_OriginationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OriginationRequestRes_U);
return offset;
}
@@ -9269,7 +9471,7 @@ dissect_ansi_map_AuthorizationDenied(gboolean implicit_tag _U_, tvbuff_t *tvb _U
static int
dissect_ansi_map_AuthorizationPeriod(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 139 "ansi_map.cnf"
+#line 64 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -9288,7 +9490,7 @@ dissect_ansi_map_AuthorizationPeriod(gboolean implicit_tag _U_, tvbuff_t *tvb _U
static int
dissect_ansi_map_DeniedAuthorizationPeriod(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 209 "ansi_map.cnf"
+#line 134 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -9303,7 +9505,7 @@ dissect_ansi_map_DeniedAuthorizationPeriod(gboolean implicit_tag _U_, tvbuff_t *
}
-static const ber_sequence_t QualificationDirective_set[] = {
+static const ber_sequence_t QualificationDirective_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
{ &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
@@ -9324,15 +9526,25 @@ static const ber_sequence_t QualificationDirective_set[] = {
};
static int
-dissect_ansi_map_QualificationDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_QualificationDirective_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- QualificationDirective_set, hf_index, ett_ansi_map_QualificationDirective);
+ QualificationDirective_U_set, hf_index, ett_ansi_map_QualificationDirective_U);
return offset;
}
-static const ber_sequence_t QualificationRequest_set[] = {
+
+static int
+dissect_ansi_map_QualificationDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationDirective_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t QualificationRequest_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
{ &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
@@ -9352,15 +9564,25 @@ static const ber_sequence_t QualificationRequest_set[] = {
};
static int
-dissect_ansi_map_QualificationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_QualificationRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- QualificationRequest_set, hf_index, ett_ansi_map_QualificationRequest);
+ QualificationRequest_U_set, hf_index, ett_ansi_map_QualificationRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_QualificationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationRequest_U);
return offset;
}
-static const ber_sequence_t QualificationRequestRes_set[] = {
+static const ber_sequence_t QualificationRequestRes_U_set[] = {
{ &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
{ &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
{ &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
@@ -9377,15 +9599,25 @@ static const ber_sequence_t QualificationRequestRes_set[] = {
};
static int
-dissect_ansi_map_QualificationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_QualificationRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- QualificationRequestRes_set, hf_index, ett_ansi_map_QualificationRequestRes);
+ QualificationRequestRes_U_set, hf_index, ett_ansi_map_QualificationRequestRes_U);
return offset;
}
-static const ber_sequence_t RandomVariableRequest_set[] = {
+
+static int
+dissect_ansi_map_QualificationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationRequestRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t RandomVariableRequest_U_set[] = {
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
{ &hf_ansi_map_randc , BER_CLASS_CON, 67, BER_FLAGS_IMPLTAG, dissect_ansi_map_RANDC },
{ &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
@@ -9393,9 +9625,19 @@ static const ber_sequence_t RandomVariableRequest_set[] = {
};
static int
-dissect_ansi_map_RandomVariableRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_RandomVariableRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- RandomVariableRequest_set, hf_index, ett_ansi_map_RandomVariableRequest);
+ RandomVariableRequest_U_set, hf_index, ett_ansi_map_RandomVariableRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_RandomVariableRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RandomVariableRequest_U);
return offset;
}
@@ -9411,22 +9653,32 @@ dissect_ansi_map_RANDValidTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
-static const ber_sequence_t RandomVariableRequestRes_set[] = {
+static const ber_sequence_t RandomVariableRequestRes_U_set[] = {
{ &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
{ &hf_ansi_map_randValidTime, BER_CLASS_CON, 148, BER_FLAGS_IMPLTAG, dissect_ansi_map_RANDValidTime },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_RandomVariableRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_RandomVariableRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- RandomVariableRequestRes_set, hf_index, ett_ansi_map_RandomVariableRequestRes);
+ RandomVariableRequestRes_U_set, hf_index, ett_ansi_map_RandomVariableRequestRes_U);
return offset;
}
-static const ber_sequence_t RedirectionDirective_set[] = {
+
+static int
+dissect_ansi_map_RandomVariableRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RandomVariableRequestRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t RedirectionDirective_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
@@ -9444,9 +9696,19 @@ static const ber_sequence_t RedirectionDirective_set[] = {
};
static int
-dissect_ansi_map_RedirectionDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_RedirectionDirective_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- RedirectionDirective_set, hf_index, ett_ansi_map_RedirectionDirective);
+ RedirectionDirective_U_set, hf_index, ett_ansi_map_RedirectionDirective_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_RedirectionDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RedirectionDirective_U);
return offset;
}
@@ -9478,7 +9740,7 @@ dissect_ansi_map_RedirectionReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
}
-static const ber_sequence_t RedirectionRequest_set[] = {
+static const ber_sequence_t RedirectionRequest_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
@@ -9491,9 +9753,19 @@ static const ber_sequence_t RedirectionRequest_set[] = {
};
static int
-dissect_ansi_map_RedirectionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_RedirectionRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- RedirectionRequest_set, hf_index, ett_ansi_map_RedirectionRequest);
+ RedirectionRequest_U_set, hf_index, ett_ansi_map_RedirectionRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_RedirectionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RedirectionRequest_U);
return offset;
}
@@ -9512,7 +9784,7 @@ dissect_ansi_map_CancellationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
static int
dissect_ansi_map_ControlChannelData(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 201 "ansi_map.cnf"
+#line 126 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -9547,7 +9819,7 @@ dissect_ansi_map_SystemAccessData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
}
-static const ber_sequence_t RegistrationCancellation_set[] = {
+static const ber_sequence_t RegistrationCancellation_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
{ &hf_ansi_map_cancellationType, BER_CLASS_CON, 85, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CancellationType },
@@ -9559,9 +9831,19 @@ static const ber_sequence_t RegistrationCancellation_set[] = {
};
static int
-dissect_ansi_map_RegistrationCancellation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_RegistrationCancellation_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- RegistrationCancellation_set, hf_index, ett_ansi_map_RegistrationCancellation);
+ RegistrationCancellation_U_set, hf_index, ett_ansi_map_RegistrationCancellation_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_RegistrationCancellation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationCancellation_U);
return offset;
}
@@ -9584,7 +9866,7 @@ dissect_ansi_map_CancellationDenied(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
}
-static const ber_sequence_t RegistrationCancellationRes_set[] = {
+static const ber_sequence_t RegistrationCancellationRes_U_set[] = {
{ &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
{ &hf_ansi_map_cancellationDenied, BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CancellationDenied },
{ &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
@@ -9595,9 +9877,19 @@ static const ber_sequence_t RegistrationCancellationRes_set[] = {
};
static int
-dissect_ansi_map_RegistrationCancellationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_RegistrationCancellationRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- RegistrationCancellationRes_set, hf_index, ett_ansi_map_RegistrationCancellationRes);
+ RegistrationCancellationRes_U_set, hf_index, ett_ansi_map_RegistrationCancellationRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_RegistrationCancellationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationCancellationRes_U);
return offset;
}
@@ -9671,7 +9963,7 @@ dissect_ansi_map_MPCAddressList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
}
-static const ber_sequence_t RegistrationNotification_set[] = {
+static const ber_sequence_t RegistrationNotification_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
@@ -9704,9 +9996,19 @@ static const ber_sequence_t RegistrationNotification_set[] = {
};
static int
-dissect_ansi_map_RegistrationNotification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_RegistrationNotification_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- RegistrationNotification_set, hf_index, ett_ansi_map_RegistrationNotification);
+ RegistrationNotification_U_set, hf_index, ett_ansi_map_RegistrationNotification_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_RegistrationNotification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationNotification_U);
return offset;
}
@@ -9725,7 +10027,7 @@ dissect_ansi_map_AuthenticationCapability(gboolean implicit_tag _U_, tvbuff_t *t
static int
dissect_ansi_map_CallingFeaturesIndicator(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 156 "ansi_map.cnf"
+#line 81 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -9793,7 +10095,7 @@ 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 369 "ansi_map.cnf"
+#line 294 "ansi_map.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
&parameter_tvb);
@@ -9874,7 +10176,7 @@ dissect_ansi_map_LIRMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse
}
-static const ber_sequence_t RegistrationNotificationRes_set[] = {
+static const ber_sequence_t RegistrationNotificationRes_U_set[] = {
{ &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
{ &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
{ &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
@@ -9923,9 +10225,19 @@ static const ber_sequence_t RegistrationNotificationRes_set[] = {
};
static int
-dissect_ansi_map_RegistrationNotificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_RegistrationNotificationRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- RegistrationNotificationRes_set, hf_index, ett_ansi_map_RegistrationNotificationRes);
+ RegistrationNotificationRes_U_set, hf_index, ett_ansi_map_RegistrationNotificationRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_RegistrationNotificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationNotificationRes_U);
return offset;
}
@@ -9941,44 +10253,74 @@ dissect_ansi_map_DigitCollectionControl(gboolean implicit_tag _U_, tvbuff_t *tvb
}
-static const ber_sequence_t RemoteUserInteractionDirective_set[] = {
+static const ber_sequence_t RemoteUserInteractionDirective_U_set[] = {
{ &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
{ &hf_ansi_map_digitCollectionControl, BER_CLASS_CON, 139, BER_FLAGS_IMPLTAG, dissect_ansi_map_DigitCollectionControl },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_RemoteUserInteractionDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_RemoteUserInteractionDirective_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- RemoteUserInteractionDirective_set, hf_index, ett_ansi_map_RemoteUserInteractionDirective);
+ RemoteUserInteractionDirective_U_set, hf_index, ett_ansi_map_RemoteUserInteractionDirective_U);
return offset;
}
-static const ber_sequence_t RemoteUserInteractionDirectiveRes_set[] = {
+
+static int
+dissect_ansi_map_RemoteUserInteractionDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RemoteUserInteractionDirective_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t RemoteUserInteractionDirectiveRes_U_set[] = {
{ &hf_ansi_map_digits , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_RemoteUserInteractionDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_RemoteUserInteractionDirectiveRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- RemoteUserInteractionDirectiveRes_set, hf_index, ett_ansi_map_RemoteUserInteractionDirectiveRes);
+ RemoteUserInteractionDirectiveRes_U_set, hf_index, ett_ansi_map_RemoteUserInteractionDirectiveRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_RemoteUserInteractionDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RemoteUserInteractionDirectiveRes_U);
return offset;
}
-static const ber_sequence_t ResetCircuit_set[] = {
+static const ber_sequence_t ResetCircuit_U_set[] = {
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_ResetCircuit(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ResetCircuit_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ResetCircuit_set, hf_index, ett_ansi_map_ResetCircuit);
+ ResetCircuit_U_set, hf_index, ett_ansi_map_ResetCircuit_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_ResetCircuit(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ResetCircuit_U);
return offset;
}
@@ -10000,15 +10342,25 @@ dissect_ansi_map_TrunkStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
}
-static const ber_sequence_t ResetCircuitRes_set[] = {
+static const ber_sequence_t ResetCircuitRes_U_set[] = {
{ &hf_ansi_map_trunkStatus, BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_ansi_map_TrunkStatus },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_ResetCircuitRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ResetCircuitRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ResetCircuitRes_set, hf_index, ett_ansi_map_ResetCircuitRes);
+ ResetCircuitRes_U_set, hf_index, ett_ansi_map_ResetCircuitRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_ResetCircuitRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ResetCircuitRes_U);
return offset;
}
@@ -10024,7 +10376,7 @@ dissect_ansi_map_UserGroup(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
}
-static const ber_sequence_t RoutingRequest_set[] = {
+static const ber_sequence_t RoutingRequest_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
@@ -10071,15 +10423,25 @@ static const ber_sequence_t RoutingRequest_set[] = {
};
static int
-dissect_ansi_map_RoutingRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_RoutingRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- RoutingRequest_set, hf_index, ett_ansi_map_RoutingRequest);
+ RoutingRequest_U_set, hf_index, ett_ansi_map_RoutingRequest_U);
return offset;
}
-static const ber_sequence_t RoutingRequestRes_set[] = {
+
+static int
+dissect_ansi_map_RoutingRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoutingRequest_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t RoutingRequestRes_U_set[] = {
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
{ &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
@@ -10093,9 +10455,19 @@ static const ber_sequence_t RoutingRequestRes_set[] = {
};
static int
-dissect_ansi_map_RoutingRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_RoutingRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- RoutingRequestRes_set, hf_index, ett_ansi_map_RoutingRequestRes);
+ RoutingRequestRes_U_set, hf_index, ett_ansi_map_RoutingRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_RoutingRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoutingRequestRes_U);
return offset;
}
@@ -10104,7 +10476,7 @@ dissect_ansi_map_RoutingRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
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"
+#line 263 "ansi_map.cnf"
int length;
proto_tree *subtree;
SMS_BearerData_tvb = NULL;
@@ -10145,7 +10517,7 @@ 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 378 "ansi_map.cnf"
+#line 303 "ansi_map.cnf"
int length;
proto_tree *subtree;
@@ -10240,7 +10612,7 @@ dissect_ansi_map_SMS_OriginatingAddress(gboolean implicit_tag _U_, tvbuff_t *tvb
}
-static const ber_sequence_t SMSDeliveryBackward_set[] = {
+static const ber_sequence_t SMSDeliveryBackward_U_set[] = {
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
{ &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
@@ -10257,9 +10629,19 @@ static const ber_sequence_t SMSDeliveryBackward_set[] = {
};
static int
-dissect_ansi_map_SMSDeliveryBackward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_SMSDeliveryBackward_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SMSDeliveryBackward_set, hf_index, ett_ansi_map_SMSDeliveryBackward);
+ SMSDeliveryBackward_U_set, hf_index, ett_ansi_map_SMSDeliveryBackward_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_SMSDeliveryBackward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryBackward_U);
return offset;
}
@@ -10275,22 +10657,32 @@ dissect_ansi_map_SMS_CauseCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
-static const ber_sequence_t SMSDeliveryBackwardRes_set[] = {
+static const ber_sequence_t SMSDeliveryBackwardRes_U_set[] = {
{ &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
{ &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_SMSDeliveryBackwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_SMSDeliveryBackwardRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SMSDeliveryBackwardRes_set, hf_index, ett_ansi_map_SMSDeliveryBackwardRes);
+ SMSDeliveryBackwardRes_U_set, hf_index, ett_ansi_map_SMSDeliveryBackwardRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_SMSDeliveryBackwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryBackwardRes_U);
return offset;
}
-static const ber_sequence_t SMSDeliveryForward_set[] = {
+static const ber_sequence_t SMSDeliveryForward_U_set[] = {
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
{ &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
@@ -10307,24 +10699,44 @@ static const ber_sequence_t SMSDeliveryForward_set[] = {
};
static int
-dissect_ansi_map_SMSDeliveryForward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_SMSDeliveryForward_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SMSDeliveryForward_set, hf_index, ett_ansi_map_SMSDeliveryForward);
+ SMSDeliveryForward_U_set, hf_index, ett_ansi_map_SMSDeliveryForward_U);
return offset;
}
-static const ber_sequence_t SMSDeliveryForwardRes_set[] = {
+
+static int
+dissect_ansi_map_SMSDeliveryForward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryForward_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SMSDeliveryForwardRes_U_set[] = {
{ &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
{ &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_SMSDeliveryForwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_SMSDeliveryForwardRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SMSDeliveryForwardRes_set, hf_index, ett_ansi_map_SMSDeliveryForwardRes);
+ SMSDeliveryForwardRes_U_set, hf_index, ett_ansi_map_SMSDeliveryForwardRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_SMSDeliveryForwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryForwardRes_U);
return offset;
}
@@ -10427,7 +10839,7 @@ dissect_ansi_map_TemporaryReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *t
}
-static const ber_sequence_t SMSDeliveryPointToPoint_set[] = {
+static const ber_sequence_t SMSDeliveryPointToPoint_U_set[] = {
{ &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
{ &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
{ &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
@@ -10457,9 +10869,19 @@ static const ber_sequence_t SMSDeliveryPointToPoint_set[] = {
};
static int
-dissect_ansi_map_SMSDeliveryPointToPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_SMSDeliveryPointToPoint_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SMSDeliveryPointToPoint_set, hf_index, ett_ansi_map_SMSDeliveryPointToPoint);
+ SMSDeliveryPointToPoint_U_set, hf_index, ett_ansi_map_SMSDeliveryPointToPoint_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_SMSDeliveryPointToPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryPointToPoint_U);
return offset;
}
@@ -10496,7 +10918,7 @@ dissect_ansi_map_MobileStationMSID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
}
-static const ber_sequence_t SMSDeliveryPointToPointRes_set[] = {
+static const ber_sequence_t SMSDeliveryPointToPointRes_U_set[] = {
{ &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
{ &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
{ &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
@@ -10512,9 +10934,19 @@ static const ber_sequence_t SMSDeliveryPointToPointRes_set[] = {
};
static int
-dissect_ansi_map_SMSDeliveryPointToPointRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_SMSDeliveryPointToPointRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SMSDeliveryPointToPointRes_set, hf_index, ett_ansi_map_SMSDeliveryPointToPointRes);
+ SMSDeliveryPointToPointRes_U_set, hf_index, ett_ansi_map_SMSDeliveryPointToPointRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_SMSDeliveryPointToPointRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryPointToPointRes_U);
return offset;
}
@@ -10530,7 +10962,7 @@ dissect_ansi_map_SMS_AccessDeniedReason(gboolean implicit_tag _U_, tvbuff_t *tvb
}
-static const ber_sequence_t SMSNotification_set[] = {
+static const ber_sequence_t SMSNotification_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
{ &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
@@ -10541,29 +10973,49 @@ static const ber_sequence_t SMSNotification_set[] = {
};
static int
-dissect_ansi_map_SMSNotification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_SMSNotification_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SMSNotification_set, hf_index, ett_ansi_map_SMSNotification);
+ SMSNotification_U_set, hf_index, ett_ansi_map_SMSNotification_U);
return offset;
}
-static const ber_sequence_t SMSNotificationRes_set[] = {
+
+static int
+dissect_ansi_map_SMSNotification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSNotification_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SMSNotificationRes_U_set[] = {
{ &hf_ansi_map_sms_MessageCount, BER_CLASS_CON, 108, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageCount },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_SMSNotificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_SMSNotificationRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SMSNotificationRes_set, hf_index, ett_ansi_map_SMSNotificationRes);
+ SMSNotificationRes_U_set, hf_index, ett_ansi_map_SMSNotificationRes_U);
return offset;
}
-static const ber_sequence_t SMSRequest_set[] = {
+
+static int
+dissect_ansi_map_SMSNotificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSNotificationRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SMSRequest_U_set[] = {
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
@@ -10574,15 +11026,25 @@ static const ber_sequence_t SMSRequest_set[] = {
};
static int
-dissect_ansi_map_SMSRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_SMSRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SMSRequest_set, hf_index, ett_ansi_map_SMSRequest);
+ SMSRequest_U_set, hf_index, ett_ansi_map_SMSRequest_U);
return offset;
}
-static const ber_sequence_t SMSRequestRes_set[] = {
+
+static int
+dissect_ansi_map_SMSRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSRequest_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SMSRequestRes_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
{ &hf_ansi_map_sms_AccessDeniedReason, BER_CLASS_CON, 152, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_AccessDeniedReason },
@@ -10592,15 +11054,25 @@ static const ber_sequence_t SMSRequestRes_set[] = {
};
static int
-dissect_ansi_map_SMSRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_SMSRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SMSRequestRes_set, hf_index, ett_ansi_map_SMSRequestRes);
+ SMSRequestRes_U_set, hf_index, ett_ansi_map_SMSRequestRes_U);
return offset;
}
-static const ber_sequence_t TransferToNumberRequest_set[] = {
+
+static int
+dissect_ansi_map_SMSRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSRequestRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t TransferToNumberRequest_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
@@ -10627,15 +11099,25 @@ static const ber_sequence_t TransferToNumberRequest_set[] = {
};
static int
-dissect_ansi_map_TransferToNumberRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_TransferToNumberRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- TransferToNumberRequest_set, hf_index, ett_ansi_map_TransferToNumberRequest);
+ TransferToNumberRequest_U_set, hf_index, ett_ansi_map_TransferToNumberRequest_U);
return offset;
}
-static const ber_sequence_t TransferToNumberRequestRes_set[] = {
+
+static int
+dissect_ansi_map_TransferToNumberRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TransferToNumberRequest_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t TransferToNumberRequestRes_U_set[] = {
{ &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
{ &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
{ &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
@@ -10665,9 +11147,19 @@ static const ber_sequence_t TransferToNumberRequestRes_set[] = {
};
static int
-dissect_ansi_map_TransferToNumberRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_TransferToNumberRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- TransferToNumberRequestRes_set, hf_index, ett_ansi_map_TransferToNumberRequestRes);
+ TransferToNumberRequestRes_U_set, hf_index, ett_ansi_map_TransferToNumberRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_TransferToNumberRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TransferToNumberRequestRes_U);
return offset;
}
@@ -10689,65 +11181,105 @@ dissect_ansi_map_SeizureType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
}
-static const ber_sequence_t TrunkTest_set[] = {
+static const ber_sequence_t TrunkTest_U_set[] = {
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ &hf_ansi_map_seizureType, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_ansi_map_SeizureType },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_TrunkTest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_TrunkTest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- TrunkTest_set, hf_index, ett_ansi_map_TrunkTest);
+ TrunkTest_U_set, hf_index, ett_ansi_map_TrunkTest_U);
return offset;
}
-static const ber_sequence_t TrunkTestDisconnect_set[] = {
+
+static int
+dissect_ansi_map_TrunkTest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TrunkTest_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t TrunkTestDisconnect_U_set[] = {
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_TrunkTestDisconnect(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_TrunkTestDisconnect_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- TrunkTestDisconnect_set, hf_index, ett_ansi_map_TrunkTestDisconnect);
+ TrunkTestDisconnect_U_set, hf_index, ett_ansi_map_TrunkTestDisconnect_U);
return offset;
}
-static const ber_sequence_t Unblocking_set[] = {
+
+static int
+dissect_ansi_map_TrunkTestDisconnect(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TrunkTestDisconnect_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t Unblocking_U_set[] = {
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_Unblocking(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_Unblocking_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- Unblocking_set, hf_index, ett_ansi_map_Unblocking);
+ Unblocking_U_set, hf_index, ett_ansi_map_Unblocking_U);
return offset;
}
-static const ber_sequence_t UnreliableRoamerDataDirective_set[] = {
+
+static int
+dissect_ansi_map_Unblocking(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Unblocking_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t UnreliableRoamerDataDirective_U_set[] = {
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
{ &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_UnreliableRoamerDataDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_UnreliableRoamerDataDirective_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- UnreliableRoamerDataDirective_set, hf_index, ett_ansi_map_UnreliableRoamerDataDirective);
+ UnreliableRoamerDataDirective_U_set, hf_index, ett_ansi_map_UnreliableRoamerDataDirective_U);
return offset;
}
-static const ber_sequence_t UnsolicitedResponse_set[] = {
+
+static int
+dissect_ansi_map_UnreliableRoamerDataDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnreliableRoamerDataDirective_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t UnsolicitedResponse_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
@@ -10762,15 +11294,25 @@ static const ber_sequence_t UnsolicitedResponse_set[] = {
};
static int
-dissect_ansi_map_UnsolicitedResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_UnsolicitedResponse_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- UnsolicitedResponse_set, hf_index, ett_ansi_map_UnsolicitedResponse);
+ UnsolicitedResponse_U_set, hf_index, ett_ansi_map_UnsolicitedResponse_U);
return offset;
}
-static const ber_sequence_t UnsolicitedResponseRes_set[] = {
+
+static int
+dissect_ansi_map_UnsolicitedResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnsolicitedResponse_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t UnsolicitedResponseRes_U_set[] = {
{ &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
{ &hf_ansi_map_alertCode , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
@@ -10806,9 +11348,19 @@ static const ber_sequence_t UnsolicitedResponseRes_set[] = {
};
static int
-dissect_ansi_map_UnsolicitedResponseRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_UnsolicitedResponseRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- UnsolicitedResponseRes_set, hf_index, ett_ansi_map_UnsolicitedResponseRes);
+ UnsolicitedResponseRes_U_set, hf_index, ett_ansi_map_UnsolicitedResponseRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_UnsolicitedResponseRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnsolicitedResponseRes_U);
return offset;
}
@@ -10824,7 +11376,7 @@ dissect_ansi_map_RequiredParametersMask(gboolean implicit_tag _U_, tvbuff_t *tvb
}
-static const ber_sequence_t ParameterRequest_set[] = {
+static const ber_sequence_t ParameterRequest_U_set[] = {
{ &hf_ansi_map_requiredParametersMask, BER_CLASS_CON, 236, BER_FLAGS_IMPLTAG, dissect_ansi_map_RequiredParametersMask },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
@@ -10837,9 +11389,19 @@ static const ber_sequence_t ParameterRequest_set[] = {
};
static int
-dissect_ansi_map_ParameterRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ParameterRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ParameterRequest_set, hf_index, ett_ansi_map_ParameterRequest);
+ ParameterRequest_U_set, hf_index, ett_ansi_map_ParameterRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_ParameterRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ParameterRequest_U);
return offset;
}
@@ -10866,7 +11428,7 @@ dissect_ansi_map_ReasonList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
}
-static const ber_sequence_t ParameterRequestRes_set[] = {
+static const ber_sequence_t ParameterRequestRes_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_imsi , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
{ &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
@@ -10877,9 +11439,19 @@ static const ber_sequence_t ParameterRequestRes_set[] = {
};
static int
-dissect_ansi_map_ParameterRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ParameterRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ParameterRequestRes_set, hf_index, ett_ansi_map_ParameterRequestRes);
+ ParameterRequestRes_U_set, hf_index, ett_ansi_map_ParameterRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_ParameterRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ParameterRequestRes_U);
return offset;
}
@@ -10904,7 +11476,7 @@ dissect_ansi_map_NewNetworkTMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
}
-static const ber_sequence_t TMSIDirective_set[] = {
+static const ber_sequence_t TMSIDirective_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
{ &hf_ansi_map_networkTMSIExpirationTime, BER_CLASS_CON, 234, BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSIExpirationTime },
@@ -10915,15 +11487,25 @@ static const ber_sequence_t TMSIDirective_set[] = {
};
static int
-dissect_ansi_map_TMSIDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_TMSIDirective_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- TMSIDirective_set, hf_index, ett_ansi_map_TMSIDirective);
+ TMSIDirective_U_set, hf_index, ett_ansi_map_TMSIDirective_U);
return offset;
}
-static const ber_sequence_t TMSIDirectiveRes_set[] = {
+
+static int
+dissect_ansi_map_TMSIDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TMSIDirective_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t TMSIDirectiveRes_U_set[] = {
{ &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
@@ -10932,15 +11514,25 @@ static const ber_sequence_t TMSIDirectiveRes_set[] = {
};
static int
-dissect_ansi_map_TMSIDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_TMSIDirectiveRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- TMSIDirectiveRes_set, hf_index, ett_ansi_map_TMSIDirectiveRes);
+ TMSIDirectiveRes_U_set, hf_index, ett_ansi_map_TMSIDirectiveRes_U);
return offset;
}
-static const ber_sequence_t NumberPortabilityRequest_set[] = {
+
+static int
+dissect_ansi_map_TMSIDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TMSIDirectiveRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t NumberPortabilityRequest_U_set[] = {
{ &hf_ansi_map_digits , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
{ &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
{ &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
@@ -10950,9 +11542,19 @@ static const ber_sequence_t NumberPortabilityRequest_set[] = {
};
static int
-dissect_ansi_map_NumberPortabilityRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_NumberPortabilityRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- NumberPortabilityRequest_set, hf_index, ett_ansi_map_NumberPortabilityRequest);
+ NumberPortabilityRequest_U_set, hf_index, ett_ansi_map_NumberPortabilityRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_NumberPortabilityRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_NumberPortabilityRequest_U);
return offset;
}
@@ -11070,7 +11672,7 @@ dissect_ansi_map_TimeOfDay(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
}
-static const ber_sequence_t ServiceRequest_set[] = {
+static const ber_sequence_t ServiceRequest_U_set[] = {
{ &hf_ansi_map_serviceID , BER_CLASS_CON, 245, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceID },
{ &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
{ &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
@@ -11119,15 +11721,25 @@ static const ber_sequence_t ServiceRequest_set[] = {
};
static int
-dissect_ansi_map_ServiceRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ServiceRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ServiceRequest_set, hf_index, ett_ansi_map_ServiceRequest);
+ ServiceRequest_U_set, hf_index, ett_ansi_map_ServiceRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_ServiceRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ServiceRequest_U);
return offset;
}
-static const ber_sequence_t ServiceRequestRes_set[] = {
+static const ber_sequence_t ServiceRequestRes_U_set[] = {
{ &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
{ &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
{ &hf_ansi_map_alertCode , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
@@ -11160,9 +11772,19 @@ static const ber_sequence_t ServiceRequestRes_set[] = {
};
static int
-dissect_ansi_map_ServiceRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ServiceRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ServiceRequestRes_set, hf_index, ett_ansi_map_ServiceRequestRes);
+ ServiceRequestRes_U_set, hf_index, ett_ansi_map_ServiceRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_ServiceRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ServiceRequestRes_U);
return offset;
}
@@ -11183,7 +11805,7 @@ dissect_ansi_map_DMH_BillingIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _
}
-static const ber_sequence_t AnalyzedInformation_set[] = {
+static const ber_sequence_t AnalyzedInformation_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_digits , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
@@ -11223,15 +11845,25 @@ static const ber_sequence_t AnalyzedInformation_set[] = {
};
static int
-dissect_ansi_map_AnalyzedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_AnalyzedInformation_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- AnalyzedInformation_set, hf_index, ett_ansi_map_AnalyzedInformation);
+ AnalyzedInformation_U_set, hf_index, ett_ansi_map_AnalyzedInformation_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_AnalyzedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AnalyzedInformation_U);
return offset;
}
-static const ber_sequence_t AnalyzedInformationRes_set[] = {
+static const ber_sequence_t AnalyzedInformationRes_U_set[] = {
{ &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
{ &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
{ &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
@@ -11256,9 +11888,19 @@ static const ber_sequence_t AnalyzedInformationRes_set[] = {
};
static int
-dissect_ansi_map_AnalyzedInformationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_AnalyzedInformationRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- AnalyzedInformationRes_set, hf_index, ett_ansi_map_AnalyzedInformationRes);
+ AnalyzedInformationRes_U_set, hf_index, ett_ansi_map_AnalyzedInformationRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_AnalyzedInformationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AnalyzedInformationRes_U);
return offset;
}
@@ -11292,22 +11934,32 @@ dissect_ansi_map_FailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
-static const ber_sequence_t ConnectionFailureReport_set[] = {
+static const ber_sequence_t ConnectionFailureReport_U_set[] = {
{ &hf_ansi_map_failureType, BER_CLASS_CON, 260, BER_FLAGS_IMPLTAG, dissect_ansi_map_FailureType },
{ &hf_ansi_map_failureCause, BER_CLASS_CON, 387, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FailureCause },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_ConnectionFailureReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ConnectionFailureReport_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ConnectionFailureReport_set, hf_index, ett_ansi_map_ConnectionFailureReport);
+ ConnectionFailureReport_U_set, hf_index, ett_ansi_map_ConnectionFailureReport_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_ConnectionFailureReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ConnectionFailureReport_U);
return offset;
}
-static const ber_sequence_t ConnectResource_set[] = {
+static const ber_sequence_t ConnectResource_U_set[] = {
{ &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
{ &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
{ &hf_ansi_map_outingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
@@ -11315,15 +11967,25 @@ static const ber_sequence_t ConnectResource_set[] = {
};
static int
-dissect_ansi_map_ConnectResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ConnectResource_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ConnectResource_set, hf_index, ett_ansi_map_ConnectResource);
+ ConnectResource_U_set, hf_index, ett_ansi_map_ConnectResource_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_ConnectResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ConnectResource_U);
return offset;
}
-static const ber_sequence_t FacilitySelectedAndAvailable_set[] = {
+static const ber_sequence_t FacilitySelectedAndAvailable_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
{ &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
@@ -11355,15 +12017,25 @@ static const ber_sequence_t FacilitySelectedAndAvailable_set[] = {
};
static int
-dissect_ansi_map_FacilitySelectedAndAvailable(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_FacilitySelectedAndAvailable_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- FacilitySelectedAndAvailable_set, hf_index, ett_ansi_map_FacilitySelectedAndAvailable);
+ FacilitySelectedAndAvailable_U_set, hf_index, ett_ansi_map_FacilitySelectedAndAvailable_U);
return offset;
}
-static const ber_sequence_t FacilitySelectedAndAvailableRes_set[] = {
+
+static int
+dissect_ansi_map_FacilitySelectedAndAvailable(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitySelectedAndAvailable_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t FacilitySelectedAndAvailableRes_U_set[] = {
{ &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
{ &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
{ &hf_ansi_map_alertCode , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
@@ -11383,9 +12055,19 @@ static const ber_sequence_t FacilitySelectedAndAvailableRes_set[] = {
};
static int
-dissect_ansi_map_FacilitySelectedAndAvailableRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_FacilitySelectedAndAvailableRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- FacilitySelectedAndAvailableRes_set, hf_index, ett_ansi_map_FacilitySelectedAndAvailableRes);
+ FacilitySelectedAndAvailableRes_U_set, hf_index, ett_ansi_map_FacilitySelectedAndAvailableRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_FacilitySelectedAndAvailableRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitySelectedAndAvailableRes_U);
return offset;
}
@@ -11474,16 +12156,26 @@ dissect_ansi_map_ModificationRequestList(gboolean implicit_tag _U_, tvbuff_t *tv
}
-static const ber_sequence_t Modify_set[] = {
+static const ber_sequence_t Modify_U_set[] = {
{ &hf_ansi_map_databaseKey, BER_CLASS_CON, 252, BER_FLAGS_IMPLTAG, dissect_ansi_map_DatabaseKey },
{ &hf_ansi_map_modificationRequestList, BER_CLASS_CON, 263, BER_FLAGS_IMPLTAG, dissect_ansi_map_ModificationRequestList },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_Modify(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_Modify_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- Modify_set, hf_index, ett_ansi_map_Modify);
+ Modify_U_set, hf_index, ett_ansi_map_Modify_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_Modify(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Modify_U);
return offset;
}
@@ -11599,44 +12291,74 @@ dissect_ansi_map_ModificationResultList(gboolean implicit_tag _U_, tvbuff_t *tvb
}
-static const ber_sequence_t ModifyRes_set[] = {
+static const ber_sequence_t ModifyRes_U_set[] = {
{ &hf_ansi_map_modificationResultList, BER_CLASS_CON, 264, BER_FLAGS_IMPLTAG, dissect_ansi_map_ModificationResultList },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_ModifyRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ModifyRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ModifyRes_set, hf_index, ett_ansi_map_ModifyRes);
+ ModifyRes_U_set, hf_index, ett_ansi_map_ModifyRes_U);
return offset;
}
-static const ber_sequence_t Search_set[] = {
+
+static int
+dissect_ansi_map_ModifyRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ModifyRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t Search_U_set[] = {
{ &hf_ansi_map_databaseKey, BER_CLASS_CON, 252, BER_FLAGS_IMPLTAG, dissect_ansi_map_DatabaseKey },
{ &hf_ansi_map_serviceDataAccessElementList, BER_CLASS_CON, 271, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElementList },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_Search(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_Search_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- Search_set, hf_index, ett_ansi_map_Search);
+ Search_U_set, hf_index, ett_ansi_map_Search_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_Search(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Search_U);
return offset;
}
-static const ber_sequence_t SearchRes_set[] = {
+static const ber_sequence_t SearchRes_U_set[] = {
{ &hf_ansi_map_serviceDataAccessElementList, BER_CLASS_CON, 271, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElementList },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_SearchRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_SearchRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SearchRes_set, hf_index, ett_ansi_map_SearchRes);
+ SearchRes_U_set, hf_index, ett_ansi_map_SearchRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_SearchRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SearchRes_U);
return offset;
}
@@ -11662,7 +12384,7 @@ dissect_ansi_map_SpecializedResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U
}
-static const ber_sequence_t SeizeResource_set[] = {
+static const ber_sequence_t SeizeResource_U_set[] = {
{ &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
{ &hf_ansi_map_privateSpecializedResource, BER_CLASS_CON, 265, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PrivateSpecializedResource },
{ &hf_ansi_map_specializedResource, BER_CLASS_CON, 274, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SpecializedResource },
@@ -11670,23 +12392,43 @@ static const ber_sequence_t SeizeResource_set[] = {
};
static int
-dissect_ansi_map_SeizeResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_SeizeResource_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SeizeResource_set, hf_index, ett_ansi_map_SeizeResource);
+ SeizeResource_U_set, hf_index, ett_ansi_map_SeizeResource_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_SeizeResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SeizeResource_U);
return offset;
}
-static const ber_sequence_t SeizeResourceRes_set[] = {
+static const ber_sequence_t SeizeResourceRes_U_set[] = {
{ &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_SeizeResourceRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_SeizeResourceRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SeizeResourceRes_set, hf_index, ett_ansi_map_SeizeResourceRes);
+ SeizeResourceRes_U_set, hf_index, ett_ansi_map_SeizeResourceRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_SeizeResourceRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SeizeResourceRes_U);
return offset;
}
@@ -11727,7 +12469,7 @@ dissect_ansi_map_ExecuteScript(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
-static const ber_sequence_t SRFDirective_set[] = {
+static const ber_sequence_t SRFDirective_U_set[] = {
{ &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
{ &hf_ansi_map_digitCollectionControl, BER_CLASS_CON, 139, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DigitCollectionControl },
{ &hf_ansi_map_executeScript, BER_CLASS_CON, 386, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExecuteScript },
@@ -11736,9 +12478,19 @@ static const ber_sequence_t SRFDirective_set[] = {
};
static int
-dissect_ansi_map_SRFDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_SRFDirective_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SRFDirective_set, hf_index, ett_ansi_map_SRFDirective);
+ SRFDirective_U_set, hf_index, ett_ansi_map_SRFDirective_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_SRFDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SRFDirective_U);
return offset;
}
@@ -11754,22 +12506,32 @@ dissect_ansi_map_ScriptResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
-static const ber_sequence_t SRFDirectiveRes_set[] = {
+static const ber_sequence_t SRFDirectiveRes_U_set[] = {
{ &hf_ansi_map_digits , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
{ &hf_ansi_map_scriptResult, BER_CLASS_CON, 269, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ScriptResult },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_SRFDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_SRFDirectiveRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SRFDirectiveRes_set, hf_index, ett_ansi_map_SRFDirectiveRes);
+ SRFDirectiveRes_U_set, hf_index, ett_ansi_map_SRFDirectiveRes_U);
return offset;
}
-static const ber_sequence_t TBusy_set[] = {
+
+static int
+dissect_ansi_map_SRFDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SRFDirectiveRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t TBusy_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
{ &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
@@ -11800,15 +12562,25 @@ static const ber_sequence_t TBusy_set[] = {
};
static int
-dissect_ansi_map_TBusy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_TBusy_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- TBusy_set, hf_index, ett_ansi_map_TBusy);
+ TBusy_U_set, hf_index, ett_ansi_map_TBusy_U);
return offset;
}
-static const ber_sequence_t TBusyRes_set[] = {
+
+static int
+dissect_ansi_map_TBusy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TBusy_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t TBusyRes_U_set[] = {
{ &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
{ &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
{ &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
@@ -11834,15 +12606,25 @@ static const ber_sequence_t TBusyRes_set[] = {
};
static int
-dissect_ansi_map_TBusyRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_TBusyRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- TBusyRes_set, hf_index, ett_ansi_map_TBusyRes);
+ TBusyRes_U_set, hf_index, ett_ansi_map_TBusyRes_U);
return offset;
}
-static const ber_sequence_t TNoAnswer_set[] = {
+
+static int
+dissect_ansi_map_TBusyRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TBusyRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t TNoAnswer_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
{ &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
@@ -11873,15 +12655,25 @@ static const ber_sequence_t TNoAnswer_set[] = {
};
static int
-dissect_ansi_map_TNoAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_TNoAnswer_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- TNoAnswer_set, hf_index, ett_ansi_map_TNoAnswer);
+ TNoAnswer_U_set, hf_index, ett_ansi_map_TNoAnswer_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_TNoAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TNoAnswer_U);
return offset;
}
-static const ber_sequence_t TNoAnswerRes_set[] = {
+static const ber_sequence_t TNoAnswerRes_U_set[] = {
{ &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
{ &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
{ &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
@@ -11908,15 +12700,25 @@ static const ber_sequence_t TNoAnswerRes_set[] = {
};
static int
-dissect_ansi_map_TNoAnswerRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_TNoAnswerRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- TNoAnswerRes_set, hf_index, ett_ansi_map_TNoAnswerRes);
+ TNoAnswerRes_U_set, hf_index, ett_ansi_map_TNoAnswerRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_TNoAnswerRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TNoAnswerRes_U);
return offset;
}
-static const ber_sequence_t ChangeFacilities_set[] = {
+static const ber_sequence_t ChangeFacilities_U_set[] = {
{ &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
{ &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
{ &hf_ansi_map_dataKey , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
@@ -11933,23 +12735,43 @@ static const ber_sequence_t ChangeFacilities_set[] = {
};
static int
-dissect_ansi_map_ChangeFacilities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ChangeFacilities_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ChangeFacilities_set, hf_index, ett_ansi_map_ChangeFacilities);
+ ChangeFacilities_U_set, hf_index, ett_ansi_map_ChangeFacilities_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_ChangeFacilities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeFacilities_U);
return offset;
}
-static const ber_sequence_t ChangeFacilitiesRes_set[] = {
+static const ber_sequence_t ChangeFacilitiesRes_U_set[] = {
{ &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_ChangeFacilitiesRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ChangeFacilitiesRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ChangeFacilitiesRes_set, hf_index, ett_ansi_map_ChangeFacilitiesRes);
+ ChangeFacilitiesRes_U_set, hf_index, ett_ansi_map_ChangeFacilitiesRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_ChangeFacilitiesRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeFacilitiesRes_U);
return offset;
}
@@ -11965,7 +12787,7 @@ dissect_ansi_map_TDMAVoiceMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
-static const ber_sequence_t ChangeService_set[] = {
+static const ber_sequence_t ChangeService_U_set[] = {
{ &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
{ &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
{ &hf_ansi_map_changeServiceAttributes, BER_CLASS_CON, 214, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChangeServiceAttributes },
@@ -11980,15 +12802,25 @@ static const ber_sequence_t ChangeService_set[] = {
};
static int
-dissect_ansi_map_ChangeService(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ChangeService_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ChangeService_set, hf_index, ett_ansi_map_ChangeService);
+ ChangeService_U_set, hf_index, ett_ansi_map_ChangeService_U);
return offset;
}
-static const ber_sequence_t ChangeServiceRes_set[] = {
+
+static int
+dissect_ansi_map_ChangeService(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeService_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ChangeServiceRes_U_set[] = {
{ &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
{ &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
{ &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
@@ -12003,15 +12835,25 @@ static const ber_sequence_t ChangeServiceRes_set[] = {
};
static int
-dissect_ansi_map_ChangeServiceRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ChangeServiceRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ChangeServiceRes_set, hf_index, ett_ansi_map_ChangeServiceRes);
+ ChangeServiceRes_U_set, hf_index, ett_ansi_map_ChangeServiceRes_U);
return offset;
}
-static const ber_sequence_t MessageDirective_set[] = {
+
+static int
+dissect_ansi_map_ChangeServiceRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeServiceRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t MessageDirective_U_set[] = {
{ &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
{ &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
@@ -12019,15 +12861,25 @@ static const ber_sequence_t MessageDirective_set[] = {
};
static int
-dissect_ansi_map_MessageDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_MessageDirective_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- MessageDirective_set, hf_index, ett_ansi_map_MessageDirective);
+ MessageDirective_U_set, hf_index, ett_ansi_map_MessageDirective_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_MessageDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_MessageDirective_U);
return offset;
}
-static const ber_sequence_t BulkDisconnection_set[] = {
+static const ber_sequence_t BulkDisconnection_U_set[] = {
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
{ &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
{ &hf_ansi_map_timeOfDay , BER_CLASS_CON, 309, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
@@ -12037,15 +12889,25 @@ static const ber_sequence_t BulkDisconnection_set[] = {
};
static int
-dissect_ansi_map_BulkDisconnection(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_BulkDisconnection_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- BulkDisconnection_set, hf_index, ett_ansi_map_BulkDisconnection);
+ BulkDisconnection_U_set, hf_index, ett_ansi_map_BulkDisconnection_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_BulkDisconnection(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BulkDisconnection_U);
return offset;
}
-static const ber_sequence_t CallControlDirective_set[] = {
+static const ber_sequence_t CallControlDirective_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
@@ -12066,9 +12928,19 @@ static const ber_sequence_t CallControlDirective_set[] = {
};
static int
-dissect_ansi_map_CallControlDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_CallControlDirective_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- CallControlDirective_set, hf_index, ett_ansi_map_CallControlDirective);
+ CallControlDirective_U_set, hf_index, ett_ansi_map_CallControlDirective_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_CallControlDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallControlDirective_U);
return offset;
}
@@ -12092,21 +12964,31 @@ dissect_ansi_map_CallStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
}
-static const ber_sequence_t CallControlDirectiveRes_set[] = {
+static const ber_sequence_t CallControlDirectiveRes_U_set[] = {
{ &hf_ansi_map_callStatus , BER_CLASS_CON, 310, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallStatus },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_CallControlDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_CallControlDirectiveRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- CallControlDirectiveRes_set, hf_index, ett_ansi_map_CallControlDirectiveRes);
+ CallControlDirectiveRes_U_set, hf_index, ett_ansi_map_CallControlDirectiveRes_U);
return offset;
}
-static const ber_sequence_t OAnswer_set[] = {
+
+static int
+dissect_ansi_map_CallControlDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallControlDirectiveRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t OAnswer_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
@@ -12124,9 +13006,19 @@ static const ber_sequence_t OAnswer_set[] = {
};
static int
-dissect_ansi_map_OAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_OAnswer_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- OAnswer_set, hf_index, ett_ansi_map_OAnswer);
+ OAnswer_U_set, hf_index, ett_ansi_map_OAnswer_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_OAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OAnswer_U);
return offset;
}
@@ -12150,7 +13042,7 @@ dissect_ansi_map_ReleaseCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
-static const ber_sequence_t ODisconnect_set[] = {
+static const ber_sequence_t ODisconnect_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
@@ -12170,24 +13062,44 @@ static const ber_sequence_t ODisconnect_set[] = {
};
static int
-dissect_ansi_map_ODisconnect(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ODisconnect_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ODisconnect_set, hf_index, ett_ansi_map_ODisconnect);
+ ODisconnect_U_set, hf_index, ett_ansi_map_ODisconnect_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_ODisconnect(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ODisconnect_U);
return offset;
}
-static const ber_sequence_t ODisconnectRes_set[] = {
+static const ber_sequence_t ODisconnectRes_U_set[] = {
{ &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
{ &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_ODisconnectRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ODisconnectRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ODisconnectRes_set, hf_index, ett_ansi_map_ODisconnectRes);
+ ODisconnectRes_U_set, hf_index, ett_ansi_map_ODisconnectRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_ODisconnectRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ODisconnectRes_U);
return offset;
}
@@ -12222,21 +13134,31 @@ dissect_ansi_map_CallRecoveryIDList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
}
-static const ber_sequence_t CallRecoveryReport_set[] = {
+static const ber_sequence_t CallRecoveryReport_U_set[] = {
{ &hf_ansi_map_callRecoveryIDList, BER_CLASS_CON, 304, BER_FLAGS_IMPLTAG, dissect_ansi_map_CallRecoveryIDList },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_CallRecoveryReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_CallRecoveryReport_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- CallRecoveryReport_set, hf_index, ett_ansi_map_CallRecoveryReport);
+ CallRecoveryReport_U_set, hf_index, ett_ansi_map_CallRecoveryReport_U);
return offset;
}
-static const ber_sequence_t TAnswer_set[] = {
+
+static int
+dissect_ansi_map_CallRecoveryReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallRecoveryReport_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t TAnswer_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
@@ -12257,15 +13179,25 @@ static const ber_sequence_t TAnswer_set[] = {
};
static int
-dissect_ansi_map_TAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_TAnswer_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- TAnswer_set, hf_index, ett_ansi_map_TAnswer);
+ TAnswer_U_set, hf_index, ett_ansi_map_TAnswer_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_TAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TAnswer_U);
return offset;
}
-static const ber_sequence_t TDisconnect_set[] = {
+static const ber_sequence_t TDisconnect_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
@@ -12285,44 +13217,74 @@ static const ber_sequence_t TDisconnect_set[] = {
};
static int
-dissect_ansi_map_TDisconnect(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_TDisconnect_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- TDisconnect_set, hf_index, ett_ansi_map_TDisconnect);
+ TDisconnect_U_set, hf_index, ett_ansi_map_TDisconnect_U);
return offset;
}
-static const ber_sequence_t TDisconnectRes_set[] = {
+
+static int
+dissect_ansi_map_TDisconnect(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TDisconnect_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t TDisconnectRes_U_set[] = {
{ &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_TDisconnectRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_TDisconnectRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- TDisconnectRes_set, hf_index, ett_ansi_map_TDisconnectRes);
+ TDisconnectRes_U_set, hf_index, ett_ansi_map_TDisconnectRes_U);
return offset;
}
-static const ber_sequence_t UnreliableCallData_set[] = {
+
+static int
+dissect_ansi_map_TDisconnectRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TDisconnectRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t UnreliableCallData_U_set[] = {
{ &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_UnreliableCallData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_UnreliableCallData_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- UnreliableCallData_set, hf_index, ett_ansi_map_UnreliableCallData);
+ UnreliableCallData_U_set, hf_index, ett_ansi_map_UnreliableCallData_U);
return offset;
}
-static const ber_sequence_t OCalledPartyBusy_set[] = {
+
+static int
+dissect_ansi_map_UnreliableCallData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnreliableCallData_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t OCalledPartyBusy_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
@@ -12350,15 +13312,25 @@ static const ber_sequence_t OCalledPartyBusy_set[] = {
};
static int
-dissect_ansi_map_OCalledPartyBusy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_OCalledPartyBusy_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- OCalledPartyBusy_set, hf_index, ett_ansi_map_OCalledPartyBusy);
+ OCalledPartyBusy_U_set, hf_index, ett_ansi_map_OCalledPartyBusy_U);
return offset;
}
-static const ber_sequence_t OCalledPartyBusyRes_set[] = {
+
+static int
+dissect_ansi_map_OCalledPartyBusy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OCalledPartyBusy_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t OCalledPartyBusyRes_U_set[] = {
{ &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
{ &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
{ &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
@@ -12379,15 +13351,25 @@ static const ber_sequence_t OCalledPartyBusyRes_set[] = {
};
static int
-dissect_ansi_map_OCalledPartyBusyRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_OCalledPartyBusyRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- OCalledPartyBusyRes_set, hf_index, ett_ansi_map_OCalledPartyBusyRes);
+ OCalledPartyBusyRes_U_set, hf_index, ett_ansi_map_OCalledPartyBusyRes_U);
return offset;
}
-static const ber_sequence_t ONoAnswer_set[] = {
+
+static int
+dissect_ansi_map_OCalledPartyBusyRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OCalledPartyBusyRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ONoAnswer_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
@@ -12414,15 +13396,25 @@ static const ber_sequence_t ONoAnswer_set[] = {
};
static int
-dissect_ansi_map_ONoAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ONoAnswer_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ONoAnswer_set, hf_index, ett_ansi_map_ONoAnswer);
+ ONoAnswer_U_set, hf_index, ett_ansi_map_ONoAnswer_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_ONoAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ONoAnswer_U);
return offset;
}
-static const ber_sequence_t ONoAnswerRes_set[] = {
+static const ber_sequence_t ONoAnswerRes_U_set[] = {
{ &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
{ &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
{ &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
@@ -12443,9 +13435,19 @@ static const ber_sequence_t ONoAnswerRes_set[] = {
};
static int
-dissect_ansi_map_ONoAnswerRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ONoAnswerRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ONoAnswerRes_set, hf_index, ett_ansi_map_ONoAnswerRes);
+ ONoAnswerRes_U_set, hf_index, ett_ansi_map_ONoAnswerRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_ONoAnswerRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ONoAnswerRes_U);
return offset;
}
@@ -12461,7 +13463,7 @@ dissect_ansi_map_PositionInformationCode(gboolean implicit_tag _U_, tvbuff_t *tv
}
-static const ber_sequence_t PositionRequest_set[] = {
+static const ber_sequence_t PositionRequest_U_set[] = {
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
{ &hf_ansi_map_positionInformationCode, BER_CLASS_CON, 315, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformationCode },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
@@ -12472,9 +13474,19 @@ static const ber_sequence_t PositionRequest_set[] = {
};
static int
-dissect_ansi_map_PositionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_PositionRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- PositionRequest_set, hf_index, ett_ansi_map_PositionRequest);
+ PositionRequest_U_set, hf_index, ett_ansi_map_PositionRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_PositionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequest_U);
return offset;
}
@@ -12490,7 +13502,7 @@ dissect_ansi_map_MSStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
}
-static const ber_sequence_t PositionRequestRes_set[] = {
+static const ber_sequence_t PositionRequestRes_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
{ &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
@@ -12505,15 +13517,25 @@ static const ber_sequence_t PositionRequestRes_set[] = {
};
static int
-dissect_ansi_map_PositionRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_PositionRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- PositionRequestRes_set, hf_index, ett_ansi_map_PositionRequestRes);
+ PositionRequestRes_U_set, hf_index, ett_ansi_map_PositionRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_PositionRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequestRes_U);
return offset;
}
-static const ber_sequence_t PositionRequestForward_set[] = {
+static const ber_sequence_t PositionRequestForward_U_set[] = {
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ &hf_ansi_map_positionInformationCode, BER_CLASS_CON, 315, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformationCode },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
@@ -12523,15 +13545,25 @@ static const ber_sequence_t PositionRequestForward_set[] = {
};
static int
-dissect_ansi_map_PositionRequestForward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_PositionRequestForward_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- PositionRequestForward_set, hf_index, ett_ansi_map_PositionRequestForward);
+ PositionRequestForward_U_set, hf_index, ett_ansi_map_PositionRequestForward_U);
return offset;
}
-static const ber_sequence_t PositionRequestForwardRes_set[] = {
+
+static int
+dissect_ansi_map_PositionRequestForward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequestForward_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t PositionRequestForwardRes_U_set[] = {
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
{ &hf_ansi_map_mSStatus , BER_CLASS_CON, 313, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSStatus },
{ &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
@@ -12540,15 +13572,25 @@ static const ber_sequence_t PositionRequestForwardRes_set[] = {
};
static int
-dissect_ansi_map_PositionRequestForwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_PositionRequestForwardRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- PositionRequestForwardRes_set, hf_index, ett_ansi_map_PositionRequestForwardRes);
+ PositionRequestForwardRes_U_set, hf_index, ett_ansi_map_PositionRequestForwardRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_PositionRequestForwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequestForwardRes_U);
return offset;
}
-static const ber_sequence_t CallTerminationReport_set[] = {
+static const ber_sequence_t CallTerminationReport_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_imsi , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
{ &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
@@ -12557,9 +13599,19 @@ static const ber_sequence_t CallTerminationReport_set[] = {
};
static int
-dissect_ansi_map_CallTerminationReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_CallTerminationReport_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- CallTerminationReport_set, hf_index, ett_ansi_map_CallTerminationReport);
+ CallTerminationReport_U_set, hf_index, ett_ansi_map_CallTerminationReport_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_CallTerminationReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallTerminationReport_U);
return offset;
}
@@ -12761,7 +13813,7 @@ dissect_ansi_map_PQOS_VerticalVelocity(gboolean implicit_tag _U_, tvbuff_t *tvb
}
-static const ber_sequence_t GeoPositionRequest_set[] = {
+static const ber_sequence_t GeoPositionRequest_U_set[] = {
{ &hf_ansi_map_positionRequestType, BER_CLASS_CON, 337, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionRequestType },
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
@@ -12805,9 +13857,19 @@ static const ber_sequence_t GeoPositionRequest_set[] = {
};
static int
-dissect_ansi_map_GeoPositionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_GeoPositionRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- GeoPositionRequest_set, hf_index, ett_ansi_map_GeoPositionRequest);
+ GeoPositionRequest_U_set, hf_index, ett_ansi_map_GeoPositionRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_GeoPositionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_GeoPositionRequest_U);
return offset;
}
@@ -12858,7 +13920,7 @@ dissect_ansi_map_TDMA_MAHORequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
}
-static const ber_sequence_t InterSystemPositionRequest_set[] = {
+static const ber_sequence_t InterSystemPositionRequest_U_set[] = {
{ &hf_ansi_map_positionRequestType, BER_CLASS_CON, 337, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionRequestType },
{ &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
{ &hf_ansi_map_cdmaPSMMCount, BER_CLASS_CON, 344, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMCount },
@@ -12911,9 +13973,19 @@ static const ber_sequence_t InterSystemPositionRequest_set[] = {
};
static int
-dissect_ansi_map_InterSystemPositionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_InterSystemPositionRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- InterSystemPositionRequest_set, hf_index, ett_ansi_map_InterSystemPositionRequest);
+ InterSystemPositionRequest_U_set, hf_index, ett_ansi_map_InterSystemPositionRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_InterSystemPositionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequest_U);
return offset;
}
@@ -12996,7 +14068,7 @@ dissect_ansi_map_PositionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U
}
-static const ber_sequence_t InterSystemPositionRequestRes_set[] = {
+static const ber_sequence_t InterSystemPositionRequestRes_U_set[] = {
{ &hf_ansi_map_positionResult, BER_CLASS_CON, 338, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionResult },
{ &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
{ &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
@@ -13026,15 +14098,25 @@ static const ber_sequence_t InterSystemPositionRequestRes_set[] = {
};
static int
-dissect_ansi_map_InterSystemPositionRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_InterSystemPositionRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- InterSystemPositionRequestRes_set, hf_index, ett_ansi_map_InterSystemPositionRequestRes);
+ InterSystemPositionRequestRes_U_set, hf_index, ett_ansi_map_InterSystemPositionRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_InterSystemPositionRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequestRes_U);
return offset;
}
-static const ber_sequence_t InterSystemPositionRequestForward_set[] = {
+static const ber_sequence_t InterSystemPositionRequestForward_U_set[] = {
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ &hf_ansi_map_positionRequestType, BER_CLASS_CON, 337, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionRequestType },
@@ -13057,15 +14139,25 @@ static const ber_sequence_t InterSystemPositionRequestForward_set[] = {
};
static int
-dissect_ansi_map_InterSystemPositionRequestForward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_InterSystemPositionRequestForward_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- InterSystemPositionRequestForward_set, hf_index, ett_ansi_map_InterSystemPositionRequestForward);
+ InterSystemPositionRequestForward_U_set, hf_index, ett_ansi_map_InterSystemPositionRequestForward_U);
return offset;
}
-static const ber_sequence_t InterSystemPositionRequestForwardRes_set[] = {
+
+static int
+dissect_ansi_map_InterSystemPositionRequestForward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequestForward_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t InterSystemPositionRequestForwardRes_U_set[] = {
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
{ &hf_ansi_map_positionResult, BER_CLASS_CON, 338, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionResult },
{ &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
@@ -13075,9 +14167,19 @@ static const ber_sequence_t InterSystemPositionRequestForwardRes_set[] = {
};
static int
-dissect_ansi_map_InterSystemPositionRequestForwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_InterSystemPositionRequestForwardRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- InterSystemPositionRequestForwardRes_set, hf_index, ett_ansi_map_InterSystemPositionRequestForwardRes);
+ InterSystemPositionRequestForwardRes_U_set, hf_index, ett_ansi_map_InterSystemPositionRequestForwardRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_InterSystemPositionRequestForwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequestForwardRes_U);
return offset;
}
@@ -13160,7 +14262,7 @@ dissect_ansi_map_GapInterval(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
}
-static const ber_sequence_t ACGDirective_set[] = {
+static const ber_sequence_t ACGDirective_U_set[] = {
{ &hf_ansi_map_controlType, BER_CLASS_CON, 341, BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlType },
{ &hf_ansi_map_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_DestinationAddress },
{ &hf_ansi_map_gapDuration, BER_CLASS_CON, 342, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GapDuration },
@@ -13169,9 +14271,19 @@ static const ber_sequence_t ACGDirective_set[] = {
};
static int
-dissect_ansi_map_ACGDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_ACGDirective_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- ACGDirective_set, hf_index, ett_ansi_map_ACGDirective);
+ ACGDirective_U_set, hf_index, ett_ansi_map_ACGDirective_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_ACGDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ACGDirective_U);
return offset;
}
@@ -13197,7 +14309,7 @@ dissect_ansi_map_Range(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
}
-static const ber_sequence_t RoamerDatabaseVerificationRequest_set[] = {
+static const ber_sequence_t RoamerDatabaseVerificationRequest_U_set[] = {
{ &hf_ansi_map_invokingNEType, BER_CLASS_CON, 353, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InvokingNEType },
{ &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
{ &hf_ansi_map_mscid , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
@@ -13207,29 +14319,49 @@ static const ber_sequence_t RoamerDatabaseVerificationRequest_set[] = {
};
static int
-dissect_ansi_map_RoamerDatabaseVerificationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_RoamerDatabaseVerificationRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- RoamerDatabaseVerificationRequest_set, hf_index, ett_ansi_map_RoamerDatabaseVerificationRequest);
+ RoamerDatabaseVerificationRequest_U_set, hf_index, ett_ansi_map_RoamerDatabaseVerificationRequest_U);
return offset;
}
-static const ber_sequence_t RoamerDatabaseVerificationRequestRes_set[] = {
+
+static int
+dissect_ansi_map_RoamerDatabaseVerificationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoamerDatabaseVerificationRequest_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t RoamerDatabaseVerificationRequestRes_U_set[] = {
{ &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_RoamerDatabaseVerificationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_RoamerDatabaseVerificationRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- RoamerDatabaseVerificationRequestRes_set, hf_index, ett_ansi_map_RoamerDatabaseVerificationRequestRes);
+ RoamerDatabaseVerificationRequestRes_U_set, hf_index, ett_ansi_map_RoamerDatabaseVerificationRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_RoamerDatabaseVerificationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoamerDatabaseVerificationRequestRes_U);
return offset;
}
-static const ber_sequence_t LCSParameterRequest_set[] = {
+static const ber_sequence_t LCSParameterRequest_U_set[] = {
{ &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
{ &hf_ansi_map_mpcid , BER_CLASS_CON, 371, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCID },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
@@ -13237,15 +14369,25 @@ static const ber_sequence_t LCSParameterRequest_set[] = {
};
static int
-dissect_ansi_map_LCSParameterRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_LCSParameterRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- LCSParameterRequest_set, hf_index, ett_ansi_map_LCSParameterRequest);
+ LCSParameterRequest_U_set, hf_index, ett_ansi_map_LCSParameterRequest_U);
return offset;
}
-static const ber_sequence_t LCSParameterRequestRes_set[] = {
+
+static int
+dissect_ansi_map_LCSParameterRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LCSParameterRequest_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t LCSParameterRequestRes_U_set[] = {
{ &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
{ &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
{ &hf_ansi_map_imsi , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
@@ -13261,15 +14403,25 @@ static const ber_sequence_t LCSParameterRequestRes_set[] = {
};
static int
-dissect_ansi_map_LCSParameterRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_LCSParameterRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- LCSParameterRequestRes_set, hf_index, ett_ansi_map_LCSParameterRequestRes);
+ LCSParameterRequestRes_U_set, hf_index, ett_ansi_map_LCSParameterRequestRes_U);
return offset;
}
-static const ber_sequence_t CheckMEID_set[] = {
+
+static int
+dissect_ansi_map_LCSParameterRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LCSParameterRequestRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t CheckMEID_U_set[] = {
{ &hf_ansi_map_digits , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
@@ -13280,9 +14432,19 @@ static const ber_sequence_t CheckMEID_set[] = {
};
static int
-dissect_ansi_map_CheckMEID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_CheckMEID_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- CheckMEID_set, hf_index, ett_ansi_map_CheckMEID);
+ CheckMEID_U_set, hf_index, ett_ansi_map_CheckMEID_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_CheckMEID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CheckMEID_U);
return offset;
}
@@ -13298,21 +14460,31 @@ dissect_ansi_map_MEIDStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
}
-static const ber_sequence_t CheckMEIDRes_set[] = {
+static const ber_sequence_t CheckMEIDRes_U_set[] = {
{ &hf_ansi_map_meidStatus , BER_CLASS_CON, 391, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDStatus },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_CheckMEIDRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_CheckMEIDRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- CheckMEIDRes_set, hf_index, ett_ansi_map_CheckMEIDRes);
+ CheckMEIDRes_U_set, hf_index, ett_ansi_map_CheckMEIDRes_U);
return offset;
}
-static const ber_sequence_t AddService_set[] = {
+
+static int
+dissect_ansi_map_CheckMEIDRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CheckMEIDRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AddService_U_set[] = {
{ &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
{ &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
{ &hf_ansi_map_digits , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
@@ -13323,15 +14495,25 @@ static const ber_sequence_t AddService_set[] = {
};
static int
-dissect_ansi_map_AddService(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_AddService_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- AddService_set, hf_index, ett_ansi_map_AddService);
+ AddService_U_set, hf_index, ett_ansi_map_AddService_U);
return offset;
}
-static const ber_sequence_t AddServiceRes_set[] = {
+
+static int
+dissect_ansi_map_AddService(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AddService_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AddServiceRes_U_set[] = {
{ &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
{ &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
{ &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
@@ -13340,15 +14522,25 @@ static const ber_sequence_t AddServiceRes_set[] = {
};
static int
-dissect_ansi_map_AddServiceRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_AddServiceRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- AddServiceRes_set, hf_index, ett_ansi_map_AddServiceRes);
+ AddServiceRes_U_set, hf_index, ett_ansi_map_AddServiceRes_U);
return offset;
}
-static const ber_sequence_t DropService_set[] = {
+
+static int
+dissect_ansi_map_AddServiceRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AddServiceRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t DropService_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
{ &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
@@ -13359,29 +14551,49 @@ static const ber_sequence_t DropService_set[] = {
};
static int
-dissect_ansi_map_DropService(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_DropService_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- DropService_set, hf_index, ett_ansi_map_DropService);
+ DropService_U_set, hf_index, ett_ansi_map_DropService_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_DropService(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_DropService_U);
return offset;
}
-static const ber_sequence_t DropServiceRes_set[] = {
+static const ber_sequence_t DropServiceRes_U_set[] = {
{ &hf_ansi_map_billingID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_DropServiceRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_DropServiceRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- DropServiceRes_set, hf_index, ett_ansi_map_DropServiceRes);
+ DropServiceRes_U_set, hf_index, ett_ansi_map_DropServiceRes_U);
return offset;
}
-static const ber_sequence_t PositionEventNotification_set[] = {
+
+static int
+dissect_ansi_map_DropServiceRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_DropServiceRes_U);
+
+ return offset;
+}
+
+
+static const ber_sequence_t PositionEventNotification_U_set[] = {
{ &hf_ansi_map_positionResult, BER_CLASS_CON, 338, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionResult },
{ &hf_ansi_map_imsi , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
{ &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
@@ -13390,9 +14602,19 @@ static const ber_sequence_t PositionEventNotification_set[] = {
};
static int
-dissect_ansi_map_PositionEventNotification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_PositionEventNotification_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- PositionEventNotification_set, hf_index, ett_ansi_map_PositionEventNotification);
+ PositionEventNotification_U_set, hf_index, ett_ansi_map_PositionEventNotification_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_PositionEventNotification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionEventNotification_U);
return offset;
}
@@ -13440,7 +14662,7 @@ dissect_ansi_map_NewlyAssignedMSID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
}
-static const ber_sequence_t OTASPRequest_set[] = {
+static const ber_sequence_t OTASPRequest_U_set[] = {
{ &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
{ &hf_ansi_map_aKeyProtocolVersion, BER_CLASS_CON, 181, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AKeyProtocolVersion },
{ &hf_ansi_map_authenticationData, BER_CLASS_CON, 161, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationData },
@@ -13461,9 +14683,19 @@ static const ber_sequence_t OTASPRequest_set[] = {
};
static int
-dissect_ansi_map_OTASPRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_OTASPRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- OTASPRequest_set, hf_index, ett_ansi_map_OTASPRequest);
+ OTASPRequest_U_set, hf_index, ett_ansi_map_OTASPRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_OTASPRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OTASPRequest_U);
return offset;
}
@@ -13509,7 +14741,7 @@ dissect_ansi_map_PrimitiveValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
}
-static const ber_sequence_t OTASPRequestRes_set[] = {
+static const ber_sequence_t OTASPRequestRes_U_set[] = {
{ &hf_ansi_map_aKeyProtocolVersion, BER_CLASS_CON, 181, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AKeyProtocolVersion },
{ &hf_ansi_map_authenticationResponseBaseStation, BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseBaseStation },
{ &hf_ansi_map_baseStationPartialKey, BER_CLASS_CON, 183, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationPartialKey },
@@ -13525,9 +14757,19 @@ static const ber_sequence_t OTASPRequestRes_set[] = {
};
static int
-dissect_ansi_map_OTASPRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_OTASPRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- OTASPRequestRes_set, hf_index, ett_ansi_map_OTASPRequestRes);
+ OTASPRequestRes_U_set, hf_index, ett_ansi_map_OTASPRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_OTASPRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OTASPRequestRes_U);
return offset;
}
@@ -13543,16 +14785,26 @@ dissect_ansi_map_Record_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
}
-static const ber_sequence_t StatusRequest_set[] = {
+static const ber_sequence_t StatusRequest_U_set[] = {
{ &hf_ansi_map_msid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
{ &hf_ansi_map_record_Type, BER_CLASS_CON, 392, BER_FLAGS_IMPLTAG, dissect_ansi_map_Record_Type },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_StatusRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_StatusRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- StatusRequest_set, hf_index, ett_ansi_map_StatusRequest);
+ StatusRequest_U_set, hf_index, ett_ansi_map_StatusRequest_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_StatusRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_StatusRequest_U);
return offset;
}
@@ -13568,15 +14820,25 @@ dissect_ansi_map_Information_Record(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
}
-static const ber_sequence_t StatusRequestRes_set[] = {
+static const ber_sequence_t StatusRequestRes_U_set[] = {
{ &hf_ansi_map_information_Record, BER_CLASS_CON, 389, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Information_Record },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_ansi_map_StatusRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ansi_map_StatusRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- StatusRequestRes_set, hf_index, ett_ansi_map_StatusRequestRes);
+ StatusRequestRes_U_set, hf_index, ett_ansi_map_StatusRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_StatusRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_StatusRequestRes_U);
return offset;
}
@@ -13801,7 +15063,7 @@ dissect_ansi_map_ReturnData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
/*--- End of included file: packet-ansi_map-fn.c ---*/
-#line 3611 "packet-ansi_map-template.c"
+#line 3617 "packet-ansi_map-template.c"
/*
* 6.5.2.dk N.S0013-0 v 1.0,X.S0004-550-E v1.0 2.301
@@ -13811,7 +15073,7 @@ dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t
int offset = 0;
int end_offset = 0;
- int j = 0;
+ int j;
proto_tree *subtree;
guint8 octet;
@@ -13846,6 +15108,7 @@ dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t
}
}
+
static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
@@ -14237,6 +15500,10 @@ static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
case 25: /*Handoff To Third*/
offset = dissect_ansi_map_HandoffToThirdRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThirdRes);
break;
+ case 26: /*Flash Request*/
+ /* No data */
+ proto_tree_add_text(tree, tvb, offset, -1, "No Data");
+ break;
case 27: /*Authentication Directive*/
offset = dissect_ansi_map_AuthenticationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveRes);
break;
@@ -14422,12 +15689,54 @@ static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
}
+static int
+find_saved_invokedata(asn1_ctx_t *actx){
+ struct ansi_map_invokedata_t *ansi_map_saved_invokedata;
+ struct ansi_tcap_private_t *p_private_tcap;
+ address* src = &(actx->pinfo->src);
+ address* dst = &(actx->pinfo->dst);
+ guint8 *src_str;
+ guint8 *dst_str;
+ char *buf;
+
+ buf=ep_alloc(1024);
+ src_str = address_to_str(src);
+ dst_str = address_to_str(dst);
+
+ /* Data from the TCAP dissector */
+ if (actx->pinfo->private_data != NULL){
+ p_private_tcap=actx->pinfo->private_data;
+ /* The hash string needs to contain src and dest to distiguish differnt flows */
+ src_str = address_to_str(src);
+ dst_str = address_to_str(dst);
+ strcpy(buf, p_private_tcap->TransactionID_str);
+ /* Reverse order to invoke */
+ strcat(buf,dst_str);
+ strcat(buf,src_str);
+ strcat(buf,"\0");
+ /*
+ g_warning("Find Hash string %s",buf);
+ */
+ ansi_map_saved_invokedata = g_hash_table_lookup(TransactionId_table, p_private_tcap->TransactionID_str);
+ if(ansi_map_saved_invokedata){
+ OperationCode = ansi_map_saved_invokedata->opcode & 0xff;
+ ServiceIndicator = ansi_map_saved_invokedata->ServiceIndicator;
+ }else{
+ OperationCode = OperationCode & 0x00ff;
+ }
+ }else{
+ OperationCode = OperationCode & 0x00ff;
+ }
+ return OperationCode;
+}
+
static void
dissect_ansi_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
proto_item *ansi_map_item;
proto_tree *ansi_map_tree = NULL;
int offset = 0;
+ struct ansi_tcap_private_t *p_private_tcap;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
@@ -14442,6 +15751,12 @@ dissect_ansi_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
col_set_str(pinfo->cinfo, COL_PROTOCOL, "ANSI MAP");
}
+ /* Data from the TCAP dissector */
+ if (pinfo->private_data == NULL){
+ proto_tree_add_text(tree, tvb, 0, -1, "Dissector ERROR this dissector relays on private data");
+ return;
+ }
+
/*
* create the ansi_map protocol tree
*/
@@ -14450,8 +15765,54 @@ dissect_ansi_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
ansi_map_is_invoke = FALSE;
is683_ota = FALSE;
is801_pld = FALSE;
- dissect_ansi_map_ComponentPDU(FALSE, tvb, offset, &asn1_ctx, ansi_map_tree, -1);
+ ServiceIndicator = 0;
+ p_private_tcap=pinfo->private_data;
+
+ switch(p_private_tcap->d.pdu){
+ /*
+ 1 : invoke,
+ 2 : returnResult,
+ 3 : returnError,
+ 4 : reject
+ */
+ case 1:
+ OperationCode = p_private_tcap->d.OperationCode_private & 0x00ff;
+ ansi_map_is_invoke = TRUE;
+ if (check_col(pinfo->cinfo, COL_INFO)){
+ col_clear(pinfo->cinfo, COL_INFO);
+ col_add_fstr(pinfo->cinfo, COL_INFO,"%s Invoke", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
+ }
+ proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
+ offset = dissect_invokeData(ansi_map_tree, tvb, 0, &asn1_ctx);
+ update_saved_invokedata(pinfo, ansi_map_tree, tvb);
+ break;
+ case 2:
+ OperationCode = find_saved_invokedata(&asn1_ctx);
+ if (check_col(pinfo->cinfo, COL_INFO)){
+ col_clear(pinfo->cinfo, COL_INFO);
+ col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnResult", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
+ }
+ proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
+ offset = dissect_returnData(ansi_map_tree, tvb, 0, &asn1_ctx);
+ break;
+ case 3:
+ if (check_col(pinfo->cinfo, COL_INFO)){
+ col_clear(pinfo->cinfo, COL_INFO);
+ col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnError", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
+ }
+ break;
+ case 4:
+ if (check_col(pinfo->cinfo, COL_INFO)){
+ col_clear(pinfo->cinfo, COL_INFO);
+ col_add_fstr(pinfo->cinfo, COL_INFO,"%s Reject", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
+ }
+ break;
+ default:
+ /* Must be Invoke ReturnResult ReturnError or Reject */
+ DISSECTOR_ASSERT_NOT_REACHED();
+ break;
+ }
}
static void range_delete_callback(guint32 ssn)
@@ -15299,82 +16660,6 @@ void proto_register_ansi_map(void) {
/*--- Included file: packet-ansi_map-hfarr.c ---*/
#line 1 "packet-ansi_map-hfarr.c"
- { &hf_ansi_map_invokeLast,
- { "invokeLast", "ansi_map.invokeLast",
- FT_NONE, BASE_NONE, NULL, 0,
- "ansi_map.InvokePDU", HFILL }},
- { &hf_ansi_map_returnResultLast,
- { "returnResultLast", "ansi_map.returnResultLast",
- FT_NONE, BASE_NONE, NULL, 0,
- "ansi_map.ReturnResultPDU", HFILL }},
- { &hf_ansi_map_returnError,
- { "returnError", "ansi_map.returnError",
- FT_NONE, BASE_NONE, NULL, 0,
- "ansi_map.ReturnErrorPDU", HFILL }},
- { &hf_ansi_map_reject,
- { "reject", "ansi_map.reject",
- FT_NONE, BASE_NONE, NULL, 0,
- "ansi_map.RejectPDU", HFILL }},
- { &hf_ansi_map_invokeNotLast,
- { "invokeNotLast", "ansi_map.invokeNotLast",
- FT_NONE, BASE_NONE, NULL, 0,
- "ansi_map.InvokePDU", HFILL }},
- { &hf_ansi_map_returnResultNotLast,
- { "returnResultNotLast", "ansi_map.returnResultNotLast",
- FT_NONE, BASE_NONE, NULL, 0,
- "ansi_map.ReturnResultPDU", HFILL }},
- { &hf_ansi_map_componentIDs,
- { "componentIDs", "ansi_map.componentIDs",
- FT_BYTES, BASE_HEX, NULL, 0,
- "ansi_map.OCTET_STRING_SIZE_0_2", HFILL }},
- { &hf_ansi_map_operationCode,
- { "operationCode", "ansi_map.operationCode",
- FT_UINT32, BASE_DEC, VALS(ansi_map_OperationCode_vals), 0,
- "ansi_map.OperationCode", HFILL }},
- { &hf_ansi_map_invokeParameters,
- { "invokeParameters", "ansi_map.invokeParameters",
- FT_NONE, BASE_NONE, NULL, 0,
- "ansi_map.InvokeParameters", HFILL }},
- { &hf_ansi_map_componentID,
- { "componentID", "ansi_map.componentID",
- FT_BYTES, BASE_HEX, NULL, 0,
- "ansi_map.ComponentID", HFILL }},
- { &hf_ansi_map_returnResult,
- { "returnResult", "ansi_map.returnResult",
- FT_NONE, BASE_NONE, NULL, 0,
- "ansi_map.ReturnParameters", HFILL }},
- { &hf_ansi_map_errorCode,
- { "errorCode", "ansi_map.errorCode",
- FT_UINT32, BASE_DEC, VALS(ansi_map_ErrorCode_vals), 0,
- "ansi_map.ErrorCode", HFILL }},
- { &hf_ansi_map_parameterre,
- { "parameterre", "ansi_map.parameterre",
- FT_NONE, BASE_NONE, NULL, 0,
- "ansi_map.RejectParameters", HFILL }},
- { &hf_ansi_map_rejectProblem,
- { "rejectProblem", "ansi_map.rejectProblem",
- FT_INT32, BASE_DEC, VALS(ansi_map_ProblemPDU_vals), 0,
- "ansi_map.ProblemPDU", HFILL }},
- { &hf_ansi_map_parameterrj,
- { "parameterrj", "ansi_map.parameterrj",
- FT_NONE, BASE_NONE, NULL, 0,
- "ansi_map.RejectParameters", HFILL }},
- { &hf_ansi_map_national,
- { "national", "ansi_map.national",
- FT_INT32, BASE_DEC, NULL, 0,
- "ansi_map.INTEGER_M32768_32767", HFILL }},
- { &hf_ansi_map_private,
- { "private", "ansi_map.private",
- FT_INT32, BASE_DEC, NULL, 0,
- "ansi_map.PrivateOperationCode", HFILL }},
- { &hf_ansi_map_nationaler,
- { "nationaler", "ansi_map.nationaler",
- FT_INT32, BASE_DEC, NULL, 0,
- "ansi_map.INTEGER_M32768_32767", HFILL }},
- { &hf_ansi_map_privateer,
- { "privateer", "ansi_map.privateer",
- FT_INT32, BASE_DEC, NULL, 0,
- "ansi_map.INTEGER", HFILL }},
{ &hf_ansi_map_electronicSerialNumber,
{ "electronicSerialNumber", "ansi_map.electronicSerialNumber",
FT_BYTES, BASE_HEX, NULL, 0,
@@ -17525,7 +18810,7 @@ void proto_register_ansi_map(void) {
"ansi_map.StatusRequestRes", HFILL }},
/*--- End of included file: packet-ansi_map-hfarr.c ---*/
-#line 5106 "packet-ansi_map-template.c"
+#line 5211 "packet-ansi_map-template.c"
};
/* List of subtrees */
@@ -17561,172 +18846,165 @@ void proto_register_ansi_map(void) {
/*--- Included file: packet-ansi_map-ettarr.c ---*/
#line 1 "packet-ansi_map-ettarr.c"
- &ett_ansi_map_ComponentPDU,
- &ett_ansi_map_InvokePDU,
- &ett_ansi_map_ReturnResultPDU,
- &ett_ansi_map_ReturnErrorPDU,
- &ett_ansi_map_RejectPDU,
- &ett_ansi_map_OperationCode,
- &ett_ansi_map_ErrorCode,
- &ett_ansi_map_AuthenticationDirective,
- &ett_ansi_map_AuthenticationDirectiveRes,
- &ett_ansi_map_AuthenticationDirectiveForward,
- &ett_ansi_map_AuthenticationDirectiveForwardRes,
- &ett_ansi_map_AuthenticationFailureReport,
- &ett_ansi_map_AuthenticationFailureReportRes,
- &ett_ansi_map_AuthenticationRequest,
- &ett_ansi_map_AuthenticationRequestRes,
- &ett_ansi_map_AuthenticationStatusReport,
- &ett_ansi_map_AuthenticationStatusReportRes,
- &ett_ansi_map_BaseStationChallenge,
- &ett_ansi_map_BaseStationChallengeRes,
- &ett_ansi_map_Blocking,
- &ett_ansi_map_BulkDeregistration,
- &ett_ansi_map_CountRequest,
- &ett_ansi_map_CountRequestRes,
- &ett_ansi_map_FacilitiesDirective,
- &ett_ansi_map_FacilitiesDirectiveRes,
- &ett_ansi_map_FacilitiesDirective2,
- &ett_ansi_map_FacilitiesDirective2Res,
- &ett_ansi_map_FacilitiesRelease,
- &ett_ansi_map_FacilitiesReleaseRes,
- &ett_ansi_map_FeatureRequest,
- &ett_ansi_map_FeatureRequestRes,
- &ett_ansi_map_FlashRequest,
- &ett_ansi_map_HandoffBack,
- &ett_ansi_map_HandoffBackRes,
- &ett_ansi_map_HandoffBack2,
- &ett_ansi_map_HandoffBack2Res,
- &ett_ansi_map_HandoffMeasurementRequest,
- &ett_ansi_map_HandoffMeasurementRequestRes,
- &ett_ansi_map_HandoffMeasurementRequest2,
- &ett_ansi_map_HandoffMeasurementRequest2Res,
- &ett_ansi_map_HandoffToThird,
- &ett_ansi_map_HandoffToThirdRes,
- &ett_ansi_map_HandoffToThird2,
- &ett_ansi_map_HandoffToThird2Res,
- &ett_ansi_map_InformationDirective,
- &ett_ansi_map_InformationDirectiveRes,
- &ett_ansi_map_InformationForward,
- &ett_ansi_map_InformationForwardRes,
- &ett_ansi_map_InterSystemAnswer,
- &ett_ansi_map_InterSystemPage,
- &ett_ansi_map_InterSystemPageRes,
- &ett_ansi_map_InterSystemPage2,
- &ett_ansi_map_InterSystemPage2Res,
- &ett_ansi_map_InterSystemSetup,
- &ett_ansi_map_InterSystemSetupRes,
- &ett_ansi_map_LocationRequest,
- &ett_ansi_map_LocationRequestRes,
- &ett_ansi_map_MSInactive,
- &ett_ansi_map_OriginationRequest,
- &ett_ansi_map_OriginationRequestRes,
- &ett_ansi_map_QualificationDirective,
- &ett_ansi_map_QualificationRequest,
- &ett_ansi_map_QualificationRequestRes,
- &ett_ansi_map_RandomVariableRequest,
- &ett_ansi_map_RandomVariableRequestRes,
- &ett_ansi_map_RedirectionDirective,
- &ett_ansi_map_RedirectionRequest,
- &ett_ansi_map_RegistrationCancellation,
- &ett_ansi_map_RegistrationCancellationRes,
- &ett_ansi_map_RegistrationNotification,
- &ett_ansi_map_RegistrationNotificationRes,
- &ett_ansi_map_RemoteUserInteractionDirective,
- &ett_ansi_map_RemoteUserInteractionDirectiveRes,
- &ett_ansi_map_ResetCircuit,
- &ett_ansi_map_ResetCircuitRes,
- &ett_ansi_map_RoutingRequest,
- &ett_ansi_map_RoutingRequestRes,
- &ett_ansi_map_SMSDeliveryBackward,
- &ett_ansi_map_SMSDeliveryBackwardRes,
- &ett_ansi_map_SMSDeliveryForward,
- &ett_ansi_map_SMSDeliveryForwardRes,
- &ett_ansi_map_SMSDeliveryPointToPoint,
- &ett_ansi_map_SMSDeliveryPointToPointRes,
- &ett_ansi_map_SMSNotification,
- &ett_ansi_map_SMSNotificationRes,
- &ett_ansi_map_SMSRequest,
- &ett_ansi_map_SMSRequestRes,
- &ett_ansi_map_TransferToNumberRequest,
- &ett_ansi_map_TransferToNumberRequestRes,
- &ett_ansi_map_TrunkTest,
- &ett_ansi_map_TrunkTestDisconnect,
- &ett_ansi_map_Unblocking,
- &ett_ansi_map_UnreliableRoamerDataDirective,
- &ett_ansi_map_UnsolicitedResponse,
- &ett_ansi_map_UnsolicitedResponseRes,
- &ett_ansi_map_ParameterRequest,
- &ett_ansi_map_ParameterRequestRes,
- &ett_ansi_map_TMSIDirective,
- &ett_ansi_map_TMSIDirectiveRes,
- &ett_ansi_map_NumberPortabilityRequest,
- &ett_ansi_map_ServiceRequest,
- &ett_ansi_map_ServiceRequestRes,
- &ett_ansi_map_AnalyzedInformation,
- &ett_ansi_map_AnalyzedInformationRes,
- &ett_ansi_map_ConnectionFailureReport,
- &ett_ansi_map_ConnectResource,
- &ett_ansi_map_FacilitySelectedAndAvailable,
- &ett_ansi_map_FacilitySelectedAndAvailableRes,
- &ett_ansi_map_Modify,
- &ett_ansi_map_ModifyRes,
- &ett_ansi_map_Search,
- &ett_ansi_map_SearchRes,
- &ett_ansi_map_SeizeResource,
- &ett_ansi_map_SeizeResourceRes,
- &ett_ansi_map_SRFDirective,
- &ett_ansi_map_SRFDirectiveRes,
- &ett_ansi_map_TBusy,
- &ett_ansi_map_TBusyRes,
- &ett_ansi_map_TNoAnswer,
- &ett_ansi_map_TNoAnswerRes,
- &ett_ansi_map_ChangeFacilities,
- &ett_ansi_map_ChangeFacilitiesRes,
- &ett_ansi_map_ChangeService,
- &ett_ansi_map_ChangeServiceRes,
- &ett_ansi_map_MessageDirective,
- &ett_ansi_map_BulkDisconnection,
- &ett_ansi_map_CallControlDirective,
- &ett_ansi_map_CallControlDirectiveRes,
- &ett_ansi_map_OAnswer,
- &ett_ansi_map_ODisconnect,
- &ett_ansi_map_ODisconnectRes,
- &ett_ansi_map_CallRecoveryReport,
- &ett_ansi_map_TAnswer,
- &ett_ansi_map_TDisconnect,
- &ett_ansi_map_TDisconnectRes,
- &ett_ansi_map_UnreliableCallData,
- &ett_ansi_map_OCalledPartyBusy,
- &ett_ansi_map_OCalledPartyBusyRes,
- &ett_ansi_map_ONoAnswer,
- &ett_ansi_map_ONoAnswerRes,
- &ett_ansi_map_PositionRequest,
- &ett_ansi_map_PositionRequestRes,
- &ett_ansi_map_PositionRequestForward,
- &ett_ansi_map_PositionRequestForwardRes,
- &ett_ansi_map_CallTerminationReport,
- &ett_ansi_map_GeoPositionRequest,
- &ett_ansi_map_InterSystemPositionRequest,
- &ett_ansi_map_InterSystemPositionRequestRes,
- &ett_ansi_map_InterSystemPositionRequestForward,
- &ett_ansi_map_InterSystemPositionRequestForwardRes,
- &ett_ansi_map_ACGDirective,
- &ett_ansi_map_RoamerDatabaseVerificationRequest,
- &ett_ansi_map_RoamerDatabaseVerificationRequestRes,
- &ett_ansi_map_LCSParameterRequest,
- &ett_ansi_map_LCSParameterRequestRes,
- &ett_ansi_map_CheckMEID,
- &ett_ansi_map_CheckMEIDRes,
- &ett_ansi_map_AddService,
- &ett_ansi_map_AddServiceRes,
- &ett_ansi_map_DropService,
- &ett_ansi_map_DropServiceRes,
- &ett_ansi_map_PositionEventNotification,
- &ett_ansi_map_OTASPRequest,
- &ett_ansi_map_OTASPRequestRes,
- &ett_ansi_map_StatusRequest,
- &ett_ansi_map_StatusRequestRes,
+ &ett_ansi_map_AuthenticationDirective_U,
+ &ett_ansi_map_AuthenticationDirectiveRes_U,
+ &ett_ansi_map_AuthenticationDirectiveForward_U,
+ &ett_ansi_map_AuthenticationDirectiveForwardRes_U,
+ &ett_ansi_map_AuthenticationFailureReport_U,
+ &ett_ansi_map_AuthenticationFailureReportRes_U,
+ &ett_ansi_map_AuthenticationRequest_U,
+ &ett_ansi_map_AuthenticationRequestRes_U,
+ &ett_ansi_map_AuthenticationStatusReport_U,
+ &ett_ansi_map_AuthenticationStatusReportRes_U,
+ &ett_ansi_map_BaseStationChallenge_U,
+ &ett_ansi_map_BaseStationChallengeRes_U,
+ &ett_ansi_map_Blocking_U,
+ &ett_ansi_map_BulkDeregistration_U,
+ &ett_ansi_map_CountRequest_U,
+ &ett_ansi_map_CountRequestRes_U,
+ &ett_ansi_map_FacilitiesDirective_U,
+ &ett_ansi_map_FacilitiesDirectiveRes_U,
+ &ett_ansi_map_FacilitiesDirective2_U,
+ &ett_ansi_map_FacilitiesDirective2Res_U,
+ &ett_ansi_map_FacilitiesRelease_U,
+ &ett_ansi_map_FacilitiesReleaseRes_U,
+ &ett_ansi_map_FeatureRequest_U,
+ &ett_ansi_map_FeatureRequestRes_U,
+ &ett_ansi_map_FlashRequest_U,
+ &ett_ansi_map_HandoffBack_U,
+ &ett_ansi_map_HandoffBackRes_U,
+ &ett_ansi_map_HandoffBack2_U,
+ &ett_ansi_map_HandoffBack2Res_U,
+ &ett_ansi_map_HandoffMeasurementRequest_U,
+ &ett_ansi_map_HandoffMeasurementRequestRes_U,
+ &ett_ansi_map_HandoffMeasurementRequest2_U,
+ &ett_ansi_map_HandoffMeasurementRequest2Res_U,
+ &ett_ansi_map_HandoffToThird_U,
+ &ett_ansi_map_HandoffToThirdRes_U,
+ &ett_ansi_map_HandoffToThird2_U,
+ &ett_ansi_map_HandoffToThird2Res_U,
+ &ett_ansi_map_InformationDirective_U,
+ &ett_ansi_map_InformationDirectiveRes_U,
+ &ett_ansi_map_InformationForward_U,
+ &ett_ansi_map_InformationForwardRes_U,
+ &ett_ansi_map_InterSystemAnswer_U,
+ &ett_ansi_map_InterSystemPage_U,
+ &ett_ansi_map_InterSystemPageRes_U,
+ &ett_ansi_map_InterSystemPage2_U,
+ &ett_ansi_map_InterSystemPage2Res_U,
+ &ett_ansi_map_InterSystemSetup_U,
+ &ett_ansi_map_InterSystemSetupRes_U,
+ &ett_ansi_map_LocationRequest_U,
+ &ett_ansi_map_LocationRequestRes_U,
+ &ett_ansi_map_MSInactive_U,
+ &ett_ansi_map_OriginationRequest_U,
+ &ett_ansi_map_OriginationRequestRes_U,
+ &ett_ansi_map_QualificationDirective_U,
+ &ett_ansi_map_QualificationRequest_U,
+ &ett_ansi_map_QualificationRequestRes_U,
+ &ett_ansi_map_RandomVariableRequest_U,
+ &ett_ansi_map_RandomVariableRequestRes_U,
+ &ett_ansi_map_RedirectionDirective_U,
+ &ett_ansi_map_RedirectionRequest_U,
+ &ett_ansi_map_RegistrationCancellation_U,
+ &ett_ansi_map_RegistrationCancellationRes_U,
+ &ett_ansi_map_RegistrationNotification_U,
+ &ett_ansi_map_RegistrationNotificationRes_U,
+ &ett_ansi_map_RemoteUserInteractionDirective_U,
+ &ett_ansi_map_RemoteUserInteractionDirectiveRes_U,
+ &ett_ansi_map_ResetCircuit_U,
+ &ett_ansi_map_ResetCircuitRes_U,
+ &ett_ansi_map_RoutingRequest_U,
+ &ett_ansi_map_RoutingRequestRes_U,
+ &ett_ansi_map_SMSDeliveryBackward_U,
+ &ett_ansi_map_SMSDeliveryBackwardRes_U,
+ &ett_ansi_map_SMSDeliveryForward_U,
+ &ett_ansi_map_SMSDeliveryForwardRes_U,
+ &ett_ansi_map_SMSDeliveryPointToPoint_U,
+ &ett_ansi_map_SMSDeliveryPointToPointRes_U,
+ &ett_ansi_map_SMSNotification_U,
+ &ett_ansi_map_SMSNotificationRes_U,
+ &ett_ansi_map_SMSRequest_U,
+ &ett_ansi_map_SMSRequestRes_U,
+ &ett_ansi_map_TransferToNumberRequest_U,
+ &ett_ansi_map_TransferToNumberRequestRes_U,
+ &ett_ansi_map_TrunkTest_U,
+ &ett_ansi_map_TrunkTestDisconnect_U,
+ &ett_ansi_map_Unblocking_U,
+ &ett_ansi_map_UnreliableRoamerDataDirective_U,
+ &ett_ansi_map_UnsolicitedResponse_U,
+ &ett_ansi_map_UnsolicitedResponseRes_U,
+ &ett_ansi_map_ParameterRequest_U,
+ &ett_ansi_map_ParameterRequestRes_U,
+ &ett_ansi_map_TMSIDirective_U,
+ &ett_ansi_map_TMSIDirectiveRes_U,
+ &ett_ansi_map_NumberPortabilityRequest_U,
+ &ett_ansi_map_ServiceRequest_U,
+ &ett_ansi_map_ServiceRequestRes_U,
+ &ett_ansi_map_AnalyzedInformation_U,
+ &ett_ansi_map_AnalyzedInformationRes_U,
+ &ett_ansi_map_ConnectionFailureReport_U,
+ &ett_ansi_map_ConnectResource_U,
+ &ett_ansi_map_FacilitySelectedAndAvailable_U,
+ &ett_ansi_map_FacilitySelectedAndAvailableRes_U,
+ &ett_ansi_map_Modify_U,
+ &ett_ansi_map_ModifyRes_U,
+ &ett_ansi_map_Search_U,
+ &ett_ansi_map_SearchRes_U,
+ &ett_ansi_map_SeizeResource_U,
+ &ett_ansi_map_SeizeResourceRes_U,
+ &ett_ansi_map_SRFDirective_U,
+ &ett_ansi_map_SRFDirectiveRes_U,
+ &ett_ansi_map_TBusy_U,
+ &ett_ansi_map_TBusyRes_U,
+ &ett_ansi_map_TNoAnswer_U,
+ &ett_ansi_map_TNoAnswerRes_U,
+ &ett_ansi_map_ChangeFacilities_U,
+ &ett_ansi_map_ChangeFacilitiesRes_U,
+ &ett_ansi_map_ChangeService_U,
+ &ett_ansi_map_ChangeServiceRes_U,
+ &ett_ansi_map_MessageDirective_U,
+ &ett_ansi_map_BulkDisconnection_U,
+ &ett_ansi_map_CallControlDirective_U,
+ &ett_ansi_map_CallControlDirectiveRes_U,
+ &ett_ansi_map_OAnswer_U,
+ &ett_ansi_map_ODisconnect_U,
+ &ett_ansi_map_ODisconnectRes_U,
+ &ett_ansi_map_CallRecoveryReport_U,
+ &ett_ansi_map_TAnswer_U,
+ &ett_ansi_map_TDisconnect_U,
+ &ett_ansi_map_TDisconnectRes_U,
+ &ett_ansi_map_UnreliableCallData_U,
+ &ett_ansi_map_OCalledPartyBusy_U,
+ &ett_ansi_map_OCalledPartyBusyRes_U,
+ &ett_ansi_map_ONoAnswer_U,
+ &ett_ansi_map_ONoAnswerRes_U,
+ &ett_ansi_map_PositionRequest_U,
+ &ett_ansi_map_PositionRequestRes_U,
+ &ett_ansi_map_PositionRequestForward_U,
+ &ett_ansi_map_PositionRequestForwardRes_U,
+ &ett_ansi_map_CallTerminationReport_U,
+ &ett_ansi_map_GeoPositionRequest_U,
+ &ett_ansi_map_InterSystemPositionRequest_U,
+ &ett_ansi_map_InterSystemPositionRequestRes_U,
+ &ett_ansi_map_InterSystemPositionRequestForward_U,
+ &ett_ansi_map_InterSystemPositionRequestForwardRes_U,
+ &ett_ansi_map_ACGDirective_U,
+ &ett_ansi_map_RoamerDatabaseVerificationRequest_U,
+ &ett_ansi_map_RoamerDatabaseVerificationRequestRes_U,
+ &ett_ansi_map_LCSParameterRequest_U,
+ &ett_ansi_map_LCSParameterRequestRes_U,
+ &ett_ansi_map_CheckMEID_U,
+ &ett_ansi_map_CheckMEIDRes_U,
+ &ett_ansi_map_AddService_U,
+ &ett_ansi_map_AddServiceRes_U,
+ &ett_ansi_map_DropService_U,
+ &ett_ansi_map_DropServiceRes_U,
+ &ett_ansi_map_PositionEventNotification_U,
+ &ett_ansi_map_OTASPRequest_U,
+ &ett_ansi_map_OTASPRequestRes_U,
+ &ett_ansi_map_StatusRequest_U,
+ &ett_ansi_map_StatusRequestRes_U,
&ett_ansi_map_AnnouncementList,
&ett_ansi_map_CDMACodeChannelInformation,
&ett_ansi_map_CDMACodeChannelList,
@@ -17786,7 +19064,7 @@ void proto_register_ansi_map(void) {
&ett_ansi_map_ReturnData,
/*--- End of included file: packet-ansi_map-ettarr.c ---*/
-#line 5139 "packet-ansi_map-template.c"
+#line 5244 "packet-ansi_map-template.c"
};
diff --git a/epan/dissectors/packet-ansi_map.h b/epan/dissectors/packet-ansi_map.h
index 16c19dfef0..0f782876f5 100644
--- a/epan/dissectors/packet-ansi_map.h
+++ b/epan/dissectors/packet-ansi_map.h
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* ./packet-ansi_map.h */
-/* ../../tools/asn2wrs.py -b -X -e -p ansi_map -c ansi_map.cnf -s packet-ansi_map-template ansi_map.asn */
+/* ../../tools/asn2wrs.py -b -X -T -e -p ansi_map -c ansi_map.cnf -s packet-ansi_map-template ansi_map.asn */
/* Input file: packet-ansi_map-template.h */
diff --git a/epan/dissectors/packet-ansi_tcap.c b/epan/dissectors/packet-ansi_tcap.c
index 55661bba3d..d5b3059c2b 100644
--- a/epan/dissectors/packet-ansi_tcap.c
+++ b/epan/dissectors/packet-ansi_tcap.c
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
-/* .\packet-ansi_tcap.c */
+/* ./packet-ansi_tcap.c */
/* ../../tools/asn2wrs.py -b -X -T -e -p ansi_tcap -c ansi_tcap.cnf -s packet-ansi_tcap-template TCAP-Remote-Operations-Information-Objects.asn TCAPPackage.asn */
/* Input file: packet-ansi_tcap-template.c */
@@ -196,7 +196,7 @@ struct ansi_tcap_private_t ansi_tcap_private;
static void ansi_tcap_ctx_init(struct ansi_tcap_private_t *a_tcap_ctx) {
memset(a_tcap_ctx, '\0', sizeof(*a_tcap_ctx));
a_tcap_ctx->signature = ANSI_TCAP_CTX_SIGNATURE;
- ansi_tcap_private.oid_is_present = FALSE;
+ a_tcap_ctx->oid_is_present = FALSE;
}
static void dissect_ansi_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree);
@@ -216,6 +216,124 @@ dissector_handle_t get_ansi_tcap_subdissector(guint32 ssn) {
}
*/
+/* Transaction tracking */
+/* Transaction table */
+struct ansi_tcap_invokedata_t {
+ gint OperationCode;
+ /*
+ 0 : national,
+ 1 : private
+ */
+ gint32 OperationCode_private;
+ gint32 OperationCode_national;
+};
+
+static GHashTable *TransactionId_table=NULL;
+
+static void
+TransactionId_table_cleanup(gpointer key , gpointer value, gpointer user_data _U_){
+
+ struct ansi_tcap_invokedata_t *ansi_tcap_saved_invokedata = value;
+ gchar *TransactionId_str = key;
+
+ if ( TransactionId_str ){
+ g_free(TransactionId_str);
+ }
+ if (ansi_tcap_saved_invokedata){
+ g_free(ansi_tcap_saved_invokedata);
+ }
+
+}
+
+void
+ansi_tcap_init_transaction_table(void){
+
+ /* Destroy any existing memory chunks / hashes. */
+ if (TransactionId_table){
+ g_hash_table_foreach(TransactionId_table, TransactionId_table_cleanup, NULL);
+ g_hash_table_destroy(TransactionId_table);
+ TransactionId_table = NULL;
+ }
+
+ TransactionId_table = g_hash_table_new(g_str_hash, g_str_equal);
+
+}
+
+static void
+ansi_tcap_init_protocol(void)
+{
+ ansi_tcap_init_transaction_table();
+}
+
+/* Store Invoke information needed for the corresponding reply */
+static void
+save_invoke_data(packet_info *pinfo, proto_tree *tree _U_, tvbuff_t *tvb _U_){
+ struct ansi_tcap_invokedata_t *ansi_tcap_saved_invokedata;
+ address* src = &(pinfo->src);
+ address* dst = &(pinfo->dst);
+ guint8 *src_str;
+ guint8 *dst_str;
+ char *buf;
+
+ buf=ep_alloc(1024);
+
+ src_str = address_to_str(src);
+ dst_str = address_to_str(dst);
+
+
+ if ((!pinfo->fd->flags.visited)&&(ansi_tcap_private.TransactionID_str)){
+ /* Only do this once XXX I hope its the right thing to do */
+ ansi_tcap_saved_invokedata = g_malloc(sizeof(ansi_tcap_saved_invokedata));
+ ansi_tcap_saved_invokedata->OperationCode = ansi_tcap_private.d.OperationCode;
+
+ ansi_tcap_saved_invokedata->OperationCode_national = ansi_tcap_private.d.OperationCode_national;
+ ansi_tcap_saved_invokedata->OperationCode_private = ansi_tcap_private.d.OperationCode_private;
+
+ strcpy(buf, ansi_tcap_private.TransactionID_str);
+ /* The hash string needs to contain src and dest to distiguish differnt flows */
+ strcat(buf,src_str);
+ strcat(buf,dst_str);
+ strcat(buf,"\0");
+ g_hash_table_insert(TransactionId_table,
+ g_strdup(buf),
+ ansi_tcap_saved_invokedata);
+ /*
+ g_warning("Tcap Invoke Hash string %s",buf);
+ */
+ }
+}
+
+static gboolean
+find_saved_invokedata(packet_info *pinfo, proto_tree *tree _U_, tvbuff_t *tvb _U_){
+ struct ansi_tcap_invokedata_t *ansi_tcap_saved_invokedata;
+ address* src = &(pinfo->src);
+ address* dst = &(pinfo->dst);
+ guint8 *src_str;
+ guint8 *dst_str;
+ char *buf;
+
+ buf=ep_alloc(1024);
+ src_str = address_to_str(src);
+ dst_str = address_to_str(dst);
+
+ /* The hash string needs to contain src and dest to distiguish differnt flows */
+ src_str = address_to_str(src);
+ dst_str = address_to_str(dst);
+ strcpy(buf, ansi_tcap_private.TransactionID_str);
+ /* Reverse order to invoke */
+ strcat(buf,dst_str);
+ strcat(buf,src_str);
+ strcat(buf,"\0");
+ ansi_tcap_saved_invokedata = g_hash_table_lookup(TransactionId_table, buf);
+ if(ansi_tcap_saved_invokedata){
+ ansi_tcap_private.d.OperationCode = ansi_tcap_saved_invokedata->OperationCode;
+ ansi_tcap_private.d.OperationCode_national = ansi_tcap_saved_invokedata->OperationCode_national;
+ ansi_tcap_private.d.OperationCode_private = ansi_tcap_saved_invokedata->OperationCode_private;
+ return TRUE;
+ }
+ return FALSE;
+}
+
/* As currently ANSI MAP is the only possible sub dissector this function
* must be improved to handle general cases.
*
@@ -234,6 +352,7 @@ dissector_handle_t get_ansi_tcap_subdissector(guint32 ssn) {
*/
static gboolean
find_tcap_subdisector(tvbuff_t *tvb, asn1_ctx_t *actx, proto_tree *tree){
+ proto_item *item;
/* If "DialoguePortion objectApplicationId ObjectIDApplicationContext
* points to the subdissector this code can be used.
@@ -243,18 +362,36 @@ find_tcap_subdisector(tvbuff_t *tvb, asn1_ctx_t *actx, proto_tree *tree){
return TRUE;
}
*/
+ if(ansi_tcap_private.d.pdu == 1){
+ /* Save Invoke data for this transaction */
+ save_invoke_data(actx->pinfo, tree, tvb);
+ }else{
+ /* Get saved data for this transaction */
+ if(find_saved_invokedata(actx->pinfo, tree, tvb)){
+ if(ansi_tcap_private.d.OperationCode == 0){
+ /* national */
+ item = proto_tree_add_int(tree, hf_ansi_tcap_national, tvb, 0, 0, ansi_tcap_private.d.OperationCode_national);
+ }else{
+ item = proto_tree_add_int(tree, hf_ansi_tcap_private, tvb, 0, 0, ansi_tcap_private.d.OperationCode_private);
+ }
+ PROTO_ITEM_SET_GENERATED(item);
+ ansi_tcap_private.d.OperationCode_item = item;
+ }
+ }
if(ansi_tcap_private.d.OperationCode == 0){
/* national */
- proto_tree_add_text(tree, tvb, 0, -1,
+ item = proto_tree_add_text(tree, tvb, 0, -1,
"Dissector for ANSI TCAP NATIONAL code:%u not implemented. Contact Wireshark developers if you want this supported",
ansi_tcap_private.d.OperationCode_national);
+ PROTO_ITEM_SET_GENERATED(item);
return FALSE;
}else if(ansi_tcap_private.d.OperationCode == 1){
/* private */
if((ansi_tcap_private.d.OperationCode_private & 0x0900) != 0x0900){
- proto_tree_add_text(tree, tvb, 0, -1,
+ item = proto_tree_add_text(tree, tvb, 0, -1,
"Dissector for ANSI TCAP PRIVATE code:%u not implemented. Contact Wireshark developers if you want this supported",
ansi_tcap_private.d.OperationCode_private);
+ PROTO_ITEM_SET_GENERATED(item);
return FALSE;
}
}
@@ -267,10 +404,9 @@ find_tcap_subdisector(tvbuff_t *tvb, asn1_ctx_t *actx, proto_tree *tree){
* Operation Family is coded as decimal 9. Bit H of the Operation Family is always
* coded as 0.
*/
+ call_dissector(ansi_map_handle, tvb, actx->pinfo, tcap_top_tree);
- call_dissector(ansi_map_handle, tvb, actx->pinfo, tree);
-
- return FALSE;
+ return TRUE;
}
@@ -640,7 +776,7 @@ tvbuff_t *parameter_tvb;
if(!parameter_tvb)
return offset;
- find_tcap_subdisector(parameter_tvb, actx, tcap_top_tree);
+ find_tcap_subdisector(parameter_tvb, actx, tree);
@@ -657,14 +793,14 @@ static const ber_sequence_t Invoke_sequence[] = {
static int
dissect_ansi_tcap_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- Invoke_sequence, hf_index, ett_ansi_tcap_Invoke);
-
#line 30 "ansi_tcap.cnf"
ansi_tcap_private.d.pdu = 1;
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ Invoke_sequence, hf_index, ett_ansi_tcap_Invoke);
+
return offset;
}
@@ -691,7 +827,7 @@ tvbuff_t *parameter_tvb;
if(!parameter_tvb)
return offset;
- find_tcap_subdisector(parameter_tvb, actx, tcap_top_tree);
+ find_tcap_subdisector(parameter_tvb, actx, tree);
@@ -707,15 +843,15 @@ static const ber_sequence_t ReturnResult_sequence[] = {
static int
dissect_ansi_tcap_ReturnResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- ReturnResult_sequence, hf_index, ett_ansi_tcap_ReturnResult);
-
#line 49 "ansi_tcap.cnf"
ansi_tcap_private.d.pdu = 2;
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ReturnResult_sequence, hf_index, ett_ansi_tcap_ReturnResult);
+
return offset;
}
@@ -741,7 +877,7 @@ tvbuff_t *parameter_tvb;
if(!parameter_tvb)
return offset;
- find_tcap_subdisector(parameter_tvb, actx, tcap_top_tree);
+ find_tcap_subdisector(parameter_tvb, actx, tree);
@@ -758,13 +894,13 @@ static const ber_sequence_t ReturnError_sequence[] = {
static int
dissect_ansi_tcap_ReturnError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- ReturnError_sequence, hf_index, ett_ansi_tcap_ReturnError);
-
#line 68 "ansi_tcap.cnf"
ansi_tcap_private.d.pdu = 3;
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ReturnError_sequence, hf_index, ett_ansi_tcap_ReturnError);
+
return offset;
}
@@ -1184,7 +1320,7 @@ dissect_ansi_tcap_PackageType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
/*--- End of included file: packet-ansi_tcap-fn.c ---*/
-#line 186 "packet-ansi_tcap-template.c"
+#line 322 "packet-ansi_tcap-template.c"
@@ -1197,8 +1333,10 @@ dissect_ansi_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
proto_item *stat_item=NULL;
proto_tree *stat_tree=NULL;
gint offset = 0;
+#if 0
struct tcaphash_context_t * p_tcap_context;
dissector_handle_t subdissector_handle;
+#endif
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
@@ -1226,6 +1364,8 @@ dissect_ansi_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
gp_tcap_context=NULL;
dissect_ansi_tcap_PackageType(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+#if 0 /* Skipp this part for now it will be rewritten */
+
if (g_ansi_tcap_HandleSRT && !tcap_subdissector_used ) {
if (gtcap_DisplaySRT && tree) {
stat_item = proto_tree_add_text(tree, tvb, 0, 0, "Stat");
@@ -1252,6 +1392,7 @@ dissect_ansi_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
(p_tcap_context->callback)(tvb, pinfo, stat_tree, p_tcap_context);
}
}
+#endif
}
@@ -1512,7 +1653,7 @@ proto_register_ansi_tcap(void)
"ansi_tcap.T_paramSet", HFILL }},
/*--- End of included file: packet-ansi_tcap-hfarr.c ---*/
-#line 305 "packet-ansi_tcap-template.c"
+#line 446 "packet-ansi_tcap-template.c"
};
/* Setup protocol subtree array */
@@ -1549,7 +1690,7 @@ proto_register_ansi_tcap(void)
&ett_ansi_tcap_T_paramSet,
/*--- End of included file: packet-ansi_tcap-ettarr.c ---*/
-#line 315 "packet-ansi_tcap-template.c"
+#line 456 "packet-ansi_tcap-template.c"
};
/*static enum_val_t tcap_options[] = {
@@ -1568,6 +1709,7 @@ proto_register_ansi_tcap(void)
proto_register_subtree_array(ett, array_length(ett));
+ register_init_routine(&ansi_tcap_init_protocol);
}
diff --git a/epan/dissectors/packet-ansi_tcap.h b/epan/dissectors/packet-ansi_tcap.h
index ed6de248b5..16b618b092 100644
--- a/epan/dissectors/packet-ansi_tcap.h
+++ b/epan/dissectors/packet-ansi_tcap.h
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
-/* .\packet-ansi_tcap.h */
+/* ./packet-ansi_tcap.h */
/* ../../tools/asn2wrs.py -b -X -T -e -p ansi_tcap -c ansi_tcap.cnf -s packet-ansi_tcap-template TCAP-Remote-Operations-Information-Objects.asn TCAPPackage.asn */
/* Input file: packet-ansi_tcap-template.h */
diff --git a/epan/dissectors/packet-tcap.c b/epan/dissectors/packet-tcap.c
index 7a4d67a0db..90595f5275 100644
--- a/epan/dissectors/packet-tcap.c
+++ b/epan/dissectors/packet-tcap.c
@@ -2518,7 +2518,7 @@ dissect_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
*
*/
get_ber_identifier(tvb, 0, &class, &pc, &tag);
-#if 0
+
if(class == BER_CLASS_PRI){
switch(tag){
case 1:
@@ -2535,7 +2535,7 @@ dissect_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
return;
}
}
-#endif
+
/* ITU TCAP */
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);