xref: /freebsd/contrib/file/magic/Magdir/ber (revision ae316d1d1cffd71ab7751f94e10118777a88e027)
1282e23f0SXin LI
2282e23f0SXin LI#------------------------------------------------------------------------------
3*ae316d1dSXin LI# $File: ber,v 1.3 2024/09/01 13:49:15 christos Exp $
4282e23f0SXin LI# ber:  file(1) magic for several BER formats used in the mobile
5282e23f0SXin LI# telecommunications industry (Georg Sauthoff)
6282e23f0SXin LI
7282e23f0SXin LI# The file formats are standardized by the GSMA (GSM association).
8282e23f0SXin LI# They are specified via ASN.1 schemas and some prose. Basic encoding
9282e23f0SXin LI# rules (BER) is the used encoding. The formats are used for exchanging
10282e23f0SXin LI# call data records (CDRs) between mobile operators and associated
11282e23f0SXin LI# parties for roaming clearing purposes and fraud detection.
12282e23f0SXin LI
13282e23f0SXin LI# The magic file covers:
14282e23f0SXin LI
15282e23f0SXin LI# - TAP files (TD.57) - CDR batches and notifications
16282e23f0SXin LI# - RAP files (TD.32) - return batches and acknowledgements
17282e23f0SXin LI# - NRT files (TD.35) - CDR batches for 'near real time' processing
18282e23f0SXin LI
19282e23f0SXin LI#
20282e23f0SXin LI# TAP 3 Files
21282e23f0SXin LI# TAP -> Transferred Account Procedure
2248c779cdSXin LI# cf. https://www.gsma.com/newsroom/wp-content/uploads/TD.57-v32.31.pdf
23282e23f0SXin LI# TransferBatch short tag
24282e23f0SXin LI0	byte	0x61
25282e23f0SXin LI# BatchControlInfo short tag
26282e23f0SXin LI>&1	search/b5	\x64
27282e23f0SXin LI# Sender long tag #TAP 3.x (BER encoded)
28282e23f0SXin LI>>&1	search/b8	\x5f\x81\x44
29282e23f0SXin LI# <SpecificationVersionNumber>3</><ReleaseVersionNumber> block
30282e23f0SXin LI>>>&64	search/b64	\x5f\x81\x49\x01\x03\x5f\x81\x3d\x01
31282e23f0SXin LI>>>>&0	byte	x	TAP 3.%d Batch (TD.57, Transferred Account)
32282e23f0SXin LI
33282e23f0SXin LI# Notification short tag
34282e23f0SXin LI0	byte	0x62
35282e23f0SXin LI# Sender long tag
36282e23f0SXin LI>2	search/b8	\x5f\x81\x44
37282e23f0SXin LI# <SpecificationVersionNumber>3</><ReleaseVersionNumber> block
38282e23f0SXin LI>>&64	search/b64	\x5f\x81\x49\x01\x03\x5f\x81\x3d\x01
39282e23f0SXin LI>>>&0	byte	x	TAP 3.%d Notification (TD.57, Transferred Account)
40282e23f0SXin LI
41282e23f0SXin LI
42282e23f0SXin LI# NRT Files
43282e23f0SXin LI# NRT a.k.a. NRTRDE
44282e23f0SXin LI# <SpecificationVersionNumber>2</><ReleaseVersionNumber> block
45282e23f0SXin LI>&1	search/b8 \x5f\x29\x01\x02\x5f\x25\x01
46282e23f0SXin LI>>&0	byte	x	NRT 2.%d (TD.35, Near Real Time Roaming Data Exchange)
47282e23f0SXin LI
48282e23f0SXin LI# RAP Files
4948c779cdSXin LI# cf. https://www.gsma.com/newsroom/wp-content/uploads/TD.32-v6.11.pdf
50282e23f0SXin LI# Long ReturnBatch tag
51282e23f0SXin LI0	string	\x7f\x84\x16
52282e23f0SXin LI# Long RapBatchControlInfo tag
53282e23f0SXin LI>&1	search/b8	\x7f\x84\x19
54282e23f0SXin LI# <SpecificationVersionNumber>3</><ReleaseVersionNumber> block
55282e23f0SXin LI>>&64	search/b64	\x5f\x81\x49\x01\x03\x5f\x81\x3d\x01
56282e23f0SXin LI# <RapSpecificationVersionNumber>1</><RapReleaseVersionNumber> block
57282e23f0SXin LI>>>&1	string/b	\x5f\x84\x20\x01\x01\x5f\x84\x1f\x01
58282e23f0SXin LI>>>>&0	byte	x	RAP 1.%d Batch (TD.32, Returned Account Procedure),
59282e23f0SXin LI>>>&0	byte	x	TAP 3.%d
60282e23f0SXin LI
61282e23f0SXin LI# Long Acknowledgement tag
62282e23f0SXin LI0	string \x7f\x84\x17
63282e23f0SXin LI# Long Sender tag
64282e23f0SXin LI>&1	search/b5	\x5f\x81\x44	RAP Acknowledgement (TD.32, Returned Account Procedure)
65