forked from osmocom/wireshark
Add dissection of BSS-MAP elements and a fix to dissect Tele and Bearer service again.
svn path=/trunk/; revision=14849
This commit is contained in:
parent
96389d268c
commit
de00180fe9
|
@ -192,12 +192,18 @@ ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
|
|||
|
||||
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, &protocolId);
|
||||
|
||||
#----------------------------------------------------------------------------------------
|
||||
#.FN_BODY AccessNetworkProtocolId
|
||||
|
||||
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, &AccessNetworkProtocolId);
|
||||
|
||||
#----------------------------------------------------------------------------------------
|
||||
#.FN_BODY SignalInfo
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
guint8 octet;
|
||||
guint8 length;
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
||||
¶meter_tvb);
|
||||
|
@ -210,8 +216,14 @@ ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
|
|||
/* gsm-0806 */
|
||||
case 2:
|
||||
break;
|
||||
/* gsm-BSSMAP */
|
||||
/* gsm-BSSMAP TODO Is it correct to stripp off tw first octets here?*/
|
||||
case 3:
|
||||
octet = tvb_get_guint8(parameter_tvb,0);
|
||||
length = tvb_get_guint8(parameter_tvb,1);
|
||||
if ( octet == 0) {/* DISCRIMINATION TS 48 006 */
|
||||
next_tvb = tvb_new_subset(parameter_tvb, 2, -1, -1);
|
||||
dissect_bssmap(next_tvb, pinfo, tree);
|
||||
}
|
||||
break;
|
||||
/* ets-300102-1 (~Q.931 ) */
|
||||
case 4:
|
||||
|
@ -223,6 +235,37 @@ ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------------------
|
||||
#.FN_BODY LongSignalInfo
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
guint8 octet;
|
||||
guint8 length;
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
||||
¶meter_tvb);
|
||||
if (!parameter_tvb)
|
||||
return offset;
|
||||
switch (AccessNetworkProtocolId){
|
||||
/* ts3G-48006 */
|
||||
case 1:
|
||||
octet = tvb_get_guint8(parameter_tvb,0);
|
||||
length = tvb_get_guint8(parameter_tvb,1);
|
||||
if ( octet == 0) {/* DISCRIMINATION TS 48 006 */
|
||||
/* gsm-BSSMAP? */
|
||||
next_tvb = tvb_new_subset(parameter_tvb, 2, -1, -1);
|
||||
dissect_bssmap(next_tvb, pinfo, tree);
|
||||
}
|
||||
break;
|
||||
/* ts3G-25413 */
|
||||
case 2:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
#----------------------------------------------------------------------------------------
|
||||
#.FN_BODY PrivateExtension/extType
|
||||
|
||||
|
@ -236,9 +279,10 @@ ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
|
|||
SS-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ssCode_vals)
|
||||
Teleservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)
|
||||
Bearerservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Bearerservice_vals)
|
||||
Ext_Teleservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)
|
||||
Ext_Bearerservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Bearerservice_vals)
|
||||
|
||||
TeleserviceCode TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)
|
||||
BearerServiceCode TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Bearerservice_vals)
|
||||
Ext-TeleserviceCode TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)
|
||||
Ext-BearerServiceCode TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Bearerservice_vals)
|
||||
#.END
|
||||
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
#include "packet-ber.h"
|
||||
#include "packet-q931.h"
|
||||
#include "packet-gsm_map.h"
|
||||
#include "packet-gsm_a.h"
|
||||
|
||||
#define PNAME "GSM Mobile Application"
|
||||
#define PSNAME "GSM_MAP"
|
||||
|
@ -108,6 +109,7 @@ dissector_handle_t map_handle;
|
|||
static proto_tree *top_tree;
|
||||
static int application_context_version;
|
||||
gint protocolId;
|
||||
gint AccessNetworkProtocolId;
|
||||
static int gsm_map_tap = -1;
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue