|
|
|
@ -19,13 +19,225 @@ autotest_start(qw(--config-file=none -t -1 -i 203.0.113.1 -i 2001:db8:4321::1
|
|
|
|
|
my ($sock_a, $sock_b, $sock_c, $sock_d, $port_a, $port_b, $port_c, $ssrc_a, $ssrc_b, $resp,
|
|
|
|
|
$sock_ax, $sock_bx, $port_ax, $port_bx, $port_d,
|
|
|
|
|
$srtp_ctx_a, $srtp_ctx_b, $srtp_ctx_a_rev, $srtp_ctx_b_rev, $ufrag_a, $ufrag_b,
|
|
|
|
|
@ret1, @ret2, @ret3, @ret4, $srtp_key_a, $srtp_key_b, $ts, $seq,
|
|
|
|
|
@ret1, @ret2, @ret3, @ret4, $srtp_key_a, $srtp_key_b, $ts, $seq, $tag_medias, $media_labels,
|
|
|
|
|
$ftr, $ttr, $fts, $ttr2);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
new_call;
|
|
|
|
|
|
|
|
|
|
($port_a) = offer('SIPREC sub',
|
|
|
|
|
{ }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.2
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio 6000 RTP/AVP 0
|
|
|
|
|
c=IN IP4 198.51.100.14
|
|
|
|
|
a=sendrecv
|
|
|
|
|
----------------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.2
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
($port_b) = answer('SIPREC sub',
|
|
|
|
|
{ }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.2
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio 6002 RTP/AVP 0
|
|
|
|
|
c=IN IP4 198.51.100.14
|
|
|
|
|
a=sendrecv
|
|
|
|
|
----------------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.2
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, $fts, $tag_medias, $media_labels) = subscribe_request('SIPREC sub',
|
|
|
|
|
{ flags => ['all', 'SIPREC'] }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- SDP_VERSION IN IP4 203.0.113.1
|
|
|
|
|
s=RTPE_VERSION
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio PORT RTP/AVP 0
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
a=label:1
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=sendonly
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
m=audio PORT RTP/AVP 0
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
a=label:0
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=sendonly
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
is $ftr, undef, 'from-tag matches';
|
|
|
|
|
is_deeply $fts, [ft(), tt()], 'from-tags match';
|
|
|
|
|
is_deeply $tag_medias, [
|
|
|
|
|
{
|
|
|
|
|
tag => ft(),
|
|
|
|
|
medias => [
|
|
|
|
|
{
|
|
|
|
|
index => 1,
|
|
|
|
|
type => 'audio',
|
|
|
|
|
label => '1',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
tag => tt(),
|
|
|
|
|
medias => [
|
|
|
|
|
{
|
|
|
|
|
index => 1,
|
|
|
|
|
type => 'audio',
|
|
|
|
|
label => '0',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
], 'tag-medias match';
|
|
|
|
|
is_deeply $media_labels, {
|
|
|
|
|
'1' => {
|
|
|
|
|
index => 1,
|
|
|
|
|
type => 'audio',
|
|
|
|
|
tag => ft(),
|
|
|
|
|
},
|
|
|
|
|
'0' => {
|
|
|
|
|
index => 1,
|
|
|
|
|
type => 'audio',
|
|
|
|
|
tag => tt(),
|
|
|
|
|
},
|
|
|
|
|
}, 'media-labels match';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
new_call;
|
|
|
|
|
|
|
|
|
|
($port_a) = offer('SIPREC sub w label',
|
|
|
|
|
{ label => 'caller' }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.2
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio 6000 RTP/AVP 0
|
|
|
|
|
c=IN IP4 198.51.100.14
|
|
|
|
|
a=sendrecv
|
|
|
|
|
----------------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.2
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
($port_b) = answer('SIPREC sub w label',
|
|
|
|
|
{ label => 'called' }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.2
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio 6002 RTP/AVP 0
|
|
|
|
|
c=IN IP4 198.51.100.14
|
|
|
|
|
a=sendrecv
|
|
|
|
|
----------------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.2
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, $fts, $tag_medias, $media_labels) = subscribe_request('SIPREC sub',
|
|
|
|
|
{ flags => ['all', 'SIPREC'] }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- SDP_VERSION IN IP4 203.0.113.1
|
|
|
|
|
s=RTPE_VERSION
|
|
|
|
|
t=0 0
|
|
|
|
|
m=audio PORT RTP/AVP 0
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
a=label:1
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=sendonly
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
m=audio PORT RTP/AVP 0
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
a=label:0
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=sendonly
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
is $ftr, undef, 'from-tag matches';
|
|
|
|
|
is_deeply $fts, [ft(), tt()], 'from-tags match';
|
|
|
|
|
is_deeply $tag_medias, [
|
|
|
|
|
{
|
|
|
|
|
tag => ft(),
|
|
|
|
|
label => 'caller',
|
|
|
|
|
medias => [
|
|
|
|
|
{
|
|
|
|
|
index => 1,
|
|
|
|
|
type => 'audio',
|
|
|
|
|
label => '1',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
tag => tt(),
|
|
|
|
|
label => 'called',
|
|
|
|
|
medias => [
|
|
|
|
|
{
|
|
|
|
|
index => 1,
|
|
|
|
|
type => 'audio',
|
|
|
|
|
label => '0',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
], 'tag-medias match';
|
|
|
|
|
is_deeply $media_labels, {
|
|
|
|
|
'1' => {
|
|
|
|
|
index => 1,
|
|
|
|
|
type => 'audio',
|
|
|
|
|
tag => ft(),
|
|
|
|
|
label => 'caller',
|
|
|
|
|
},
|
|
|
|
|
'0' => {
|
|
|
|
|
index => 1,
|
|
|
|
|
type => 'audio',
|
|
|
|
|
tag => tt(),
|
|
|
|
|
label => 'called',
|
|
|
|
|
},
|
|
|
|
|
}, 'media-labels match';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
($sock_a, $sock_b, $sock_c, $sock_d) =
|
|
|
|
|
new_call([qw(198.51.100.14 6080)], [qw(198.51.100.14 6082)], [qw(198.51.100.14 6084)],
|
|
|
|
|
[qw(198.51.100.14 6086)]);
|
|
|
|
@ -80,7 +292,7 @@ rcv($sock_a, $port_b, rtpm(0, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
snd($sock_a, $port_b, rtp(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
rcv($sock_b, $port_a, rtpm(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, $fts, $port_c, undef, $port_d) = subscribe_request('"all" sub',
|
|
|
|
|
($ftr, $ttr, $fts, undef, undef, $port_c, undef, $port_d) = subscribe_request('"all" sub',
|
|
|
|
|
{ 'flags' => ['all'] }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- SDP_VERSION IN IP4 203.0.113.1
|
|
|
|
@ -181,7 +393,7 @@ rcv($sock_a, $port_b, rtpm(0, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
snd($sock_a, $port_b, rtp(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
rcv($sock_b, $port_a, rtpm(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, $fts, $port_c, undef, $port_d) = subscribe_request('sub to multiple tags',
|
|
|
|
|
($ftr, $ttr, $fts, undef, undef, $port_c, undef, $port_d) = subscribe_request('sub to multiple tags',
|
|
|
|
|
{ 'from-tags' => [ft(), tt()] }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- SDP_VERSION IN IP4 203.0.113.1
|
|
|
|
@ -281,7 +493,7 @@ rcv($sock_a, $port_b, rtpm(0, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
snd($sock_a, $port_b, rtp(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
rcv($sock_b, $port_a, rtpm(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, $fts, $port_c, undef, $port_d) = subscribe_request('sub to multiple tags via flags',
|
|
|
|
|
($ftr, $ttr, $fts, undef, undef, $port_c, undef, $port_d) = subscribe_request('sub to multiple tags via flags',
|
|
|
|
|
{ flags => ['from-tags-' . ft(), 'from-tags-' . tt()] }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- SDP_VERSION IN IP4 203.0.113.1
|
|
|
|
@ -381,7 +593,7 @@ rcv($sock_a, $port_b, rtpm(0, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
snd($sock_a, $port_b, rtp(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
rcv($sock_b, $port_a, rtpm(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, $fts, $port_c, undef, $port_d) = subscribe_request('sub to multiple tags - reverse',
|
|
|
|
|
($ftr, $ttr, $fts, undef, undef, $port_c, undef, $port_d) = subscribe_request('sub to multiple tags - reverse',
|
|
|
|
|
{ 'from-tags' => [tt(), ft()] }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- SDP_VERSION IN IP4 203.0.113.1
|
|
|
|
@ -482,7 +694,7 @@ snd($sock_b, $port_a, rtp(0, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
snd($sock_a, $port_b, rtp(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
($ssrc_b) = rcv($sock_b, $port_a, rtpm(0, 4000, 7000, -1, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_c) = subscribe_request('sub, multi codec, sub w diff codec',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_c) = subscribe_request('sub, multi codec, sub w diff codec',
|
|
|
|
|
{ 'from-tag' => ft() }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
@ -570,7 +782,7 @@ snd($sock_b, $port_a, rtp(0, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
snd($sock_a, $port_b, rtp(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
($ssrc_b) = rcv($sock_b, $port_a, rtpm(0, 4000, 7000, -1, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_c) = subscribe_request('sub w tc - acc',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_c) = subscribe_request('sub w tc - acc',
|
|
|
|
|
{ 'from-tag' => ft(), codec => { transcode => ['PCMA'] } }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
@ -657,7 +869,7 @@ snd($sock_b, $port_a, rtp(0, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
snd($sock_a, $port_b, rtp(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
($ssrc_b) = rcv($sock_b, $port_a, rtpm(0, 4000, 7000, -1, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_c) = subscribe_request('sub w tc - rej',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_c) = subscribe_request('sub w tc - rej',
|
|
|
|
|
{ 'from-tag' => ft(), codec => { transcode => ['PCMA'] } }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
@ -744,7 +956,7 @@ snd($sock_b, $port_a, rtp(0, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
snd($sock_a, $port_b, rtp(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
($ssrc_b) = rcv($sock_b, $port_a, rtpm(0, 4000, 7000, -1, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_c) = subscribe_request('simple sub',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_c) = subscribe_request('simple sub',
|
|
|
|
|
{ 'from-tag' => ft() }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
@ -830,7 +1042,7 @@ snd($sock_b, $port_a, rtp(0, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
snd($sock_a, $port_b, rtp(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
($ssrc_b) = rcv($sock_b, $port_a, rtpm(0, 4000, 7000, -1, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_c) = subscribe_request('simple sub w label',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_c) = subscribe_request('simple sub w label',
|
|
|
|
|
{ label => 'foo' }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
@ -916,7 +1128,7 @@ snd($sock_b, $port_a, rtp(0, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
snd($sock_a, $port_b, rtp(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
($ssrc_b) = rcv($sock_b, $port_a, rtpm(0, 4000, 7000, -1, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_c) = subscribe_request('simple sub w to-tag label',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_c) = subscribe_request('simple sub w to-tag label',
|
|
|
|
|
{ label => 'bar' }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
@ -1002,7 +1214,7 @@ snd($sock_b, $port_a, rtp(0, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
snd($sock_a, $port_b, rtp(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
($ssrc_b) = rcv($sock_b, $port_a, rtpm(0, 4000, 7000, -1, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_c, undef, $srtp_key_a) = subscribe_request('SRTP sub',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_c, undef, $srtp_key_a) = subscribe_request('SRTP sub',
|
|
|
|
|
{ 'from-tag' => ft(), 'transport-protocol' => 'RTP/SAVP',
|
|
|
|
|
SDES => ['no-AEAD_AES_256_GCM', 'no-AEAD_AES_128_GCM'] }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
@ -1108,7 +1320,7 @@ snd($sock_b, $port_a, rtp(0, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
snd($sock_a, $port_b, rtp(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
($ssrc_b) = rcv($sock_b, $port_a, rtpm(0, 4000, 7000, -1, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_c, undef, undef, undef, undef, undef, $srtp_key_a) = subscribe_request('SRTP sub',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_c, undef, undef, undef, undef, undef, $srtp_key_a) = subscribe_request('SRTP sub',
|
|
|
|
|
{ 'from-tag' => ft(), 'transport-protocol' => 'RTP/SAVP',
|
|
|
|
|
SDES => ['no-AEAD_AES_256_GCM', 'no-AEAD_AES_128_GCM'] }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
@ -1241,7 +1453,7 @@ srtp_snd($sock_b, $port_a, rtp(0, 2000, 4000, 0x3456, "\x00" x 160), $srtp_ctx_b
|
|
|
|
|
srtp_snd($sock_a, $port_b, rtp(0, 4000, 7000, 0x6543, "\x00" x 160), $srtp_ctx_a);
|
|
|
|
|
($ssrc_b) = srtp_rcv($sock_b, $port_a, rtpm(0, 4000, 7000, -1, "\x00" x 160), $srtp_ctx_a);
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_c) = subscribe_request('SRTP call RTP sub',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_c) = subscribe_request('SRTP call RTP sub',
|
|
|
|
|
{ 'from-tag' => ft(), 'transport-protocol' => 'RTP/AVP', }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
@ -1328,7 +1540,7 @@ snd($sock_b, $port_a, rtp(0, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
snd($sock_a, $port_b, rtp(0, 4000, 7000, 0x6543, "\x00" x 160));
|
|
|
|
|
($ssrc_b) = rcv($sock_b, $port_a, rtpm(0, 4000, 7000, -1, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_c) = subscribe_request('ICE sub',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_c) = subscribe_request('ICE sub',
|
|
|
|
|
{ 'from-tag' => ft(), ICE => 'force' }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
@ -1400,7 +1612,7 @@ SDP
|
|
|
|
|
|
|
|
|
|
snd($sock_a, $port_a, rtp(0, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_b) = subscribe_request('publish/subscribe',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_b) = subscribe_request('publish/subscribe',
|
|
|
|
|
{ 'from-tag' => ft() }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
@ -1429,7 +1641,7 @@ SDP
|
|
|
|
|
snd($sock_a, $port_a, rtp(0, 2001, 4160, 0x3456, "\x00" x 160));
|
|
|
|
|
rcv($sock_b, $port_b, rtpm(0, 2001, 4160, 0x3456, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_b) = subscribe_request('publish/subscribe',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_b) = subscribe_request('publish/subscribe',
|
|
|
|
|
{ 'from-tag' => ft() }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
@ -1490,7 +1702,7 @@ SDP
|
|
|
|
|
|
|
|
|
|
snd($sock_a, $port_a, rtp(8, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_b) = subscribe_request('publish/subscribe w codec-accept',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_b) = subscribe_request('publish/subscribe w codec-accept',
|
|
|
|
|
{ 'from-tag' => ft() }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
@ -1519,7 +1731,7 @@ SDP
|
|
|
|
|
snd($sock_a, $port_a, rtp(8, 2001, 4160, 0x3456, "\x00" x 160));
|
|
|
|
|
rcv($sock_b, $port_b, rtpm(8, 2001, 4160, 0x3456, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_b) = subscribe_request('publish/subscribe w codec-accept',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_b) = subscribe_request('publish/subscribe w codec-accept',
|
|
|
|
|
{ 'from-tag' => ft() }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
@ -1580,7 +1792,7 @@ SDP
|
|
|
|
|
|
|
|
|
|
snd($sock_a, $port_a, rtp(8, 2000, 4000, 0x3456, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_b) = subscribe_request('publish/subscribe w unsupp and t/c',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_b) = subscribe_request('publish/subscribe w unsupp and t/c',
|
|
|
|
|
{ 'from-tag' => ft() }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
@ -1609,7 +1821,7 @@ SDP
|
|
|
|
|
snd($sock_a, $port_a, rtp(8, 2001, 4160, 0x3456, "\x00" x 160));
|
|
|
|
|
rcv($sock_b, $port_b, rtpm(8, 2001, 4160, 0x3456, "\x00" x 160));
|
|
|
|
|
|
|
|
|
|
($ftr, $ttr, undef, $port_b) = subscribe_request('publish/subscribe w unsupp and t/c',
|
|
|
|
|
($ftr, $ttr, undef, undef, undef, $port_b) = subscribe_request('publish/subscribe w unsupp and t/c',
|
|
|
|
|
{ 'from-tag' => ft(), codec => { strip => ['PCMA'], transcode => ['PCMU'] } }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 198.51.100.1
|
|
|
|
|