aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2006-05-09 19:01:20 +0000
committerAnders Broman <anders.broman@ericsson.com>2006-05-09 19:01:20 +0000
commit956d317fb83a1f0beb974473625b6bda4a7fc963 (patch)
treed6266a6911c6365ca8a243b079c86d86ce5d0515
parent8baf6e0ae273f70f2489e5808cbd459f880a8dc4 (diff)
- Some minor asn1 corrections
- Dissect Enumerated correctly - Add message to info col. svn path=/trunk/; revision=18117
-rw-r--r--asn1/ulp/ULP.asn69
-rw-r--r--asn1/ulp/packet-ulp-template.c2
-rw-r--r--asn1/ulp/ulp.cnf20
-rw-r--r--epan/dissectors/packet-ulp.c37
4 files changed, 99 insertions, 29 deletions
diff --git a/asn1/ulp/ULP.asn b/asn1/ulp/ULP.asn
index 93ce0f6582..12bbbf7828 100644
--- a/asn1/ulp/ULP.asn
+++ b/asn1/ulp/ULP.asn
@@ -103,8 +103,12 @@ LocationId ::= SEQUENCE {
...
}
-Status ::= ENUMERATED {stale(0), current(1), unknown(2), ...
- }
+Status ::= ENUMERATED {
+ stale(0),
+ current(1),
+ unknown(2),
+ ...
+ }
CellInfo ::= CHOICE {
gsmCell GsmCellInformation,
@@ -180,8 +184,10 @@ FrequencyInfoFDD ::= SEQUENCE {
uarfcn-DL UARFCN,
...}
-FrequencyInfoTDD ::= SEQUENCE {uarfcn-Nt UARFCN,
- ...}
+FrequencyInfoTDD ::= SEQUENCE {
+ uarfcn-Nt UARFCN,
+ ...
+ }
UARFCN ::= INTEGER(0..16383)
@@ -255,13 +261,27 @@ maxFreq INTEGER ::= 8
maxTS INTEGER ::= 14
StatusCode ::= ENUMERATED {
- unspecified(0), systemFailure(1), unexpectedMessage(2), protocolError(3),
- dataMissing(4), unexpectedDataValue(5), posMethodFailure(6),
- posMethodMismatch(7), posProtocolMismatch(8), targetSETnotReachable(9),
- versionNotSupported(10), resourceShortage(11), invalidSessionId(12),
- nonProxyModeNotSupported(13), proxyModeNotSupported(14),
- positioningNotPermitted(15), authNetFailure(16), authSuplinitFailure(17), consentDeniedByUser(100),
- consentGrantedByUser(101), ...
+ unspecified(0),
+ systemFailure(1),
+ unexpectedMessage(2),
+ protocolError(3),
+ dataMissing(4),
+ unexpectedDataValue(5),
+ posMethodFailure(6),
+ posMethodMismatch(7),
+ posProtocolMismatch(8),
+ targetSETnotReachable(9),
+ versionNotSupported(10),
+ resourceShortage(11),
+ invalidSessionId(12),
+ nonProxyModeNotSupported(13),
+ proxyModeNotSupported(14),
+ positioningNotPermitted(15),
+ authNetFailure(16),
+ authSuplinitFailure(17),
+ consentDeniedByUser(100),
+ consentGrantedByUser(101),
+ ...
}
QoP ::= SEQUENCE {
@@ -393,24 +413,37 @@ Notification ::= SEQUENCE {
...}
NotificationType ::= ENUMERATED {
- noNotificationNoVerification(0), notificationOnly(1),
+ noNotificationNoVerification(0),
+ notificationOnly(1),
notificationAndVerficationAllowedNA(2),
- notificationAndVerficationDeniedNA(3), privacyOverride(4), ...
+ notificationAndVerficationDeniedNA(3),
+ privacyOverride(4),
+ ...
}
-EncodingType ::= ENUMERATED {ucs2(0), gsmDefault(1), utf8(2), ...
- }
+EncodingType ::= ENUMERATED {
+ ucs2(0),
+ gsmDefault(1),
+ utf8(2),
+ ...
+ }
maxReqLength INTEGER ::= 50
maxClientLength INTEGER ::= 50
--- IMSPublicidentity is incorrect as identifiers must start with lower case char
FormatIndicator ::= ENUMERATED {
- logicalName(0), e-mailAddress(1), msisdn(2), url(3), sipUrl(4), min(5),
- mdn(6), iMSPublicidentity(7), ...
+ logicalName(0),
+ e-mailAddress(1),
+ msisdn(2),
+ url(3),
+ sipUrl(4),
+ min(5),
+ mdn(6),
+ ...
}
+
SLPMode ::= ENUMERATED {proxy(0), nonProxy(1)}
MAC ::= BIT STRING(SIZE (64))
diff --git a/asn1/ulp/packet-ulp-template.c b/asn1/ulp/packet-ulp-template.c
index 2bb2d4c07b..e2fc1dfa2e 100644
--- a/asn1/ulp/packet-ulp-template.c
+++ b/asn1/ulp/packet-ulp-template.c
@@ -64,6 +64,8 @@ static int proto_ulp = -1;
static gint ett_ulp = -1;
#include "packet-ulp-ett.c"
+guint32 StatusCode_value_map[20] = {0, 1, 2, 3, 4, 5, 6, 7, 8 ,9 ,10 ,11, 12, 13, 14, 15, 16, 17, 100 , 101};
+
/* Include constants */
#include "packet-ulp-val.h"
diff --git a/asn1/ulp/ulp.cnf b/asn1/ulp/ulp.cnf
index 52738e6f8d..2b854ee0c1 100644
--- a/asn1/ulp/ulp.cnf
+++ b/asn1/ulp/ulp.cnf
@@ -15,4 +15,22 @@ ULP-PDU
if (check_col(pinfo->cinfo, COL_INFO))
col_clear(pinfo->cinfo, COL_INFO);
- %(DEFAULT_BODY)s \ No newline at end of file
+ %(DEFAULT_BODY)s
+
+#.FN_BODY StatusCode
+# Remove once asn2eth is fixed to handle PER Enummeration extensions
+ offset = dissect_per_enumerated(tvb, offset, pinfo, tree, hf_index,
+ 19, NULL, NULL, TRUE, 0, StatusCode_value_map);
+
+#.FN_PARS UlpMessage VAL_PTR = &UlpMessage
+
+#.FN_BODY UlpMessage
+
+guint32 UlpMessage;
+
+ %(DEFAULT_BODY)s
+
+ if (check_col(pinfo->cinfo, COL_INFO))
+ {
+ col_append_fstr(pinfo->cinfo, COL_INFO, "%%s ", val_to_str(UlpMessage,ulp_UlpMessage_vals,"Unknown"));
+ }
diff --git a/epan/dissectors/packet-ulp.c b/epan/dissectors/packet-ulp.c
index d29ed37f95..603a658dc0 100644
--- a/epan/dissectors/packet-ulp.c
+++ b/epan/dissectors/packet-ulp.c
@@ -314,6 +314,8 @@ static gint ett_ulp_PosProtocol = -1;
/*--- End of included file: packet-ulp-ett.c ---*/
#line 66 "packet-ulp-template.c"
+guint32 StatusCode_value_map[20] = {0, 1, 2, 3, 4, 5, 6, 7, 8 ,9 ,10 ,11, 12, 13, 14, 15, 16, 17, 100 , 101};
+
/* Include constants */
/*--- Included file: packet-ulp-val.h ---*/
@@ -325,7 +327,7 @@ static gint ett_ulp_PosProtocol = -1;
#define maxClientLength 50
/*--- End of included file: packet-ulp-val.h ---*/
-#line 69 "packet-ulp-template.c"
+#line 71 "packet-ulp-template.c"
/*--- Included file: packet-ulp-fn.c ---*/
@@ -729,7 +731,6 @@ static const value_string ulp_FormatIndicator_vals[] = {
{ 4, "sipUrl" },
{ 5, "min" },
{ 6, "mdn" },
- { 7, "iMSPublicidentity" },
{ 0, NULL }
};
@@ -737,7 +738,7 @@ static const value_string ulp_FormatIndicator_vals[] = {
static int
dissect_ulp_FormatIndicator(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index,
- 0, 7, NULL, NULL, TRUE);
+ 0, 6, NULL, NULL, TRUE);
return offset;
}
@@ -2420,8 +2421,11 @@ static const value_string ulp_StatusCode_vals[] = {
static int
dissect_ulp_StatusCode(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
- offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index,
- 0, 101, NULL, NULL, TRUE);
+#line 22 "ulp.cnf"
+ offset = dissect_per_enumerated(tvb, offset, pinfo, tree, hf_index,
+ 19, NULL, NULL, TRUE, 0, StatusCode_value_map);
+
+
return offset;
}
@@ -2576,9 +2580,20 @@ static const per_choice_t UlpMessage_choice[] = {
static int
dissect_ulp_UlpMessage(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
- offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index,
+#line 28 "ulp.cnf"
+
+guint32 UlpMessage;
+
+ offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index,
ett_ulp_UlpMessage, UlpMessage_choice,
- NULL);
+ &UlpMessage);
+
+
+ if (check_col(pinfo->cinfo, COL_INFO))
+ {
+ col_append_fstr(pinfo->cinfo, COL_INFO, "%s ", val_to_str(UlpMessage,ulp_UlpMessage_vals,"Unknown"));
+ }
+
return offset;
}
@@ -2610,6 +2625,8 @@ dissect_ulp_ULP_PDU(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tre
ett_ulp_ULP_PDU, ULP_PDU_sequence);
+
+
return offset;
}
@@ -2621,7 +2638,7 @@ static void dissect_ULP_PDU_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
/*--- End of included file: packet-ulp-fn.c ---*/
-#line 71 "packet-ulp-template.c"
+#line 73 "packet-ulp-template.c"
/*--- proto_register_ulp -------------------------------------------*/
@@ -3331,7 +3348,7 @@ void proto_register_ulp(void) {
"PosProtocol/rrc", HFILL }},
/*--- End of included file: packet-ulp-hfarr.c ---*/
-#line 80 "packet-ulp-template.c"
+#line 82 "packet-ulp-template.c"
};
/* List of subtrees */
@@ -3400,7 +3417,7 @@ void proto_register_ulp(void) {
&ett_ulp_PosProtocol,
/*--- End of included file: packet-ulp-ettarr.c ---*/
-#line 86 "packet-ulp-template.c"
+#line 88 "packet-ulp-template.c"
};