ip.access BTS IML dissector for wireshark

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Harald Welte laforge at gnumonks.org
Sun Dec 6 06:59:40 UTC 2009


Dear Jai,

thanks for your work.

On Fri, Dec 04, 2009 at 05:10:00PM +0530, Jai Menon wrote:

> Attached is a direct port of the IML dissector code from the ip.access
> code to wireshark SVN head with a few changes to make it work with the
> current API. This was done as part of Harald's GSM workout during
> FOSS.IN and he suggested I post it to this list. I haven't really
> tested this code since I dont have access to IML traces, but assuming
> the original code worked, this one should too.

Great.  Anyone who has two nanoBTS can set up a multi-TRX BTS and
trace the IML protocol between those two BTS.  This pcap should be possible
to decode using this dissector.

Before we can submit this mainline, we need to clean up packet-gsm.h though.

ip.access has one header file (packet-gsm.h) where they define many aspects of
various different GSM protocols.  This is not really how things are done
in upstream wireshark.

Thus, we need to remove everything that is not IML related, like

> +#define GSM0408_HEADER_LEN   2
> +#define GSM0808_HEADER_LEN   1
> +#define IPA_HEADER_LEN       3
> +#define IPA_UDP_HEADER_LEN   4

04.08, 08.08, IPA:  All not relevant for IML

> +#define MAX_DATA_STR      5
> +
> +/* defines for the Signalling over IP streams */
> +#define OML_STREAM			255
> +#define CTRL_STREAM			254
> +#define SCCP_STREAM			253
> +#define SPIRIT_STREAM		253
> +#define BSC_MGMT_STREAM		251
> +#define BSC_SUBAGENT_STREAM 250
> +#define SIGTRAN_STREAM		249
> +#define FRIP_STREAM			248
> +#define GNAT_STREAM			247
> +#define IML_STREAM			129
> +#define RSL_STREAM_MAX		 32
> +/* defines for the fixed TCP/UDP port numbers */
> +#define TCP_PORT_IPA_OML     3002
> +#define TCP_PORT_IPA_RSL     3003
> +#define TCP_PORT_IPA_2NDOML  3006
> +#define TCP_PORT_IPA_HW_MON  3007
> +#define TCP_PORT_IPA_FRIP	 3008
> +#define TCP_PORT_IPA_SPIRIT	 3008
> +#define TCP_PORT_IPA_GNAT    3009
> +#define TCP_PORT_IPA_BSCMGMT 3010
> +#define TCP_PORT_IPA_A_IF	 3011
> +#define TCP_PORT_IPA_SITE_IML 3013
> +#define TCP_PORT_IPA_BTS_IML 3014
> +#define UDP_PORT_IPA         3006
> +

those are all IPA related, I think.  so they can be removed.

> +/* defines for the GSMSTAT interface */
> +#define GSMSTAT_INTERFACE_NULL    -1
> +#define GSMSTAT_INTERFACE_A        0
> +#define GSMSTAT_INTERFACE_A_BIS    1
> +#define GSMSTAT_INTERFACE_GB       2
> +#define GSMSTAT_INTERFACE_MAX      2 /* until we add GB! */
> +
> +#define GSMSTAT_PROTO_NULL        -1
> +#define GSMSTAT_PROTO_GSM0408      1
> +#define GSMSTAT_PROTO_GSM0808      2
> +#define GSMSTAT_PROTO_GSM0858      3
> +#define GSMSTAT_PROTO_GSM0818      4
> +#define GSMSTAT_PROTO_GSM1221      5
> +
> +#define GSMSTAT_PD_NULL            -1

gsmstat can also be removed.

> +/* 04.08 Protocol Discriminator values */
> +#define GSM0408_PD_VGCS     0x0
> +#define GSM0408_PD_VBS      0x1
> +#define GSM0408_PD_PDSS1    0x2
> +#define GSM0408_PD_CC       0x3
> +#define GSM0408_PD_PDSS2    0x4
> +#define GSM0408_PD_MM       0x5
> +#define GSM0408_PD_RR       0x6
> +#define GSM0408_PD_GMM      0x8
> +#define GSM0408_PD_SMS      0x9
> +#define GSM0408_PD_SM       0xa
> +#define GSM0408_PD_SS       0xb
> +#define GSM0408_PD_LS       0xc

as the comment implies, this is all 04.08 and we don't need it in IML

> +/* RTP Paylod types in use for A-bis */
> +#define RTP_PAYLOAD_GSM_FR	0
> +#define RTP_PAYLOAD_GSM_EFR	1
> +#define RTP_PAYLOAD_GSM_AMR	2
> +#define RTP_PAYLOAD_GSM_CSD	3
> +#define RTP_PAYLOAD_GSM_NANO_GSM_MUX	4

etc. I could now continue for the whole file, but I think you
get what I mean :)

Would you be able to clean this further up and do another round of patch
submission? Thanks again for your help.

-- 
- Harald Welte <laforge at gnumonks.org>           http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
                                                  (ETSI EN 300 175-7 Ch. A6)




More information about the OpenBSC mailing list