aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-camel.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2010-11-12 14:50:58 +0000
committerAnders Broman <anders.broman@ericsson.com>2010-11-12 14:50:58 +0000
commit760d2a5cdcf786211e22ce79ba8df9ad1b484442 (patch)
treecfda4b6310104bb790f85c2a9e3849dfb439f8a5 /epan/dissectors/packet-camel.c
parent0b5251be12b78ffc321a5ee085ef7a89dd83ce76 (diff)
Update Camel to TS 29.078 9.2.0 (2010-06)
svn path=/trunk/; revision=34849
Diffstat (limited to 'epan/dissectors/packet-camel.c')
-rw-r--r--epan/dissectors/packet-camel.c73
1 files changed, 60 insertions, 13 deletions
diff --git a/epan/dissectors/packet-camel.c b/epan/dissectors/packet-camel.c
index b8a41aef2d..fbca77baf0 100644
--- a/epan/dissectors/packet-camel.c
+++ b/epan/dissectors/packet-camel.c
@@ -133,6 +133,7 @@ static int hf_camel_CallGapArg_PDU = -1; /* CallGapArg */
static int hf_camel_CallInformationReportArg_PDU = -1; /* CallInformationReportArg */
static int hf_camel_CallInformationRequestArg_PDU = -1; /* CallInformationRequestArg */
static int hf_camel_CancelArg_PDU = -1; /* CancelArg */
+static int hf_camel_CollectInformationArg_PDU = -1; /* CollectInformationArg */
static int hf_camel_ConnectArg_PDU = -1; /* ConnectArg */
static int hf_camel_ConnectToResourceArg_PDU = -1; /* ConnectToResourceArg */
static int hf_camel_ContinueWithArgumentArg_PDU = -1; /* ContinueWithArgumentArg */
@@ -373,6 +374,7 @@ static int hf_camel_sgsn_Number = -1; /* ISDN_AddressString */
static int hf_camel_selectedLSAIdentity = -1; /* LSAIdentity */
static int hf_camel_extensionContainer = -1; /* ExtensionContainer */
static int hf_camel_sai_Present = -1; /* NULL */
+static int hf_camel_userCSGInformation = -1; /* UserCSGInformation */
static int hf_camel_elementaryMessageID = -1; /* Integer4 */
static int hf_camel_text = -1; /* T_text */
static int hf_camel_messageContent = -1; /* IA5String_SIZE_bound__minMessageContentLength_bound__maxMessageContentLength */
@@ -750,6 +752,7 @@ static gint ett_camel_CallGapArg = -1;
static gint ett_camel_CallInformationReportArg = -1;
static gint ett_camel_CallInformationRequestArg = -1;
static gint ett_camel_CancelArg = -1;
+static gint ett_camel_CollectInformationArg = -1;
static gint ett_camel_ConnectArg = -1;
static gint ett_camel_ConnectToResourceArg = -1;
static gint ett_camel_T_resourceAddress = -1;
@@ -942,19 +945,19 @@ static const value_string camel_ectTreatmentIndicator_values[] = {
#define tc_Messages "0.0.17.773.2.1.3"
#define tc_NotationExtensions "0.0.17.775.2.4.1"
#define ros_InformationObjects "2.4.5.0"
-#define datatypes "0.4.0.0.1.3.52.4"
-#define errortypes "0.4.0.0.1.3.51.4"
-#define operationcodes "0.4.0.0.1.3.53.4"
-#define errorcodes "0.4.0.0.1.3.57.4"
-#define classes "0.4.0.0.1.3.54.4"
-#define gsmSSF_gsmSCF_Operations "0.4.0.0.1.3.101.4"
-#define gsmSSF_gsmSCF_Protocol "0.4.0.0.1.3.102.4"
-#define gsmSCF_gsmSRF_Operations "0.4.0.0.1.3.103.4"
-#define gsmSCF_gsmSRF_Protocol "0.4.0.0.1.3.104.4"
-#define sms_Operations "0.4.0.0.1.3.105.4"
-#define smsSSF_gsmSCF_Protocol "0.4.0.0.1.3.106.4"
-#define gprsSSF_gsmSCF_Operations "0.4.0.0.1.3.107.4"
-#define gprsSSF_gsmSCF_Protocol "0.4.0.0.1.3.108.4"
+#define datatypes "0.4.0.0.1.3.52.7"
+#define errortypes "0.4.0.0.1.3.51.7"
+#define operationcodes "0.4.0.0.1.3.53.7"
+#define errorcodes "0.4.0.0.1.3.57.7"
+#define classes "0.4.0.0.1.3.54.7"
+#define gsmSSF_gsmSCF_Operations "0.4.0.0.1.3.101.7"
+#define gsmSSF_gsmSCF_Protocol "0.4.0.0.1.3.102.7"
+#define gsmSCF_gsmSRF_Operations "0.4.0.0.1.3.103.7"
+#define gsmSCF_gsmSRF_Protocol "0.4.0.0.1.3.104.7"
+#define sms_Operations "0.4.0.0.1.3.105.7"
+#define smsSSF_gsmSCF_Protocol "0.4.0.0.1.3.106.7"
+#define gprsSSF_gsmSCF_Operations "0.4.0.0.1.3.107.7"
+#define gprsSSF_gsmSCF_Protocol "0.4.0.0.1.3.108.7"
#define id_CAP "0.4.0.0.1.22"
#define id_CAP3 "0.4.0.0.1.20"
#define id_CAPOE "0.4.0.0.1.23"
@@ -4336,6 +4339,16 @@ dissect_camel_T_cellGlobalIdOrServiceAreaIdOrLAI(gboolean implicit_tag _U_, tvbu
}
+
+static int
+dissect_camel_UserCSGInformation(gboolean implicit_tag _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 const ber_sequence_t LocationInformationGPRS_sequence[] = {
{ &hf_camel_cellGlobalIdOrServiceAreaIdOrLAI, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camel_T_cellGlobalIdOrServiceAreaIdOrLAI },
{ &hf_camel_routeingAreaIdentity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RAIdentity },
@@ -4344,6 +4357,7 @@ static const ber_sequence_t LocationInformationGPRS_sequence[] = {
{ &hf_camel_selectedLSAIdentity, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAIdentity },
{ &hf_camel_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
{ &hf_camel_sai_Present , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camel_NULL },
+ { &hf_camel_userCSGInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camel_UserCSGInformation },
{ NULL, 0, 0, 0, NULL }
};
@@ -5218,6 +5232,20 @@ dissect_camel_CancelArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
}
+static const ber_sequence_t CollectInformationArg_sequence[] = {
+ { &hf_camel_extensions , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camel_Extensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_camel_CollectInformationArg(gboolean implicit_tag _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,
+ CollectInformationArg_sequence, hf_index, ett_camel_CollectInformationArg);
+
+ return offset;
+}
+
+
static const ber_sequence_t ConnectArg_sequence[] = {
{ &hf_camel_destinationRoutingAddress, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_camel_DestinationRoutingAddress },
{ &hf_camel_alertingPattern, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camel_AlertingPattern },
@@ -6464,6 +6492,13 @@ static int dissect_CancelArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, prot
offset = dissect_camel_CancelArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_camel_CancelArg_PDU);
return offset;
}
+static int dissect_CollectInformationArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_camel_CollectInformationArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_camel_CollectInformationArg_PDU);
+ return offset;
+}
static int dissect_ConnectArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -6785,6 +6820,9 @@ static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
case opcode_cancel: /* cancel */
offset= dissect_CancelArg_PDU(tvb, actx->pinfo , tree);
break;
+ case opcode_collectInformation: /* collectInformation */
+ offset= dissect_CollectInformationArg_PDU(tvb, actx->pinfo , tree);
+ break;
case opcode_connect: /* connect */
offset= dissect_ConnectArg_PDU(tvb, actx->pinfo , tree);
break;
@@ -7316,6 +7354,10 @@ void proto_register_camel(void) {
{ "CancelArg", "camel.CancelArg",
FT_UINT32, BASE_DEC, VALS(camel_CancelArg_vals), 0,
NULL, HFILL }},
+ { &hf_camel_CollectInformationArg_PDU,
+ { "CollectInformationArg", "camel.CollectInformationArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_camel_ConnectArg_PDU,
{ "ConnectArg", "camel.ConnectArg",
FT_NONE, BASE_NONE, NULL, 0,
@@ -8276,6 +8318,10 @@ void proto_register_camel(void) {
{ "sai-Present", "camel.sai_Present",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_camel_userCSGInformation,
+ { "userCSGInformation", "camel.userCSGInformation",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_camel_elementaryMessageID,
{ "elementaryMessageID", "camel.elementaryMessageID",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -9281,6 +9327,7 @@ void proto_register_camel(void) {
&ett_camel_CallInformationReportArg,
&ett_camel_CallInformationRequestArg,
&ett_camel_CancelArg,
+ &ett_camel_CollectInformationArg,
&ett_camel_ConnectArg,
&ett_camel_ConnectToResourceArg,
&ett_camel_T_resourceAddress,