diff options
author | Anders Broman <anders.broman@ericsson.com> | 2019-03-01 14:41:00 +0100 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2019-03-01 14:15:17 +0000 |
commit | 0bf337749e9a388e030543c60ff6412e481b32e0 (patch) | |
tree | 7adcfd1450e0257bd68101bec49521cc0ed0ea66 | |
parent | 349735613dc3e02340dc73a1dd5397310c4552c5 (diff) |
IMSI based filtering for SCCP/RANAP
Bug: 9074
Change-Id: Iae7e233d03367678a6925c732bf4b6d78c211cd8
Reviewed-on: https://code.wireshark.org/review/32286
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
-rw-r--r-- | epan/dissectors/asn1/ranap/ranap.cnf | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-e212.c | 12 | ||||
-rw-r--r-- | epan/dissectors/packet-ranap.c | 206 | ||||
-rw-r--r-- | epan/dissectors/packet-sccp.c | 14 | ||||
-rw-r--r-- | epan/dissectors/packet-sccp.h | 2 |
5 files changed, 132 insertions, 104 deletions
diff --git a/epan/dissectors/asn1/ranap/ranap.cnf b/epan/dissectors/asn1/ranap/ranap.cnf index 7148e4e9dd..823ce4bda5 100644 --- a/epan/dissectors/asn1/ranap/ranap.cnf +++ b/epan/dissectors/asn1/ranap/ranap.cnf @@ -203,6 +203,8 @@ MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound") sccp_info->data.co.assoc->calling_party = wmem_strdup_printf(wmem_file_scope(), "IMSI: %%s", digit_str ); + + sccp_info->data.co.assoc->imsi = wmem_strdup(wmem_file_scope(), digit_str ); } #.END diff --git a/epan/dissectors/packet-e212.c b/epan/dissectors/packet-e212.c index 18b8f380df..40970bcb9d 100644 --- a/epan/dissectors/packet-e212.c +++ b/epan/dissectors/packet-e212.c @@ -2873,6 +2873,7 @@ value_string_ext mcc_mnc_3digits_codes_ext = VALUE_STRING_EXT_INIT(mcc_mnc_3digi static int proto_e212 = -1; static int hf_E212_imsi = -1; +static int hf_e212_assoc_imsi = -1; static int hf_E212_mcc = -1; static int hf_E212_mcc_lai = -1; static int hf_E212_mcc_sai = -1; @@ -3331,7 +3332,8 @@ dissect_e212_imsi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offse if (!is_imsi_string_valid(imsi_str)) { expert_add_info(pinfo, item, &ei_E212_imsi_malformed); } - + item = proto_tree_add_string(tree, hf_e212_assoc_imsi, tvb, offset, length, imsi_str); + PROTO_ITEM_SET_GENERATED(item); subtree = proto_item_add_subtree(item, ett_e212_imsi); if(skip_first) { @@ -3356,6 +3358,8 @@ dissect_e212_utf8_imsi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int if (!is_imsi_string_valid(imsi_str)) { expert_add_info(pinfo, item, &ei_E212_imsi_malformed); } + item = proto_tree_add_string(tree, hf_e212_assoc_imsi, tvb, offset, length, imsi_str); + PROTO_ITEM_SET_GENERATED(item); subtree = proto_item_add_subtree(item, ett_e212_imsi); @@ -3383,6 +3387,12 @@ proto_register_e212(void) FT_STRING, BASE_NONE, NULL, 0x0, "International mobile subscriber identity(IMSI)", HFILL } }, + { &hf_e212_assoc_imsi, + { "Association IMSI", "e212.assoc.imsi", + FT_STRING, BASE_NONE, NULL, 0, + "Used to tie MSGs related to the same IMSI", HFILL} + }, + { &hf_E212_mcc, { "Mobile Country Code (MCC)","e212.mcc", FT_UINT16, BASE_DEC|BASE_EXT_STRING, &E212_codes_ext, 0x0, diff --git a/epan/dissectors/packet-ranap.c b/epan/dissectors/packet-ranap.c index a9cfcb73a6..5fb494a7f2 100644 --- a/epan/dissectors/packet-ranap.c +++ b/epan/dissectors/packet-ranap.c @@ -2449,7 +2449,7 @@ dissect_ranap_AccuracyFulfilmentIndicator(tvbuff_t *tvb _U_, int offset _U_, asn static int dissect_ranap_PLMNidentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 287 "./asn1/ranap/ranap.cnf" +#line 289 "./asn1/ranap/ranap.cnf" tvbuff_t *parameter_tvb=NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -3304,7 +3304,7 @@ dissect_ranap_TracePropagationParameters(tvbuff_t *tvb _U_, int offset _U_, asn1 static int dissect_ranap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 310 "./asn1/ranap/ranap.cnf" +#line 312 "./asn1/ranap/ranap.cnf" tvbuff_t *parameter_tvb=NULL; proto_item *item; proto_tree *subtree, *nsap_tree; @@ -3853,7 +3853,7 @@ dissect_ranap_BarometricPressure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * static int dissect_ranap_BindingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 394 "./asn1/ranap/ranap.cnf" +#line 396 "./asn1/ranap/ranap.cnf" tvbuff_t *value_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 4, 4, FALSE, &value_tvb); @@ -5293,7 +5293,7 @@ dissect_ranap_GlobalRNC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static int dissect_ranap_GTP_TEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 344 "./asn1/ranap/ranap.cnf" +#line 346 "./asn1/ranap/ranap.cnf" tvbuff_t *parameter_tvb=NULL; int saved_hf; @@ -5498,6 +5498,8 @@ dissect_ranap_IMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, prot sccp_info->data.co.assoc->calling_party = wmem_strdup_printf(wmem_file_scope(), "IMSI: %s", digit_str ); + + sccp_info->data.co.assoc->imsi = wmem_strdup(wmem_file_scope(), digit_str ); } @@ -5812,7 +5814,7 @@ dissect_ranap_IntegrityProtectionInformation(tvbuff_t *tvb _U_, int offset _U_, static int dissect_ranap_RIMInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 447 "./asn1/ranap/ranap.cnf" +#line 449 "./asn1/ranap/ranap.cnf" tvbuff_t *value_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -6349,7 +6351,7 @@ dissect_ranap_LocationReportingTransferInformation(tvbuff_t *tvb _U_, int offset static int dissect_ranap_L3_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 275 "./asn1/ranap/ranap.cnf" +#line 277 "./asn1/ranap/ranap.cnf" tvbuff_t *l3_info_tvb=NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -6900,7 +6902,7 @@ dissect_ranap_MSISDN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr static int dissect_ranap_NAS_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 211 "./asn1/ranap/ranap.cnf" +#line 213 "./asn1/ranap/ranap.cnf" tvbuff_t *nas_pdu_tvb=NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -6938,7 +6940,7 @@ dissect_ranap_NAS_SynchronisationIndicator(tvbuff_t *tvb _U_, int offset _U_, as static int dissect_ranap_NewBSS_To_OldBSS_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 267 "./asn1/ranap/ranap.cnf" +#line 269 "./asn1/ranap/ranap.cnf" tvbuff_t *bss_info_tvb=NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -7037,7 +7039,7 @@ dissect_ranap_Offload_RAB_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static int dissect_ranap_OldBSS_ToNewBSS_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 259 "./asn1/ranap/ranap.cnf" +#line 261 "./asn1/ranap/ranap.cnf" tvbuff_t *bss_info_tvb=NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -8202,7 +8204,7 @@ dissect_ranap_RNSAPRelocationParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ static int dissect_ranap_RRC_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 220 "./asn1/ranap/ranap.cnf" +#line 222 "./asn1/ranap/ranap.cnf" tvbuff_t *rrc_message_tvb=NULL; guint8 container_choice=0; @@ -8436,7 +8438,7 @@ dissect_ranap_Service_Handover(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int dissect_ranap_Source_ToTarget_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 379 "./asn1/ranap/ranap.cnf" +#line 381 "./asn1/ranap/ranap.cnf" dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer(tvb , offset, actx ,tree , hf_ranap_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU ); @@ -8513,7 +8515,7 @@ static const per_sequence_t SourceRNC_ToTargetRNC_TransparentContainer_sequence[ static int dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 356 "./asn1/ranap/ranap.cnf" +#line 358 "./asn1/ranap/ranap.cnf" /* If SourceRNC-ToTargetRNC-TransparentContainer is called through dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU ProtocolIE_ID may be unset @@ -8776,7 +8778,7 @@ dissect_ranap_SRVCC_Operation_Possible(tvbuff_t *tvb _U_, int offset _U_, asn1_c static int dissect_ranap_Target_ToSource_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 389 "./asn1/ranap/ranap.cnf" +#line 391 "./asn1/ranap/ranap.cnf" dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer(tvb , offset, actx ,tree , hf_ranap_ranap_TargetRNC_ToSourceRNC_TransparentContainer_PDU ); @@ -8830,7 +8832,7 @@ static const per_sequence_t TargetRNC_ToSourceRNC_TransparentContainer_sequence[ static int dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 365 "./asn1/ranap/ranap.cnf" +#line 367 "./asn1/ranap/ranap.cnf" /* If TargetRNC-ToSourceRNC-TransparentContainer is called through dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer_PDU ProtocolIE_ID may be unset @@ -9015,7 +9017,7 @@ dissect_ranap_UE_AggregateMaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1 static int dissect_ranap_UE_History_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 405 "./asn1/ranap/ranap.cnf" +#line 407 "./asn1/ranap/ranap.cnf" tvbuff_t *value_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -9430,7 +9432,7 @@ static const per_sequence_t Iu_ReleaseCommand_sequence[] = { static int dissect_ranap_Iu_ReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 457 "./asn1/ranap/ranap.cnf" +#line 459 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"Iu-ReleaseCommand "); @@ -9449,7 +9451,7 @@ static const per_sequence_t Iu_ReleaseComplete_sequence[] = { static int dissect_ranap_Iu_ReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 461 "./asn1/ranap/ranap.cnf" +#line 463 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"Iu-ReleaseComplete "); @@ -9549,7 +9551,7 @@ static const per_sequence_t RelocationRequired_sequence[] = { static int dissect_ranap_RelocationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 465 "./asn1/ranap/ranap.cnf" +#line 467 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationRequired "); @@ -9568,7 +9570,7 @@ static const per_sequence_t RelocationCommand_sequence[] = { static int dissect_ranap_RelocationCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 469 "./asn1/ranap/ranap.cnf" +#line 471 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationCommand "); @@ -9637,7 +9639,7 @@ static const per_sequence_t RelocationPreparationFailure_sequence[] = { static int dissect_ranap_RelocationPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 473 "./asn1/ranap/ranap.cnf" +#line 475 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationPreparationFailure "); @@ -9656,7 +9658,7 @@ static const per_sequence_t RelocationRequest_sequence[] = { static int dissect_ranap_RelocationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 477 "./asn1/ranap/ranap.cnf" +#line 479 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationRequest "); @@ -9768,7 +9770,7 @@ static const per_sequence_t RelocationRequestAcknowledge_sequence[] = { static int dissect_ranap_RelocationRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 481 "./asn1/ranap/ranap.cnf" +#line 483 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationRequestAcknowledge "); @@ -9838,7 +9840,7 @@ static const per_sequence_t RelocationFailure_sequence[] = { static int dissect_ranap_RelocationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 485 "./asn1/ranap/ranap.cnf" +#line 487 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationFailure "); @@ -9857,7 +9859,7 @@ static const per_sequence_t RelocationCancel_sequence[] = { static int dissect_ranap_RelocationCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 489 "./asn1/ranap/ranap.cnf" +#line 491 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationCancel "); @@ -9876,7 +9878,7 @@ static const per_sequence_t RelocationCancelAcknowledge_sequence[] = { static int dissect_ranap_RelocationCancelAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 493 "./asn1/ranap/ranap.cnf" +#line 495 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationCancelAcknowledge "); @@ -9895,7 +9897,7 @@ static const per_sequence_t SRNS_ContextRequest_sequence[] = { static int dissect_ranap_SRNS_ContextRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 497 "./asn1/ranap/ranap.cnf" +#line 499 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"SRNS-ContextRequest "); @@ -9938,7 +9940,7 @@ static const per_sequence_t SRNS_ContextResponse_sequence[] = { static int dissect_ranap_SRNS_ContextResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 501 "./asn1/ranap/ranap.cnf" +#line 503 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"SRNS-ContextResponse "); @@ -10010,7 +10012,7 @@ static const per_sequence_t SecurityModeCommand_sequence[] = { static int dissect_ranap_SecurityModeCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 505 "./asn1/ranap/ranap.cnf" +#line 507 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"SecurityModeCommand "); @@ -10029,7 +10031,7 @@ static const per_sequence_t SecurityModeComplete_sequence[] = { static int dissect_ranap_SecurityModeComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 509 "./asn1/ranap/ranap.cnf" +#line 511 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"SecurityModeComplete "); @@ -10048,7 +10050,7 @@ static const per_sequence_t SecurityModeReject_sequence[] = { static int dissect_ranap_SecurityModeReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 513 "./asn1/ranap/ranap.cnf" +#line 515 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"SecurityModeReject "); @@ -10067,7 +10069,7 @@ static const per_sequence_t DataVolumeReportRequest_sequence[] = { static int dissect_ranap_DataVolumeReportRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 517 "./asn1/ranap/ranap.cnf" +#line 519 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"DataVolumeReportRequest "); @@ -10110,7 +10112,7 @@ static const per_sequence_t DataVolumeReport_sequence[] = { static int dissect_ranap_DataVolumeReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 521 "./asn1/ranap/ranap.cnf" +#line 523 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"DataVolumeReport "); @@ -10154,7 +10156,7 @@ static const per_sequence_t Reset_sequence[] = { static int dissect_ranap_Reset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 525 "./asn1/ranap/ranap.cnf" +#line 527 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"Reset "); @@ -10173,7 +10175,7 @@ static const per_sequence_t ResetAcknowledge_sequence[] = { static int dissect_ranap_ResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 529 "./asn1/ranap/ranap.cnf" +#line 531 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"ResetAcknowledge "); @@ -10192,7 +10194,7 @@ static const per_sequence_t ResetResource_sequence[] = { static int dissect_ranap_ResetResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 609 "./asn1/ranap/ranap.cnf" +#line 611 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"ResetResource "); @@ -10235,7 +10237,7 @@ static const per_sequence_t ResetResourceAcknowledge_sequence[] = { static int dissect_ranap_ResetResourceAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 613 "./asn1/ranap/ranap.cnf" +#line 615 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"ResetResourceAcknowledge "); @@ -10278,7 +10280,7 @@ static const per_sequence_t RAB_ReleaseRequest_sequence[] = { static int dissect_ranap_RAB_ReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 533 "./asn1/ranap/ranap.cnf" +#line 535 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RAB-ReleaseRequest "); @@ -10322,7 +10324,7 @@ static const per_sequence_t Iu_ReleaseRequest_sequence[] = { static int dissect_ranap_Iu_ReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 537 "./asn1/ranap/ranap.cnf" +#line 539 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"Iu-ReleaseRequest "); @@ -10341,7 +10343,7 @@ static const per_sequence_t RelocationDetect_sequence[] = { static int dissect_ranap_RelocationDetect(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 541 "./asn1/ranap/ranap.cnf" +#line 543 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationDetect "); @@ -10360,7 +10362,7 @@ static const per_sequence_t RelocationComplete_sequence[] = { static int dissect_ranap_RelocationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 545 "./asn1/ranap/ranap.cnf" +#line 547 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationComplete "); @@ -10379,7 +10381,7 @@ static const per_sequence_t EnhancedRelocationCompleteRequest_sequence[] = { static int dissect_ranap_EnhancedRelocationCompleteRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 745 "./asn1/ranap/ranap.cnf" +#line 747 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"EnhancedRelocationCompleteRequest "); @@ -10425,7 +10427,7 @@ static const per_sequence_t EnhancedRelocationCompleteResponse_sequence[] = { static int dissect_ranap_EnhancedRelocationCompleteResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 749 "./asn1/ranap/ranap.cnf" +#line 751 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"EnhancedRelocationCompleteResponse "); @@ -10498,7 +10500,7 @@ static const per_sequence_t EnhancedRelocationCompleteFailure_sequence[] = { static int dissect_ranap_EnhancedRelocationCompleteFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 753 "./asn1/ranap/ranap.cnf" +#line 755 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"EnhancedRelocationCompleteFailure "); @@ -10517,7 +10519,7 @@ static const per_sequence_t EnhancedRelocationCompleteConfirm_sequence[] = { static int dissect_ranap_EnhancedRelocationCompleteConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 757 "./asn1/ranap/ranap.cnf" +#line 759 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"EnhancedRelocationCompleteConfirm "); @@ -10536,7 +10538,7 @@ static const per_sequence_t Paging_sequence[] = { static int dissect_ranap_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 549 "./asn1/ranap/ranap.cnf" +#line 551 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"Paging "); @@ -10555,7 +10557,7 @@ static const per_sequence_t CommonID_sequence[] = { static int dissect_ranap_CommonID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 553 "./asn1/ranap/ranap.cnf" +#line 555 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonID "); @@ -10574,7 +10576,7 @@ static const per_sequence_t CN_InvokeTrace_sequence[] = { static int dissect_ranap_CN_InvokeTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 557 "./asn1/ranap/ranap.cnf" +#line 559 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CN-InvokeTrace "); @@ -10593,7 +10595,7 @@ static const per_sequence_t CN_DeactivateTrace_sequence[] = { static int dissect_ranap_CN_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 561 "./asn1/ranap/ranap.cnf" +#line 563 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CN-DeactivateTrace "); @@ -10612,7 +10614,7 @@ static const per_sequence_t LocationReportingControl_sequence[] = { static int dissect_ranap_LocationReportingControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 565 "./asn1/ranap/ranap.cnf" +#line 567 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"LocationReportingControl "); @@ -10631,7 +10633,7 @@ static const per_sequence_t LocationReport_sequence[] = { static int dissect_ranap_LocationReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 569 "./asn1/ranap/ranap.cnf" +#line 571 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"LocationReport "); @@ -10650,7 +10652,7 @@ static const per_sequence_t InitialUE_Message_sequence[] = { static int dissect_ranap_InitialUE_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 573 "./asn1/ranap/ranap.cnf" +#line 575 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"InitialUE-Message "); @@ -10669,7 +10671,7 @@ static const per_sequence_t DirectTransfer_sequence[] = { static int dissect_ranap_DirectTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 577 "./asn1/ranap/ranap.cnf" +#line 579 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"DirectTransfer "); @@ -10697,7 +10699,7 @@ static const per_sequence_t Overload_sequence[] = { static int dissect_ranap_Overload(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 581 "./asn1/ranap/ranap.cnf" +#line 583 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"Overload "); @@ -10716,7 +10718,7 @@ static const per_sequence_t ErrorIndication_sequence[] = { static int dissect_ranap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 585 "./asn1/ranap/ranap.cnf" +#line 587 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"ErrorIndication "); @@ -10735,7 +10737,7 @@ static const per_sequence_t SRNS_DataForwardCommand_sequence[] = { static int dissect_ranap_SRNS_DataForwardCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 589 "./asn1/ranap/ranap.cnf" +#line 591 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"SRNS-DataForwardCommand "); @@ -10754,7 +10756,7 @@ static const per_sequence_t ForwardSRNS_Context_sequence[] = { static int dissect_ranap_ForwardSRNS_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 593 "./asn1/ranap/ranap.cnf" +#line 595 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"ForwardSRNS-Context "); @@ -10773,7 +10775,7 @@ static const per_sequence_t RAB_AssignmentRequest_sequence[] = { static int dissect_ranap_RAB_AssignmentRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 597 "./asn1/ranap/ranap.cnf" +#line 599 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RAB-AssignmentRequest "); @@ -10822,7 +10824,7 @@ static const per_sequence_t RAB_SetupOrModifyItemFirst_sequence[] = { static int dissect_ranap_RAB_SetupOrModifyItemFirst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 412 "./asn1/ranap/ranap.cnf" +#line 414 "./asn1/ranap/ranap.cnf" address ipv4_addr; guint32 transportLayerAddress_ipv4; guint16 binding_id; @@ -10875,7 +10877,7 @@ static const per_sequence_t RAB_AssignmentResponse_sequence[] = { static int dissect_ranap_RAB_AssignmentResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 601 "./asn1/ranap/ranap.cnf" +#line 603 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RAB-AssignmentResponse "); @@ -10906,7 +10908,7 @@ static const per_sequence_t RAB_SetupOrModifiedItem_sequence[] = { static int dissect_ranap_RAB_SetupOrModifiedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 429 "./asn1/ranap/ranap.cnf" +#line 431 "./asn1/ranap/ranap.cnf" address ipv4_addr; guint32 transportLayerAddress_ipv4; guint16 binding_id; @@ -11024,7 +11026,7 @@ static const per_sequence_t PrivateMessage_sequence[] = { static int dissect_ranap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 605 "./asn1/ranap/ranap.cnf" +#line 607 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"PrivateMessage "); @@ -11043,7 +11045,7 @@ static const per_sequence_t RANAP_RelocationInformation_sequence[] = { static int dissect_ranap_RANAP_RelocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 617 "./asn1/ranap/ranap.cnf" +#line 619 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RANAP-RelocationInformation "); @@ -11116,7 +11118,7 @@ static const per_sequence_t RANAP_EnhancedRelocationInformationRequest_sequence[ static int dissect_ranap_RANAP_EnhancedRelocationInformationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 761 "./asn1/ranap/ranap.cnf" +#line 763 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RANAP-EnhancedRelocationInformationRequest "); @@ -11184,7 +11186,7 @@ static const per_sequence_t RANAP_EnhancedRelocationInformationResponse_sequence static int dissect_ranap_RANAP_EnhancedRelocationInformationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 765 "./asn1/ranap/ranap.cnf" +#line 767 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RANAP-EnhancedRelocationInformationResponse "); @@ -11272,7 +11274,7 @@ static const per_sequence_t RAB_ModifyRequest_sequence[] = { static int dissect_ranap_RAB_ModifyRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 621 "./asn1/ranap/ranap.cnf" +#line 623 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RAB-ModifyRequest "); @@ -11316,7 +11318,7 @@ static const per_sequence_t LocationRelatedDataRequest_sequence[] = { static int dissect_ranap_LocationRelatedDataRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 625 "./asn1/ranap/ranap.cnf" +#line 627 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"LocationRelatedDataRequest "); @@ -11335,7 +11337,7 @@ static const per_sequence_t LocationRelatedDataResponse_sequence[] = { static int dissect_ranap_LocationRelatedDataResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 629 "./asn1/ranap/ranap.cnf" +#line 631 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"LocationRelatedDataResponse "); @@ -11354,7 +11356,7 @@ static const per_sequence_t LocationRelatedDataFailure_sequence[] = { static int dissect_ranap_LocationRelatedDataFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 633 "./asn1/ranap/ranap.cnf" +#line 635 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"LocationRelatedDataFailure "); @@ -11373,7 +11375,7 @@ static const per_sequence_t InformationTransferIndication_sequence[] = { static int dissect_ranap_InformationTransferIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 637 "./asn1/ranap/ranap.cnf" +#line 639 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"InformationTransferIndication "); @@ -11392,7 +11394,7 @@ static const per_sequence_t InformationTransferConfirmation_sequence[] = { static int dissect_ranap_InformationTransferConfirmation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 641 "./asn1/ranap/ranap.cnf" +#line 643 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"InformationTransferConfirmation "); @@ -11411,7 +11413,7 @@ static const per_sequence_t InformationTransferFailure_sequence[] = { static int dissect_ranap_InformationTransferFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 645 "./asn1/ranap/ranap.cnf" +#line 647 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"InformationTransferFailure "); @@ -11430,7 +11432,7 @@ static const per_sequence_t UESpecificInformationIndication_sequence[] = { static int dissect_ranap_UESpecificInformationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 649 "./asn1/ranap/ranap.cnf" +#line 651 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"UESpecificInformationIndication "); @@ -11449,7 +11451,7 @@ static const per_sequence_t DirectInformationTransfer_sequence[] = { static int dissect_ranap_DirectInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 653 "./asn1/ranap/ranap.cnf" +#line 655 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"DirectInformationTransfer "); @@ -11468,7 +11470,7 @@ static const per_sequence_t UplinkInformationExchangeRequest_sequence[] = { static int dissect_ranap_UplinkInformationExchangeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 657 "./asn1/ranap/ranap.cnf" +#line 659 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"UplinkInformationExchangeRequest "); @@ -11487,7 +11489,7 @@ static const per_sequence_t UplinkInformationExchangeResponse_sequence[] = { static int dissect_ranap_UplinkInformationExchangeResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 661 "./asn1/ranap/ranap.cnf" +#line 663 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"UplinkInformationExchangeResponse "); @@ -11506,7 +11508,7 @@ static const per_sequence_t UplinkInformationExchangeFailure_sequence[] = { static int dissect_ranap_UplinkInformationExchangeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 665 "./asn1/ranap/ranap.cnf" +#line 667 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"UplinkInformationExchangeFailure "); @@ -11525,7 +11527,7 @@ static const per_sequence_t MBMSSessionStart_sequence[] = { static int dissect_ranap_MBMSSessionStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 669 "./asn1/ranap/ranap.cnf" +#line 671 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionStart "); @@ -11561,7 +11563,7 @@ static const per_sequence_t MBMSSessionStartResponse_sequence[] = { static int dissect_ranap_MBMSSessionStartResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 673 "./asn1/ranap/ranap.cnf" +#line 675 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionStartResponse "); @@ -11580,7 +11582,7 @@ static const per_sequence_t MBMSSessionStartFailure_sequence[] = { static int dissect_ranap_MBMSSessionStartFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 677 "./asn1/ranap/ranap.cnf" +#line 679 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionStartFailure "); @@ -11599,7 +11601,7 @@ static const per_sequence_t MBMSSessionUpdate_sequence[] = { static int dissect_ranap_MBMSSessionUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 681 "./asn1/ranap/ranap.cnf" +#line 683 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionUpdate "); @@ -11618,7 +11620,7 @@ static const per_sequence_t MBMSSessionUpdateResponse_sequence[] = { static int dissect_ranap_MBMSSessionUpdateResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 685 "./asn1/ranap/ranap.cnf" +#line 687 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionUpdateResponse "); @@ -11637,7 +11639,7 @@ static const per_sequence_t MBMSSessionUpdateFailure_sequence[] = { static int dissect_ranap_MBMSSessionUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 689 "./asn1/ranap/ranap.cnf" +#line 691 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionUpdateFailure "); @@ -11656,7 +11658,7 @@ static const per_sequence_t MBMSSessionStop_sequence[] = { static int dissect_ranap_MBMSSessionStop(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 693 "./asn1/ranap/ranap.cnf" +#line 695 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionStop "); @@ -11675,7 +11677,7 @@ static const per_sequence_t MBMSSessionStopResponse_sequence[] = { static int dissect_ranap_MBMSSessionStopResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 697 "./asn1/ranap/ranap.cnf" +#line 699 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionStopResponse "); @@ -11694,7 +11696,7 @@ static const per_sequence_t MBMSUELinkingRequest_sequence[] = { static int dissect_ranap_MBMSUELinkingRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 701 "./asn1/ranap/ranap.cnf" +#line 703 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSUELinkingRequest "); @@ -11742,7 +11744,7 @@ static const per_sequence_t MBMSUELinkingResponse_sequence[] = { static int dissect_ranap_MBMSUELinkingResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 705 "./asn1/ranap/ranap.cnf" +#line 707 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSUELinkingResponse "); @@ -11791,7 +11793,7 @@ static const per_sequence_t MBMSRegistrationRequest_sequence[] = { static int dissect_ranap_MBMSRegistrationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 709 "./asn1/ranap/ranap.cnf" +#line 711 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSRegistrationRequest "); @@ -11810,7 +11812,7 @@ static const per_sequence_t MBMSRegistrationResponse_sequence[] = { static int dissect_ranap_MBMSRegistrationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 713 "./asn1/ranap/ranap.cnf" +#line 715 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSRegistrationResponse "); @@ -11829,7 +11831,7 @@ static const per_sequence_t MBMSRegistrationFailure_sequence[] = { static int dissect_ranap_MBMSRegistrationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 717 "./asn1/ranap/ranap.cnf" +#line 719 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSRegistrationFailure "); @@ -11848,7 +11850,7 @@ static const per_sequence_t MBMSCNDe_RegistrationRequest_sequence[] = { static int dissect_ranap_MBMSCNDe_RegistrationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 721 "./asn1/ranap/ranap.cnf" +#line 723 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSCNDe-RegistrationRequest "); @@ -11867,7 +11869,7 @@ static const per_sequence_t MBMSCNDe_RegistrationResponse_sequence[] = { static int dissect_ranap_MBMSCNDe_RegistrationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 725 "./asn1/ranap/ranap.cnf" +#line 727 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSCNDe-RegistrationResponse "); @@ -11886,7 +11888,7 @@ static const per_sequence_t MBMSRABEstablishmentIndication_sequence[] = { static int dissect_ranap_MBMSRABEstablishmentIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 729 "./asn1/ranap/ranap.cnf" +#line 731 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSRABEstablishmentIndication "); @@ -11905,7 +11907,7 @@ static const per_sequence_t MBMSRABReleaseRequest_sequence[] = { static int dissect_ranap_MBMSRABReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 733 "./asn1/ranap/ranap.cnf" +#line 735 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSRABReleaseRequest "); @@ -11924,7 +11926,7 @@ static const per_sequence_t MBMSRABRelease_sequence[] = { static int dissect_ranap_MBMSRABRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 737 "./asn1/ranap/ranap.cnf" +#line 739 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSRABRelease "); @@ -11943,7 +11945,7 @@ static const per_sequence_t MBMSRABReleaseFailure_sequence[] = { static int dissect_ranap_MBMSRABReleaseFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 741 "./asn1/ranap/ranap.cnf" +#line 743 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSRABReleaseFailure "); @@ -11962,7 +11964,7 @@ static const per_sequence_t SRVCC_CSKeysRequest_sequence[] = { static int dissect_ranap_SRVCC_CSKeysRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 769 "./asn1/ranap/ranap.cnf" +#line 771 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"SRVCC-CSKeysRequest "); @@ -11981,7 +11983,7 @@ static const per_sequence_t SRVCC_CSKeysResponse_sequence[] = { static int dissect_ranap_SRVCC_CSKeysResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 773 "./asn1/ranap/ranap.cnf" +#line 775 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"SRVCC-CSKeysResponse "); @@ -12000,7 +12002,7 @@ static const per_sequence_t UeRadioCapabilityMatchRequest_sequence[] = { static int dissect_ranap_UeRadioCapabilityMatchRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 777 "./asn1/ranap/ranap.cnf" +#line 779 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"UeRadioCapabilityMatchRequest "); @@ -12019,7 +12021,7 @@ static const per_sequence_t UeRadioCapabilityMatchResponse_sequence[] = { static int dissect_ranap_UeRadioCapabilityMatchResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 781 "./asn1/ranap/ranap.cnf" +#line 783 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"UeRadioCapabilityMatchResponse "); @@ -12038,7 +12040,7 @@ static const per_sequence_t UeRegistrationQueryRequest_sequence[] = { static int dissect_ranap_UeRegistrationQueryRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 785 "./asn1/ranap/ranap.cnf" +#line 787 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"UeRegistrationQueryRequest "); @@ -12057,7 +12059,7 @@ static const per_sequence_t UeRegistrationQueryResponse_sequence[] = { static int dissect_ranap_UeRegistrationQueryResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 789 "./asn1/ranap/ranap.cnf" +#line 791 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"UeRegistrationQueryResponse "); @@ -12076,7 +12078,7 @@ static const per_sequence_t RerouteNASRequest_sequence[] = { static int dissect_ranap_RerouteNASRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 793 "./asn1/ranap/ranap.cnf" +#line 795 "./asn1/ranap/ranap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RerouteNASRequest "); diff --git a/epan/dissectors/packet-sccp.c b/epan/dissectors/packet-sccp.c index a0b946c2da..f6035c4019 100644 --- a/epan/dissectors/packet-sccp.c +++ b/epan/dissectors/packet-sccp.c @@ -566,6 +566,8 @@ static const value_string sccp_isni_ti_values [] = { { ANSI_ISNI_TYPE_1, "Type one ISNI parameter format" }, { 0, NULL } }; +/* Laded from e212 hf*/ +static int hf_assoc_imsi = -1; /* Initialize the protocol and registered fields */ static int proto_sccp = -1; @@ -797,7 +799,7 @@ static heur_dissector_list_t heur_subdissector_list; static dissector_table_t sccp_ssn_dissector_table; static wmem_tree_t *assocs = NULL; -static sccp_assoc_info_t no_assoc = {0,0,0,INVALID_SSN,INVALID_SSN,FALSE,FALSE,NULL,NULL,SCCP_PLOAD_NONE,NULL,NULL,NULL,0}; +static sccp_assoc_info_t no_assoc = { 0,0,0,INVALID_SSN,INVALID_SSN,FALSE,FALSE,NULL,NULL,SCCP_PLOAD_NONE,NULL,NULL,NULL, NULL, 0 }; static guint32 next_assoc_id = 0; static const value_string assoc_protos[] = { @@ -1443,6 +1445,7 @@ new_assoc(guint32 calling, guint32 called) a->calling_party = NULL; a->called_party = NULL; a->extra_info = NULL; + a->imsi = NULL; return a; } @@ -1642,6 +1645,7 @@ get_sccp_assoc(packet_info *pinfo, guint offset, sccp_decode_context_t* value) msg->data.co.assoc = value->assoc; msg->data.co.label = NULL; msg->data.co.comment = NULL; + msg->data.co.imsi = NULL; msg->type = value->message_type; if (value->assoc->msgs) { @@ -1659,6 +1663,9 @@ get_sccp_assoc(packet_info *pinfo, guint offset, sccp_decode_context_t* value) sccp_msg_info_t *m; for (m = value->assoc->msgs; m; m = m->data.co.next) { + if (m->data.co.imsi != NULL && value->assoc->imsi == NULL) { + value->assoc->imsi = wmem_strdup(wmem_epan_scope(), m->data.co.imsi); + } if ((m->framenum == framenum) && (m->offset == offset)) { value->assoc->curr_msg = m; break; @@ -2817,7 +2824,9 @@ static void build_assoc_tree(tvbuff_t *tvb, packet_info *pinfo, proto_tree *sccp if (trace_sccp && sccp_info->assoc && (sccp_info->assoc != &no_assoc)) { proto_item *pi = proto_tree_add_uint(sccp_tree, hf_sccp_assoc_id, tvb, 0, 0, sccp_info->assoc->id); proto_tree *pt = proto_item_add_subtree(pi, ett_sccp_assoc); + proto_item *pi2 = proto_tree_add_string(sccp_tree, hf_assoc_imsi, tvb, 0, 0, sccp_info->assoc->imsi); PROTO_ITEM_SET_GENERATED(pi); + PROTO_ITEM_SET_GENERATED(pi2);PROTO_ITEM_SET_GENERATED(pi2); if (sccp_info->assoc->msgs) { sccp_msg_info_t *m; for(m = sccp_info->assoc->msgs; m ; m = m->data.co.next) { @@ -2828,6 +2837,8 @@ static void build_assoc_tree(tvbuff_t *tvb, packet_info *pinfo, proto_tree *sccp if (m->data.co.label) proto_item_append_text(pi," %s", m->data.co.label); + if (m->data.co.imsi) + proto_item_append_text(pi, " %s", m->data.co.imsi); if ((m->framenum == pinfo->num) && (m->offset == msg_offset) ) { tap_queue_packet(sccp_tap, pinfo, m); @@ -4219,6 +4230,7 @@ proto_reg_handoff_sccp(void) ss7pc_address_type = address_type_get_by_name("AT_SS7PC"); initialised = TRUE; + hf_assoc_imsi = proto_registrar_get_id_byname("e212.assoc.imsi"); } default_handle = find_dissector(default_payload); diff --git a/epan/dissectors/packet-sccp.h b/epan/dissectors/packet-sccp.h index 868e727fe1..be84b9c2ab 100644 --- a/epan/dissectors/packet-sccp.h +++ b/epan/dissectors/packet-sccp.h @@ -60,6 +60,7 @@ typedef struct _sccp_msg_info_t { struct { gchar* label; gchar* comment; + gchar* imsi; struct _sccp_assoc_info_t* assoc; struct _sccp_msg_info_t* next; } co; @@ -87,6 +88,7 @@ typedef struct _sccp_assoc_info_t { gchar* calling_party; gchar* called_party; gchar* extra_info; + gchar* imsi; guint32 app_info; /* used only by dissectors of protocols above SCCP */ } sccp_assoc_info_t; |