mirror of https://github.com/sipwise/rtpengine.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
424 lines
51 KiB
424 lines
51 KiB
#!/usr/bin/perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
use NGCP::Rtpengine::Test;
|
|
use NGCP::Rtpclient::SRTP;
|
|
use NGCP::Rtpengine::AutoTest;
|
|
use Test::More;
|
|
use POSIX;
|
|
|
|
|
|
$ENV{RTPENGINE_EXTENDED_TESTS} or exit;
|
|
|
|
|
|
autotest_start(qw(--config-file=none -t -1 -i 203.0.113.1 -i 2001:db8:4321::1
|
|
-n 2223 -c 12345 -f -L 7 -E -u 2222 --silence-detect=1 --dtx-delay=10
|
|
--dtx-cn-params=10))
|
|
or die;
|
|
|
|
|
|
|
|
my ($sock_a, $sock_b, $sock_c, $sock_d, $port_a, $port_b, $ssrc, $ssrc_b, $resp,
|
|
$sock_ax, $sock_bx, $port_ax, $port_bx,
|
|
$srtp_ctx_a, $srtp_ctx_b, $srtp_ctx_a_rev, $srtp_ctx_b_rev,
|
|
@ret1, @ret2, @ret3, @ret4, $srtp_key_a, $srtp_key_b, $ts, $seq);
|
|
|
|
|
|
|
|
|
|
|
|
($sock_a, $sock_b) = new_call([qw(198.51.100.10 5000)], [qw(198.51.100.10 5002)]);
|
|
|
|
($port_a) = offer('G.711 DTX',
|
|
{ replace => ['origin'], codec => {
|
|
transcode => ['PCMA'],
|
|
} }, <<SDP);
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 198.51.100.10
|
|
s=tester
|
|
t=0 0
|
|
m=audio 5000 RTP/AVP 0
|
|
c=IN IP4 198.51.100.10
|
|
a=sendrecv
|
|
----------------------------------
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 203.0.113.1
|
|
s=tester
|
|
t=0 0
|
|
m=audio PORT RTP/AVP 0 8
|
|
c=IN IP4 203.0.113.1
|
|
a=rtpmap:0 PCMU/8000
|
|
a=rtpmap:8 PCMA/8000
|
|
a=sendrecv
|
|
a=rtcp:PORT
|
|
SDP
|
|
|
|
($port_b) = answer('G.711 DTX',
|
|
{ replace => ['origin'] }, <<SDP);
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 198.51.100.10
|
|
s=tester
|
|
t=0 0
|
|
m=audio 5002 RTP/AVP 8
|
|
c=IN IP4 198.51.100.10
|
|
a=sendrecv
|
|
--------------------------------------
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 203.0.113.1
|
|
s=tester
|
|
t=0 0
|
|
m=audio PORT RTP/AVP 0
|
|
c=IN IP4 203.0.113.1
|
|
a=rtpmap:0 PCMU/8000
|
|
a=sendrecv
|
|
a=rtcp:PORT
|
|
SDP
|
|
|
|
snd($sock_a, $port_b, rtp(0, 2000, 4000, 0x5678, "\x40" x 160));
|
|
($ssrc) = rcv($sock_b, $port_a, rtpm(8, 2000, 4000, -1, "\x68" x 160));
|
|
snd($sock_a, $port_b, rtp(0, 2001, 4160, 0x5678, "\x40" x 160));
|
|
rcv($sock_b, $port_a, rtpm(8, 2001, 4160, $ssrc, "\x68" x 160));
|
|
# DTX -> CN
|
|
rcv($sock_b, $port_a, rtpm(8, 2002, 4320, $ssrc, "\x8c\x68\x02\x87\x94\x8e\x17\xc5\x19\x34\x6e\x08\x1c\x7e\x9f\x86\xf4\x09\x12\x8c\x81\x0c\x06\x05\x84\x18\x0e\x03\x16\x9f\x0a\x4c\x35\x4f\x05\x9c\x8e\x1d\x18\xf2\x9e\x8a\x99\xb4\x05\x11\x0e\x59\x02\xc8\x6b\x99\x1a\x03\x8c\x13\x67\x96\x35\x1e\x86\x9e\x80\x82\x99\x10\x86\x1f\x9b\x0a\x8f\x35\x04\x8c\x04\xd5\x63\x69\x0f\x09\x9a\x84\x01\x92\x71\x84\x1b\x8f\x03\xea\x73\x00\x0a\x13\x62\x9b\x00\xe4\x04\x87\x86\xd5\xea\x04\x04\x0d\x89\x8a\x91\xea\x97\x1f\x83\x96\x87\xb5\x85\x0d\x04\x63\xfc\x13\xe7\x46\x83\x14\x97\xd2\x0e\x69\x6d\x17\x0a\x85\x9a\x35\xe3\x8d\x64\x67\x46\x66\x0c\xe9\x02\x80\x87\xcf\x0d\x81\x10\x99\x92\x90\x03\x0c\xfd\x10\xb4\x1b"));
|
|
rcv($sock_b, $port_a, rtpm(8, 2003, 4480, $ssrc, "\x9a\x87\x6a\x08\x09\x0b\x7b\x61\x81\xe7\x85\x05\x19\x0a\x87\x04\x34\x06\x93\x8a\x88\xb5\x5c\x6b\x0f\x02\x84\x0f\x82\x81\x40\x34\x91\x34\x03\x85\x9a\x03\x14\x6f\x80\xb5\x03\x0e\x98\x12\x00\x0a\x86\x10\x8e\x92\x03\x87\x87\x85\x6f\x6a\x04\x82\x81\x94\x80\x01\x14\x9b\x65\x6c\x84\x09\x65\x0b\xb4\x34\x8d\xe2\x02\x05\x0d\x8c\xe1\x0c\x14\x92\xe1\x0e\x80\x8d\x15\x8e\x03\x0c\x8b\x4b\x8d\x8f\xb5\x00\xb5\x18\x59\x72\x01\x97\x88\x35\x35\x8d\x13\x8f\xf3\x04\x87\x0d\x35\x88\xe4\x1a\x0a\x04\x9e\x94\x17\x0a\xec\x89\x1a\x94\x88\x8e\x94\x34\xe8\x35\x69\x82\x89\xc6\x9c\x52\x9d\x08\x89\x94\xe2\x80\xd3\xb5\x0b\x84\x0d\xee\x0e\x8d\x88\x5d\x0b\x07\x35\x84"));
|
|
# start audio again
|
|
snd($sock_a, $port_b, rtp(0, 2002, 4640, 0x5678, "\x40" x 160));
|
|
rcv($sock_b, $port_a, rtpm(8, 2004, 4640, $ssrc, "\x68" x 160));
|
|
|
|
rtpe_req('delete', 'G.711 DTX', { 'from-tag' => ft() });
|
|
|
|
|
|
|
|
($sock_a, $sock_b) = new_call([qw(198.51.100.10 5004)], [qw(198.51.100.10 5006)]);
|
|
|
|
($port_a) = offer('G.711 DTX ptime=30',
|
|
{ replace => ['origin'], codec => {
|
|
transcode => ['PCMA'],
|
|
} }, <<SDP);
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 198.51.100.10
|
|
s=tester
|
|
t=0 0
|
|
m=audio 5004 RTP/AVP 0
|
|
c=IN IP4 198.51.100.10
|
|
a=sendrecv
|
|
a=ptime:30
|
|
----------------------------------
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 203.0.113.1
|
|
s=tester
|
|
t=0 0
|
|
m=audio PORT RTP/AVP 0 8
|
|
c=IN IP4 203.0.113.1
|
|
a=rtpmap:0 PCMU/8000
|
|
a=rtpmap:8 PCMA/8000
|
|
a=sendrecv
|
|
a=rtcp:PORT
|
|
a=ptime:30
|
|
SDP
|
|
|
|
($port_b) = answer('G.711 DTX ptime=30',
|
|
{ replace => ['origin'] }, <<SDP);
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 198.51.100.10
|
|
s=tester
|
|
t=0 0
|
|
m=audio 5006 RTP/AVP 8
|
|
c=IN IP4 198.51.100.10
|
|
a=sendrecv
|
|
--------------------------------------
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 203.0.113.1
|
|
s=tester
|
|
t=0 0
|
|
m=audio PORT RTP/AVP 0
|
|
c=IN IP4 203.0.113.1
|
|
a=rtpmap:0 PCMU/8000
|
|
a=sendrecv
|
|
a=rtcp:PORT
|
|
a=ptime:30
|
|
SDP
|
|
|
|
snd($sock_a, $port_b, rtp(0, 2000, 4000, 0x5678, "\x40" x 240));
|
|
($ssrc) = rcv($sock_b, $port_a, rtpm(8, 2000, 4000, -1, "\x68" x 240));
|
|
snd($sock_a, $port_b, rtp(0, 2001, 4240, 0x5678, "\x40" x 240));
|
|
rcv($sock_b, $port_a, rtpm(8, 2001, 4240, $ssrc, "\x68" x 240));
|
|
# DTX -> CN
|
|
rcv($sock_b, $port_a, rtpm(8, 2002, 4480, $ssrc, "\x8c\x68\x02\x87\x94\x8e\x17\xc5\x19\x34\x6e\x08\x1c\x7e\x9f\x86\xf4\x09\x12\x8c\x81\x0c\x06\x05\x84\x18\x0e\x03\x16\x9f\x0a\x4c\x35\x4f\x05\x9c\x8e\x1d\x18\xf2\x9e\x8a\x99\xb4\x05\x11\x0e\x59\x02\xc8\x6b\x99\x1a\x03\x8c\x13\x67\x96\x35\x1e\x86\x9e\x80\x82\x99\x10\x86\x1f\x9b\x0a\x8f\x35\x04\x8c\x04\xd5\x63\x69\x0f\x09\x9a\x84\x01\x92\x71\x84\x1b\x8f\x03\xea\x73\x00\x0a\x13\x62\x9b\x00\xe4\x04\x87\x86\xd5\xea\x04\x04\x0d\x89\x8a\x91\xea\x97\x1f\x83\x96\x87\xb5\x85\x0d\x04\x63\xfc\x13\xe7\x46\x83\x14\x97\xd2\x0e\x69\x6d\x17\x0a\x85\x9a\x35\xe3\x8d\x64\x67\x46\x66\x0c\xe9\x02\x80\x87\xcf\x0d\x81\x10\x99\x92\x90\x03\x0c\xfd\x10\xb4\x1b\x9a\x87\x6a\x08\x09\x0b\x7b\x61\x81\xe7\x85\x05\x19\x0a\x87\x04\x34\x06\x93\x8a\x88\xb5\x5c\x6b\x0f\x02\x84\x0f\x82\x81\x40\x34\x91\x34\x03\x85\x9a\x03\x14\x6f\x80\xb5\x03\x0e\x98\x12\x00\x0a\x86\x10\x8e\x92\x03\x87\x87\x85\x6f\x6a\x04\x82\x81\x94\x80\x01\x14\x9b\x65\x6c\x84\x09\x65\x0b\xb4\x34\x8d\xe2\x02\x05\x0d\x8c"));
|
|
rcv($sock_b, $port_a, rtpm(8, 2003, 4720, $ssrc, "\xe1\x0c\x14\x92\xe1\x0e\x80\x8d\x15\x8e\x03\x0c\x8b\x4b\x8d\x8f\xb5\x00\xb5\x18\x59\x72\x01\x97\x88\x35\x35\x8d\x13\x8f\xf3\x04\x87\x0d\x35\x88\xe4\x1a\x0a\x04\x9e\x94\x17\x0a\xec\x89\x1a\x94\x88\x8e\x94\x34\xe8\x35\x69\x82\x89\xc6\x9c\x52\x9d\x08\x89\x94\xe2\x80\xd3\xb5\x0b\x84\x0d\xee\x0e\x8d\x88\x5d\x0b\x07\x35\x84\x8a\xfa\xc8\x82\xfd\x95\x0d\x69\x9a\x83\x61\xfd\x12\x81\x69\x18\x85\x06\xb5\x08\xb5\xda\x93\x9d\x82\x03\xf5\x65\xe6\x35\xb5\x1e\x04\xdd\x88\x06\x62\x99\x35\x8f\xf9\x9a\x8a\x0d\x98\x92\x04\x81\x9d\x09\x35\xd0\x80\x0a\x85\x04\x80\x35\x87\x87\x35\x8c\x60\xe9\x14\x0d\x5b\x43\xdf\x0b\xfc\xf4\x8e\x0a\x0e\x77\x1c\x98\x6c\x08\xb5\xe4\x00\x1d\x0a\x82\x85\x8d\x8f\x08\x99\x8e\x01\x09\x63\x08\x95\xb4\x04\x03\xb5\xb5\x00\x87\x08\xe2\x99\x0c\x0e\xe1\xb5\x90\x88\x82\x71\x8b\x0b\xc4\x35\x72\x87\x5a\x9a\x9f\x0a\xd8\x9a\x90\x0c\x9f\x03\x7c\x83\xb5\x0b\x96\x43\x35\x81\xb4\x89\x04\x8f\x13\x82\x00\x94\x8e\x0c\x8b\x80\x05\x0c\x8b\x11\x64\x81\x03\x83\x9b"));
|
|
# start audio again
|
|
snd($sock_a, $port_b, rtp(0, 2002, 4960, 0x5678, "\x40" x 240));
|
|
rcv($sock_b, $port_a, rtpm(8, 2004, 4960, $ssrc, "\x68" x 240));
|
|
|
|
rtpe_req('delete', 'G.711 DTX ptime=30', { 'from-tag' => ft() });
|
|
|
|
|
|
|
|
|
|
($sock_a, $sock_b) = new_call([qw(198.51.100.10 5008)], [qw(198.51.100.10 5010)]);
|
|
|
|
($port_a) = offer('G.711 DTX ptime change',
|
|
{ replace => ['origin'], codec => {
|
|
transcode => ['PCMA'],
|
|
} }, <<SDP);
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 198.51.100.10
|
|
s=tester
|
|
t=0 0
|
|
m=audio 5008 RTP/AVP 0
|
|
c=IN IP4 198.51.100.10
|
|
a=sendrecv
|
|
----------------------------------
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 203.0.113.1
|
|
s=tester
|
|
t=0 0
|
|
m=audio PORT RTP/AVP 0 8
|
|
c=IN IP4 203.0.113.1
|
|
a=rtpmap:0 PCMU/8000
|
|
a=rtpmap:8 PCMA/8000
|
|
a=sendrecv
|
|
a=rtcp:PORT
|
|
SDP
|
|
|
|
($port_b) = answer('G.711 DTX ptime change',
|
|
{ replace => ['origin'] }, <<SDP);
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 198.51.100.10
|
|
s=tester
|
|
t=0 0
|
|
m=audio 5010 RTP/AVP 8
|
|
c=IN IP4 198.51.100.10
|
|
a=sendrecv
|
|
--------------------------------------
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 203.0.113.1
|
|
s=tester
|
|
t=0 0
|
|
m=audio PORT RTP/AVP 0
|
|
c=IN IP4 203.0.113.1
|
|
a=rtpmap:0 PCMU/8000
|
|
a=sendrecv
|
|
a=rtcp:PORT
|
|
SDP
|
|
|
|
snd($sock_a, $port_b, rtp(0, 2000, 4000, 0x5678, "\x40" x 240));
|
|
($ssrc) = rcv($sock_b, $port_a, rtpm(8, 2000, 4000, -1, "\x68" x 160));
|
|
snd($sock_a, $port_b, rtp(0, 2001, 4240, 0x5678, "\x40" x 240));
|
|
rcv($sock_b, $port_a, rtpm(8, 2001, 4160, $ssrc, "\x68" x 160));
|
|
rcv($sock_b, $port_a, rtpm(8, 2002, 4320, $ssrc, "\x68" x 160));
|
|
# DTX -> CN
|
|
rcv($sock_b, $port_a, rtpm(8, 2003, 4480, $ssrc, "\x8c\x68\x02\x87\x94\x8e\x17\xc5\x19\x34\x6e\x08\x1c\x7e\x9f\x86\xf4\x09\x12\x8c\x81\x0c\x06\x05\x84\x18\x0e\x03\x16\x9f\x0a\x4c\x35\x4f\x05\x9c\x8e\x1d\x18\xf2\x9e\x8a\x99\xb4\x05\x11\x0e\x59\x02\xc8\x6b\x99\x1a\x03\x8c\x13\x67\x96\x35\x1e\x86\x9e\x80\x82\x99\x10\x86\x1f\x9b\x0a\x8f\x35\x04\x8c\x04\xd5\x63\x69\x0f\x09\x9a\x84\x01\x92\x71\x84\x1b\x8f\x03\xea\x73\x00\x0a\x13\x62\x9b\x00\xe4\x04\x87\x86\xd5\xea\x04\x04\x0d\x89\x8a\x91\xea\x97\x1f\x83\x96\x87\xb5\x85\x0d\x04\x63\xfc\x13\xe7\x46\x83\x14\x97\xd2\x0e\x69\x6d\x17\x0a\x85\x9a\x35\xe3\x8d\x64\x67\x46\x66\x0c\xe9\x02\x80\x87\xcf\x0d\x81\x10\x99\x92\x90\x03\x0c\xfd\x10\xb4\x1b"));
|
|
rcv($sock_b, $port_a, rtpm(8, 2004, 4640, $ssrc, "\x9a\x87\x6a\x08\x09\x0b\x7b\x61\x81\xe7\x85\x05\x19\x0a\x87\x04\x34\x06\x93\x8a\x88\xb5\x5c\x6b\x0f\x02\x84\x0f\x82\x81\x40\x34\x91\x34\x03\x85\x9a\x03\x14\x6f\x80\xb5\x03\x0e\x98\x12\x00\x0a\x86\x10\x8e\x92\x03\x87\x87\x85\x6f\x6a\x04\x82\x81\x94\x80\x01\x14\x9b\x65\x6c\x84\x09\x65\x0b\xb4\x34\x8d\xe2\x02\x05\x0d\x8c\xe1\x0c\x14\x92\xe1\x0e\x80\x8d\x15\x8e\x03\x0c\x8b\x4b\x8d\x8f\xb5\x00\xb5\x18\x59\x72\x01\x97\x88\x35\x35\x8d\x13\x8f\xf3\x04\x87\x0d\x35\x88\xe4\x1a\x0a\x04\x9e\x94\x17\x0a\xec\x89\x1a\x94\x88\x8e\x94\x34\xe8\x35\x69\x82\x89\xc6\x9c\x52\x9d\x08\x89\x94\xe2\x80\xd3\xb5\x0b\x84\x0d\xee\x0e\x8d\x88\x5d\x0b\x07\x35\x84"));
|
|
rcv($sock_b, $port_a, rtpm(8, 2005, 4800, $ssrc, "\x8a\xfa\xc8\x82\xfd\x95\x0d\x69\x9a\x83\x61\xfd\x12\x81\x69\x18\x85\x06\xb5\x08\xb5\xda\x93\x9d\x82\x03\xf5\x65\xe6\x35\xb5\x1e\x04\xdd\x88\x06\x62\x99\x35\x8f\xf9\x9a\x8a\x0d\x98\x92\x04\x81\x9d\x09\x35\xd0\x80\x0a\x85\x04\x80\x35\x87\x87\x35\x8c\x60\xe9\x14\x0d\x5b\x43\xdf\x0b\xfc\xf4\x8e\x0a\x0e\x77\x1c\x98\x6c\x08\xb5\xe4\x00\x1d\x0a\x82\x85\x8d\x8f\x08\x99\x8e\x01\x09\x63\x08\x95\xb4\x04\x03\xb5\xb5\x00\x87\x08\xe2\x99\x0c\x0e\xe1\xb5\x90\x88\x82\x71\x8b\x0b\xc4\x35\x72\x87\x5a\x9a\x9f\x0a\xd8\x9a\x90\x0c\x9f\x03\x7c\x83\xb5\x0b\x96\x43\x35\x81\xb4\x89\x04\x8f\x13\x82\x00\x94\x8e\x0c\x8b\x80\x05\x0c\x8b\x11\x64\x81\x03\x83\x9b"));
|
|
# start audio again
|
|
snd($sock_a, $port_b, rtp(0, 2002, 4960, 0x5678, "\x40" x 240));
|
|
rcv($sock_b, $port_a, rtpm(8, 2006, 4960, $ssrc, "\x68" x 160));
|
|
|
|
rtpe_req('delete', 'G.711 DTX ptime change', { 'from-tag' => ft() });
|
|
|
|
|
|
|
|
($sock_a, $sock_b) = new_call([qw(198.51.100.10 5012)], [qw(198.51.100.10 5014)]);
|
|
|
|
($port_a) = offer('G.722 DTX',
|
|
{ replace => ['origin'], codec => {
|
|
transcode => ['G722'],
|
|
} }, <<SDP);
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 198.51.100.10
|
|
s=tester
|
|
t=0 0
|
|
m=audio 5012 RTP/AVP 0
|
|
c=IN IP4 198.51.100.10
|
|
a=sendrecv
|
|
----------------------------------
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 203.0.113.1
|
|
s=tester
|
|
t=0 0
|
|
m=audio PORT RTP/AVP 0 9
|
|
c=IN IP4 203.0.113.1
|
|
a=rtpmap:0 PCMU/8000
|
|
a=rtpmap:9 G722/8000
|
|
a=sendrecv
|
|
a=rtcp:PORT
|
|
SDP
|
|
|
|
($port_b) = answer('G.722 DTX',
|
|
{ replace => ['origin'] }, <<SDP);
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 198.51.100.10
|
|
s=tester
|
|
t=0 0
|
|
m=audio 5014 RTP/AVP 9
|
|
c=IN IP4 198.51.100.10
|
|
a=rtpmap:9 G722/8000
|
|
a=sendrecv
|
|
--------------------------------------
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 203.0.113.1
|
|
s=tester
|
|
t=0 0
|
|
m=audio PORT RTP/AVP 0
|
|
c=IN IP4 203.0.113.1
|
|
a=rtpmap:0 PCMU/8000
|
|
a=sendrecv
|
|
a=rtcp:PORT
|
|
SDP
|
|
|
|
snd($sock_a, $port_b, rtp(0, 2000, 4000, 0x5678, "\x40" x 160));
|
|
Time::HiRes::usleep(10000); # resample buffer delay
|
|
snd($sock_a, $port_b, rtp(0, 2001, 4160, 0x5678, "\x40" x 160));
|
|
($ssrc) = rcv($sock_b, $port_a, rtpm(9, 2000, 4000, -1, "\x3a\x96\x24\x86\x21\x84\x04\x8c\x4d\xd0\xd1\xd2\x94\xd5\xd5\xd6\xd7\xd8\x98\xd8\xd8\xd8\xd8\xd8\xd8\xd8\xd9\xd9\xda\xda\xda\xdb\xdc\x9a\xda\xdb\x9c\xda\xda\x9c\xda\xda\xdb\xdc\xda\xdb\xdd\xdb\xdb\xdc\xda\xdb\xdb\xdd\xda\xdb\xdc\xda\xda\xda\xdc\xd9\xd9\xdb\xdc\xd8\xd8\xda\xdb\xdc\xd8\xd9\xda\xdb\xdb\xdb\xde\xda\xdb\xdb\xdb\xdb\xdb\xde\xda\xda\xdb\xdb\xdb\xdb\xde\xda\xdb\xdb\xdb\xdb\xdb\xde\xda\xdb\xdc\xd6\xdc\xd7\xff\xd8\xd8\xda\xda\xdb\xd9\xdc\xd9\xdb\xdc\xd6\xdd\xd8\xd9\xdc\xd7\xfc\xd7\xdd\xd9\xd9\xdb\xdc\xd9\xd9\xdb\xde\xd9\xd8\xdb\xdf\xda\xda\xdd\xd9\xd9\xda\xde\xda\xdb\xdf\xdc\xd5\xdb\xff\xd6\xde\xdc\xd9\xd9\xd8\xdd\xd9\xda\xfe"));
|
|
snd($sock_a, $port_b, rtp(0, 2002, 4320, 0x5678, "\x40" x 160));
|
|
rcv($sock_b, $port_a, rtpm(9, 2001, 4160, $ssrc, "\xd7\xfe\xd5\xdd\xda\xdc\xdd\xd7\xf9\xd6\xdc\xd7\xf9\xdb\xd9\xff\xd7\xfc\xd6\xfc\xde\xd8\xdd\xd9\xde\xd9\xde\xfe\xd7\xfc\xdb\xdd\xd9\xdd\xff\xd7\xf9\xd9\xdb\xff\xd8\xde\xdd\xfe\xd9\xda\xfc\xdd\xdb\xfc\xfd\xda\xda\xfb\xd9\xdc\xdc\xfe\xda\xdb\xf8\xda\xdd\xda\xfb\xd6\xfe\xdc\xd9\xfe\xd6\xf9\xd9\xdc\xdb\xff\xdb\xdc\xda\xdf\xfe\xd5\xde\xdf\xdf\xdb\xde\xdf\xdb\xdc\xd9\xdd\xda\xfe\xd7\xfe\xd8\xd7\xf9\xd7\xfa\xd5\xdf\xfe\xd3\xf8\xda\xde\xda\xdd\xdc\xd6\xfc\xdc\xd7\xfd\xda\xde\xd8\xd8\xde\xdc\xd9\xdb\xfa\xd5\xd8\xdc\xda\xdf\xde\xdf\xdc\xd3\xfa\xd6\xff\xd9\xde\xde\xd7\xff\xd6\xfe\xd7\xfa\xd8\xd6\xff\xd8\xd9\xdb\xf9\xda\xd7\xff\xd9\xd8\xda\xfa"));
|
|
# DTX -> CN
|
|
rcv($sock_b, $port_a, rtpm(9, 2002, 4320, $ssrc, "\xd8\xd6\xff\xd9\xd8\xda\xfa\xd8\xd6\xfc\xda\xda\xdc\xdb\xfb\xd3\xfc\xdc\xd5\xdd\xdd\xde\xd8\xda\xfe\xd5\xda\xfd\xdb\xdd\xd8\xdb\xdd\xd8\xda\xfe\xd8\xd8\xd9\xdc\xda\xdd\xde\xdc\xd6\xdc\xd9\xda\xdf\xff\xd7\xde\xd9\xd7\xfe\xd9\xde\xdc\xd8\xd6\xdb\xfc\xda\xdd\xdc\xd7\xdd\xd5\xde\xdf\xfe\xd7\xdc\xd6\xdd\xd9\xde\xfb\xd4\xd7\xff\xd7\xfe\xd9\xfc\xd9\xd5\xdc\xd8\xdc\xdc\xdc\xd9\xd7\xff\xd5\xdb\xf9\xdb\xdd\xd5\xdc\xd8\xd7\xf5\xdb\xde\xd8\xd7\xff\xd6\xf8\xde\xdc\xd5\xd8\xdc\xd7\xf5\xdd\xd9\xd7\xde\xdc\xd5\xfa\xfe\xd6\xdc\xd6\xff\xd6\xf9\xdf\xdc\xd6\xdb\xfe\xd5\xfe\xde\xde\xd8\xd4\x9b\x2c\x84\x22\x86\x20\x12\x90\x25\x15\x3c\x93\xaa\x98\x8d\xa6", "\xd8\xd6\xff\xd9\xd8\xda\xfa\xd8\xd6\xfc\xda\xda\xdc\xdb\xfb\xd3\xfc\xdc\xd5\xdd\xdd\xde\xd8\xda\xfe\xd5\xda\xfd\xdb\xdd\xd8\xdb\xdd\xd8\xda\xfe\xd8\xd8\xd9\xdc\xda\xdd\xde\xdc\xd6\xdc\xd9\xda\xdf\xff\xd7\xde\xd9\xd7\xfe\xd9\xde\xdc\xd8\xd6\xdb\xfc\xda\xdd\xdc\xd7\xdd\xd5\xde\xdf\xfe\xd7\xdc\xd6\xdd\xd9\xde\xfb\xd4\xd7\xff\xd7\xfe\xd9\xfc\xd9\xd5\xdc\xd8\xdc\xdc\xdc\xd9\xd7\xff\xd5\xdb\xf9\xdb\xdd\xd5\xdc\xd8\xd7\xf5\xdb\xde\xd8\xd7\xff\xd6\xf8\xde\xdc\xd5\xd8\xdc\xd7\xf5\xdd\xd9\xd7\xde\xdc\xd5\xfa\xfe\xd6\xdc\xd6\xff\xd6\xf9\xdf\xdc\xd6\xdb\xfe\xd5\xfe\xde\xde\xd8\xd4\xde\xde\x5c\x9d\x9d\x99\x96\x9d\x9c\x5c\x58\xbb\x10\xb9\x4c\xaa"));
|
|
rcv($sock_b, $port_a, rtpm(9, 2003, 4480, $ssrc, "\x94\x9a\x3f\x2f\x17\x53\xb2\xb2\x37\x14\x91\xb1\x5a\x2e\xd9\xbd\xf8\x58\x36\x8b\x66\x94\x37\x9a\x36\x7b\x8a\x73\x6d\x7a\x7c\xd9\x37\x87\xea\xf2\x2e\x96\x33\x92\x11\x9c\x76\x24\xbe\x56\x3a\x89\xd7\x27\xf0\x78\x7b\xd6\x88\x3f\xb8\x26\x98\x2a\x90\xca\x2f\xd7\xf3\x6f\xf3\xd2\x8f\x2f\x79\x90\x2c\xf0\x7b\x8c\x35\x95\x5d\x71\xf6\x9c\x7c\x7d\x37\x8d\x77\xfc\x71\x30\xd7\xfd\xd2\xda\xbe\x27\x30\xd7\xd9\x5d\x90\x36\xef\x76\x78\x5f\x8e\xd6\x76\x71\xfb\x72\xfe\x3e\xcf\xde\x74\x97\xf2\x71\xfa\x90\x38\x2f\x8c\xde\x2a\xdd\xd6\xfc\x74\x92\x35\xbd\x71\x34\xdc\x8f\x73\xdf\x7c\x73\x77\x95\x8f\x70\xff\x2e\xdc\x7f\x34\xd3\x92\xdf\xbb\x70\x74\x2d\xdc\x5c", "\x48\xa8\x87\x23\x88\x20\x93\x09\x61\x91\x16\x92\x2d\xb2\x06\xe0\xa9\x0a\x99\x37\xb5\x48\x5e\x61\xec\x4b\x89\x31\xbd\x29\xb6\x1c\xf5\xc8\x73\xc8\x65\xb1\x34\xf9\x4e\xf0\xc6\xec\x62\xfd\x71\xc9\x1f\x86\x33\xa4\x64\xf7\x12\xd0\xca\xd8\x7a\x60\xe8\x4f\xf2\xc5\x50\xe4\x6a\xed\xfe\x59\x85\x38\x9a\x24\xbf\x25\x95\x46\x62\xc7\x33\xe7\xfd\x56\xcd\xe5\x7f\xc6\x65\xb0\x39\x8c\x6a\xd3\x4f\xe9\x5a\x5a\x71\xee\x33\x89\x7c\xfe\x77\x68\x94\x74\xcf\x17\xdf\xe4\xe6\xce\x55\x1d\xca\x6f\xab\xf4\x6d\xda\x48\x4d\xf1\x2c\xfd\x6a\xb9\x3e\x8b\xda\x2e\xcd\x71\xab\x7d\x4b\x6e\x68\x87\x73\x63\x50\x4c\xbd\x70\xca\x2e\xb6\x6d\xf0\x54\xcc\x35\x9e\xfa\xeb\xfb\x52"));
|
|
# start audio again
|
|
snd($sock_a, $port_b, rtp(0, 2003, 4800, 0x5678, "\x40" x 160));
|
|
rcv($sock_b, $port_a, rtpm(9, 2004, 4640, $ssrc, "\xd0\xd7\x97\x2b\xfa\x94\xfc\x72\x33\x5d\x36\xd6\xd5\xd9\x99\x29\xd8\x72\x34\xda\x8d\x74\xdc\x98\x6e\x71\xd5\xda\xfe\x76\x30\xd5\x94\x70\xdb\xdc\x95\x2c\xdd\x74\x32\x8f\x74\x36\x79\xdb\xdf\x99\x32\x72\x5d\x32\xd3\xd8\x34\xfd\xda\x2d\x93\x78\x91\x2a\xd5\x79\x70\x92\xdd\x96\x6f\x75\x95\xfe\x78\x78\x92\x74\x2c\xd7\x31\xdb\x90\x30\xfd\x73\x75\x2e\xd0\x37\xd9\xd9\x7b\xd9\x79\x2c\xd8\x8e\x70\xdf\x34\x76\x97\x74\xda\x8f\x72\x73\xde\x94\x99\x74\x79\xfe\x94\xfc\x2c\xd9\x7f\x2e\x31\x37\xcd\x7a\xd2\xd9\x73\x2b\x7a\x37\x5c\x38\xce\x37\x75\x7c\x31\x7e\x2c\xd0\x79\xd4\x7a\x94\x75\x2b\x76\x91\xd7\x93\x79\xfd\xde\xff\xfe\xdc\xd9\xda\xdb\x5b\x5c\xdd", "\x8c\x2d\x98\x69\xdc\x5f\x6c\xcf\x4e\xd9\xba\x6c\xf1\x6a\x9b\x5b\x8e\x54\xd5\x29\xf2\xcd\x7a\xaf\xed\x9f\x72\xd5\x4f\x57\x97\x25\xd5\x2f\xed\x54\xc9\x35\xdc\xd0\xe8\xeb\x91\xd3\x7d\xf1\x6a\xcf\xd0\x2b\xd6\x16\x93\x28\xff\x73\x6d\xca\x70\xb3\x78\xd8\x5a\x97\x6f\x6e\x9a\xee\x50\x53\x70\xfc\x98\x2a\x90\x3f\x8e\x28\xd4\x3c\x68\xcd\xdd\xcf\x6a\x72\x50\x7e\xf4\x76\x8c\xb2\xe9\x92\xee\xd7\x4b\x28\xff\x6e\xaf\x2a\xcd\x37\xd9\x52\xf6\x53\xf3\x69\xd6\x8a\x6b\x9d\xf2\x74\x53\x70\x55\xcb\x2d\xed\x5c\x4e\x56\x6f\xf7\x1d\x10\x7c\x69\x96\x7f\xea\xaf\x75\x8a\x3a\x4e\x15\x6e\x27\x76\x35\xdd\x39\xca\x37\x6e\x5e\x6b\xdc\x28\xcd\x3b\xd2\x1f\xd4\x73\xe6"));
|
|
|
|
rtpe_req('delete', 'G.722 DTX', { 'from-tag' => ft() });
|
|
|
|
|
|
|
|
($sock_a, $sock_b) = new_call([qw(198.51.100.10 5016)], [qw(198.51.100.10 5018)]);
|
|
|
|
($port_a) = offer('G.722 reverse DTX',
|
|
{ replace => ['origin'], codec => {
|
|
transcode => ['PCMU'],
|
|
} }, <<SDP);
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 198.51.100.10
|
|
s=tester
|
|
t=0 0
|
|
m=audio 5016 RTP/AVP 9
|
|
c=IN IP4 198.51.100.10
|
|
a=sendrecv
|
|
----------------------------------
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 203.0.113.1
|
|
s=tester
|
|
t=0 0
|
|
m=audio PORT RTP/AVP 9 0
|
|
c=IN IP4 203.0.113.1
|
|
a=rtpmap:9 G722/8000
|
|
a=rtpmap:0 PCMU/8000
|
|
a=sendrecv
|
|
a=rtcp:PORT
|
|
SDP
|
|
|
|
($port_b) = answer('G.722 reverse DTX',
|
|
{ replace => ['origin'] }, <<SDP);
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 198.51.100.10
|
|
s=tester
|
|
t=0 0
|
|
m=audio 5018 RTP/AVP 0
|
|
c=IN IP4 198.51.100.10
|
|
a=rtpmap:9 G722/8000
|
|
a=sendrecv
|
|
--------------------------------------
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 203.0.113.1
|
|
s=tester
|
|
t=0 0
|
|
m=audio PORT RTP/AVP 9
|
|
c=IN IP4 203.0.113.1
|
|
a=rtpmap:9 G722/8000
|
|
a=sendrecv
|
|
a=rtcp:PORT
|
|
SDP
|
|
|
|
snd($sock_a, $port_b, rtp(9, 2000, 4000, 0x5678, "\x3a\x96\x24\x86\x21\x84\x04\x8c\x4d\xd0\xd1\xd2\x94\xd5\xd5\xd6\xd7\xd8\x98\xd8\xd8\xd8\xd8\xd8\xd8\xd8\xd9\xd9\xda\xda\xda\xdb\xdc\x9a\xda\xdb\x9c\xda\xda\x9c\xda\xda\xdb\xdc\xda\xdb\xdd\xdb\xdb\xdc\xda\xdb\xdb\xdd\xda\xdb\xdc\xda\xda\xda\xdc\xd9\xd9\xdb\xdc\xd8\xd8\xda\xdb\xdc\xd8\xd9\xda\xdb\xdb\xdb\xde\xda\xdb\xdb\xdb\xdb\xdb\xde\xda\xda\xdb\xdb\xdb\xdb\xde\xda\xdb\xdb\xdb\xdb\xdb\xde\xda\xdb\xdc\xd6\xdc\xd7\xff\xd8\xd8\xda\xda\xdb\xd9\xdc\xd9\xdb\xdc\xd6\xdd\xd8\xd9\xdc\xd7\xfc\xd7\xdd\xd9\xd9\xdb\xdc\xd9\xd9\xdb\xde\xd9\xd8\xdb\xdf\xda\xda\xdd\xd9\xd9\xda\xde\xda\xdb\xdf\xdc\xd5\xdb\xff\xd6\xde\xdc\xd9\xd9\xd8\xdd\xd9\xda\xfe"));
|
|
Time::HiRes::usleep(10000); # resample buffer delay
|
|
snd($sock_a, $port_b, rtp(9, 2001, 4160, 0x5678, "\x3a\x96\x24\x86\x21\x84\x04\x8c\x4d\xd0\xd1\xd2\x94\xd5\xd5\xd6\xd7\xd8\x98\xd8\xd8\xd8\xd8\xd8\xd8\xd8\xd9\xd9\xda\xda\xda\xdb\xdc\x9a\xda\xdb\x9c\xda\xda\x9c\xda\xda\xdb\xdc\xda\xdb\xdd\xdb\xdb\xdc\xda\xdb\xdb\xdd\xda\xdb\xdc\xda\xda\xda\xdc\xd9\xd9\xdb\xdc\xd8\xd8\xda\xdb\xdc\xd8\xd9\xda\xdb\xdb\xdb\xde\xda\xdb\xdb\xdb\xdb\xdb\xde\xda\xda\xdb\xdb\xdb\xdb\xde\xda\xdb\xdb\xdb\xdb\xdb\xde\xda\xdb\xdc\xd6\xdc\xd7\xff\xd8\xd8\xda\xda\xdb\xd9\xdc\xd9\xdb\xdc\xd6\xdd\xd8\xd9\xdc\xd7\xfc\xd7\xdd\xd9\xd9\xdb\xdc\xd9\xd9\xdb\xde\xd9\xd8\xdb\xdf\xda\xda\xdd\xd9\xd9\xda\xde\xda\xdb\xdf\xdc\xd5\xdb\xff\xd6\xde\xdc\xd9\xd9\xd8\xdd\xd9\xda\xfe"));
|
|
($ssrc) = rcv($sock_b, $port_a, rtpm(0, 2000, 4000, -1, "\x7e\xff\x7e\xfe\x7d\xfd\x7c\xfd\x7d\x7e\xf0\x4f\x44\x41\x40\x41\x40\x40\x40\x40\x3f\x40\x40\x40\x40\x40\x40\x40\x40\x40\x3f\x40\x40\x40\x41\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40"));
|
|
snd($sock_a, $port_b, rtp(9, 2002, 4320, 0x5678, "\x3a\x96\x24\x86\x21\x84\x04\x8c\x4d\xd0\xd1\xd2\x94\xd5\xd5\xd6\xd7\xd8\x98\xd8\xd8\xd8\xd8\xd8\xd8\xd8\xd9\xd9\xda\xda\xda\xdb\xdc\x9a\xda\xdb\x9c\xda\xda\x9c\xda\xda\xdb\xdc\xda\xdb\xdd\xdb\xdb\xdc\xda\xdb\xdb\xdd\xda\xdb\xdc\xda\xda\xda\xdc\xd9\xd9\xdb\xdc\xd8\xd8\xda\xdb\xdc\xd8\xd9\xda\xdb\xdb\xdb\xde\xda\xdb\xdb\xdb\xdb\xdb\xde\xda\xda\xdb\xdb\xdb\xdb\xde\xda\xdb\xdb\xdb\xdb\xdb\xde\xda\xdb\xdc\xd6\xdc\xd7\xff\xd8\xd8\xda\xda\xdb\xd9\xdc\xd9\xdb\xdc\xd6\xdd\xd8\xd9\xdc\xd7\xfc\xd7\xdd\xd9\xd9\xdb\xdc\xd9\xd9\xdb\xde\xd9\xd8\xdb\xdf\xda\xda\xdd\xd9\xd9\xda\xde\xda\xdb\xdf\xdc\xd5\xdb\xff\xd6\xde\xdc\xd9\xd9\xd8\xdd\xd9\xda\xfe"));
|
|
rcv($sock_b, $port_a, rtpm(0, 2001, 4160, $ssrc, "\x40\x40\x40\x40\x41\x3f\x45\x42\x59\x43\xbd\x17\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x02\x02\x03\x04\x04\x04\x05\x05\x06\x06\x06\x07\x07\x08\x08\x08\x09\x09\x09\x0a\x0a\x0a\x0b\x0b\x0c\x0c\x0c\x0d\x0d\x0d\x0e\x0e\x0e\x0e\x0f\x0f\x0f", "\x40\x40\x40\x40\x41\x3f\x45\x42\x59\x43\xbd\x17\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x02\x02\x03\x04\x04\x04\x05\x05\x06\x06\x06\x07\x07\x08\x08\x08\x09\x09\x09\x0a\x0a\x0a\x0b\x0b\x0c\x0c\x0c\x0d\x0d\x0d\x0e\x0e\x0e\x0e\x0f\x0f\x0f"));
|
|
# DTX -> CN
|
|
rcv($sock_b, $port_a, rtpm(0, 2002, 4320, $ssrc, "\x0f\x10\x10\x11\x11\x12\x13\x14\x17\x19\x22\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x02\x02\x03\x03\x04\x04\x05\x05\x06\xa5\x40\x28\xad\xbd\xa4\x3c\xe6\x32\x1e\x42\x21\x35\x50\xb4\xac", "\x0f\x10\x10\x11\x11\x12\x13\x14\x17\x19\x22\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x02\x02\x03\x03\x04\x04\x05\x05\x06\x07\x07\x08\x08\x08\x09\x09\x0a\x0a\x0a\x0b\x0b\x0c\x0b\x0d\x0b"));
|
|
rcv($sock_b, $port_a, rtpm(0, 2003, 4480, $ssrc, "\xda\x22\x37\xa6\xaa\x26\x2b\x2e\xad\x31\x24\x29\x3b\xb4\x20\x5e\x1f\x5e\x2e\xb5\xa4\x36\x31\xd4\xb3\xa0\xb2\x9e\x2f\x3a\x23\x6b\x27\xdc\x3f\xb2\x30\x29\xa5\x38\x4a\xbb\x1f\x33\xac\xb3\xa9\xa7\xb2\x39\xab\x34\xb0\x1f\xa5\x1e\x2d\xa6\x2e\xff\x47\x41\x25\x23\xb0\xad\x2b\xb7\x57\xae\x30\xa4\x29\xbf\x55\x2a\x1f\x37\x46\xb0\x2a\xcc\x2e\xac\xac\xfd\xbf\x2e\x2d\x26\xa2\xa0\xba\xbf\xbc\x34\xa8\xbb\xac\x9f\xaf\x26\x2e\x47\xd2\x38\xcb\x64\xa9\x3d\xbc\xf0\x23\x41\x44\x3c\x1f\xae\xaf\x1f\xc7\xa7\x4c\x4b\x64\x4a\x25\xc1\x27\xaa\xac\xde\x27\xab\x39\xb2\xb7\xb9\x28\x26\xd3\x39\x9e\x30\xaf\xad\x3e\x21\x23\x20\x4e\x49\xaa\xcb\xae\x2e\x32\x1f\xac\x2d", "\x44\xdf\x31\xb9\xd1\xb2\x49\xe9\x40\x2e\x4f\x31\x42\x63\xc5\xba\xef\x33\x43\xb4\xbb\x36\x3a\x3e\xbd\x40\x34\x37\x4d\xc6\x31\x5c\x30\x5c\x41\xc9\xb1\x40\x45\xf6\xbe\xb2\xbd\xaf\x42\x43\x35\x5d\x39\x78\x54\xc4\x41\x37\xb4\x47\x58\xc9\x2e\x44\xbd\xbf\xbb\xb4\xc6\x4e\xbe\x4a\xc5\x31\xb7\x2f\x3b\xb4\x3c\xfe\x56\x4d\x35\x30\xbd\xbf\x3d\xcc\xf0\xc2\x47\xb8\x3c\xdb\xf1\x36\x32\x40\x5f\xc4\x3b\xe4\x3e\xbd\xbb\x7c\xce\x3e\x3c\x37\xb3\xae\xcc\xca\xcf\x46\xb9\xc6\xbd\xae\xc0\x37\x3c\x5c\xec\x4a\xdf\xfd\xb9\x4e\xcc\xf0\x33\x4f\x53\x4a\x2f\xbf\xbe\x2e\xd1\xb7\x60\x52\xf2\x4f\x37\xda\x39\xbc\xb9\x6c\x39\xbd\x4c\xc4\xc4\xc9\x38\x36\xe8\x4b\xaf\x43"));
|
|
rcv($sock_b, $port_a, rtpm(0, 2004, 4640, $ssrc, "\x1e\x2b\xb8\x9f\xa2\x9e\x6e\x3f\x25\x28\xad\x24\xa8\xab\x61\x1e\xba\x1e\x28\xae\xaf\x29\x3d\x43\xa9\x9e\x29\x24\xb1\x37\x2a\x20\xac\x39\xa3\xb7\x28\xac\xad\xaf\x43\x3f\x2e\xa7\xab\xbd\xaa\x2a\x3d\xb0\x4d\x44\xad\x23\x4d\x21\x9e\x1e\xa6\xc6\x27\x2e\x27\xa6\xc9\x26\x3d\xb7\xc9\x24\xa9\xa6\x3d\xa4\x29\x25\xa0\x5c\xa7\xa5\x9f\x29\x9f\x31\x6b\x53\x2b\xbc\xa1\x1f\x1f\xa7\x38\xa5\xd5\x2e\xac\x26\x1e\xa1\xcc\x2f\x20\x2d\xb3\xbc\x3c\x1f\xc4\xa3\x2f\xbd\xa1\xa4\xbd\x1e\xc0\x1f\x41\xa8\xa2\xe3\xb5\x71\xb6\x22\xa3\xbd\xc6\xa9\xf1\x9e\x20\xae\x26\xc2\x24\xa7\xa2\x6f\x20\x2d\x1f\xae\xa0\xcd\xdd\xa7\xd3\xbe\x27\x40\xaf\xa8\x49\xd2\x37\xaa\x41\x31", "\xc2\xba\x48\x34\x30\x32\x51\x65\xbc\xce\xc2\x41\x3e\x31\xbe\x3f\x2d\x3c\xc9\xae\xb2\xae\x69\x52\x33\x39\xbf\x36\xba\xb8\x5a\x2f\xcf\x2f\x35\xbb\xc2\x3a\x48\x57\xba\xad\x37\x35\xc4\x49\x37\x31\xbd\x4a\xb4\xc5\x38\xbc\xbc\xbf\x53\x4d\x3d\xb7\xba\xcb\xba\x3b\x48\xbd\x50\x5f\xc1\x36\x4d\x34\xb0\x30\xb9\xcc\x34\x40\x35\xb4\xd9\x36\x4b\xc6\xd8\x33\xb9\xb5\x4b\xb2\x37\x37\xb2\xf4\xb9\xb1\xb0\x3c\xb1\x46\x5f\x6f\x39\xc9\xb2\x2f\x2f\xb7\x49\xb5\xdc\x3c\xbb\x35\x2e\xb2\xd7\x3e\x30\x3c\xc2\xcc\x4b\x2f\xd3\xb2\x3e\xca\xb2\xb2\xd0\x2f\xd7\x30\x4a\xb5\xb4\xdc\xc9\xea\xc9\x32\xb3\xcc\xcf\xbb\xdf\xb0\x34\xc3\x3a\xe3\x38\xba\xaf\x5b\x33\x39\x30\xc0"));
|
|
# start audio again
|
|
snd($sock_a, $port_b, rtp(9, 2003, 4960, 0x5678, "\x3a\x96\x24\x86\x21\x84\x04\x8c\x4d\xd0\xd1\xd2\x94\xd5\xd5\xd6\xd7\xd8\x98\xd8\xd8\xd8\xd8\xd8\xd8\xd8\xd9\xd9\xda\xda\xda\xdb\xdc\x9a\xda\xdb\x9c\xda\xda\x9c\xda\xda\xdb\xdc\xda\xdb\xdd\xdb\xdb\xdc\xda\xdb\xdb\xdd\xda\xdb\xdc\xda\xda\xda\xdc\xd9\xd9\xdb\xdc\xd8\xd8\xda\xdb\xdc\xd8\xd9\xda\xdb\xdb\xdb\xde\xda\xdb\xdb\xdb\xdb\xdb\xde\xda\xda\xdb\xdb\xdb\xdb\xde\xda\xdb\xdb\xdb\xdb\xdb\xde\xda\xdb\xdc\xd6\xdc\xd7\xff\xd8\xd8\xda\xda\xdb\xd9\xdc\xd9\xdb\xdc\xd6\xdd\xd8\xd9\xdc\xd7\xfc\xd7\xdd\xd9\xd9\xdb\xdc\xd9\xd9\xdb\xde\xd9\xd8\xdb\xdf\xda\xda\xdd\xd9\xd9\xda\xde\xda\xdb\xdf\xdc\xd5\xdb\xff\xd6\xde\xdc\xd9\xd9\xd8\xdd\xd9\xda\xfe"));
|
|
rcv($sock_b, $port_a, rtpm(0, 2005, 4800, $ssrc, "\xae\x2b\x9f\x22\x9f\xe8\xb8\xb6\xa8\x29\xdb\x4d\xca\x1e\x9e\x33\x2d\xef\xa1\x2b\x46\xb2\x1f\xa5\xcf\xb0\xa0\x26\xb1\xb7\x2e\xab\xb6\x23\x1e\xf4\xaa\x20\xaf\x2e\xaa\x1f\xad\xad\x1f\xa6\x48\xc1\x3d\x26\x68\x61\xed\x20\xd2\xda\xa3\x20\x23\x59\x35\xb1\x44\x22\x9e\xcc\x2a\x36\x20\xa7\xaf\xa7\xa4\x21\xb2\xa3\x2b\x22\x47\x22\xbe\x9e\x2d\x28\x9e\x9f\x2a\xad\x22\xc6\xb2\x25\x24\xc8\x9e\xb9\xa2\xa8\x56\xa1\x21\xe5\x1f\x54\xac\x68\xaf\xb4\x1f\xea\xaf\xb9\x26\xb4\x28\x52\xa9\x9e\x21\xbb\x60\x1f\xab\x9e\xa2\x2d\xa5\x38\xa7\x29\xbd\xa3\x26\xa1\xa9\x2f\x26\xa0\x3a\x4c\xab\x29\xa8\xb0\x07\x07\x08\x08\x08\x09\x09\x0a\x0a\x0a\x0b\x0b\x0b\x0c\x0c\x0c", "\xae\xe8\xdc\xb9\xd7\xd1\x38\x4b\xbd\xb9\x5a\xe0\x46\xb8\x4c\x45\xc1\x3e\xb2\x36\xb3\xd3\xd4\xbd\xbc\x3d\x61\xf6\xf6\x31\xb0\x49\x3a\xe2\xb3\x3c\x51\xc0\x2e\xb4\xdc\xbf\xb0\x36\xc1\xc5\x3c\xb9\xc8\x34\x2d\xe0\xbc\x32\xc2\x40\xbc\x30\xbe\xbb\x2e\xb5\x54\xce\x4b\x37\x68\x7b\x73\x31\xeb\xdb\xb5\x31\x31\x6f\x42\xbf\x50\x32\xae\xd9\x39\x45\x30\xb7\xbe\xb6\xb4\x31\xc2\xb2\x3a\x32\x54\x31\xcd\xae\x3e\x37\xad\xaf\x3b\xbe\x33\xda\xbf\x33\x34\xdc\xad\xcb\xb0\xb9\x76\xb2\x32\x6c\x30\x56\xb9\x5d\xbc\xc8\x31\x68\xbc\xce\x38\xc8\x3a\x55\xb6\xaf\x31\xcb\x6a\x2f\xbb\xad\xb4\x3f\xb7\x4b\xb9\x3a\xce\xb2\x35\xb0\xb8\x3d\x36\xb0\x49\x5b\xbc\x3b\xbc\xb6"));
|
|
snd($sock_a, $port_b, rtp(9, 2004, 5120, 0x5678, "\x3a\x96\x24\x86\x21\x84\x04\x8c\x4d\xd0\xd1\xd2\x94\xd5\xd5\xd6\xd7\xd8\x98\xd8\xd8\xd8\xd8\xd8\xd8\xd8\xd9\xd9\xda\xda\xda\xdb\xdc\x9a\xda\xdb\x9c\xda\xda\x9c\xda\xda\xdb\xdc\xda\xdb\xdd\xdb\xdb\xdc\xda\xdb\xdb\xdd\xda\xdb\xdc\xda\xda\xda\xdc\xd9\xd9\xdb\xdc\xd8\xd8\xda\xdb\xdc\xd8\xd9\xda\xdb\xdb\xdb\xde\xda\xdb\xdb\xdb\xdb\xdb\xde\xda\xda\xdb\xdb\xdb\xdb\xde\xda\xdb\xdb\xdb\xdb\xdb\xde\xda\xdb\xdc\xd6\xdc\xd7\xff\xd8\xd8\xda\xda\xdb\xd9\xdc\xd9\xdb\xdc\xd6\xdd\xd8\xd9\xdc\xd7\xfc\xd7\xdd\xd9\xd9\xdb\xdc\xd9\xd9\xdb\xde\xd9\xd8\xdb\xdf\xda\xda\xdd\xd9\xd9\xda\xde\xda\xdb\xdf\xdc\xd5\xdb\xff\xd6\xde\xdc\xd9\xd9\xd8\xdd\xd9\xda\xfe"));
|
|
rcv($sock_b, $port_a, rtpm(0, 2006, 4960, $ssrc, "\x0d\x0d\x0d\x0e\x0e\x0e\x0f\x10\x13\x15\x1e\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x02\x02\x03\x04\x04\x05\x05\x06\x07\x07\x07\x08\x08\x09\x09\x0a\x0a\x0a\x0b\x0b", "\x13\x0c\x0e\x0d\x0e\x0e\x0f\x10\x13\x15\x1e\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x02\x02\x03\x04\x04\x05\x05\x06\x07\x07\x07\x08\x08\x09\x09\x0a\x0a\x0a\x0b\x0b"));
|
|
|
|
rtpe_req('delete', 'G.722 reverse DTX', { 'from-tag' => ft() });
|
|
|
|
|
|
|
|
($sock_a, $sock_b) = new_call([qw(198.51.100.11 5000)], [qw(198.51.100.11 5002)]);
|
|
|
|
($port_a) = offer('high ptime',
|
|
{ replace => ['origin'], codec => {
|
|
transcode => ['PCMA'],
|
|
} }, <<SDP);
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 198.51.100.11
|
|
s=tester
|
|
t=0 0
|
|
m=audio 5000 RTP/AVP 0
|
|
c=IN IP4 198.51.100.11
|
|
a=sendrecv
|
|
a=ptime:320
|
|
----------------------------------
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 203.0.113.1
|
|
s=tester
|
|
t=0 0
|
|
m=audio PORT RTP/AVP 0 8
|
|
c=IN IP4 203.0.113.1
|
|
a=rtpmap:0 PCMU/8000
|
|
a=rtpmap:8 PCMA/8000
|
|
a=sendrecv
|
|
a=rtcp:PORT
|
|
a=ptime:320
|
|
SDP
|
|
|
|
($port_b) = answer('high ptime',
|
|
{ replace => ['origin'] }, <<SDP);
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 198.51.100.11
|
|
s=tester
|
|
t=0 0
|
|
m=audio 5002 RTP/AVP 8
|
|
c=IN IP4 198.51.100.11
|
|
a=sendrecv
|
|
a=ptime:320
|
|
--------------------------------------
|
|
v=0
|
|
o=- 1545997027 1 IN IP4 203.0.113.1
|
|
s=tester
|
|
t=0 0
|
|
m=audio PORT RTP/AVP 0
|
|
c=IN IP4 203.0.113.1
|
|
a=rtpmap:0 PCMU/8000
|
|
a=sendrecv
|
|
a=rtcp:PORT
|
|
a=ptime:320
|
|
SDP
|
|
|
|
snd($sock_a, $port_b, rtp(0, 2000, 4000, 0x5678, "\x40" x 2560));
|
|
($ssrc) = rcv($sock_b, $port_a, rtpm(8, 2000, 4000, -1, "\x68" x 2560));
|
|
snd($sock_a, $port_b, rtp(0, 2001, 6560, 0x5678, "\x40" x 2560));
|
|
rcv($sock_b, $port_a, rtpm(8, 2001, 6560, $ssrc, "\x68" x 2560));
|
|
# DTX -> CN
|
|
rcv($sock_b, $port_a, rtpm(8, 2002, 9120, $ssrc, "\x8c\x68\x02\x87\x94\x8e\x17\xc5\x19\x34\x6e\x08\x1c\x7e\x9f\x86\xf4\x09\x12\x8c\x81\x0c\x06\x05\x84\x18\x0e\x03\x16\x9f\x0a\x4c\x35\x4f\x05\x9c\x8e\x1d\x18\xf2\x9e\x8a\x99\xb4\x05\x11\x0e\x59\x02\xc8\x6b\x99\x1a\x03\x8c\x13\x67\x96\x35\x1e\x86\x9e\x80\x82\x99\x10\x86\x1f\x9b\x0a\x8f\x35\x04\x8c\x04\xd5\x63\x69\x0f\x09\x9a\x84\x01\x92\x71\x84\x1b\x8f\x03\xea\x73\x00\x0a\x13\x62\x9b\x00\xe4\x04\x87\x86\xd5\xea\x04\x04\x0d\x89\x8a\x91\xea\x97\x1f\x83\x96\x87\xb5\x85\x0d\x04\x63\xfc\x13\xe7\x46\x83\x14\x97\xd2\x0e\x69\x6d\x17\x0a\x85\x9a\x35\xe3\x8d\x64\x67\x46\x66\x0c\xe9\x02\x80\x87\xcf\x0d\x81\x10\x99\x92\x90\x03\x0c\xfd\x10\xb4\x1b\x9a\x87\x6a\x08\x09\x0b\x7b\x61\x81\xe7\x85\x05\x19\x0a\x87\x04\x34\x06\x93\x8a\x88\xb5\x5c\x6b\x0f\x02\x84\x0f\x82\x81\x40\x34\x91\x34\x03\x85\x9a\x03\x14\x6f\x80\xb5\x03\x0e\x98\x12\x00\x0a\x86\x10\x8e\x92\x03\x87\x87\x85\x6f\x6a\x04\x82\x81\x94\x80\x01\x14\x9b\x65\x6c\x84\x09\x65\x0b\xb4\x34\x8d\xe2\x02\x05\x0d\x8c\xe1\x0c\x14\x92\xe1\x0e\x80\x8d\x15\x8e\x03\x0c\x8b\x4b\x8d\x8f\xb5\x00\xb5\x18\x59\x72\x01\x97\x88\x35\x35\x8d\x13\x8f\xf3\x04\x87\x0d\x35\x88\xe4\x1a\x0a\x04\x9e\x94\x17\x0a\xec\x89\x1a\x94\x88\x8e\x94\x34\xe8\x35\x69\x82\x89\xc6\x9c\x52\x9d\x08\x89\x94\xe2\x80\xd3\xb5\x0b\x84\x0d\xee\x0e\x8d\x88\x5d\x0b\x07\x35\x84\x8a\xfa\xc8\x82\xfd\x95\x0d\x69\x9a\x83\x61\xfd\x12\x81\x69\x18\x85\x06\xb5\x08\xb5\xda\x93\x9d\x82\x03\xf5\x65\xe6\x35\xb5\x1e\x04\xdd\x88\x06\x62\x99\x35\x8f\xf9\x9a\x8a\x0d\x98\x92\x04\x81\x9d\x09\x35\xd0\x80\x0a\x85\x04\x80\x35\x87\x87\x35\x8c\x60\xe9\x14\x0d\x5b\x43\xdf\x0b\xfc\xf4\x8e\x0a\x0e\x77\x1c\x98\x6c\x08\xb5\xe4\x00\x1d\x0a\x82\x85\x8d\x8f\x08\x99\x8e\x01\x09\x63\x08\x95\xb4\x04\x03\xb5\xb5\x00\x87\x08\xe2\x99\x0c\x0e\xe1\xb5\x90\x88\x82\x71\x8b\x0b\xc4\x35\x72\x87\x5a\x9a\x9f\x0a\xd8\x9a\x90\x0c\x9f\x03\x7c\x83\xb5\x0b\x96\x43\x35\x81\xb4\x89\x04\x8f\x13\x82\x00\x94\x8e\x0c\x8b\x80\x05\x0c\x8b\x11\x64\x81\x03\x83\x9b\x0b\x85\x88\x09\x47\x07\xc9\x05\x92\x90\xfa\xb5\x90\x8a\x1a\x35\x94\x92\x35\x45\x19\x89\x40\x8d\x84\x89\x15\x88\x77\x19\x02\x85\x99\x7a\xff\x8f\x89\x82\xea\x8f\x80\x18\x8b\x94\x07\x9a\x84\xb4\x9f\x05\x83\x99\x91\x0f\x8f\x80\x64\x17\x91\x16\x0c\x11\x8f\xf2\x76\x8d\x89\x1a\x00\xb4\x86\xea\x16\x19\x1e\x34\xe5\xeb\x85\xe5\x10\x84\xe7\x83\x67\xc7\xea\x04\x89\x68\x86\x03\x35\xe8\x93\x61\x91\x07\x8b\x07\x1b\x16\x9a\x04\xeb\xe1\x1a\x4b\xe4\x68\x6d\x9c\x1b\x0a\x0c\x1c\x14\x42\x00\x8e\x57\x0c\x01\x60\x1a\x0c\x12\xeb\x89\x8f\x1a\x35\x02\x0f\xb5\x35\x35\xeb\x8a\x84\x8e\x09\x7a\x80\x8e\x89\x6a\x65\x8f\x81\x87\x04\x0c\x80\xd9\x1f\xca\x8d\x06\x96\xe8\x8f\x66\x1f\x1b\xd1\x0f\x08\x8b\x0a\x99\x83\x16\xb4\x90\x84\x1a\x34\x8b\xec\x92\x03\x82\xfd\x40\x0d\x71\x41\x6c\x4e\x0d\x0f\xfd\x34\x7f\x99\x7e\x65\x7c\x91\x00\x69\x14\x4a\x74\x8a\x08\x9c\x1b\x92\x86\x34\x04\x9e\x81\x9b\x60\x66\x87\xb4\x8a\xe7\xf0\xe2\x07\x0e\x00\x82\x77\xee\x82\xb5\x19\xe8\x17\x9c\x64\xc9\x12\x01\xe3\x8e\x04\x69\x66\x9b\x90\x0f\x07\xfb\x8e\x1b\x89\x0a\x59\x0d\x9e\xb5\x82\x0d\x15\xea\x35\x5b\x04\x9d\x04\x90\x0f\xdc\x14\xf8\x93\x1c\x8f\x07\x4e\xec\x08\x14\x80\x02\x92\x95\xb5\x7e\xb5\x81\x8d\x35\x8b\x09\x90\x82\xe0\x0c\xe5\xe4\x1b\x92\x00\x04\x01\xeb\x11\x0b\x8a\xc9\x35\x8b\x0f\x47\x82\x8f\x08\x4c\x05\x8c\x0b\x6a\x07\x83\x8b\x81\x99\x95\x84\x1a\x9d\x8a\x00\x34\x94\x34\xd3\x1b\x34\xff\x9e\x73\x9b\x82\x8d\x07\x05\x84\x35\x79\xfd\x00\x8e\x82\x07\x07\x8c\x00\x8f\x01\x0f\x96\x08\xd4\x06\x50\x90\xb5\x12\x08\x0d\x82\xd3\x98\x6e\x04\x1a\x0b\x0a\x02\x93\x8e\x5c\xb5\x6a\x1f\x35\x9e\x06\x0f\x92\x4a\x95\x08\x9f\xf1\xb5\x61\x07\x0e\xdb\x12\x80\x00\x0e\x65\x9f\x8c\x06\xf8\x05\xfa\x63\xb4\x8f\xed\x04\x0d\x00\x87\x73\x08\x01\x64\xed\x48\x91\x99\x83\x8d\x8b\x0c\x1a\xeb\x61\x01\x1c\x58\x8d\xb5\xe6\x03\x8e\xb4\xe2\x84\x9c\x0a\x92\x02\x03\x92\x04\x09\x0a\x91\xe8\x63\x94\x1c\x87\x03\x98\x00\x0f\x67\x7a\x6f\xe3\x96\x05\x1f\x83\x16\x8a\x0f\x12\x19\x47\x07\x08\x0b\x1d\x0c\xe9\x0f\x82\x74\x85\x8c\x90\x9a\x0b\x5f\x07\x8f\xb4\x04\x8b\x98\x08\xb5\xf1\x8e\x04\x04\xb4\x15\x9f\x02\x44\x08\x0d\x5a\xb5\x40\x07\x00\x67\x34\x61\x9f\x12\x18\x9a\x04\x8d\x98\xe8\x00\x0f\x9b\xb4\x91\x9b\x0d\x06\x80\x0e\x08\x11\x0a\x89\x85\x18\x10\x0a\x16\x06\x58\x9a\x99\x8d\x0f\x82\x80\xb5\x03\xeb\x6f\x75\x80\x56\x86\xc3\xc8\xb5\x8e\x86\x1c\xf0\xe9\x62\x88\x9a\x0f\xf2\x70\x0f\xcb\x01\x35\x1c\x34\x92\x8b\x01\x87\x02\x07\x0c\x0e\xed\x67\x94\x8a\x72\x82\x70\x62\x8e\xc3\x45\x84\x9e\x84\x35\x8c\x81\x87\x34\x9a\x10\x8d\xfd\xe0\x68\x8b\x69\x4d\xb5\x80\x10\x00\x01\x0b\x09\x02\x95\x41\x0d\x6f\x04\x8e\xf2\x8b\x14\x02\xf8\x04\x1d\x0d\x0d\x91\x06\x8a\x7f\x86\x96\x9c\x0a\x95\x78\x8a\xe7\x18\x86\x14\x1b\x94\x0c\x00\x62\x35\x09\x02\x8f\xb4\x08\x52\x35\x03\xe1\x08\xce\xe9\x05\x18\x87\x55\x82\x76\x7b\x07\xea\x13\x83\x19\xb4\x99\x80\x17\x07\x0a\x1a\xd3\x9b\x07\x02\x83\x01\x84\xf0\x0c\xc1\xd9\x0b\x9f\xe5\x89\x0e\x0b\x17\xb4\x66\xd7\x66\x70\x1f\xe9\x8f\x0f\x02\x89\x99\x86\x9b\x9b\xee\x35\x92\x8a\x8d\x93\xea\x89\x82\x66\x9d\x0f\x87\x1b\xe8\xed\xe0\x88\xf6\x0d\x84\x0a\x06\x66\x82\x01\x5c\x02\xee\x01\x84\x61\x10\x52\x17\x9d\x9d\x6b\x9d\x8a\xe4\x11\x35\xe1\x01\x16\x83\x1e\x8a\x17\x6b\x8c\x14\x88\x77\x35\x14\x02\x1c\xc8\x12\x34\xed\x81\xb4\x35\x0d\x10\x5c\xb5\x6d\x8f\x8f\x89\xf1\xea\x61\x0c\x8e\x8c\xe2\x90\x4f\x0f\xf1\x84\x34\x0c\x45\x68\x83\x35\x8f\x91\x17\x65\x06\x8b\x0e\x83\x81\xb5\x01\x80\x8a\x0a\x13\xd4\x7c\x06\x35\xde\x91\x98\x11\x11\x8e\x07\x0d\x66\x04\x09\x7c\x1c\x87\x14\x08\x9f\x8d\xe3\x8a\x88\xef\x0f\x8e\x09\x19\x03\x42\x8e\x91\x04\x18\x88\x90\x88\x75\x00\x6f\x85\xcf\x88\x81\x9f\x86\x9b\xfa\x1d\x98\x0a\x13\xc8\xb5\x10\x8c\x1b\x81\xe4\x16\x1a\x83\x09\x96\x8e\x8a\x03\x8f\x0d\x09\x48\x8b\x6f\x6b\x8e\x88\x43\x89\x8b\xb4\x03\x8e\x8d\xff\x84\x98\x9a\x8f\x03\x8f\x83\x81\x95\x19\x8f\x9d\x8b\x1f\x9c\xeb\x05\x94\x56\x1f\x8f\x8b\x00\x08\x85\x0a\xef\x02\xb5\x67\x03\x0b\x65\x15\xc7\xe6\x8f\x43\xe4\x84\x11\x09\x61\x98\x1a\x82\x0e\xf8\x96\xb4\xe3\x13\x8f\x18\x85\x83\x0d\x0e\x69\x84\x84\x1e\x16\x14\x91\xb5\x09\x96\xe2\xda\x9a\x80\x05\x53\x8e\x06\x80\x47\x80\xf8\x01\x99\xe5\x85\x00\x58\x61\x83\x35\x52\x92\xc8\x0b\x08\x4f\x02\x16\x88\xe9\xd5\x96\xef\x11\x00\x01\x1b\x8e\xeb\x43\x06\x04\xb5\x0c\x8e\x60\x1b\x17\x67\x8d\x80\x13\x35\x04\x08\x0d\x1c\x02\x7c\x99\x03\x0f\x63\xb5\x35\x80\x03\x8d\x79\x0d\x4b\x8c\x8c\x92\x82\x82\x9f\x87\x0d\x06\x81\x12\x83\x94\x86\x95\x0a\xe5\x14\xb4\x6a\x0f\x10\x87\x8a\x08\x0e\x97\xb5\x9a\x0e\x0a\xc3\x92\x91\x0c\x0d\x91\x35\x99\x01\x8f\xfd\x78\x09\x1e\x74\x03\x88\x09\x89\x80\x83\x03\x05\xc8\x14\xca\x1f\xb5\xb4\x12\x81\x8c\x64\x9d\x8f\x05\x98\x08\x09\x07\x4c\x49\x89\x00\x8a\xcd\x35\x43\x7f\x96\x8b\x8a\x98\x78\x8d\x14\x0e\x1c\x34\x63\x11\x0e\x81\x7e\x11\x35\x11\x1b\x04\xb4\x06\x69\xfe\xf8\x84\x87\x8e\x9b\x14\x84\x97\x94\xb4\x6c\x9e\x8e\x90\x8e\x35\x8e\xea\xb4\x12\x08\x71\x8f\x35\x7d\x8a\x98\x6c\x84\x8d\x01\x1a\xe4\x8b\x0f\x0c\x84\x35\xb4\x13\x89\x35\x11\x67\x8f\x88\x07\x0a\x80\x07\xb5\x6e\xb5\x04\x84\x83\x1f\x99\x34\x8c\x0f\x86\x94\xb5\x8e\x7b\x0a\x12\xf4\x80\x04\x8b\x63\x07\x18\x46\x64\x0f\x86\x1b\x05\x6d\x63\xeb\xb5\xb4\x8e\xf5\x82\xe6\x00\x08\xe4\x81\xee\x82\x7d\xe2\x9a\x16\x11\x16\x83\x08\x52\x14\x83\xe2\x06\x84\x9b\x8d\xf4\xe3\x0a\x00\x10\x60\xe7\x85\x89\x97\x0b\x8e\x02\x95\x84\xdd\x9a\x92\x1e\x35\x11\xcd\xb4\x0e\x8a\x34\x90\x02\x12\x1c\x09\xe5\x4b\x83\x0c\x7c\x8a\x01\xef\xb5\x1e\x6b\x92\x14\x98\x13\x08\xee\x1c\x83\x07\x68\x08\x35\x8b\x09\x0a\x8c\x13\x81\x15\x86\x1d\x8c\x8b\x7c\xe5\xf7\x1d\x09\xec\x1c\xb5\x0f\x05\x84\xee\x35\x0a\x35\x0a\xc2\xde\x0c\x99\x8f\x8f\x13\x87\xef\x34\x5e\xf3\x9f\xfa\x94\x14\x81\x96\x72\x8b\x0f\x91\x10\x8f\x87\x89\x01\x85\x80\xb5\x68\x94\x8b\x80\x8f\x1c\x35\x60\xe7\x82\x11\x02\x86\x35\x98\xb5\x12\x34\x35\x90\x80\x86\x8d\x34\x7e\x0d\x7a\x8a\xe1\x00\x89\x87\x1d\x60\x17\x93\x1d\x9a\x05\xec\x98\x80\x93\x0e\x84\x8e\x51\x16\x12\x89\x11\x0d\x1f\x34\x8f\x02\x8a\x16\x03\xf5\x91\x84\x9f\x02\xf1\x0d\x83\x8e\x86\xe8\x73\x9f\x13\x8b\x34\xb5\x09\x8d\x8f\xeb\x09\x80\x0f\x0e\x82\x91\x7c\x41\x8a\xc2\x45\x06\xdb\x8f\x0a\x69\x0c\xed\x0f\x98\xb5\x11\x07\x8b\xb4\x0d\x1a\x6d\x82\xc6\xea\x61\x1c\x9e\x34\x8c\x04\xe7\x01\x8b\x19\x62\x35\x5c\xec\x80\x8b\x1a\x88\x02\x07\xd7\x9f\x69\x06\xc6\x0f\x83\x0f\x9e\x89\x35\x9e\x8e\x83\x89\x07\x34\x71\x8c\x1d\x63\xd8\x1a\x8a\x45\x35\x96\x02\xdb\x1a\x09\xf4\xf4\x62\x97\x0f\x01\xc5\x88\x0e\x05\x35\x08\x05\x9b\x88\x18\x67\x08\x8d\xe6\x65\x64\x67\x12\x35\x06\x83\x8d\x96\x12\x12\x35\x80\x02\x0a\x87\x0d\xf4\x82\xca\x64\xf3\x98\x8e\x8c\x8a\x98\x1a\xc0\x04\x7c\x35\x0d\xe8\x66\xe7\x12\xe0\x9c\x8e\x16\x0a\x84\x97\x99\xe6\x81\x0d\xe1\x8f\xb4\x98\xef\x0e\x35\x72\xed\x35\x87\xee\xfe\x68\xf6\xf5\x9e\x15\x86\x66\x8c\x95\xe5\x1f\x0e\x99\xca\x0d\x0c\x83\x88\x1c\xf1\x84\x35\x0f\x80\x8d\xf8\x9c\x1e\x80\x13\x87\x64\x19\x7e\x9d\x0d\x7e\x02\x8d\x99\xeb\x08\x8e\x6d\x84\x84\x98\x89\x8c\x34\x05\x13\xe0\x8b\x1f\x82\x82\xb5\x17\xf5\x06\xec\x98\x1c\x02\x15\xb4\x0f\x1a\x89\x8d\x9a\x81\x1d\x80\x09\x95\x0a\x0f\x9c\x15\x93\x9d\x10\xe6\x11\x0d\xea\x95\x0a\x0c\xe6\x67\x84\xf9\x12\x8c\x06\x06\x82\x17\x87\x35\xfe\x68\x8b\x35\x88\xd9\x92\xb5\x7a\xee\x61\x92\x81\x35\x73\x8c\xd5\x07\x01\x12\x0e\x05\x95\x84\x13\x9b\x85\x0e\xf3\xe6\x86\x93\x83\x05\x09\x34\x17\x15\xeb\x41\x0f\x19\x10\x89\xfe\x35\x02\x09\x00\x8b\x8a\x8a\x89\x13\x80\x01\x06\x00\x0f\x8b\x8f\x0a\xed\x88\x9b\x9a\x35\x99\xe0\x41\x35\xed\x65\x0d\x18\x0b\x03\x8a\xe7\xfd\x8b\x8b\x06\x4e\x7b\x82\x04\x84\xb5\x83\x35\x0b\x8a\x09\xc6\x99\x85\x5f\x00\xeb\x00\x0f\x90\x85\x8f\x8e\x03\x6a\x86\x91\x7f\xb5\x02\x8b\xb5\x8a\x34\x9d\x65\x60\x71\xdd\x8e\x03\x9c\x02\x07\x03\x35\x03\x07\xe7\x85\x01\xb4\x89\x0e\x02\x65\x6b\x82\x88\x00\x6e\x18\xf0\xb5\x0c\x86\x9d\x8a\x88\xd8\x14\x8d\x87\x8c\x8c\x85\x81\xb4\x13\x83\x03\x47\x14\x02\xe1\x07\xd1\x89\x0d\x79\x0f\x17\x6a\x35\x05\x35\x7b\x35\x09\x88\x80\x02\xe0\x6b\x88\x9e\x17\x08\x9d\x69\x8a\x1e\xb5\x14\x1f\x86\x9d\xfa\x07\x02\x06\x9e\x0a\x8d\x1d\xf1\x63\x0d\x86\xfb\x0e\x8c\x93\x85\x86\x4d\x77\x84\x4d\x10\x89\x0b\x0c\x1c\x92\x83\x6d\x07\x10\x80\x78\xe9\x80\x90\x35\x9c\x83\x1c\x02\x68\x02\x0f\xe5\x35\x1e\x34\x65\x19\x35\x0f\x03\x89\x89\x35\x95\x83\x56\x9e\x8f\x34\x16\x85\x1d\x03\x98\x07\x61\x9c\x0a\x86\x88\x87\x81\xe8\xf5\x83\xb5\x03\x8b\x45\x1f\x0e\x0e\x11\x02\x03\x88\xb5\x17\x05\x0e\xd6\x16\x8a\x1c\x88\x89\x02\xfe\x0f\xb5\x95\x07\xcf\x64\x19\x35\x04\x00\x80\x84\x48\x0b\x0c\x0f\x8c\x09\x05\x5f\x96\x0c\xec\x06\x02\x84\xf0\xb4\x1f\x0a\x82\x82\x06\x14\x85\x06\x81\x03\x04\x4e\x35\x1a\x00\x77\x34\x68"));
|
|
rcv($sock_b, $port_a, rtpm(8, 2003, 11680, $ssrc, "\x99\x85\xf4\x9e\x8d\x88\x06\x01\x14\xb5\x00\xb4\xb5\x84\x06\x4c\x1a\x85\x06\x08\x8b\x8b\x08\xf1\x83\xef\x94\xb5\x10\xe7\x10\x81\xe8\x0c\x8b\xf4\xb5\x0b\x05\x1e\x0e\x8a\xe9\x80\x02\x9a\x04\x81\x1e\x94\x89\x0d\x80\xe1\x84\xd6\x13\x93\x97\x15\x8e\x1a\x4c\x9c\x0b\x0c\xef\x86\x88\x8a\x85\x0b\x35\x8d\xb5\x09\x84\x91\x1b\x1d\x8b\x18\xe9\x9a\x7c\x94\x1a\x18\x01\x08\x0f\x85\xb5\x06\x35\x02\xb5\x79\x81\x05\x42\x8e\x0b\x97\xf8\x00\x87\xf3\x35\x14\x86\x94\x8c\x98\xdc\x94\x04\x9e\x9b\x07\x0f\x0a\xe6\x03\x66\x97\x0c\x93\x6e\x03\x8d\x18\x9d\x90\x0e\xe5\x0d\x1f\x07\x08\x8f\xb5\x34\x7a\x00\x02\x1f\x0d\x90\x92\x19\x91\x8d\xb5\x0e\x87\xe1\x9a\x85\x0e\x11\x0b\x86\x0e\x04\x84\x96\x1f\x89\x9c\x8b\x6f\x10\x6a\xf2\x87\x8e\xfc\x1b\x01\x01\x8d\x69\xd8\xf4\x88\x0b\x86\x89\x8c\x00\x71\x06\x88\x35\x1b\x1d\x69\xb4\x8a\x0b\x8d\x67\x8d\x8c\x0d\x0a\x16\xdd\x35\x82\x11\x97\xee\x1e\x83\x18\x9f\x0f\xf0\x08\x35\x19\x8c\x84\x81\x82\x01\x04\x9e\x80\x05\x0a\x1f\x35\xfa\x5f\xb4\x83\x10\x01\x87\x89\x7b\x8b\x07\x87\x09\x93\x80\x0f\xc9\x90\x9c\x87\x1d\x89\x84\x8e\x61\x91\x35\x03\x8d\x04\xee\x05\x08\xf0\xf6\xe0\x15\x11\x8b\x93\xe9\x9f\xb5\x97\x0b\x9e\xed\x09\x9c\x10\x8d\x65\x89\xe5\x96\x83\xe1\xf6\x11\x88\xef\x0e\x82\x0e\xf2\x88\x85\x9a\x9a\xd3\x98\x95\x13\x35\xeb\x87\x83\x1e\xf5\x04\x06\xe1\xf6\x86\x82\x98\x09\x00\x08\x7f\x1c\x0e\x08\x64\x14\x06\x35\x34\x07\x82\xc5\x8e\x94\x88\xe4\x63\xb5\x9f\x69\x10\x88\x87\x95\x80\x07\x9e\x00\x1a\x40\x87\x8a\x84\xb5\xe6\x35\xe8\x07\x05\xef\x35\x84\xd7\x99\x8f\x02\xb5\x00\x13\x35\xf7\x8e\x17\x92\x8d\x69\x0b\x0b\x91\x72\xb5\x73\x18\xe8\x05\xe2\x35\xee\x50\x08\xfd\xeb\x1c\x99\x8b\x07\x1b\x66\x73\x01\x1e\x87\x82\x85\x73\x06\x07\x11\x07\x0d\x35\x01\x85\x10\x0c\x96\x0b\x01\x97\x0f\x7a\x6d\x90\xfd\x1c\x19\x85\x0e\x0c\x0b\x97\x63\x19\x81\x50\x03\x00\x96\x85\x89\x91\x06\x07\xea\xca\x8a\x05\x8c\x35\x06\xb5\x6a\xe4\xc8\x82\x9a\x0a\x96\x06\x96\x62\x8f\x09\x0c\x81\x05\x67\x10\x8f\x09\x8e\x88\x06\x8c\x09\x82\xb5\x03\x14\x0a\x10\x14\x12\x87\x46\xd4\xc7\x66\xec\x84\xea\xf2\xdb\x82\x80\xe7\x7e\x09\x98\x16\x8b\x64\x07\x0b\xe1\x11\x9b\x12\x34\x12\x07\x47\x06\xb5\x04\x8a\x15\x8b\x8b\x16\x98\xcf\x0a\x07\x35\x12\x02\x19\x66\x79\xfe\x1e\x00\x98\x18\x82\xe9\x1f\x35\x65\x8e\x7e\x17\x8a\x76\x0c\xee\x84\x8c\x0c\x9a\x84\xc0\x02\x89\x07\x94\x8a\x11\x6e\x8a\x35\x11\x7e\x06\x9f\x8d\x03\x79\x6b\xe5\x0c\x81\x08\x08\x72\x0a\x06\x0d\x05\xb5\x0e\x90\x82\x6e\xe3\x93\x96\x8b\xb5\x9c\x86\x87\x62\x34\x35\x04\x64\x35\x88\x03\x83\x8e\x0f\x09\x82\x6e\x11\xe4\x58\x89\x05\x8f\x12\x08\x85\x81\x86\x7f\x07\x8b\x1b\x01\x14\xe0\x14\x35\x88\x02\x88\x8c\x68\x86\x97\x02\x06\xb4\xb4\x88\x0c\x17\x67\x09\x02\x88\xb5\xb4\x0c\xb4\x14\x0a\x02\xeb\x8a\x86\xe3\xee\xcf\x18\x1c\x83\x6a\x05\x99\x8c\x12\x11\x0a\x04\x0a\x9a\x88\x87\x82\x1b\x0e\x8e\x02\x0d\x0d\xb5\xff\x01\x5e\x84\x04\x92\x40\x58\x54\xe0\x0a\x07\xb5\x8c\x18\x01\x88\x79\x35\x8c\x02\x18\x0d\x10\xed\x15\x09\x9e\x35\x04\x08\x34\x81\x8e\x8c\x97\x07\xe7\x0d\xf1\x1a\xd5\x1b\x89\x8e\x01\x89\x03\x8c\x5a\xb4\x8c\x03\x69\x0a\xe5\xb4\x6a\xeb\x8f\x89\x0a\x96\x35\x8d\xf2\xcd\x8f\x84\xd1\x0e\x09\x1c\xd8\x8d\x35\x4a\xfd\x68\x0d\x14\x41\x1f\x89\x0d\x0f\x90\x83\x84\x6f\x0d\x0e\x1d\x90\x91\x17\x83\x81\x84\x88\x9c\x7c\xe1\x35\x8c\x75\x03\x09\xfd\x03\x01\x83\x0c\x35\x35\x34\x14\x18\x9f\x06\x16\x1f\x94\x9d\x00\xe6\x92\x12\x14\x1c\x01\xe7\x09\xe6\x16\x00\xea\x1d\x8b\x0d\x57\x8a\xdf\xb5\x87\x77\x85\xb4\x8d\x06\x35\x0d\x02\x0b\x0f\x04\xfd\x0d\x14\x0b\x08\xd5\x35\x9e\x9d\x0d\x12\x09\x86\x56\x85\x17\x0c\x89\x04\xd8\x41\x9e\x81\x64\x0e\x80\x98\x64\x6e\x99\xef\x81\x04\xd9\xf4\x99\x0e\x64\x8e\x8c\x08\x6d\x01\x1a\x8a\x66\x81\x1b\x1d\x8d\x8c\xeb\x4b\x83\x8d\x12\x6a\x8e\xef\x86\xeb\x77\xec\xf2\x07\x84\x1e\x0b\x7b\x02\x02\x62\x07\x0e\x14\x09\x02\x95\x1b\x65\x01\xef\x35\x03\x1f\x0b\x14\x86\x84\x1a\x34\x02\x8f\x0b\x35\x52\x91\x1c\x90\x35\xe9\x6d\xe5\x87\x0a\x72\x96\x93\x0c\x89\x98\x03\x97\x8c\x81\x86\x10\x90\xe0\x9a\x6a\x95\x9b\x47\x86\xe3\xb5\x34\x0d\x82\x85\x82\x84\x03\x0d\x14\x06\x89\xb5\x09\x6c\x35\x16\x77\x92\x94\x8e\x17\x82\xea\x77\x91\x74\x44\x87\x66\x02\x84\x88\x61\x9c\xfd\x97\x06\x1f\x85\xf6\x09\xf6\x6c\x92\x9b\x52\x00\x00\x35\x08\x00\x04\x01\x84\x9b\x88\xe3\xc5\x1a\x73\xb5\x54\x8e\x89\x1c\x64\x15\x87\x0f\xcb\xf9\x93\x99\x98\x08\x95\x35\x16\x03\xe6\x0a\xb4\x0a\x8e\x0d\x07\x80\x12\x34\xb5\x35\xb4\x64\x05\x08\x87\x07\x0f\x84\x12\xf4\xfb\x14\xe8\x0c\x00\x19\x09\x89\x8a\x9a\x88\xc6\x05\x4e\xb5\x8b\x0d\xb4\x08\x9d\xd6\xc4\x7d\x0a\x0e\x35\x1e\x82\x1b\x89\x0f\x05\x0d\x19\xb5\xc7\x1e\x17\x0f\x03\xb5\x12\x08\x93\xc0\xd3\x8e\x1d\x00\x81\xfd\x8a\x35\x04\x93\x83\xcd\x89\x09\x9b\xef\x7c\x35\x0c\x9e\x04\xee\x88\xb4\x43\x82\x47\x00\x8f\x06\x70\xfb\x99\x9b\x88\xe5\x01\x8b\x34\xdd\xe2\x19\x1b\xb4\x01\x0f\x06\x16\xeb\x34\x79\xc6\x8a\x8f\xb5\x0b\xee\x0a\x0f\x11\x84\x8e\x35\x84\x07\x0f\x80\x8e\x1e\x82\x83\x83\x96\x0d\x0d\x87\xfb\x81\xb5\xf3\x66\xc9\x1e\x07\xb5\x16\xef\x7f\x8a\x0a\x16\x0e\x07\x82\x1c\x68\x8b\x66\x0c\xb5\x92\x35\x12\x0d\x65\xb5\x83\x00\x8d\x13\x90\x0a\xb4\x02\x9b\x8d\x0c\x8c\x08\x96\x0b\x07\x35\x05\xd5\x82\x0d\x81\xef\x0f\xe2\x85\x90\x1c\x00\x43\xcc\x75\x8a\x82\x5e\x71\xc8\xec\x0e\xee\x0c\xd0\x12\x0d\xff\x85\x35\x05\xf8\x6c\x92\x90\x13\x88\x57\x18\x0c\x9c\x82\x0f\xe0\xec\x1a\x1c\xb4\x96\x00\x06\x03\x81\x05\x18\x83\x89\xd4\x80\x0c\xc4\x95\x8f\x8f\x13\x0d\x1f\x0a\x0e\x84\x05\x83\x0f\x93\x84\x86\x8e\x8c\x60\x1d\x07\x90\x10\x8c\xf3\x8f\x66\x18\x34\x81\x90\xb5\xea\x35\x6e\xd0\x8a\x86\x1d\x17\x03\x03\x62\xb5\x65\x8f\xf7\x90\x81\x02\x04\x00\xdd\xee\x86\x53\x07\x88\x1b\x82\x0e\x09\x15\x4c\x88\x65\x07\x09\x0e\x97\x1f\xfb\x90\xec\xe0\x65\x02\x8a\x91\x35\x0e\x10\xe6\x8d\x8e\x85\x16\x09\x8a\x8d\x85\x0a\x8e\xb5\x9d\x9a\x82\x34\xf3\x8f\x0a\x42\x1e\x82\x1a\xee\x87\x11\x50\xce\x8c\x1c\x8c\x0f\xe2\x0d\xb5\x10\x0d\x96\x1a\x04\x97\xb4\x9d\x81\x8d\x59\x8c\x03\x01\xc6\x65\x02\x8e\x60\x01\x9e\x66\x0a\x9b\x98\x07\xef\x0f\xb4\x9d\x8f\x96\x70\xe2\x1c\x8f\x9b\x09\xe5\x88\x48\x9a\x9e\x80\x71\x86\xf3\x07\xe6\xe5\x70\x04\xe6\x83\x8d\xb5\xea\x06\xec\x0f\x10\x08\x07\x98\x12\x01\xe4\xb5\x9d\x1e\xb5\x6c\x73\xb5\x9d\x8b\xb4\x8c\xe4\x9e\x8d\x83\x98\x0e\x35\x8a\x8f\x02\x89\xf7\x67\x9e\x87\x8c\x89\x8f\x03\x9c\x46\x6f\x86\x6f\x80\x05\x6d\x1b\x8a\x92\x8d\x80\x8d\x81\x0c\x0f\xfe\x0a\x8d\x09\xea\x06\x69\x07\x76\x08\x08\x6a\x01\x9a\x68\x8a\x8e\x92\x98\x17\xf9\x96\x8a\x82\x90\x0b\x80\xb5\x86\x0f\x8b\x9d\x02\x8d\x8a\x18\x09\x89\x08\x64\x19\x79\x0f\x02\x80\x0a\x07\x86\x1c\x89\xe8\x83\xe6\x05\x0a\x06\x01\x9f\x0a\x89\x1f\x1e\x1c\x89\x14\xf7\xd2\x15\xf6\x7e\x00\x9d\xb4\x94\xb5\x14\x01\x06\x8e\x8f\x1a\x5d\x34\x9f\x65\x07\xb4\x0b\x06\x42\x81\x4f\x65\xcb\x94\xb5\x67\x84\x0c\x00\x05\x72\x92\x00\x00\x09\x82\x05\x99\x18\x01\x1a\x89\xcc\x99\x81\x84\x8d\xca\x13\xb5\x04\xcc\x9a\x9b\x91\x13\x03\x80\x08\x06\x75\x8b\x03\x08\xf9\x69\xf0\x6a\x06\xb5\x82\xef\xfa\x78\x0a\xb4\x02\x04\x1a\x1f\xea\xfb\x06\x6c\x85\x6a\x8d\x1a\x85\x56\x15\x91\x8b\x05\x0a\x8c\x71\xb5\x84\x81\x89\x09\x80\x90\xe3\x80\x85\x0c\x7d\x35\x03\x7e\xfe\xe6\xee\x0f\x8c\x7a\x0c\x63\x8c\xdd\x0c\x35\x8e\x88\x69\x01\x35\x8d\x85\x1e\x99\x1f\x56\x0b\x0e\x81\x34\x8d\x04\x18\x6f\x02\x16\x8e\x86\x8a\x02\xb5\x05\x9d\xb4\xe9\xcb\x06\x81\x0f\x0d\x91\x89\xce\x0d\x1f\x18\x75\x8c\x99\x8b\x5b\x8e\x83\xeb\x0e\x9f\xf6\xd3\x85\xfd\x0e\x9b\xc4\x16\x9d\x87\x05\x79\x34\xee\xb5\x88\x80\x9b\x56\x84\x0b\x8e\xdd\x8d\x8e\x6b\xc6\x56\x1a\x9f\x81\x35\x92\x16\x81\x92\x80\x9b\x0f\xe7\x9b\x07\x91\x0b\x11\x17\x16\xfb\x83\x8f\x6d\x1f\x8f\x81\x4e\xe1\x03\x09\x12\x86\xcb\x07\x43\x07\x4d\xd6\x09\x08\x8a\x12\x1b\x16\xf1\x14\x02\x15\x86\x1e\x1d\x76\xe7\x95\x82\x0a\x06\x35\xc7\x89\x82\x18\x87\x8f\x92\x7f\x8d\x08\x86\x35\x06\x85\x0c\x92\x8f\x18\x78\x35\x0d\x8b\x35\x5d\x09\x08\x8b\x94\xf0\x6c\x89\x8b\x08\xe5\x1b\x0e\x1e\x9f\x4f\x8a\x07\x83\x83\x00\xce\x9b\x1c\x83\xf8\x91\xfb\x72\xef\x97\x88\x79\xb4\x69\xe1\x8f\x03\x16\x8b\x80\x1d\xe9\x8d\x63\x05\x8c\xb4\x9e\x82\x09\xe2\xe9\xf5\x91\x6d\xf1\x0b\x13\x00\x6d\xef\x05\x8c\x8e\x8f\x8f\xb5\x9a\x8a\x12\x8b\x8b\x92\x88\x86\x0f\x04\xb5\x06\x09\x9b\x8e\x93\x34\x06\x03\x1f\x8f\x1b\x7f\x82\x89\x1f\x05\x84\x05\x05\x87\x00\x6a\x0e\x8a\x88\x8b\x80\x49\x05\xf1\x8c\xef\x8d\x8a\x94\x90\x04\x54\xe0\x0f\x97\x0d\x0d\x9a\x88\x13\x64\x8e\x8c\xef\x85\x04\x6b\x86\x82\x83\x8b\x92\xdb\x1f\x04\x9a\x87\x67\xda\x66\xe9\xe4\x82\x90\x9e\x97\x0f\x8c\x54\x7f\x86\x8f\x86\x84\x8c\x41\xb4\xe0\x81\xed\x11\x1b\x76\x0a\x04\x80\x1d\x06\x83\x05\x1a\x34\x06\x14\x0f\x1c\x9d\xe8\x76\x01\x07\xb5\xe1\x63\x03\x06\x0c\xe7\xe7\x0b\x0a\xb4\x05\x86\x99\xeb\x81\x01\x87\x35\x1e\x85\x1d\x98\x9e\x84\x72\x01\x88\x09\x95\xfb\x0c\x8c\x96\x13\xf3\x04\x84\x8c\xee\xf4\xb4\x82\xe1\x34\x12\x8b\x0b\x8c\x86\x8f\xc8\xfa\x82\x81\x0e\x64\x0a\xda\x87\x15\x1c\x66\x92\xe3\xb5\x09\x11\x99\x8a\x9a\x1a\x97\x81\x03\x05\x8f\xfc\x5e\x8d\x8e\x05\x67\x8d\xb4\x8f\xe1\xf5\x06\x1d\x96\xee\x73\x80\x1d\x80\x94\x96\x84\x05\x06\x44\xe4\x98\x9d\x0c\xb5\x6f\x82\x92\x9c\xb5\x1a\x82\x6e\xb5\x86\x07\xb4\x15\xea\x85\x0e\xb5\x02\x01\x82\x10\x75\x1c\x06\x18\x14\x02\xf7\x8c\xf6\x1a\x04\xb5\x90\x80\xcf\xe9\x8b\x15\x99\x61\xb5\xf1\x96\xb5\x0e\x0b\x4d\xdd\x8c\x9a\x04\xf6\x92\x07\x93\x80\x1d\x59\x5e\x8f\x86\x86\x9c\x01\x01\xf4\x35\xe3\x8d\x03\x7a\x92\x0b\xfa\xec\x34\xb5\x79\x8a\x03\x45\x35\x11\x6c\x0a\x35\x93\x8c\x34\x0a\x94\xc5\x07\x8f\x8c\x96\xe8\x00\xe5\x0f\x0a\x8b\x73\x35\x01\x05\x8e\x08\x1a\x9e\x71\x03\xd5\xfc\x55\x18\x34\xe5\x08\x82\x0c\x06\x0c\xb5\x06\x14\x0f\x0e\x87\x8c\x8e\x0b\x9a\x90\x91\x92\xcc\x8e\x89\x12\x0a\x06\x8b\x8d\x00\x8d\x90\x00\x0e\x07\x87\x9b\xb5\x63\x34\x0e\x90\x0e\x9c\x8f\x81\x86\xb4\xe8\x84\x9c\x0f\x11\x85\x10\x8a\x01\x93\x1c\xeb\x8d\x03\xe4\xb5\x13\x35\x07\x81\x96\x90\x9d\x0a\x12\x69\x1d\x81\x8f\x97\x04\x1a\x05\x8f\x04\x70\x0a\x35\x06\x03\x7a\x05\x34\xdc\xe9\x08\x9c\x02\xb5\xdd\x34\x92\x92\x6d\x07\x8f\x34\xe7\x14\x83\x86\x14\x02\x6a\x0e\xe2\xea\x16\x86\x96\x93\xd1\x34\x84\x80\x1f\x1c\x09\x18\x01\x6c\x8e\x02\x9f\x6d\x97\x64\x91\xb4\x82\x08\x6f\x80\x8d\x82\x8a\x1a\x84\x1f\x89\x68\x87\x7f\x00\x88\x89\x82\x16\x83\x8f\x1c\x93\xfa\x01\x8e\x03\x00\x35\x06\x0a\x8c\x17\x9d\x9f\x35\x61\x8a\x00\x93\x98\x0c\x9c\x88\x02\xc9\x0b\x7f\x14\xe3\xee\x83\x7f\x8c\x0a\x9e\x65\x08\xd0\x8e\x05\x89\x48\x6d\x35\x0a\x08\x9c\xea\x9b\xb5\x16\x01\x8b\x61\x9f\x87\xcc\xe8\x89\x12\x05\x9f\x89\x4f\xb5\x12\x86\x99\x85\x0e\x0e\xe1\x88\x91\x0b\x10\x95\x13\x8d\x19\xed\x0a\x1b\x89\x8c\xdf\x11\x13\x34\x35\x06\x86\x04\xb4\x17\x4c\x6b\x0b\x09\x69\x9e\x35\x76\x34\xe1\x62\x53\x8d\x18\x00"));
|
|
# start audio again
|
|
snd($sock_a, $port_b, rtp(0, 2002, 14240, 0x5678, "\x40" x 2560));
|
|
rcv($sock_b, $port_a, rtpm(8, 2004, 14240, $ssrc, "\x68" x 2560));
|
|
|
|
rtpe_req('delete', 'high ptime', { 'from-tag' => ft() });
|
|
|
|
|
|
|
|
|
|
done_testing();
|