DSD-FME Tone frame, Erasure Frame in vocoder Ambe

SantiagoRC

Member
Joined
Jan 24, 2018
Messages
5
Location
Spain
Good afternoon,
I have activated the vocoder data dump (cleaned up a bit), and I see that in a DMR transmission with RC4 encryption, tone and erasure frames occasionally appear, in addition to the silence frames. What is the purpose of these types of frames?

Slot 1 DMR PI H- ALG ID: 21; KEY ID: 01; MI(32): 1A9FFB3C; DMRA RC4;
DMR PDU Payload [21][10][01][1A][9F][FB][3C][00][05][DC][5E][17]
Activity Update TS1: Group Voice; Hash: 91; TS2: Idle; Hash: 0;
SLCO Completed Block [18][05][B0][08][60]

19:39:32 Sync: +DMR slot1 [slot2] | Color Code=10 | IDLE
19:39:32 Sync: +DMR [SLOT1] slot2 | Color Code=10 | VC1*
[VOCODER] BIT1 = 62 BIT2 = 4 Silence Frame AMBE F801A99F8CE200 err = [0] [1]
[VOCODER] BIT1 = 62 BIT2 = 10 Silence Frame AMBE F801A99F8CE500 err = [0] [0]
[VOCODER] BIT1 = 62 BIT2 = 11 Silence Frame AMBE F801A99F8CE580 err = [0] [0]
19:39:32 Sync: +DMR slot1 [slot2] | Color Code=10 | IDLE
19:39:32 Sync: +DMR [SLOT1] slot2 | Color Code=10 | VC2
[VOCODER] BIT1 = 62 BIT2 = 10 Silence Frame AMBE F801A99F8CE500 err = [0] [0]
[VOCODER] BIT1 = 62 BIT2 = 12 Silence Frame AMBE F801A99F9CE600 err = [0] [0]
[VOCODER] BIT1 = 62 BIT2 = 0 Silence Frame AMBE F801A99F8CE000 err = [0] [1]
SLCO CRC ERR
19:39:32 Sync: +DMR slot1 [slot2] | Color Code=10 | IDLE
19:39:32 Sync: +DMR [SLOT1] slot2 | Color Code=10 | VC3
[VOCODER] BIT1 = 62 BIT2 = 15 Silence Frame AMBE F801A99F8CE780 err = [0] [0]
[VOCODER] BIT1 = 62 BIT2 = 14 Silence Frame AMBE F801A99F8CE700 err = [0] [1]
[VOCODER] BIT1 = 62 BIT2 = 6 Erasure Frame b0 = 120 AMBE F801A99F886300 err = [0] [0]
19:39:32 Sync: +DMR slot1 [slot2] | Color Code=10 | IDLE
19:39:32 Sync: +DMR [SLOT1] slot2 | Color Code=10 | VC4
[VOCODER] BIT1 = 38 BIT2 = 8 AMBE 9802B94FA4D400 err = [0] [0]
[VOCODER] BIT1 = 43 BIT2 = 11 AMBE AC810DC24FF580 err = [0] [0]
[VOCODER] BIT1 = 38 BIT2 = 6 AMBE 983F43302AF300 err = [0] [0]

Activity Update TS1: Group Voice; Hash: 91; TS2: Idle; Hash: 0;
SLCO Completed Block [18][05][B0][08][60]
19:39:32 Sync: +DMR slot1 [slot2] | Color Code=10 | IDLE
19:39:32 Sync: DMR slot1 [SLOT2] | Frame Sync Err: 7
19:39:32 Sync: +DMR slot1 [slot2] | Color Code=10 | IDLE
19:39:32 Sync: +DMR [SLOT1] slot2 | Color Code=10 | VC5
[VOCODER] BIT1 = 34 BIT2 = 0 AMBE 88C7B439A8F000 err = [0] [0]
[VOCODER] BIT1 = 57 BIT2 = 3 AMBE E6753CE2F54980 err = [0] [0]
[VOCODER] BIT1 = 2 BIT2 = 11 AMBE 0BEF283F1FCD80 err = [0] [0]


Tone Frame:


Activity Update TS1: Group Voice; Hash: 91; TS2: Idle; Hash: 0;
SLCO Completed Block [18][05][B0][08][60]
19:54:22 Sync: +DMR slot1 [slot2] | Color Code=10 | IDLE
19:54:22 Sync: +DMR [SLOT1] slot2 | Color Code=10 | VC3
[VOCODER] BIT1 = 50 BIT2 = 6 AMBE CB380ED91BBB00 err = [0] [0]
[VOCODER] BIT1 = 32 BIT2 = 8 AMBE 82CBC3AC2A5400 err = [0] [0]
[VOCODER] BIT1 = 49 BIT2 = 0 AMBE C581A858627800 err = [1] [2]
19:54:22 Sync: +DMR slot1 [slot2] | Color Code=10 | IDLE
19:54:22 Sync: +DMR [SLOT1] slot2 | Color Code=10 | VC4
[VOCODER] BIT1 = 30 BIT2 = 9 AMBE 7A826646F7B480 err = [0] [0]
[VOCODER] BIT1 = 49 BIT2 = 7 AMBE C77E3266FCCB80 err = [0] [0]
[VOCODER] BIT1 = 15 BIT2 = 9 AMBE 3FC5DF14AEAC80 err = [0] [0]

Activity Update TS1: Group Voice; Hash: 91; TS2: Idle; Hash: 0;
SLCO Completed Block [18][05][B0][08][60]
19:54:22 Sync: +DMR slot1 [slot2] | Color Code=10 | IDLE
19:54:22 Sync: +DMR [SLOT1] slot2 | Color Code=10 | VC5
[VOCODER] BIT1 = 7 BIT2 = 13 AMBE 1DE0CEAD33BE80 err = [0] [0]
[VOCODER] BIT1 = 62 BIT2 = 0 Tone Frame 1 AMBE F9C458C4EEF000 err = [0] [1]
[VOCODER] BIT1 = 1 BIT2 = 14 AMBE 058F34F88FCF00 err = [0] [0]
19:54:22 Sync: +DMR slot1 [slot2] | Color Code=10 | IDLE
19:54:22 Sync: +DMR [SLOT1] slot2 | Color Code=10 | VC6
SLOT 1 TGT=1500 SRC=16448250 FLCO=0x00 FID=0x10 SVC=0x40 Group Encrypted Call Key 2225410000
DMR PDU Payload [00][10][40][00][05][DC][FA][FA][FA]
[VOCODER] BIT1 = 44 BIT2 = 5 AMBE B13C43955CE280 err = [0] [0]
[VOCODER] BIT1 = 34 BIT2 = 9 AMBE 8BFBADA7EE5C80 err = [0] [0]
[VOCODER] BIT1 = 16 BIT2 = 3 AMBE 4294713D8F8980 err = [0] [1]
SB: 00000001001 - 009;
SLOT 1 SB/RC (FEC ERR) E:1; I:05020A03 D:009;


Thanks a lot,
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,512
Location
Talbot Co, MD
Tone frames are the AMBE way of encoding tones & dtmf without having to perform traditional sampling/quantization. They ensure more accuracy when the tone is regenerated.

Erasure frames are caused by errors, and based on procedures defined in TIA-102.BABA they result in either a frame repeat or a discard.

Silence frames are just that - periods of silence, usually at the beginning or end of a transmission. Typically each manufacturer has their own specific silence frame sequence. Much watched by the crypt community...
 

SantiagoRC

Member
Joined
Jan 24, 2018
Messages
5
Location
Spain
Thanks for the response, the purpose of the tone and erasure frames is now clear.

Regarding silence frames, even though each manufacturer defines their own silence frame, I assume it must always conform to the bit pattern defined by the vocoder in order to be interpreted as a silence frame—right?
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,512
Location
Talbot Co, MD
Thanks for the response, the purpose of the tone and erasure frames is now clear.

Regarding silence frames, even though each manufacturer defines their own silence frame, I assume it must always conform to the bit pattern defined by the vocoder in order to be interpreted as a silence frame—right?
Yes, BABA Table 14 says silence frames must have Frame Type (b0) = 124-125, but then in the actual text it says silence frames are always b0=124
 

SantiagoRC

Member
Joined
Jan 24, 2018
Messages
5
Location
Spain
Yes, BABA Table 14 says silence frames must have Frame Type (b0) = 124-125, but then in the actual text it says silence frames are always b0=124
Could this be a valid method to locate the silence frame regardless of the manufacturer?
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,512
Location
Talbot Co, MD
Could this be a valid method to locate the silence frame regardless of the manufacturer?
Well that's what the TIA-102 spec says defines a silence frame.

Just for grins, I hacked a log message into p25p2_tdma that checked b0 and printed when it found a silence frame. The logger did appear to go off at the expected points in a call, so I'd say it works.
 
Last edited:

SantiagoRC

Member
Joined
Jan 24, 2018
Messages
5
Location
Spain
Yes, it seems to work well, but I don't have samples from another manufacturer to confirm it 100%.

Thanks
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,512
Location
Talbot Co, MD
Yes, it seems to work well, but I don't have samples from another manufacturer to confirm it 100%.

Thanks
Various mfr silence frame codeword sequences are already well known, so it should be trivially easy to look at that data, unpack it and confirm the value of b0
 
Top