aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-s1ap.c
diff options
context:
space:
mode:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2011-02-27 21:55:35 +0000
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2011-02-27 21:55:35 +0000
commit8f229c732d8c802863e972e8b1e6ac665bad4698 (patch)
tree329079d2ecf1d1051bb243af247af54c878a4dfb /epan/dissectors/packet-s1ap.c
parent1261ac9a377bbc6f410a0c01f94d10b603a673e8 (diff)
Export:
SONtransferRequestContainer SONtransferResponseContainer SONtransferCause git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@36086 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-s1ap.c')
-rw-r--r--epan/dissectors/packet-s1ap.c83
1 files changed, 61 insertions, 22 deletions
diff --git a/epan/dissectors/packet-s1ap.c b/epan/dissectors/packet-s1ap.c
index 179be7484e..6eb87a1ebb 100644
--- a/epan/dissectors/packet-s1ap.c
+++ b/epan/dissectors/packet-s1ap.c
@@ -509,6 +509,9 @@ static int hf_s1ap_DownlinkNonUEAssociatedLPPaTransport_PDU = -1; /* DownlinkNo
static int hf_s1ap_UplinkNonUEAssociatedLPPaTransport_PDU = -1; /* UplinkNonUEAssociatedLPPaTransport */
static int hf_s1ap_S1AP_PDU_PDU = -1; /* S1AP_PDU */
static int hf_s1ap_s1ap_SONtransferApplicationIdentity_PDU = -1; /* SONtransferApplicationIdentity */
+static int hf_s1ap_s1ap_SONtransferRequestContainer_PDU = -1; /* SONtransferRequestContainer */
+static int hf_s1ap_s1ap_SONtransferResponseContainer_PDU = -1; /* SONtransferResponseContainer */
+static int hf_s1ap_s1ap_SONtransferCause_PDU = -1; /* SONtransferCause */
static int hf_s1ap_local = -1; /* INTEGER_0_65535 */
static int hf_s1ap_global = -1; /* OBJECT_IDENTIFIER */
static int hf_s1ap_ProtocolIE_Container_item = -1; /* ProtocolIE_Field */
@@ -1147,7 +1150,7 @@ dissect_s1ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, &ProcedureCode, FALSE);
-#line 97 "s1ap.cnf"
+#line 103 "s1ap.cnf"
col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
val_to_str_ext(ProcedureCode, &s1ap_ProcedureCode_vals_ext,
"unknown message"));
@@ -1329,7 +1332,7 @@ dissect_s1ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, &ProtocolIE_ID, FALSE);
-#line 80 "s1ap.cnf"
+#line 86 "s1ap.cnf"
if (tree) {
proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(ProtocolIE_ID, &s1ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
}
@@ -1409,7 +1412,7 @@ static const per_sequence_t ProtocolIE_ContainerList_sequence_of[1] = {
static int
dissect_s1ap_ProtocolIE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 122 "s1ap.cnf"
+#line 128 "s1ap.cnf"
static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
{ "lowerBound", ASN1_PAR_INTEGER },
{ "upperBound", ASN1_PAR_INTEGER },
@@ -1672,7 +1675,7 @@ dissect_s1ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
static int
dissect_s1ap_PLMNidentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 184 "s1ap.cnf"
+#line 190 "s1ap.cnf"
tvbuff_t *parameter_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@@ -2868,7 +2871,7 @@ dissect_s1ap_ENB_UE_S1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_s1ap_ENBname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 197 "s1ap.cnf"
+#line 203 "s1ap.cnf"
tvbuff_t *parameter_tvb=NULL;
int length;
int p_offset;
@@ -2902,7 +2905,7 @@ dissect_s1ap_ENBname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
static int
dissect_s1ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 232 "s1ap.cnf"
+#line 238 "s1ap.cnf"
tvbuff_t *parameter_tvb=NULL;
proto_tree *subtree;
gint tvb_len;
@@ -3306,7 +3309,7 @@ static const value_string s1ap_HandoverType_vals[] = {
static int
dissect_s1ap_HandoverType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 267 "s1ap.cnf"
+#line 273 "s1ap.cnf"
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5, &handover_type_value, TRUE, 0, NULL);
@@ -3511,7 +3514,7 @@ dissect_s1ap_MSClassmark3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_s1ap_NAS_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 223 "s1ap.cnf"
+#line 229 "s1ap.cnf"
tvbuff_t *parameter_tvb=NULL;
@@ -3758,7 +3761,7 @@ dissect_s1ap_RepetitionPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
static int
dissect_s1ap_RRC_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 397 "s1ap.cnf"
+#line 403 "s1ap.cnf"
gint32 start_offset;
@@ -3991,7 +3994,7 @@ dissect_s1ap_SONConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
static int
dissect_s1ap_Source_ToTarget_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 286 "s1ap.cnf"
+#line 292 "s1ap.cnf"
gint32 start_offset;
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -4362,7 +4365,7 @@ dissect_s1ap_TargeteNB_ToSourceeNB_TransparentContainer(tvbuff_t *tvb _U_, int o
static int
dissect_s1ap_Target_ToSource_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 340 "s1ap.cnf"
+#line 346 "s1ap.cnf"
gint32 start_offset;
tvbuff_t *parameter_tvb;
@@ -4616,7 +4619,7 @@ dissect_s1ap_UEPagingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
dissect_s1ap_UERadioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 457 "s1ap.cnf"
+#line 463 "s1ap.cnf"
gint32 start_offset;
tvbuff_t *parameter_tvb;
@@ -4712,7 +4715,7 @@ dissect_s1ap_WarningMessageContents(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static int
dissect_s1ap_E_RAB_IE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 149 "s1ap.cnf"
+#line 155 "s1ap.cnf"
asn1_stack_frame_push(actx, "ProtocolIE-ContainerList");
asn1_param_push_integer(actx, 1);
asn1_param_push_integer(actx, maxNrOfE_RABs);
@@ -4732,7 +4735,7 @@ static const per_sequence_t HandoverRequired_sequence[] = {
static int
dissect_s1ap_HandoverRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 272 "s1ap.cnf"
+#line 278 "s1ap.cnf"
handover_type_value = 0;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -4749,7 +4752,7 @@ static const per_sequence_t HandoverCommand_sequence[] = {
static int
dissect_s1ap_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 274 "s1ap.cnf"
+#line 280 "s1ap.cnf"
handover_type_value = 0;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -4808,7 +4811,7 @@ static const per_sequence_t HandoverRequest_sequence[] = {
static int
dissect_s1ap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 276 "s1ap.cnf"
+#line 282 "s1ap.cnf"
handover_type_value = 0;
@@ -5556,7 +5559,7 @@ static const per_sequence_t DownlinkNASTransport_sequence[] = {
static int
dissect_s1ap_DownlinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 259 "s1ap.cnf"
+#line 265 "s1ap.cnf"
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -5575,7 +5578,7 @@ static const per_sequence_t InitialUEMessage_sequence[] = {
static int
dissect_s1ap_InitialUEMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 255 "s1ap.cnf"
+#line 261 "s1ap.cnf"
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -5594,7 +5597,7 @@ static const per_sequence_t UplinkNASTransport_sequence[] = {
static int
dissect_s1ap_UplinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 263 "s1ap.cnf"
+#line 269 "s1ap.cnf"
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -6254,7 +6257,7 @@ dissect_s1ap_UplinkNonUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U
static int
dissect_s1ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 104 "s1ap.cnf"
+#line 110 "s1ap.cnf"
message_type = INITIATING_MESSAGE;
offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue);
@@ -6282,7 +6285,7 @@ dissect_s1ap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_s1ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 107 "s1ap.cnf"
+#line 113 "s1ap.cnf"
message_type = SUCCESSFUL_OUTCOME;
offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue);
@@ -6310,7 +6313,7 @@ dissect_s1ap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_s1ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 110 "s1ap.cnf"
+#line 116 "s1ap.cnf"
message_type = UNSUCCESSFUL_OUTCOME;
@@ -8324,6 +8327,30 @@ int dissect_s1ap_SONtransferApplicationIdentity_PDU(tvbuff_t *tvb _U_, packet_in
offset += 7; offset >>= 3;
return offset;
}
+int dissect_s1ap_SONtransferRequestContainer_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_PER, TRUE, pinfo);
+ offset = dissect_s1ap_SONtransferRequestContainer(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_SONtransferRequestContainer_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+int dissect_s1ap_SONtransferResponseContainer_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_PER, TRUE, pinfo);
+ offset = dissect_s1ap_SONtransferResponseContainer(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_SONtransferResponseContainer_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+int dissect_s1ap_SONtransferCause_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_PER, TRUE, pinfo);
+ offset = dissect_s1ap_SONtransferCause(tvb, offset, &asn1_ctx, tree, hf_s1ap_s1ap_SONtransferCause_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
/*--- End of included file: packet-s1ap-fn.c ---*/
@@ -9408,6 +9435,18 @@ void proto_register_s1ap(void) {
{ "SONtransferApplicationIdentity", "s1ap.SONtransferApplicationIdentity",
FT_UINT32, BASE_DEC, VALS(s1ap_SONtransferApplicationIdentity_vals), 0,
NULL, HFILL }},
+ { &hf_s1ap_s1ap_SONtransferRequestContainer_PDU,
+ { "SONtransferRequestContainer", "s1ap.SONtransferRequestContainer",
+ FT_UINT32, BASE_DEC, VALS(s1ap_SONtransferRequestContainer_vals), 0,
+ NULL, HFILL }},
+ { &hf_s1ap_s1ap_SONtransferResponseContainer_PDU,
+ { "SONtransferResponseContainer", "s1ap.SONtransferResponseContainer",
+ FT_UINT32, BASE_DEC, VALS(s1ap_SONtransferResponseContainer_vals), 0,
+ NULL, HFILL }},
+ { &hf_s1ap_s1ap_SONtransferCause_PDU,
+ { "SONtransferCause", "s1ap.SONtransferCause",
+ FT_UINT32, BASE_DEC, VALS(s1ap_SONtransferCause_vals), 0,
+ NULL, HFILL }},
{ &hf_s1ap_local,
{ "local", "s1ap.local",
FT_UINT32, BASE_DEC, NULL, 0,