TT#136957 reset frequency iter counter

Reset the iteration counter for the frequency list when codec handlers
are set up, which happens while setting a new block mode. This makes
sure that a newly set list of frequencies is iterated starting from the
top.

Change-Id: I7ab4e28a1a998c11e38e26cf5b1f17f01299d5ad
pull/1577/head
Richard Fuchs 2 years ago
parent 25e2640145
commit fc13d02855

@ -1010,6 +1010,7 @@ bool codec_handlers_update(struct call_media *receiver, struct call_media *sink,
bool is_transcoding = false;
receiver->rtcp_handler = NULL;
receiver->dtmf_count = 0;
GSList *passthrough_handlers = NULL;
// first gather info about what we can send

@ -3443,13 +3443,13 @@ Time::HiRes::usleep(18000); $seq++;
# now replaced by tone
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x9b\x9c\x9e\xa4\xad\xbf\x52\x32\x27\x1f\x1d\x1b\x1b\x1d\x20\x28\x35\x5f\xbc\xab\xa2\x9e\x9c\x9b\x9c\x9e\xa5\xae\xc4\x4a\x30\x26\x1f\x1c\x1b\x1b\x1d\x21\x2a\x38\xff\xb8\xaa\xa1\x9d\x9b\x9b\x9c\x9f\xa6\xb0\xca\x44\x2e\x25\x1e\x1c\x1b\x1c\x1e\x22\x2b\x3c\xdf\xb5\xa8\xa0\x9d\x9b\x9b\x9d\x9f\xa7\xb2\xd2\x3f\x2d\x23\x1e\x1c\x1b\x1c\x1e\x23\x2d\x3f\xd2\xb2\xa7\x9f\x9d\x9b\x9b\x9d\xa0\xa8\xb5\xdf\x3c\x2b\x22\x1e\x1c\x1b\x1c\x1e\x25\x2e\x44\xca\xb0\xa6\x9f\x9c\x9b\x9b\x9d\xa1\xaa\xb8\xff\x38\x2a\x21\x1d\x1b\x1b\x1c\x1f\x26\x30\x4a\xc4\xae\xa5\x9e\x9c\x9b\x9c\x9e\xa2\xab\xbc\x5f\x35\x28\x20\x1d\x1b\x1b\x1d\x1f\x27\x32\x52\xbf\xad\xa4\x9e\x9c"));
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b"));
$rseq++;
snd($sock_a, $port_b, rtp(0, 1000 + $seq, 3000 + 160 * $seq, 0x1234, "\xbd\xd3\x77\xd9\xc5\xd0\x44\x30\x32\x65\xb2\xab\xb8\x4c\x32\x35\x50\xcf\xd2\x70\x7a\xc6\xb8\xbe\x4c\x2e\x2d\x45\xb9\xac\xb4\xfd\x3c\x3d\x55\xf2\x5a\x47\x56\xc1\xb0\xb4\x71\x30\x2b\x3a\xc7\xb0\xb6\xd7\x4d\x50\xf6\x78\x45\x38\x41\xc7\xae\xae\xcc\x37\x2c\x36\xe5\xbb\xbd\xd7\x6d\xdb\xc9\xdd\x3f\x30\x36\xdc\xae\xab\xbd\x41\x2f\x37\x5d\xcb\xcf\x7b\xef\xc4\xb9\xc6\x42\x2d\x2e\x55\xb4\xac\xb8\x58\x39\x3d\x59\xea\x5c\x4a\x66\xbd\xb0\xb8\x50\x2e\x2c\x40\xbd\xaf\xb8\xe8\x48\x4e\x7d\x6b\x43\x3a\x4a\xbf\xad\xaf\xe4\x32\x2c\x3a\xcf\xb8\xbd\xdc\x66\xde\xcc\xf5\x3c\x30\x3b\xca\xad\xac\xc6\x3b\x2e\x39\x7c\xc6\xcd\xfa\xe7\xc3\xbb\xce\x3c\x2d\x31\xf2"));
Time::HiRes::usleep(18000); $seq++;
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x9b\x9c\x9e\xa4\xad\xbf\x52\x32\x27\x1f\x1d\x1b\x1b\x1d\x20\x28\x35\x5f\xbc\xab\xa2\x9e\x9c\x9b\x9c\x9e\xa5\xae\xc4\x4a\x30\x26\x1f\x1c\x1b\x1b\x1d\x21\x2a\x38\xff\xb8\xaa\xa1\x9d\x9b\x9b\x9c\x9f\xa6\xb0\xca\x44\x2e\x25\x1e\x1c\x1b\x1c\x1e\x22\x2b\x3c\xdf\xb5\xa8\xa0\x9d\x9b\x9b\x9d\x9f\xa7\xb2\xd2\x3f\x2d\x23\x1e\x1c\x1b\x1c\x1e\x23\x2d\x3f\xd2\xb2\xa7\x9f\x9d\x9b\x9b\x9d\xa0\xa8\xb5\xdf\x3c\x2b\x22\x1e\x1c\x1b\x1c\x1e\x25\x2e\x44\xca\xb0\xa6\x9f\x9c\x9b\x9b\x9d\xa1\xaa\xb8\xff\x38\x2a\x21\x1d\x1b\x1b\x1c\x1f\x26\x30\x4a\xc4\xae\xa5\x9e\x9c\x9b\x9c\x9e\xa2\xab\xbc\x5f\x35\x28\x20\x1d\x1b\x1b\x1d\x1f\x27\x32\x52\xbf\xad\xa4\x9e\x9c"));
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b"));
$rseq++;
# back to silence
@ -3459,61 +3459,61 @@ Time::HiRes::usleep(18000); $seq++;
# still tone
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x9b\x9c\x9e\xa4\xad\xbf\x52\x32\x27\x1f\x1d\x1b\x1b\x1d\x20\x28\x35\x5f\xbc\xab\xa2\x9e\x9c\x9b\x9c\x9e\xa5\xae\xc4\x4a\x30\x26\x1f\x1c\x1b\x1b\x1d\x21\x2a\x38\xff\xb8\xaa\xa1\x9d\x9b\x9b\x9c\x9f\xa6\xb0\xca\x44\x2e\x25\x1e\x1c\x1b\x1c\x1e\x22\x2b\x3c\xdf\xb5\xa8\xa0\x9d\x9b\x9b\x9d\x9f\xa7\xb2\xd2\x3f\x2d\x23\x1e\x1c\x1b\x1c\x1e\x23\x2d\x3f\xd2\xb2\xa7\x9f\x9d\x9b\x9b\x9d\xa0\xa8\xb5\xdf\x3c\x2b\x22\x1e\x1c\x1b\x1c\x1e\x25\x2e\x44\xca\xb0\xa6\x9f\x9c\x9b\x9b\x9d\xa1\xaa\xb8\xff\x38\x2a\x21\x1d\x1b\x1b\x1c\x1f\x26\x30\x4a\xc4\xae\xa5\x9e\x9c\x9b\x9c\x9e\xa2\xab\xbc\x5f\x35\x28\x20\x1d\x1b\x1b\x1d\x1f\x27\x32\x52\xbf\xad\xa4\x9e\x9c"));
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b"));
$rseq++;
snd($sock_a, $port_b, rtp(0, 1000 + $seq, 3000 + 160 * $seq, 0x1234, "\x00" x 160));
Time::HiRes::usleep(18000); $seq++;
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x9b\x9c\x9e\xa4\xad\xbf\x52\x32\x27\x1f\x1d\x1b\x1b\x1d\x20\x28\x35\x5f\xbc\xab\xa2\x9e\x9c\x9b\x9c\x9e\xa5\xae\xc4\x4a\x30\x26\x1f\x1c\x1b\x1b\x1d\x21\x2a\x38\xff\xb8\xaa\xa1\x9d\x9b\x9b\x9c\x9f\xa6\xb0\xca\x44\x2e\x25\x1e\x1c\x1b\x1c\x1e\x22\x2b\x3c\xdf\xb5\xa8\xa0\x9d\x9b\x9b\x9d\x9f\xa7\xb2\xd2\x3f\x2d\x23\x1e\x1c\x1b\x1c\x1e\x23\x2d\x3f\xd2\xb2\xa7\x9f\x9d\x9b\x9b\x9d\xa0\xa8\xb5\xdf\x3c\x2b\x22\x1e\x1c\x1b\x1c\x1e\x25\x2e\x44\xca\xb0\xa6\x9f\x9c\x9b\x9b\x9d\xa1\xaa\xb8\xff\x38\x2a\x21\x1d\x1b\x1b\x1c\x1f\x26\x30\x4a\xc4\xae\xa5\x9e\x9c\x9b\x9c\x9e\xa2\xab\xbc\x5f\x35\x28\x20\x1d\x1b\x1b\x1d\x1f\x27\x32\x52\xbf\xad\xa4\x9e\x9c"));
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b"));
$rseq++;
snd($sock_a, $port_b, rtp(0, 1000 + $seq, 3000 + 160 * $seq, 0x1234, "\x00" x 160));
Time::HiRes::usleep(18000); $seq++;
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x9b\x9c\x9e\xa4\xad\xbf\x52\x32\x27\x1f\x1d\x1b\x1b\x1d\x20\x28\x35\x5f\xbc\xab\xa2\x9e\x9c\x9b\x9c\x9e\xa5\xae\xc4\x4a\x30\x26\x1f\x1c\x1b\x1b\x1d\x21\x2a\x38\xff\xb8\xaa\xa1\x9d\x9b\x9b\x9c\x9f\xa6\xb0\xca\x44\x2e\x25\x1e\x1c\x1b\x1c\x1e\x22\x2b\x3c\xdf\xb5\xa8\xa0\x9d\x9b\x9b\x9d\x9f\xa7\xb2\xd2\x3f\x2d\x23\x1e\x1c\x1b\x1c\x1e\x23\x2d\x3f\xd2\xb2\xa7\x9f\x9d\x9b\x9b\x9d\xa0\xa8\xb5\xdf\x3c\x2b\x22\x1e\x1c\x1b\x1c\x1e\x25\x2e\x44\xca\xb0\xa6\x9f\x9c\x9b\x9b\x9d\xa1\xaa\xb8\xff\x38\x2a\x21\x1d\x1b\x1b\x1c\x1f\x26\x30\x4a\xc4\xae\xa5\x9e\x9c\x9b\x9c\x9e\xa2\xab\xbc\x5f\x35\x28\x20\x1d\x1b\x1b\x1d\x1f\x27\x32\x52\xbf\xad\xa4\x9e\x9c"));
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b"));
$rseq++;
snd($sock_a, $port_b, rtp(0, 1000 + $seq, 3000 + 160 * $seq, 0x1234, "\x00" x 160));
Time::HiRes::usleep(18000); $seq++;
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x9b\x9c\x9e\xa4\xad\xbf\x52\x32\x27\x1f\x1d\x1b\x1b\x1d\x20\x28\x35\x5f\xbc\xab\xa2\x9e\x9c\x9b\x9c\x9e\xa5\xae\xc4\x4a\x30\x26\x1f\x1c\x1b\x1b\x1d\x21\x2a\x38\xff\xb8\xaa\xa1\x9d\x9b\x9b\x9c\x9f\xa6\xb0\xca\x44\x2e\x25\x1e\x1c\x1b\x1c\x1e\x22\x2b\x3c\xdf\xb5\xa8\xa0\x9d\x9b\x9b\x9d\x9f\xa7\xb2\xd2\x3f\x2d\x23\x1e\x1c\x1b\x1c\x1e\x23\x2d\x3f\xd2\xb2\xa7\x9f\x9d\x9b\x9b\x9d\xa0\xa8\xb5\xdf\x3c\x2b\x22\x1e\x1c\x1b\x1c\x1e\x25\x2e\x44\xca\xb0\xa6\x9f\x9c\x9b\x9b\x9d\xa1\xaa\xb8\xff\x38\x2a\x21\x1d\x1b\x1b\x1c\x1f\x26\x30\x4a\xc4\xae\xa5\x9e\x9c\x9b\x9c\x9e\xa2\xab\xbc\x5f\x35\x28\x20\x1d\x1b\x1b\x1d\x1f\x27\x32\x52\xbf\xad\xa4\x9e\x9c"));
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b"));
$rseq++;
snd($sock_a, $port_b, rtp(0, 1000 + $seq, 3000 + 160 * $seq, 0x1234, "\x00" x 160));
Time::HiRes::usleep(18000); $seq++;
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x9b\x9c\x9e\xa4\xad\xbf\x52\x32\x27\x1f\x1d\x1b\x1b\x1d\x20\x28\x35\x5f\xbc\xab\xa2\x9e\x9c\x9b\x9c\x9e\xa5\xae\xc4\x4a\x30\x26\x1f\x1c\x1b\x1b\x1d\x21\x2a\x38\xff\xb8\xaa\xa1\x9d\x9b\x9b\x9c\x9f\xa6\xb0\xca\x44\x2e\x25\x1e\x1c\x1b\x1c\x1e\x22\x2b\x3c\xdf\xb5\xa8\xa0\x9d\x9b\x9b\x9d\x9f\xa7\xb2\xd2\x3f\x2d\x23\x1e\x1c\x1b\x1c\x1e\x23\x2d\x3f\xd2\xb2\xa7\x9f\x9d\x9b\x9b\x9d\xa0\xa8\xb5\xdf\x3c\x2b\x22\x1e\x1c\x1b\x1c\x1e\x25\x2e\x44\xca\xb0\xa6\x9f\x9c\x9b\x9b\x9d\xa1\xaa\xb8\xff\x38\x2a\x21\x1d\x1b\x1b\x1c\x1f\x26\x30\x4a\xc4\xae\xa5\x9e\x9c\x9b\x9c\x9e\xa2\xab\xbc\x5f\x35\x28\x20\x1d\x1b\x1b\x1d\x1f\x27\x32\x52\xbf\xad\xa4\x9e\x9c"));
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b"));
$rseq++;
snd($sock_a, $port_b, rtp(0, 1000 + $seq, 3000 + 160 * $seq, 0x1234, "\x00" x 160));
Time::HiRes::usleep(18000); $seq++;
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x9b\x9c\x9e\xa4\xad\xbf\x52\x32\x27\x1f\x1d\x1b\x1b\x1d\x20\x28\x35\x5f\xbc\xab\xa2\x9e\x9c\x9b\x9c\x9e\xa5\xae\xc4\x4a\x30\x26\x1f\x1c\x1b\x1b\x1d\x21\x2a\x38\xff\xb8\xaa\xa1\x9d\x9b\x9b\x9c\x9f\xa6\xb0\xca\x44\x2e\x25\x1e\x1c\x1b\x1c\x1e\x22\x2b\x3c\xdf\xb5\xa8\xa0\x9d\x9b\x9b\x9d\x9f\xa7\xb2\xd2\x3f\x2d\x23\x1e\x1c\x1b\x1c\x1e\x23\x2d\x3f\xd2\xb2\xa7\x9f\x9d\x9b\x9b\x9d\xa0\xa8\xb5\xdf\x3c\x2b\x22\x1e\x1c\x1b\x1c\x1e\x25\x2e\x44\xca\xb0\xa6\x9f\x9c\x9b\x9b\x9d\xa1\xaa\xb8\xff\x38\x2a\x21\x1d\x1b\x1b\x1c\x1f\x26\x30\x4a\xc4\xae\xa5\x9e\x9c\x9b\x9c\x9e\xa2\xab\xbc\x5f\x35\x28\x20\x1d\x1b\x1b\x1d\x1f\x27\x32\x52\xbf\xad\xa4\x9e\x9c"));
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b"));
$rseq++;
snd($sock_a, $port_b, rtp(0, 1000 + $seq, 3000 + 160 * $seq, 0x1234, "\x00" x 160));
Time::HiRes::usleep(18000); $seq++;
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x9b\x9c\x9e\xa4\xad\xbf\x52\x32\x27\x1f\x1d\x1b\x1b\x1d\x20\x28\x35\x5f\xbc\xab\xa2\x9e\x9c\x9b\x9c\x9e\xa5\xae\xc4\x4a\x30\x26\x1f\x1c\x1b\x1b\x1d\x21\x2a\x38\xff\xb8\xaa\xa1\x9d\x9b\x9b\x9c\x9f\xa6\xb0\xca\x44\x2e\x25\x1e\x1c\x1b\x1c\x1e\x22\x2b\x3c\xdf\xb5\xa8\xa0\x9d\x9b\x9b\x9d\x9f\xa7\xb2\xd2\x3f\x2d\x23\x1e\x1c\x1b\x1c\x1e\x23\x2d\x3f\xd2\xb2\xa7\x9f\x9d\x9b\x9b\x9d\xa0\xa8\xb5\xdf\x3c\x2b\x22\x1e\x1c\x1b\x1c\x1e\x25\x2e\x44\xca\xb0\xa6\x9f\x9c\x9b\x9b\x9d\xa1\xaa\xb8\xff\x38\x2a\x21\x1d\x1b\x1b\x1c\x1f\x26\x30\x4a\xc4\xae\xa5\x9e\x9c\x9b\x9c\x9e\xa2\xab\xbc\x5f\x35\x28\x20\x1d\x1b\x1b\x1d\x1f\x27\x32\x52\xbf\xad\xa4\x9e\x9c"));
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b"));
$rseq++;
snd($sock_a, $port_b, rtp(0, 1000 + $seq, 3000 + 160 * $seq, 0x1234, "\x00" x 160));
Time::HiRes::usleep(18000); $seq++;
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x9b\x9c\x9e\xa4\xad\xbf\x52\x32\x27\x1f\x1d\x1b\x1b\x1d\x20\x28\x35\x5f\xbc\xab\xa2\x9e\x9c\x9b\x9c\x9e\xa5\xae\xc4\x4a\x30\x26\x1f\x1c\x1b\x1b\x1d\x21\x2a\x38\xff\xb8\xaa\xa1\x9d\x9b\x9b\x9c\x9f\xa6\xb0\xca\x44\x2e\x25\x1e\x1c\x1b\x1c\x1e\x22\x2b\x3c\xdf\xb5\xa8\xa0\x9d\x9b\x9b\x9d\x9f\xa7\xb2\xd2\x3f\x2d\x23\x1e\x1c\x1b\x1c\x1e\x23\x2d\x3f\xd2\xb2\xa7\x9f\x9d\x9b\x9b\x9d\xa0\xa8\xb5\xdf\x3c\x2b\x22\x1e\x1c\x1b\x1c\x1e\x25\x2e\x44\xca\xb0\xa6\x9f\x9c\x9b\x9b\x9d\xa1\xaa\xb8\xff\x38\x2a\x21\x1d\x1b\x1b\x1c\x1f\x26\x30\x4a\xc4\xae\xa5\x9e\x9c\x9b\x9c\x9e\xa2\xab\xbc\x5f\x35\x28\x20\x1d\x1b\x1b\x1d\x1f\x27\x32\x52\xbf\xad\xa4\x9e\x9c"));
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b"));
$rseq++;
snd($sock_a, $port_b, rtp(0, 1000 + $seq, 3000 + 160 * $seq, 0x1234, "\x00" x 160));
Time::HiRes::usleep(18000); $seq++;
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x9b\x9c\x9e\xa4\xad\xbf\x52\x32\x27\x1f\x1d\x1b\x1b\x1d\x20\x28\x35\x5f\xbc\xab\xa2\x9e\x9c\x9b\x9c\x9e\xa5\xae\xc4\x4a\x30\x26\x1f\x1c\x1b\x1b\x1d\x21\x2a\x38\xff\xb8\xaa\xa1\x9d\x9b\x9b\x9c\x9f\xa6\xb0\xca\x44\x2e\x25\x1e\x1c\x1b\x1c\x1e\x22\x2b\x3c\xdf\xb5\xa8\xa0\x9d\x9b\x9b\x9d\x9f\xa7\xb2\xd2\x3f\x2d\x23\x1e\x1c\x1b\x1c\x1e\x23\x2d\x3f\xd2\xb2\xa7\x9f\x9d\x9b\x9b\x9d\xa0\xa8\xb5\xdf\x3c\x2b\x22\x1e\x1c\x1b\x1c\x1e\x25\x2e\x44\xca\xb0\xa6\x9f\x9c\x9b\x9b\x9d\xa1\xaa\xb8\xff\x38\x2a\x21\x1d\x1b\x1b\x1c\x1f\x26\x30\x4a\xc4\xae\xa5\x9e\x9c\x9b\x9c\x9e\xa2\xab\xbc\x5f\x35\x28\x20\x1d\x1b\x1b\x1d\x1f\x27\x32\x52\xbf\xad\xa4\x9e\x9c"));
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b"));
$rseq++;
snd($sock_a, $port_b, rtp(0, 1000 + $seq, 3000 + 160 * $seq, 0x1234, "\x00" x 160));
Time::HiRes::usleep(18000); $seq++;
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x9b\x9c\x9e\xa4\xad\xbf\x52\x32\x27\x1f\x1d\x1b\x1b\x1d\x20\x28\x35\x5f\xbc\xab\xa2\x9e\x9c\x9b\x9c\x9e\xa5\xae\xc4\x4a\x30\x26\x1f\x1c\x1b\x1b\x1d\x21\x2a\x38\xff\xb8\xaa\xa1\x9d\x9b\x9b\x9c\x9f\xa6\xb0\xca\x44\x2e\x25\x1e\x1c\x1b\x1c\x1e\x22\x2b\x3c\xdf\xb5\xa8\xa0\x9d\x9b\x9b\x9d\x9f\xa7\xb2\xd2\x3f\x2d\x23\x1e\x1c\x1b\x1c\x1e\x23\x2d\x3f\xd2\xb2\xa7\x9f\x9d\x9b\x9b\x9d\xa0\xa8\xb5\xdf\x3c\x2b\x22\x1e\x1c\x1b\x1c\x1e\x25\x2e\x44\xca\xb0\xa6\x9f\x9c\x9b\x9b\x9d\xa1\xaa\xb8\xff\x38\x2a\x21\x1d\x1b\x1b\x1c\x1f\x26\x30\x4a\xc4\xae\xa5\x9e\x9c\x9b\x9c\x9e\xa2\xab\xbc\x5f\x35\x28\x20\x1d\x1b\x1b\x1d\x1f\x27\x32\x52\xbf\xad\xa4\x9e\x9c"));
rcv($sock_b, $port_a, rtpm(0, 1000 + $rseq, 3000 + 160 * $rseq, 0x1234, "\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b\x1b\x1b\x1d\x1e\x22\x28\x30\x3f\xff\xbf\xb0\xa8\xa2\x9e\x9d\x9b\x9b\x9b\x9d\x9e\xa2\xa8\xb0\xbf\xff\x3f\x30\x28\x22\x1e\x1d\x1b"));
$rseq++;
snd($sock_a, $port_b, rtp(0, 1000 + $seq, 3000 + 160 * $seq, 0x1234, "\x00" x 160));

Loading…
Cancel
Save