|
|
|
|
@ -79,6 +79,201 @@ sub stun_succ {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
new_call;
|
|
|
|
|
|
|
|
|
|
offer('stray ICE reset after hold',
|
|
|
|
|
{ ICE => 'remove', 'ICE-lite' => 'backward', 'rtcp-mux' => ['demux'] }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 172.17.0.5
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
c=IN IP4 172.17.0.5
|
|
|
|
|
m=audio 4024 RTP/AVP 0
|
|
|
|
|
a=ice-pwd:bd5dfhdfddd8e1bc6
|
|
|
|
|
a=ice-ufrag:q25293
|
|
|
|
|
a=candidate:1 1 UDP 2130706303 172.17.0.5 4024 typ host
|
|
|
|
|
a=candidate:1 2 UDP 2130706302 172.17.0.5 4025 typ host
|
|
|
|
|
a=rtcp-mux
|
|
|
|
|
----------------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 172.17.0.5
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
m=audio PORT RTP/AVP 0
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=sendrecv
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
($port_a, undef, $ufrag_a) = answer('stray ICE reset after hold',
|
|
|
|
|
{ ICE => 'force' }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 172.17.0.5
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
c=IN IP4 172.17.0.5
|
|
|
|
|
m=audio 4026 RTP/AVP 0
|
|
|
|
|
----------------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 172.17.0.5
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
a=ice-lite
|
|
|
|
|
m=audio PORT RTP/AVP 0
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=sendrecv
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
a=rtcp-mux
|
|
|
|
|
a=ice-ufrag:ICEUFRAG
|
|
|
|
|
a=ice-pwd:ICEPWD
|
|
|
|
|
a=candidate:ICEBASE 1 UDP 2130706431 203.0.113.1 PORT typ host
|
|
|
|
|
a=candidate:ICEBASE 1 UDP 2130706175 2001:db8:4321::1 PORT typ host
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
offer('stray ICE reset after hold',
|
|
|
|
|
{ ICE => 'remove', 'ICE-lite' => 'backward', 'rtcp-mux' => ['demux'] }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 172.17.0.5
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
c=IN IP4 172.17.0.5
|
|
|
|
|
m=audio 4024 RTP/AVP 0
|
|
|
|
|
a=ice-pwd:bd5dfhdfddd8e1bc6
|
|
|
|
|
a=ice-ufrag:q25293
|
|
|
|
|
a=candidate:1 1 UDP 2130706303 172.17.0.5 4024 typ host
|
|
|
|
|
a=rtcp-mux
|
|
|
|
|
----------------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 172.17.0.5
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
m=audio PORT RTP/AVP 0
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=sendrecv
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
($port_a, undef, $ufrag_a) = answer('stray ICE reset after hold',
|
|
|
|
|
{ ICE => 'force' }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 172.17.0.5
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
c=IN IP4 172.17.0.5
|
|
|
|
|
m=audio 4026 RTP/AVP 0
|
|
|
|
|
----------------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 172.17.0.5
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
a=ice-lite
|
|
|
|
|
m=audio PORT RTP/AVP 0
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=sendrecv
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
a=rtcp-mux
|
|
|
|
|
a=ice-ufrag:ICEUFRAG
|
|
|
|
|
a=ice-pwd:ICEPWD
|
|
|
|
|
a=candidate:ICEBASE 1 UDP 2130706431 203.0.113.1 PORT typ host
|
|
|
|
|
a=candidate:ICEBASE 1 UDP 2130706175 2001:db8:4321::1 PORT typ host
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
offer('stray ICE reset after hold',
|
|
|
|
|
{ ICE => 'remove', 'ICE-lite' => 'backward', 'rtcp-mux' => ['demux'] }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 172.17.0.5
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
c=IN IP4 172.17.0.5
|
|
|
|
|
m=audio 4024 RTP/AVP 0
|
|
|
|
|
a=ice-pwd:bd5dfhdfddd8e1bc6
|
|
|
|
|
a=ice-ufrag:q25293
|
|
|
|
|
a=candidate:1 1 UDP 2130706303 172.17.0.5 4024 typ host
|
|
|
|
|
a=rtcp-mux
|
|
|
|
|
a=inactive
|
|
|
|
|
----------------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 172.17.0.5
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
m=audio PORT RTP/AVP 0
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=inactive
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
($port_b, undef, $ufrag_b) = answer('stray ICE reset after hold',
|
|
|
|
|
{ replace => ['zero address'], ICE => 'force' }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 172.17.0.5
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
c=IN IP4 0.0.0.0
|
|
|
|
|
m=audio 4026 RTP/AVP 0
|
|
|
|
|
a=inactive
|
|
|
|
|
----------------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 172.17.0.5
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
a=ice-lite
|
|
|
|
|
m=audio PORT RTP/AVP 0
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=inactive
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
a=rtcp-mux
|
|
|
|
|
a=ice-ufrag:ICEUFRAG
|
|
|
|
|
a=ice-pwd:ICEPWD
|
|
|
|
|
a=candidate:ICEBASE 1 UDP 2130706431 203.0.113.1 PORT typ host
|
|
|
|
|
a=candidate:ICEBASE 1 UDP 2130706175 2001:db8:4321::1 PORT typ host
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
is($port_a, $port_b, 'port unchanged');
|
|
|
|
|
is($ufrag_a, $ufrag_b, 'ufrag unchanged');
|
|
|
|
|
|
|
|
|
|
reverse_tags();
|
|
|
|
|
|
|
|
|
|
($port_b, undef, $ufrag_b) = offer('stray ICE reset after hold',
|
|
|
|
|
{ 'ICE-lite' => 'forward', ICE => 'force', 'to-tag' => tt(), 'rtcp-mux' => ['offer'] }, <<SDP);
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 172.17.0.5
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
c=IN IP4 172.17.0.5
|
|
|
|
|
m=audio 4026 RTP/AVP 0
|
|
|
|
|
----------------------------------
|
|
|
|
|
v=0
|
|
|
|
|
o=- 1545997027 1 IN IP4 172.17.0.5
|
|
|
|
|
s=tester
|
|
|
|
|
t=0 0
|
|
|
|
|
c=IN IP4 203.0.113.1
|
|
|
|
|
a=ice-lite
|
|
|
|
|
m=audio PORT RTP/AVP 0
|
|
|
|
|
a=rtpmap:0 PCMU/8000
|
|
|
|
|
a=sendrecv
|
|
|
|
|
a=rtcp:PORT
|
|
|
|
|
a=rtcp-mux
|
|
|
|
|
a=ice-ufrag:ICEUFRAG
|
|
|
|
|
a=ice-pwd:ICEPWD
|
|
|
|
|
a=candidate:ICEBASE 1 UDP 2130706431 203.0.113.1 PORT typ host
|
|
|
|
|
a=candidate:ICEBASE 1 UDP 2130706175 2001:db8:4321::1 PORT typ host
|
|
|
|
|
SDP
|
|
|
|
|
|
|
|
|
|
is($port_a, $port_b, 'port unchanged');
|
|
|
|
|
is($ufrag_a, $ufrag_b, 'ufrag unchanged');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($amr_tests) {
|
|
|
|
|
|
|
|
|
|
# opus encoder options tests
|
|
|
|
|
|