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