|
|
|
|
@ -22648,6 +22648,218 @@ SDP
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# a=rtcp-fb with RTP/AVP
|
|
|
|
|
|
|
|
|
|
($sock_a, $sock_ax, $sock_b, $sock_bx) = new_call([qw(198.51.100.55 2412)], [qw(198.51.100.55 2413)], [qw(198.51.100.55 3412)], [qw(198.51.100.55 3413)]);
|
|
|
|
|
|
|
|
|
|
($port_a, $port_ax) = offer('rtcp-fb with RTP/AVP - control', { }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 198.51.100.55
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio 2412 RTP/AVPF 0
|
|
|
|
|
a=rtcp-fb:0 foobar
|
|
|
|
|
----------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio PORT RTP/AVPF 0
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=rtcp-fb:0 foobar
|
|
|
|
|
a=sendrecv
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
($port_b, $port_bx) = answer('rtcp-fb with RTP/AVP - control', { }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 198.51.100.55
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio 3412 RTP/AVPF 0
|
|
|
|
|
a=rtcp-fb:* foobar
|
|
|
|
|
----------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio PORT RTP/AVPF 0
|
|
|
|
|
a=rtcp-fb:* foobar
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=sendrecv
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
snd($sock_ax, $port_bx, "\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00\x8f\xce\x00\x05\x69\x28\x80\x8c\x00\x00\x00\x00\x52\x45\x4d\x42\x01\x13\x5d\x5a\x6b\x30\x8f\x01");
|
|
|
|
|
rcv($sock_bx, $port_ax, qr/^\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00\x8f\xce\x00\x05\x69\x28\x80\x8c\x00\x00\x00\x00\x52\x45\x4d\x42\x01\x13\x5d\x5a\x6b\x30\x8f\x01$/s);
|
|
|
|
|
|
|
|
|
|
snd($sock_bx, $port_ax, "\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00\x8f\xce\x00\x05\x69\x28\x80\x8c\x00\x00\x00\x00\x52\x45\x4d\x42\x01\x13\x5d\x5a\x6b\x30\x8f\x01");
|
|
|
|
|
rcv($sock_ax, $port_bx, qr/^\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00\x8f\xce\x00\x05\x69\x28\x80\x8c\x00\x00\x00\x00\x52\x45\x4d\x42\x01\x13\x5d\x5a\x6b\x30\x8f\x01$/s);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
($sock_a, $sock_ax, $sock_b, $sock_bx) = new_call([qw(198.51.100.55 2420)], [qw(198.51.100.55 2421)], [qw(198.51.100.55 3420)], [qw(198.51.100.55 3421)]);
|
|
|
|
|
|
|
|
|
|
($port_a, $port_ax) = offer('rtcp-fb with RTP/AVP - control 2', { 'transport protocol' => 'RTP/AVP' }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 198.51.100.55
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio 2420 RTP/AVPF 0
|
|
|
|
|
a=rtcp-fb:0 foobar
|
|
|
|
|
----------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio PORT RTP/AVP 0
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=rtcp-fb:0 foobar
|
|
|
|
|
a=sendrecv
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
($port_b, $port_bx) = answer('rtcp-fb with RTP/AVP - control 2', { }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 198.51.100.55
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio 3420 RTP/AVP 0
|
|
|
|
|
----------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio PORT RTP/AVPF 0
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=sendrecv
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
snd($sock_ax, $port_bx, "\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00\x8f\xce\x00\x05\x69\x28\x80\x8c\x00\x00\x00\x00\x52\x45\x4d\x42\x01\x13\x5d\x5a\x6b\x30\x8f\x01");
|
|
|
|
|
rcv($sock_bx, $port_ax, qr/^\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00$/s);
|
|
|
|
|
|
|
|
|
|
snd($sock_bx, $port_ax, "\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00\x8f\xce\x00\x05\x69\x28\x80\x8c\x00\x00\x00\x00\x52\x45\x4d\x42\x01\x13\x5d\x5a\x6b\x30\x8f\x01");
|
|
|
|
|
rcv($sock_ax, $port_bx, qr/^\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00\x8f\xce\x00\x05\x69\x28\x80\x8c\x00\x00\x00\x00\x52\x45\x4d\x42\x01\x13\x5d\x5a\x6b\x30\x8f\x01$/s);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
($sock_a, $sock_ax, $sock_b, $sock_bx) = new_call([qw(198.51.100.55 2436)], [qw(198.51.100.55 2437)], [qw(198.51.100.55 3436)], [qw(198.51.100.55 3437)]);
|
|
|
|
|
|
|
|
|
|
($port_a, $port_ax) = offer('rtcp-fb with RTP/AVP', { 'transport protocol' => 'RTP/AVP' }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 198.51.100.55
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio 2436 RTP/AVPF 0
|
|
|
|
|
a=rtcp-fb:0 foobar
|
|
|
|
|
----------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio PORT RTP/AVP 0
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=rtcp-fb:0 foobar
|
|
|
|
|
a=sendrecv
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
($port_b, $port_bx) = answer('rtcp-fb with RTP/AVP', { }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 198.51.100.55
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio 3436 RTP/AVP 0
|
|
|
|
|
a=rtcp-fb:* foobar
|
|
|
|
|
----------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio PORT RTP/AVPF 0
|
|
|
|
|
a=rtcp-fb:* foobar
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=sendrecv
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
snd($sock_ax, $port_bx, "\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00\x8f\xce\x00\x05\x69\x28\x80\x8c\x00\x00\x00\x00\x52\x45\x4d\x42\x01\x13\x5d\x5a\x6b\x30\x8f\x01");
|
|
|
|
|
rcv($sock_bx, $port_ax, qr/^\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00\x8f\xce\x00\x05\x69\x28\x80\x8c\x00\x00\x00\x00\x52\x45\x4d\x42\x01\x13\x5d\x5a\x6b\x30\x8f\x01$/s);
|
|
|
|
|
|
|
|
|
|
snd($sock_bx, $port_ax, "\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00\x8f\xce\x00\x05\x69\x28\x80\x8c\x00\x00\x00\x00\x52\x45\x4d\x42\x01\x13\x5d\x5a\x6b\x30\x8f\x01");
|
|
|
|
|
rcv($sock_ax, $port_bx, qr/^\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00\x8f\xce\x00\x05\x69\x28\x80\x8c\x00\x00\x00\x00\x52\x45\x4d\x42\x01\x13\x5d\x5a\x6b\x30\x8f\x01$/s);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
($sock_a, $sock_ax, $sock_b, $sock_bx) = new_call([qw(198.51.100.55 2444)], [qw(198.51.100.55 2445)], [qw(198.51.100.55 3444)], [qw(198.51.100.55 3445)]);
|
|
|
|
|
|
|
|
|
|
($port_a, $port_ax) = offer('rtcp-fb with RTP/AVP t2', { 'transport protocol' => 'RTP/AVP' }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 198.51.100.55
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio 2444 RTP/AVPF 0
|
|
|
|
|
a=rtcp-fb:* foobar
|
|
|
|
|
----------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio PORT RTP/AVP 0
|
|
|
|
|
a=rtcp-fb:* foobar
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=sendrecv
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
($port_b, $port_bx) = answer('rtcp-fb with RTP/AVP t2', { }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 198.51.100.55
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio 3444 RTP/AVP 0
|
|
|
|
|
a=rtcp-fb:* foobar
|
|
|
|
|
----------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|
s=tester
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio PORT RTP/AVPF 0
|
|
|
|
|
a=rtcp-fb:* foobar
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=sendrecv
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
snd($sock_ax, $port_bx, "\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00\x8f\xce\x00\x05\x69\x28\x80\x8c\x00\x00\x00\x00\x52\x45\x4d\x42\x01\x13\x5d\x5a\x6b\x30\x8f\x01");
|
|
|
|
|
rcv($sock_bx, $port_ax, qr/^\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00\x8f\xce\x00\x05\x69\x28\x80\x8c\x00\x00\x00\x00\x52\x45\x4d\x42\x01\x13\x5d\x5a\x6b\x30\x8f\x01$/s);
|
|
|
|
|
|
|
|
|
|
snd($sock_bx, $port_ax, "\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00\x8f\xce\x00\x05\x69\x28\x80\x8c\x00\x00\x00\x00\x52\x45\x4d\x42\x01\x13\x5d\x5a\x6b\x30\x8f\x01");
|
|
|
|
|
rcv($sock_ax, $port_bx, qr/^\x80\xc8\x00\x06\x69\x28\x80\x8c\xe9\x71\x56\xff\xcc\x1e\x68\xa0\x8a\xe2\x10\xa2\x00\x00\x01\x40\x00\x03\x9d\x3a\x81\xca\x00\x06\x69\x28\x80\x8c\x01\x10\x4f\x56\x67\x71\x68\x49\x64\x72\x79\x6f\x41\x32\x47\x74\x77\x6a\x00\x00\x8f\xce\x00\x05\x69\x28\x80\x8c\x00\x00\x00\x00\x52\x45\x4d\x42\x01\x13\x5d\x5a\x6b\x30\x8f\x01$/s);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#done_testing;NGCP::Rtpengine::AutoTest::terminate('f00');exit;
|
|
|
|
|
done_testing();
|
|
|
|
|
|