forked from osmocom/wireshark
remove some unusued parameters
svn path=/trunk/; revision=17586
This commit is contained in:
parent
6e4aa06681
commit
fb48a75091
|
@ -246,7 +246,7 @@ static const value_string bssap_plus_ie_id_values[] = {
|
|||
|
||||
/* Initialize the protocol and registered fields */
|
||||
static int proto_bssap = -1;
|
||||
static int proto_bssap_plus = -1;
|
||||
/*static int proto_bssap_plus = -1;*/
|
||||
static int hf_bssap_pdu_type = -1;
|
||||
static int hf_bsap_pdu_type = -1;
|
||||
static int hf_bssap_dlci_cc = -1;
|
||||
|
@ -598,12 +598,15 @@ typedef struct dgt_set_t
|
|||
}
|
||||
dgt_set_t;
|
||||
|
||||
#ifdef REMOVED
|
||||
static dgt_set_t Dgt_tbcd = {
|
||||
{
|
||||
/* 0 1 2 3 4 5 6 7 8 9 a b c d e */
|
||||
'0','1','2','3','4','5','6','7','8','9','?','B','C','*','#'
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
static dgt_set_t Dgt1_9_bcd = {
|
||||
{
|
||||
/* 0 1 2 3 4 5 6 7 8 9 a b c d e */
|
||||
|
@ -671,7 +674,7 @@ check_ie(tvbuff_t *tvb, proto_tree *tree, int *offset, guint8 expected_ie){
|
|||
}
|
||||
|
||||
static gboolean
|
||||
check_optional_ie(tvbuff_t *tvb, proto_tree *tree, int offset, guint8 expected_ie){
|
||||
check_optional_ie(tvbuff_t *tvb, int offset, guint8 expected_ie){
|
||||
guint8 ie_type;
|
||||
|
||||
ie_type = tvb_get_guint8(tvb,offset);
|
||||
|
@ -684,7 +687,7 @@ check_optional_ie(tvbuff_t *tvb, proto_tree *tree, int offset, guint8 expected_i
|
|||
|
||||
/* 18.4.1 Cell global identity */
|
||||
static int
|
||||
dissect_bssap_cell_global_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_cell_global_id(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -725,7 +728,7 @@ dissect_bssap_cell_global_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
|
|||
}
|
||||
/* 18.4.2 Channel needed */
|
||||
static int
|
||||
dissect_bssap_channel_needed(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_channel_needed(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -751,7 +754,7 @@ dissect_bssap_channel_needed(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
|
|||
}
|
||||
/* 18.4.3 Downlink Tunnel Payload Control and Info */
|
||||
static int
|
||||
dissect_bssap_dlink_tunnel_paylod_control_and_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_dlink_tunnel_payload_control_and_info(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -795,7 +798,7 @@ static const value_string bssap_call_priority_values[] = {
|
|||
{ 0, NULL }
|
||||
};
|
||||
static int
|
||||
dissect_bssap_emlpp_priority(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_emlpp_priority(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -826,7 +829,7 @@ dissect_bssap_emlpp_priority(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
|
|||
/* Erroneous message including the message type. */
|
||||
|
||||
static int
|
||||
dissect_bssap_gprs_erroneous_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_gprs_erroneous_msg(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -857,7 +860,7 @@ static const value_string bssap_plus_GPRS_loc_upd_type_values[] = {
|
|||
};
|
||||
/* 18.4.6 GPRS location update type */
|
||||
static int
|
||||
dissect_bssap_gprs_location_update_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_gprs_location_update_type(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -902,7 +905,7 @@ static const value_string bssap_Gs_cause_values[] = {
|
|||
|
||||
/* 18.4.7 Gs cause */
|
||||
static int
|
||||
dissect_bssap_Gs_cause(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_Gs_cause(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -925,7 +928,7 @@ dissect_bssap_Gs_cause(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int
|
|||
}
|
||||
/* 18.4.8 IMEI */
|
||||
static int
|
||||
dissect_bssap_imei(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_imei(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -953,7 +956,7 @@ dissect_bssap_imei(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offs
|
|||
}
|
||||
/* 18.4.9 IMEISV */
|
||||
static int
|
||||
dissect_bssap_imesiv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_imesiv(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -987,7 +990,7 @@ dissect_bssap_imesiv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int of
|
|||
|
||||
|
||||
static int
|
||||
dissect_bssap_imsi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_imsi(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1020,7 +1023,7 @@ static const value_string bssap_imsi_det_from_gprs_serv_type_values[] = {
|
|||
|
||||
/* 18.4.11 IMSI detach from GPRS service type */
|
||||
static int
|
||||
dissect_bssap_imsi_det_from_gprs_serv_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_imsi_det_from_gprs_serv_type(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1043,7 +1046,7 @@ dissect_bssap_imsi_det_from_gprs_serv_type(tvbuff_t *tvb, packet_info *pinfo, pr
|
|||
}
|
||||
/* 18.4.12 IMSI detach from non-GPRS service type */
|
||||
static int
|
||||
dissect_bssap_imsi_det_from_non_gprs_serv_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_imsi_det_from_non_gprs_serv_type(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1078,7 +1081,7 @@ static const value_string bssap_info_req_values[] = {
|
|||
};
|
||||
/* 18.4.13 Information requested */
|
||||
static int
|
||||
dissect_bssap_info_req(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_info_req(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1101,7 +1104,7 @@ dissect_bssap_info_req(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int
|
|||
}
|
||||
/* 18.4.14 Location area identifier */
|
||||
static int
|
||||
dissect_bssap_loc_area_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_loc_area_id(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1127,7 +1130,7 @@ dissect_bssap_loc_area_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, i
|
|||
}
|
||||
/* 18.4.15 Location information age */
|
||||
static int
|
||||
dissect_bssap_loaction_information_age(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_location_information_age(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1160,7 +1163,7 @@ dissect_bssap_loaction_information_age(tvbuff_t *tvb, packet_info *pinfo, proto_
|
|||
}
|
||||
/* 18.4.16 MM information */
|
||||
static int
|
||||
dissect_bssap_MM_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_MM_information(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1188,7 +1191,7 @@ dissect_bssap_MM_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
|
|||
}
|
||||
/* 18.4.17 Mobile identity */
|
||||
static int
|
||||
dissect_bssap_mobile_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_mobile_id(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1214,7 +1217,7 @@ dissect_bssap_mobile_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int
|
|||
}
|
||||
/* 18.4.18 Mobile station classmark 1 */
|
||||
static int
|
||||
dissect_bssap_mobile_stn_cls_mrk1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_mobile_stn_cls_mrk1(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1251,7 +1254,7 @@ static const value_string bssap_mobile_station_state_values[] = {
|
|||
{ 0, NULL }
|
||||
};
|
||||
static int
|
||||
dissect_bssap_mobile_station_state(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_mobile_station_state(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1273,7 +1276,7 @@ dissect_bssap_mobile_station_state(tvbuff_t *tvb, packet_info *pinfo, proto_tree
|
|||
}
|
||||
/* 18.4.20 PTMSI */
|
||||
static int
|
||||
dissect_bssap_ptmsi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_ptmsi(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1297,7 +1300,7 @@ dissect_bssap_ptmsi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int off
|
|||
}
|
||||
/* 18.4.21 Reject cause */
|
||||
static int
|
||||
dissect_bssap_reject_cause(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_reject_cause(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1323,7 +1326,7 @@ dissect_bssap_reject_cause(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
|
||||
/* 18.4.21b Service Area Identification */
|
||||
static int
|
||||
dissect_bssap_service_area_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_service_area_id(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1355,7 +1358,7 @@ static const true_false_string bssap_extension_value = {
|
|||
};
|
||||
|
||||
static int
|
||||
dissect_bssap_sgsn_number(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_sgsn_number(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1391,7 +1394,7 @@ dissect_bssap_sgsn_number(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, i
|
|||
}
|
||||
/* 18.4.23 TMSI */
|
||||
static int
|
||||
dissect_bssap_tmsi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_tmsi(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1421,7 +1424,7 @@ static const true_false_string bssap_tmsi_flag = {
|
|||
"No valid TMSI available"
|
||||
};
|
||||
static int
|
||||
dissect_bssap_tmsi_status(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_tmsi_status(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1456,7 +1459,7 @@ static const value_string bssap_tom_prot_disc_values[] = {
|
|||
{ 0, NULL }
|
||||
};
|
||||
static int
|
||||
dissect_bssap_ulink_tunnel_paylod_control_and_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_ulink_tunnel_payload_control_and_info(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1494,7 +1497,7 @@ dissect_bssap_ulink_tunnel_paylod_control_and_info(tvbuff_t *tvb, packet_info *p
|
|||
|
||||
/* 18.4.26 VLR number */
|
||||
static int
|
||||
dissect_bssap_vlr_number(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_vlr_number(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1530,7 +1533,7 @@ dissect_bssap_vlr_number(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, in
|
|||
}
|
||||
/* 18.4.27 Global CN-Id */
|
||||
static int
|
||||
dissect_bssap_global_cn_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||
dissect_bssap_global_cn_id(tvbuff_t *tvb, proto_tree *tree, int offset)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *ie_tree = NULL;
|
||||
|
@ -1603,43 +1606,43 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_PAGING_REQUEST:
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
/* VLR number VLR number 18.4.26 M TLV 5-11 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_VLR_NUMBER))
|
||||
offset = dissect_bssap_vlr_number(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_vlr_number(tvb, bssap_tree, offset);
|
||||
|
||||
/* End of mandatory elements */
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* TMSI TMSI 18.4.23 O TLV 6 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_TMSI))
|
||||
offset = dissect_bssap_tmsi(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_TMSI))
|
||||
offset = dissect_bssap_tmsi(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Location area identifier Location area identifier 18.4.14 O TLV 7 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_LOC_AREA_ID))
|
||||
offset = dissect_bssap_loc_area_id(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_LOC_AREA_ID))
|
||||
offset = dissect_bssap_loc_area_id(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Channel needed Channel needed 18.4.2 O TLV 3 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_CHANNEL_NEEDED))
|
||||
offset = dissect_bssap_channel_needed(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_CHANNEL_NEEDED))
|
||||
offset = dissect_bssap_channel_needed(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* eMLPP Priority eMLPP Priority 18.4.4 O TLV 3 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_EMLPP_PRIORITY))
|
||||
offset = dissect_bssap_emlpp_priority(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_EMLPP_PRIORITY))
|
||||
offset = dissect_bssap_emlpp_priority(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Global CN-Id Global CN-Id 18.4.27 O TLV 7 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_GLOBAL_CN_ID))
|
||||
offset = dissect_bssap_global_cn_id(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_GLOBAL_CN_ID))
|
||||
offset = dissect_bssap_global_cn_id(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
|
@ -1648,10 +1651,10 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_PAGING_REJECT: /* 17.1.18 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
/* Gs Cause Gs Cause 18.4.7 M TLV 3 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_GS_CAUSE))
|
||||
offset = dissect_bssap_Gs_cause(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_Gs_cause(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
@ -1660,15 +1663,15 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_DOWNLINK_TUNNEL_REQUEST: /* 17.1.4 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
/* VLR number VLR number 18.4.26 M TLV 5-11 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_VLR_NUMBER))
|
||||
offset = dissect_bssap_vlr_number(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_vlr_number(tvb, bssap_tree, offset);
|
||||
|
||||
/* Downlink Tunnel Payload Control and Info 18.4.3 M TLV 3-223 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_DLINK_TNL_PLD_CTR_AND_INF))
|
||||
offset = dissect_bssap_dlink_tunnel_paylod_control_and_info(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_dlink_tunnel_payload_control_and_info(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
@ -1677,11 +1680,11 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_UPLINK_TUNNEL_REQUEST: /* 17.1.23 */
|
||||
/* SGSN number 18.4.22 M TLV 5-11 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_SGSN_NUMBER))
|
||||
offset = dissect_bssap_sgsn_number(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_sgsn_number(tvb, bssap_tree, offset);
|
||||
|
||||
/* Uplink Tunnel Payload Control and Info 18.4.25 M TLV 3-223 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_ULINK_TNL_PLD_CTR_AND_INF))
|
||||
offset = dissect_bssap_ulink_tunnel_paylod_control_and_info(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_ulink_tunnel_payload_control_and_info(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
@ -1692,47 +1695,47 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_LOCATION_UPDATE_REQUEST: /* 17.1.11 BSSAP+-LOCATION-UPDATE-REQUEST */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
/* SGSN number SGSN number 18.4.22 M TLV 5-11 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_SGSN_NUMBER))
|
||||
offset = dissect_bssap_sgsn_number(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_sgsn_number(tvb, bssap_tree, offset);
|
||||
|
||||
/* Update type GPRS location update type 18.4.6 M TLV 3 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_GPRS_LOC_UPD_TYPE))
|
||||
offset = dissect_bssap_gprs_location_update_type(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_gprs_location_update_type(tvb, bssap_tree, offset);
|
||||
|
||||
/* New Cell global identity Cell global identity 18.4.1 M TLV 10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_CELL_GBL_ID))
|
||||
offset = dissect_bssap_cell_global_id(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_cell_global_id(tvb, bssap_tree, offset);
|
||||
|
||||
/* Mobile station classmark Mobile station classmark 1 18.4.18 M TLV 3 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_MOBILE_STN_CLS_MRK1))
|
||||
offset = dissect_bssap_mobile_stn_cls_mrk1(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_mobile_stn_cls_mrk1(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Old location area identifier Location area identifier 18.4.14 O TLV 7 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_LOC_AREA_ID))
|
||||
offset = dissect_bssap_loc_area_id(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_LOC_AREA_ID))
|
||||
offset = dissect_bssap_loc_area_id(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* TMSI status TMSI status 18.4.24 O TLV 3 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_TMSI_STATUS))
|
||||
offset = dissect_bssap_tmsi_status(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_TMSI_STATUS))
|
||||
offset = dissect_bssap_tmsi_status(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* New service area identification Service area identification 18.4.21b O TLV 9 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_SERVICE_AREA_ID))
|
||||
offset = dissect_bssap_service_area_id(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_SERVICE_AREA_ID))
|
||||
offset = dissect_bssap_service_area_id(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* IMEISV IMEISV 18.4.9 O TLV 10 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_IMEISV))
|
||||
offset = dissect_bssap_imesiv(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_IMEISV))
|
||||
offset = dissect_bssap_imesiv(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
proto_tree_add_text(tree, tvb, offset, -1, "Extraneous data");
|
||||
|
@ -1740,18 +1743,18 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_LOCATION_UPDATE_ACCEPT: /* 17.1.9 */
|
||||
/* IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
/* Location area identifier Location area identifier 18.4.14 M TLV 7 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_LOC_AREA_ID))
|
||||
offset = dissect_bssap_loc_area_id(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_loc_area_id(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* New TMSI, or IMSI Mobile identity 18.4.17 O TLV 6-10 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_MOBILE_ID))
|
||||
offset = dissect_bssap_mobile_id(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_MOBILE_ID))
|
||||
offset = dissect_bssap_mobile_id(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
proto_tree_add_text(tree, tvb, offset, -1, "Extraneous data");
|
||||
|
@ -1759,10 +1762,10 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_LOCATION_UPDATE_REJECT: /* 17.1.10 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
/* Reject cause Reject cause 18.4.21 M TLV 3 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_REJECT_CAUSE))
|
||||
offset = dissect_bssap_reject_cause(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_reject_cause(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
proto_tree_add_text(tree, tvb, offset, -1, "Extraneous data");
|
||||
|
@ -1770,21 +1773,21 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_TMSI_REALLOCATION_COMPLETE: /* 17.1.22 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Cell global identity Cell global identity 18.4.1 O TLV 10 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_CELL_GBL_ID))
|
||||
offset = dissect_bssap_cell_global_id(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_CELL_GBL_ID))
|
||||
offset = dissect_bssap_cell_global_id(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Service area identification Service area identification 18.4.21b O TLV 9 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_SERVICE_AREA_ID))
|
||||
offset = dissect_bssap_service_area_id(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_SERVICE_AREA_ID))
|
||||
offset = dissect_bssap_service_area_id(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
proto_tree_add_text(tree, tvb, offset, -1, "Extraneous data");
|
||||
|
@ -1792,7 +1795,7 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_ALERT_REQUEST: /* 17.1.3 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
@ -1801,7 +1804,7 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_ALERT_ACK: /* 17.1.1 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
@ -1810,11 +1813,11 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_ALERT_REJECT: /* 17.1.2 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
/* Gs Cause Gs Cause 18.4.7 M TLV 3 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_GS_CAUSE))
|
||||
offset = dissect_bssap_Gs_cause(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_Gs_cause(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
@ -1823,21 +1826,21 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_MS_ACTIVITY_INDICATION: /* 17.1.14 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Cell global identity Cell global identity 18.4.1 O TLV 10 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_CELL_GBL_ID))
|
||||
offset = dissect_bssap_cell_global_id(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_CELL_GBL_ID))
|
||||
offset = dissect_bssap_cell_global_id(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Service area identification Service area identification 18.4.21b O TLV 9 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_SERVICE_AREA_ID))
|
||||
offset = dissect_bssap_service_area_id(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_SERVICE_AREA_ID))
|
||||
offset = dissect_bssap_service_area_id(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
proto_tree_add_text(tree, tvb, offset, -1, "Extraneous data");
|
||||
|
@ -1845,29 +1848,29 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_GPRS_DETACH_INDICATION: /* 17.1.6 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
/* SGSN number SGSN number 18.4.22 M TLV 5-11 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_SGSN_NUMBER))
|
||||
offset = dissect_bssap_sgsn_number(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_sgsn_number(tvb, bssap_tree, offset);
|
||||
|
||||
/* IMSI detach from GPRS service type IMSI detach from GPRS service type 18.4.17 M TLV 3 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI_DET_FROM_GPRS_SERV_TYPE))
|
||||
offset = dissect_bssap_imsi_det_from_gprs_serv_type(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi_det_from_gprs_serv_type(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Cell global identity Cell global identity 18.4.1 O TLV 10 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_CELL_GBL_ID))
|
||||
offset = dissect_bssap_cell_global_id(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_CELL_GBL_ID))
|
||||
offset = dissect_bssap_cell_global_id(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Service area identification Service area identification 18.4.21b O TLV 9 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_SERVICE_AREA_ID))
|
||||
offset = dissect_bssap_service_area_id(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_SERVICE_AREA_ID))
|
||||
offset = dissect_bssap_service_area_id(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
proto_tree_add_text(tree, tvb, offset, -1, "Extraneous data");
|
||||
|
@ -1875,7 +1878,7 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_GPRS_DETACH_ACK: /* 17.1.5 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
@ -1884,36 +1887,36 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_IMSI_DETACH_INDICATION: /* 17.1.8 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
/* SGSN number SGSN number 18.4.22 M TLV 5-11 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_SGSN_NUMBER))
|
||||
offset = dissect_bssap_sgsn_number(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_sgsn_number(tvb, bssap_tree, offset);
|
||||
|
||||
/* Detach type IMSI detach from non-GPRS service type 18.4.11 M TLV 3 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI_DET_FROM_NON_GPRS_SERV_TYPE))
|
||||
offset = dissect_bssap_imsi_det_from_non_gprs_serv_type(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi_det_from_non_gprs_serv_type(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Cell global identity Cell global identity 18.4.1 O TLV 10 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_CELL_GBL_ID))
|
||||
offset = dissect_bssap_cell_global_id(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_CELL_GBL_ID))
|
||||
offset = dissect_bssap_cell_global_id(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Location information age Location information age 18.4.14 O TLV 4 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_LOC_INF_AGE))
|
||||
offset = dissect_bssap_loaction_information_age(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_LOC_INF_AGE))
|
||||
offset = dissect_bssap_location_information_age(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Service area identification Service area identification 18.4.21b O TLV 9 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_SERVICE_AREA_ID))
|
||||
offset = dissect_bssap_service_area_id(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_SERVICE_AREA_ID))
|
||||
offset = dissect_bssap_service_area_id(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
proto_tree_add_text(tree, tvb, offset, -1, "Extraneous data");
|
||||
|
@ -1921,7 +1924,7 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_IMSI_DETACH_ACK: /* 17.1.7 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
@ -1930,15 +1933,15 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_RESET_INDICATION: /* 17.1.21 */
|
||||
/* Conditional IE:s */
|
||||
/* SGSN number SGSN number 18.4.22 C TLV 5-11 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_SGSN_NUMBER)){
|
||||
offset = dissect_bssap_sgsn_number(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_SGSN_NUMBER)){
|
||||
offset = dissect_bssap_sgsn_number(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
proto_tree_add_text(tree, tvb, offset, -1, "Extraneous data");
|
||||
}else{
|
||||
/* VLR number VLR number 18.4.26 C TLV 5-11 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_VLR_NUMBER)){
|
||||
offset = dissect_bssap_vlr_number(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_VLR_NUMBER)){
|
||||
offset = dissect_bssap_vlr_number(tvb, bssap_tree, offset);
|
||||
return;
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
@ -1950,15 +1953,15 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_RESET_ACK: /* 17.1.20 */
|
||||
/* Conditional IE:s */
|
||||
/* SGSN number SGSN number 18.4.22 C TLV 5-11 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_SGSN_NUMBER)){
|
||||
offset = dissect_bssap_sgsn_number(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_SGSN_NUMBER)){
|
||||
offset = dissect_bssap_sgsn_number(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
proto_tree_add_text(tree, tvb, offset, -1, "Extraneous data");
|
||||
}else{
|
||||
/* VLR number VLR number 18.4.26 C TLV 5-11 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_VLR_NUMBER)){
|
||||
offset = dissect_bssap_vlr_number(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_VLR_NUMBER)){
|
||||
offset = dissect_bssap_vlr_number(tvb, bssap_tree, offset);
|
||||
return;
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
@ -1970,11 +1973,11 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_MS_INFORMATION_REQUEST: /* 17.1.15 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
/* Information requested Information requested 18.4.13 M TLV 3 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_INFO_REQ))
|
||||
offset = dissect_bssap_info_req(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_info_req(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
@ -1984,56 +1987,56 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_MS_INFORMATION_RESPONSE: /* 17.1.16 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* TMSI TMSI 18.4.23 O TLV 6 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_TMSI))
|
||||
offset = dissect_bssap_tmsi(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_TMSI))
|
||||
offset = dissect_bssap_tmsi(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* PTMSI PTMSI 18.4.20 O TLV 6 BSSAP_PTMSI*/
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_PTMSI))
|
||||
offset = dissect_bssap_ptmsi(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_PTMSI))
|
||||
offset = dissect_bssap_ptmsi(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* IMEI IMEI 18.4.8 O TLV 10 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_IMEI))
|
||||
offset = dissect_bssap_imei(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_IMEI))
|
||||
offset = dissect_bssap_imei(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
/* IMEISV IMEISV 18.4.9 O TLV 10 BSSAP_IMEISV*/
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_IMEISV))
|
||||
offset = dissect_bssap_imesiv(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_IMEISV))
|
||||
offset = dissect_bssap_imesiv(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Cell global identity Cell global identity 18.4.1 O TLV 10 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_CELL_GBL_ID))
|
||||
offset = dissect_bssap_cell_global_id(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_CELL_GBL_ID))
|
||||
offset = dissect_bssap_cell_global_id(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
/* Location information age Location information age 18.4.15 O TLV 4 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_LOC_INF_AGE))
|
||||
offset = dissect_bssap_loaction_information_age(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_LOC_INF_AGE))
|
||||
offset = dissect_bssap_location_information_age(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Mobile station state Mobile station state 18.4.19 O TLV 3 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_MOBILE_STN_STATE))
|
||||
offset = dissect_bssap_mobile_station_state(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_MOBILE_STN_STATE))
|
||||
offset = dissect_bssap_mobile_station_state(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
||||
/* Service area identification Service area identification 18.4.21b O TLV 9 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_SERVICE_AREA_ID))
|
||||
offset = dissect_bssap_service_area_id(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_SERVICE_AREA_ID))
|
||||
offset = dissect_bssap_service_area_id(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
proto_tree_add_text(tree, tvb, offset, -1, "Extraneous data");
|
||||
|
@ -2041,28 +2044,28 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_MM_INFORMATION_REQUEST: /* 17.1.12 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
/* MM information MM information 18.4.16 O TLV 3-n */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_MM_INFORMATION))
|
||||
offset = dissect_bssap_MM_information(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_MM_INFORMATION))
|
||||
offset = dissect_bssap_MM_information(tvb, bssap_tree, offset);
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
proto_tree_add_text(tree, tvb, offset, -1, "Extraneous data");
|
||||
break;
|
||||
case BSSAP_MOBILE_STATUS: /* 17.1.13 */
|
||||
/* IMSI IMSI 18.4.10 O TLV 6-10 */
|
||||
if ( check_optional_ie(tvb, tree, offset, BSSAP_MM_INFORMATION))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
if ( check_optional_ie(tvb, offset, BSSAP_MM_INFORMATION))
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
/* Gs Cause Gs Cause 18.4.7 M TLV 3 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_GS_CAUSE))
|
||||
offset = dissect_bssap_Gs_cause(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_Gs_cause(tvb, bssap_tree, offset);
|
||||
|
||||
/* Erroneous message Erroneous message 18.4.5 M TLV 3-n BSSAP_ERRONEOUS_MSG*/
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_ERRONEOUS_MSG))
|
||||
offset = dissect_bssap_gprs_erroneous_msg(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_gprs_erroneous_msg(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
@ -2071,11 +2074,11 @@ static void dissect_bssap_plus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
|
|||
case BSSAP_MS_UNREACHABLE: /* 17.1.17 */
|
||||
/* IMSI IMSI 18.4.10 M TLV 6-10 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_IMSI))
|
||||
offset = dissect_bssap_imsi(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_imsi(tvb, bssap_tree, offset);
|
||||
|
||||
/* Gs Cause Gs Cause 18.4.7 M TLV 3 */
|
||||
if ( check_ie(tvb, tree, &offset, BSSAP_GS_CAUSE))
|
||||
offset = dissect_bssap_Gs_cause(tvb, pinfo, bssap_tree, offset);
|
||||
offset = dissect_bssap_Gs_cause(tvb, bssap_tree, offset);
|
||||
|
||||
if (tvb_length_remaining(tvb,offset) == 0)
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue