rendered paste bodygrandstream gxp2000 with newest firmware (just to be sure it wasnt that originally it had older firmware)
when doing rrfc2833 and you press a button, it will send 2 packets, on release it sends 3 more. No matter how long you hold the button it never sends the periodic 'still pressing' packets. DTMF duration is possible given that it doesnt send the end until you release.
to make it easier, the last 2 bytes are a trailer and not part of the rfc2833 data. offset 0x2a-0x39 is the udp payload.
button press (2 identical copies aside from ID & checksum):
0000 00 0c 29 e3 27 5d 00 0b 82 04 d8 33 08 00 45 c0 ..).'].....3..E.
0010 00 2c 0c 65 00 00 fa 11 9f 97 0a 00 00 02 0a 00 .,.e............
0020 00 03 13 8c 40 02 00 18 08 d1 80 e5 70 1b 7a c5 ....@.......p.z.
0030 e9 c9 5a 36 dd 83 02 10 00 00 00 00 ..Z6........
0000 00 0c 29 e3 27 5d 00 0b 82 04 d8 33 08 00 45 c0 ..).'].....3..E.
0010 00 2c 0c 66 00 00 fa 11 9f 96 0a 00 00 02 0a 00 .,.f............
0020 00 03 13 8c 40 02 00 18 08 d1 80 e5 70 1b 7a c5 ....@.......p.z.
0030 e9 c9 5a 36 dd 83 02 10 00 00 00 00 ..Z6........
button release (3 identical copies except ID & checksum):
0000 00 0c 29 e3 27 5d 00 0b 82 04 d8 33 08 00 45 c0 ..).'].....3..E.
0010 00 2c 0c 67 00 00 fa 11 9f 95 0a 00 00 02 0a 00 .,.g............
0020 00 03 13 8c 40 02 00 18 08 d0 80 65 70 1c 7a c5 ....@......ep.z.
0030 e9 c9 5a 36 dd 83 02 90 00 00 00 00 ..Z6........
0000 00 0c 29 e3 27 5d 00 0b 82 04 d8 33 08 00 45 c0 ..).'].....3..E.
0010 00 2c 0c 68 00 00 fa 11 9f 94 0a 00 00 02 0a 00 .,.h............
0020 00 03 13 8c 40 02 00 18 08 d0 80 65 70 1c 7a c5 ....@......ep.z.
0030 e9 c9 5a 36 dd 83 02 90 00 00 00 00 ..Z6........
0000 00 0c 29 e3 27 5d 00 0b 82 04 d8 33 08 00 45 c0 ..).'].....3..E.
0010 00 2c 0c 69 00 00 fa 11 9f 93 0a 00 00 02 0a 00 .,.i............
0020 00 03 13 8c 40 02 00 18 08 d0 80 65 70 1c 7a c5 ....@......ep.z.
0030 e9 c9 5a 36 dd 83 02 90 00 00 00 00 ..Z6........
SJPHONE ON WINDOWS MOBILE (same problem, ignored dtmf - IPs obfuscated)
SJPhone for xp appears to be the same. There is an option to set the dtmf duration, which is set to 270ms. There are 20ms gaps between these packets with the last 3 being all at once. Total duration from start to end is 143ms on the received side which has no jitter compensation.
0000 00 15 17 0c 6c f4 00 03 fe b3 04 38 08 00 45 00 ....l......8..E.
0010 00 2c c3 79 00 00 6f 11 68 e7 01 02 03 04 01 02 .,.y..o.h.Ye.&..
0020 03 04 c0 00 40 12 00 18 87 99 80 e5 3a 5d 00 0a .A..@.......:]..
0030 77 60 0d 16 16 e4 02 0a 00 00 00 00 w`..........
0000 00 15 17 0c 6c f4 00 03 fe b3 04 38 08 00 45 00 ....l......8..E.
0010 00 2c c3 7a 00 00 6f 11 68 e6 01 02 03 04 01 02 .,.z..o.h.Ye.&..
0020 03 04 c0 00 40 12 00 18 86 d8 80 65 3a 5e 00 0a .A..@......e:^..
0030 77 60 0d 16 16 e4 02 0a 01 40 00 00 w`.......@..
0000 00 15 17 0c 6c f4 00 03 fe b3 04 38 08 00 45 00 ....l......8..E.
0010 00 2c c3 7b 00 00 6f 11 68 e5 01 02 03 04 01 02 .,.{..o.h.Ye.&..
0020 03 04 c0 00 40 12 00 18 85 97 80 65 3a 5f 00 0a .A..@......e:_..
0030 77 60 0d 16 16 e4 02 0a 02 80 00 00 w`..........
0000 00 15 17 0c 6c f4 00 03 fe b3 04 38 08 00 45 00 ....l......8..E.
0010 00 2c c3 7c 00 00 6f 11 68 e4 01 02 03 04 01 02 .,.|..o.h.Ye.&..
0020 03 04 c0 00 40 12 00 18 84 56 80 65 3a 60 00 0a .A..@....V.e:`..
0030 77 60 0d 16 16 e4 02 0a 03 c0 00 00 w`..........
0000 00 15 17 0c 6c f4 00 03 fe b3 04 38 08 00 45 00 ....l......8..E.
0010 00 2c c3 7d 00 00 6f 11 68 e3 01 02 03 04 01 02 .,.}..o.h.Ye.&..
0020 03 04 c0 00 40 12 00 18 83 15 80 65 3a 61 00 0a .A..@......e:a..
0030 77 60 0d 16 16 e4 02 0a 05 00 00 00 w`..........
0000 00 15 17 0c 6c f4 00 03 fe b3 04 38 08 00 45 00 ....l......8..E.
0010 00 2c c3 7e 00 00 6f 11 68 e2 01 02 03 04 01 02 .,.~..o.h.Ye.&..
0020 03 04 c0 00 40 12 00 18 81 d4 80 65 3a 62 00 0a .A..@......e:b..
0030 77 60 0d 16 16 e4 02 0a 06 40 00 00 w`.......@..
0000 00 15 17 0c 6c f4 00 03 fe b3 04 38 08 00 45 00 ....l......8..E.
0010 00 2c c3 7f 00 00 6f 11 68 e1 01 02 03 04 01 02 .,....o.h.Ye.&..
0020 03 04 c0 00 40 12 00 18 80 93 80 65 3a 63 00 0a .A..@......e:c..
0030 77 60 0d 16 16 e4 02 0a 07 80 00 00 w`..........
0000 00 15 17 0c 6c f4 00 03 fe b3 04 38 08 00 45 00 ....l......8..E.
0010 00 2c c3 80 00 00 6f 11 68 e0 01 02 03 04 01 02 .,....o.h.Ye.&..
0020 03 04 c0 00 40 12 00 18 7e d2 80 65 3a 64 00 0a .A..@...~..e:d..
0030 77 60 0d 16 16 e4 02 8a 08 c0 00 00 w`..........
0000 00 15 17 0c 6c f4 00 03 fe b3 04 38 08 00 45 00 ....l......8..E.
0010 00 2c c3 81 00 00 6f 11 68 df 01 02 03 04 01 02 .,....o.h.Ye.&..
0020 03 04 c0 00 40 12 00 18 7e d2 80 65 3a 64 00 0a .A..@...~..e:d..
0030 77 60 0d 16 16 e4 02 8a 08 c0 00 00 w`..........
0000 00 15 17 0c 6c f4 00 03 fe b3 04 38 08 00 45 00 ....l......8..E.
0010 00 2c c3 82 00 00 6f 11 68 de 01 02 03 04 01 02 .,....o.h.Ye.&..
0020 03 04 c0 00 40 12 00 18 7e d2 80 65 3a 64 00 0a .A..@...~..e:d..
0030 77 60 0d 16 16 e4 02 8a 08 c0 00 00 w`..........
decoded grandstream packet based on info at http://www.cs.ucl.ac.uk/staff/jon/mmbook/book/node159.html
80 e5 70 1b 7a c5 e9 c9 5a 36 dd 83 02 10 00 00
version=2 2 bits
padding=0 1 bit
extension=0 1 bit
csrc count=0 4 bits
marker=1 1 bit
payload type=0x65 7 bits
sequence num=0x701b 16 bits
timestamp=0x7ac5e9c9 32 bits
ssrc=0x5a36dd83 32 bits
csrc=0x02100000 32 bits