remove some unusued parameters

svn path=/trunk/; revision=17586
This commit is contained in:
Ronnie Sahlberg 2006-03-11 12:33:15 +00:00
parent 6e4aa06681
commit fb48a75091
1 changed files with 139 additions and 136 deletions

View File

@ -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;