blob: 15288c6824163be1c90d34e283d4f4ff8ff2f9da (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
#------------------------------------------------------------------------------
# $File: ber,v 1.2 2019/04/19 00:42:27 christos Exp $
# ber: file(1) magic for several BER formats used in the mobile
# telecommunications industry (Georg Sauthoff)
# The file formats are standardized by the GSMA (GSM association).
# They are specified via ASN.1 schemas and some prose. Basic encoding
# rules (BER) is the used encoding. The formats are used for exchanging
# call data records (CDRs) between mobile operators and associated
# parties for roaming clearing purposes and fraud detection.
# The magic file covers:
# - TAP files (TD.57) - CDR batches and notifications
# - RAP files (TD.32) - return batches and acknowledgements
# - NRT files (TD.35) - CDR batches for 'near real time' processing
#
# TAP 3 Files
# TAP -> Transferred Account Procedure
# cf. https://www.gsma.com/newsroom/wp-content/uploads/TD.57-v32.31.pdf
# TransferBatch short tag
0 byte 0x61
# BatchControlInfo short tag
>&1 search/b5 \x64
# Sender long tag #TAP 3.x (BER encoded)
>>&1 search/b8 \x5f\x81\x44
# <SpecificationVersionNumber>3</><ReleaseVersionNumber> block
>>>&64 search/b64 \x5f\x81\x49\x01\x03\x5f\x81\x3d\x01
>>>>&0 byte x TAP 3.%d Batch (TD.57, Transferred Account)
# Notification short tag
0 byte 0x62
# Sender long tag
>2 search/b8 \x5f\x81\x44
# <SpecificationVersionNumber>3</><ReleaseVersionNumber> block
>>&64 search/b64 \x5f\x81\x49\x01\x03\x5f\x81\x3d\x01
>>>&0 byte x TAP 3.%d Notification (TD.57, Transferred Account)
# NRT Files
# NRT a.k.a. NRTRDE
0 byte 0x61
# <SpecificationVersionNumber>2</><ReleaseVersionNumber> block
>&1 search/b8 \x5f\x29\x01\x02\x5f\x25\x01
>>&0 byte x NRT 2.%d (TD.35, Near Real Time Roaming Data Exchange)
# RAP Files
# cf. https://www.gsma.com/newsroom/wp-content/uploads/TD.32-v6.11.pdf
# Long ReturnBatch tag
0 string \x7f\x84\x16
# Long RapBatchControlInfo tag
>&1 search/b8 \x7f\x84\x19
# <SpecificationVersionNumber>3</><ReleaseVersionNumber> block
>>&64 search/b64 \x5f\x81\x49\x01\x03\x5f\x81\x3d\x01
# <RapSpecificationVersionNumber>1</><RapReleaseVersionNumber> block
>>>&1 string/b \x5f\x84\x20\x01\x01\x5f\x84\x1f\x01
>>>>&0 byte x RAP 1.%d Batch (TD.32, Returned Account Procedure),
>>>&0 byte x TAP 3.%d
# Long Acknowledgement tag
0 string \x7f\x84\x17
# Long Sender tag
>&1 search/b5 \x5f\x81\x44 RAP Acknowledgement (TD.32, Returned Account Procedure)
|