FreeCalypso > hg > gsm-codec-lib
annotate doc/RTP-analysis @ 146:0fa0cd251a31
gsmefr-dec-parse: use factored-out ETSI bit reader
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 14 Dec 2022 08:05:08 +0000 |
parents | 8eb0e7a39409 |
children | aaa0380f9958 |
rev | line source |
---|---|
136
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 The present package includes a utility named rtp-gsmfr-extr; this utility |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 extracts a single RTP stream in either FR1 or EFR codec format from a pcap file, |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 presumably captured with tcpdump on an IP network serving either an IP-based BTS |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 or a gateway from an E1-based BTS to RTP - the intent is to extract a GSM call |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 uplink that has been rendered into an RTP stream by a BTS. The RTP stream being |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 extracted must be fully continuous without any gaps, using Themyscira |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 RTP-BFI-extension BFI marker packets in those 20 ms windows where no good |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 traffic frame has been received. rtp-gsmfr-extr verifies continuity of the RTP |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 stream being extracted: any detected discontinuity (either a sequence number |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 jump indicating packet loss or a timestamp jump indicating an intentional gap |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 generated at the source) will be reported, and the extraction will stop there. |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 To run rtp-gsmfr-extr, you need to have a pcap file (obviously), and you need to |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 identify the RTP stream to be extracted by either source or destination IP:port. |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 rtp-gsmfr-extr will look at every UDP packet that matches this src-IP-port or |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 dest-IP-port filter, and then check for valid RTP, verify the expected increment |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 in sequence and timestamp numbers, check for either FR1 or EFR payload (or a |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 Themyscira BFI marker for FR & EFR), and finally write the extracted frame |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 stream to a gsmx file. This gsmx output can then be analyzed with gsmrec-dump, |
8eb0e7a39409
doc: document command line utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 or decoded to playable WAV with gsmfr-decode or gsmefr-decode. |