Work on voice packet decoding

This commit is contained in:
Cort Buffington 2016-08-09 22:28:21 -05:00
parent 2eee8de24a
commit 2e916c68ee
2 changed files with 38 additions and 0 deletions

10
template.py Normal file
View File

@ -0,0 +1,10 @@
v_hed_1 = '\x80\x00\x04\xbf\xfd\x08\x2f\x7c\xca\x00\x00\x02\x02\x00\x00\x30\xac\x20\x80\xdd\x3b\x01\x3b\xeb\x3c\xe0\x00\x00\x00\x00\x01\x80\x00\x0a\x80\x0a\x00\x60\x00\x00\x00\x00\x00\x02\x2f\x7c\xca\x92\xaf\x70\x00\x11\x35\x32'
v_hed_2 = '\x80\x00\x04\xbf\xfd\x08\x2f\x7c\xca\x00\x00\x02\x02\x00\x00\x30\xac\x20\x80\x5d\x3b\x02\x3b\xeb\x3e\xc0\x00\x00\x00\x00\x01\x80\x00\x0a\x80\x0a\x00\x60\x00\x00\x00\x00\x00\x02\x2f\x7c\xca\x92\xaf\x70\x00\x11\x35\x30'
v_hed_3 = '\x80\x00\x04\xbf\xfd\x08\x2f\x7c\xca\x00\x00\x02\x02\x00\x00\x30\xac\x20\x80\x5d\x3b\x03\x3b\xeb\x40\xa0\x00\x00\x00\x00\x01\x80\x00\x0a\x80\x0a\x00\x60\x00\x00\x00\x00\x00\x02\x2f\x7c\xca\x92\xaf\x70\x00\x11\x35\x31'
voice_1 = '\x80\x00\x04\xbf\xfd\x08\x2f\x7c\xca\x00\x00\x02\x02\x00\x00\x30\xac\x20\x80\x5d\x3b\x04\x3b\xeb\x42\x80\x00\x00\x00\x00\x8a\x14\x40\xf8\x01\xa9\x9f\x8c\xe0\xbe\x00\x6a\x67\xe3\x38\x2f\x80\x1a\x99\xf8\xce\x08'
voice_2 = '\x80\x00\x04\xbf\xfd\x08\x2f\x7c\xca\x00\x00\x02\x02\x00\x00\x30\xac\x20\x80\x5d\x3b\x05\x3b\xeb\x44\x60\x00\x00\x00\x00\x8a\x19\x06\xf8\x01\xa9\x9f\x8c\xe0\xbe\x00\x6a\x67\xe3\x38\x2f\x80\x1a\x99\xf8\xce\x08\x05\x05\x06\x06\x12'
voice_3 = '\x80\x00\x04\xbf\xfd\x08\x2f\x7c\xca\x00\x00\x02\x02\x00\x00\x30\xac\x20\x80\x5d\x3b\x06\x3b\xeb\x46\x40\x00\x00\x00\x00\x8a\x19\x06\xf8\x01\xa9\x9f\x8c\xe0\xbe\x00\x6a\x67\xe3\x38\x2f\x80\x1a\x99\xf8\xce\x08\x09\x05\x06\x05\x16'
voice_4 = '\x80\x00\x04\xbf\xfd\x08\x2f\x7c\xca\x00\x00\x02\x02\x00\x00\x30\xac\x20\x80\x5d\x3b\x07\x3b\xeb\x48\x20\x00\x00\x00\x00\x8a\x19\x06\x98\x02\xb9\x4f\xa4\xd3\xbb\xb7\x96\xc7\x83\xd8\xee\x81\x19\x41\xe4\x4a\x68\x0f\x05\x06\x0f\x16'
voice_5 = '\x80\x00\x04\xbf\xfd\x08\x2f\x7c\xca\x00\x00\x02\x02\x00\x00\x30\xac\x20\x80\x5d\x3b\x08\x3b\xeb\x4a\x00\x00\x00\x00\x00\x8a\x22\x16\xe8\x1a\x62\xd6\x8c\x6b\xba\x06\x3d\x0d\xeb\x04\xe9\x81\xdd\xf1\x04\x86\xc8\x00\x0a\x0a\x0c\x00\x00\x00\x00\x00\x02\x2f\x7c\xca\x14'
voice_6 = '\x80\x00\x04\xbf\xfd\x08\x2f\x7c\xca\x00\x00\x02\x02\x00\x00\x30\xac\x20\x80\x5d\x3b\x09\x3b\xeb\x4b\xe0\x00\x00\x00\x00\x8a\x19\x06\x98\x22\xd3\xd9\x00\xb4\xa6\x05\x6d\x29\xa2\x17\xa8\x82\x75\x14\xf8\x10\x08\x00\x00\x00\x00\x10'
voice_t = '\x80\x00\x04\xbf\xfd\x08\x2f\x7c\xca\x00\x00\x02\x02\x00\x00\x30\xac\x60\x80\x5e\x3e\x76\x3b\xf1\xb8\x40\x00\x00\x00\x00\x02\x80\x00\x0a\x80\x0a\x00\x60\x00\x00\x00\x00\x00\x02\x2f\x7c\xca\x9d\xa0\x7f\x00\x12\x35\x35'

28
voice_burst_decoding.txt Normal file
View File

@ -0,0 +1,28 @@
v_hed_1 = '80 00.04.bf.fd 08 2f.7c.ca 00.00.02 02 00.00.30.ac 20 80.dd 3b.01 3b.eb.3c.e0 00.00.00.00 01 80000a800a0060000000000002 2f.7c.ca 92af7000113532'
v_hed_2 = '80 00.04.bf.fd 08 2f.7c.ca 00.00.02 02 00.00.30.ac 20 80.5d 3b.02 3b.eb.3e.c0 00.00.00.00 01 80000a800a0060000000000002 2f.7c.ca 92af7000113530'
v_hed_3 = '80 00.04.bf.fd 08 2f.7c.ca 00.00.02 02 00.00.30.ac 20 80.5d 3b.03 3b.eb.40.a0 00.00.00.00 01 80000a800a0060000000000002 2f.7c.ca 92af7000113531'
voice_A = '80 00.04.bf.fd 08 2f.7c.ca 00.00.02 02 00.00.30.ac 20 80.5d 3b.04 3b.eb.42.80 00.00.00.00 8a 1440f801a99f8ce0be006a67e3382f801a99f8ce08'
voice_B = '80 00.04.bf.fd 08 2f.7c.ca 00.00.02 02 00.00.30.ac 20 80.5d 3b.05 3b.eb.44.60 00.00.00.00 8a 1906f801a99f8ce0be006a67e3382f801a99f8ce080505060612'
voice_C = '80 00.04.bf.fd 08 2f.7c.ca 00.00.02 02 00.00.30.ac 20 80.5d 3b.06 3b.eb.46.40 00.00.00.00 8a 1906f801a99f8ce0be006a67e3382f801a99f8ce080905060516'
voice_D = '80 00.04.bf.fd 08 2f.7c.ca 00.00.02 02 00.00.30.ac 20 80.5d 3b.07 3b.eb.48.20 00.00.00.00 8a 19069802b94fa4d3bbb796c783d8ee811941e44a680f05060f16'
voice_E = '80 00.04.bf.fd 08 2f.7c.ca 00.00.02 02 00.00.30.ac 20 80.5d 3b.08 3b.eb.4a.00 00.00.00.00 8a 2216e81a62d68c6bba063d0deb04e981ddf10486c8000a0a0c000000000002 2f.7c.ca.14'
voice_F = '80 00.04.bf.fd 08 2f.7c.ca 00.00.02 02 00.00.30.ac 20 80.5d 3b.09 3b.eb.4b.e0 00.00.00.00 8a 19069822d3d900b4a6056d29a217a8827514f810080000000010'
voice_T = '80 00.04.bf.fd 08 2f.7c.ca 00.00.02 02 00.00.30.ac 60 80.5e 3e.76 3b.f1.b8.40 00.00.00.00 02 80000a800a0060000000000002 2f.7c.ca 9da07f00123535'
TP PEER_ID IPSC_SEQ SRC_SUB DST_SUB TYPE unknown INFO RTP RTP_SEQ RTP_TIMESTMP RTP_SSID | BURST
A is a sync burst
B,C,D are the ame
E has extra data -- EMB?
F is the same length as B,C,D, but has a lot of zeros near the end.
Send a wakeup before starting a call (type 0x85)
IPSC Sequence Number - incremented with each call made
RTP Header - Marker set for 1st voide header - 0x80DD, not for anything else 0x805D except terminator 0x80DE, which is the payload type and use is proprietary.
I've decoded the bits in the RTP header, it's going to be ok to use this recipe. Nothing else is going on.
RTP Sequence number -- increment with each packet
RTP timestamp - assumed currently to be 32 bit fixed point number 16bit.16bit seconds. Which would place these packets at 4.8ms apart... seems wrong.