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