diff --git a/perl/NGCP/Rtpengine/AutoTest.pm b/perl/NGCP/Rtpengine/AutoTest.pm index 1aa9cbae3..760f6b242 100644 --- a/perl/NGCP/Rtpengine/AutoTest.pm +++ b/perl/NGCP/Rtpengine/AutoTest.pm @@ -282,18 +282,23 @@ sub rcv { ($m) = unpack('N', $m); } } - if ($port == -1 && @matches) { - if (sockaddr_family($addr) == AF_INET) { - my @addr = unpack_sockaddr_in($addr) or die; - unshift(@matches, $addr[0], inet_ntoa($addr[1])); - } - elsif (sockaddr_family($addr) == AF_INET6) { - my @addr = unpack_sockaddr_in6($addr) or die; - unshift(@matches, $addr[0], inet_ntop(AF_INET6, $addr[1])); - } - else { - die; - } + my ($rport, $raddr); + if (sockaddr_family($addr) == AF_INET) { + my @addr = unpack_sockaddr_in($addr) or die; + ($rport, $raddr) = ($addr[0], inet_ntoa($addr[1])); + } + elsif (sockaddr_family($addr) == AF_INET6) { + my @addr = unpack_sockaddr_in6($addr) or die; + ($rport, $raddr) = ($addr[0], inet_ntop(AF_INET6, $addr[1])); + } + else { + die; + } + if ($port != -1) { + is($port, $rport, "receive port matches"); + } + elsif ($port == -1 && @matches) { + unshift(@matches, $rport, $raddr); } return @matches; } diff --git a/t/auto-daemon-tests-audio-player-play-media.pl b/t/auto-daemon-tests-audio-player-play-media.pl index 364fe9403..9c5693ca4 100755 --- a/t/auto-daemon-tests-audio-player-play-media.pl +++ b/t/auto-daemon-tests-audio-player-play-media.pl @@ -186,7 +186,7 @@ a=sendrecv a=rtcp:PORT SDP -($seq_b, $ts_b, $ssrc_b) = rcv($sock_a, $port_b, rtpm(0 | 0x80, -1, -1, -1, "\xff" x 160)); +(undef, undef, $seq_b, $ts_b, $ssrc_b) = rcv($sock_a, -1, rtpm(0 | 0x80, -1, -1, -1, "\xff" x 160)); ($port_b) = answer('early media', { 'audio-player' => 'force', flags => ['early media'] }, < 'force', flags => ['early media'] }, < ['all', 'SIPREC'], 'to-tag' => $ttr }, < ft() }, < ft() }, < ft(), codec => { strip => ['PCMA'], transcode => ['PCMU'] } }, <