|
|
|
@ -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 |
|
|
|
|