From ceee9f12f2d814946fcb9e2a4393f3282ede3522 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Thu, 29 May 2025 08:03:28 -0400 Subject: [PATCH] MT#55283 add RTCP tests Change-Id: If686285e3424490620f48a89ada29a5dd4cc9398 (cherry picked from commit 849e16de467d1ff6bed35e9eaf0b314def2b1152) (cherry picked from commit 9ad410adcd80b3a64c7819e53cf5504a76a42098) --- t/Makefile | 8 +-- t/auto-daemon-tests-rtcp.pl | 108 ++++++++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+), 4 deletions(-) create mode 100644 t/auto-daemon-tests-rtcp.pl diff --git a/t/Makefile b/t/Makefile index 5148aff3c..fb25e82ad 100644 --- a/t/Makefile +++ b/t/Makefile @@ -105,7 +105,7 @@ include ../lib/common.Makefile daemon-tests-main daemon-tests-jb daemon-tests-dtx daemon-tests-dtx-cn daemon-tests-pubsub \ daemon-tests-intfs daemon-tests-stats daemon-tests-delay-buffer daemon-tests-delay-timing \ daemon-tests-evs daemon-tests-player-cache daemon-tests-redis daemon-tests-t38 daemon-tests-evs-dtx \ - daemon-tests-measure-rtp daemon-tests-heuristic + daemon-tests-measure-rtp daemon-tests-heuristic daemon-tests-rtcp TESTS= test-bitstr aes-crypt aead-aes-crypt test-const_str_hash.strhash ifeq ($(with_transcoding),yes) @@ -143,7 +143,7 @@ daemon-tests: daemon-tests-main daemon-tests-jb daemon-tests-pubsub daemon-tests daemon-tests-evs daemon-tests-async-tc \ daemon-tests-audio-player daemon-tests-audio-player-play-media \ daemon-tests-intfs daemon-tests-stats daemon-tests-player-cache daemon-tests-redis \ - daemon-tests-rtpp-flags daemon-tests-measure-rtp daemon-tests-heuristic + daemon-tests-rtpp-flags daemon-tests-measure-rtp daemon-tests-heuristic daemon-tests-rtcp daemon-test-deps: tests-preload.so $(MAKE) -C ../daemon @@ -209,8 +209,8 @@ daemon-tests-t38: daemon-test-deps spandsp_recv_fax_pcm spandsp_recv_fax_t38 \ spandsp_send_fax_pcm spandsp_send_fax_t38 ./auto-test-helper "$@" perl -I../perl auto-daemon-tests-t38.pl -daemon-tests-evs-dtx: daemon-test-deps - ./auto-test-helper "$@" perl -I../perl auto-daemon-tests-evs-dtx.pl +daemon-tests-rtcp: daemon-test-deps + ./auto-test-helper "$@" perl -I../perl auto-daemon-tests-rtcp.pl test-bitstr: test-bitstr.o diff --git a/t/auto-daemon-tests-rtcp.pl b/t/auto-daemon-tests-rtcp.pl new file mode 100644 index 000000000..d93f857ff --- /dev/null +++ b/t/auto-daemon-tests-rtcp.pl @@ -0,0 +1,108 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use NGCP::Rtpengine::Test; +use NGCP::Rtpclient::SRTP; +use NGCP::Rtpengine::AutoTest; +use Test::More; +use Test2::Tools::Compare qw(); +use NGCP::Rtpclient::ICE; +use POSIX; +use Data::Dumper; + + +autotest_start(qw(--config-file=none -t -1 -i 203.0.113.1 -i 2001:db8:4321::1 + --measure-rtp --mos=LQ -n 2223 -f -L 7 -E --log-level-internals=7)) + or die; + + +my ($sock_a, $sock_b, $sock_ax, $sock_bx, + $port_a, $port_ax, $port_b, $port_bx, + $resp); + + +($sock_a, $sock_ax, $sock_b, $sock_bx) = new_call( + [qw(198.51.100.1 7124)], + [qw(198.51.100.1 7125)], + [qw(198.51.100.3 7126)], + [qw(198.51.100.3 7127)], +); + +($port_a, $port_ax) = offer('RTCP generation', { flags => ['generate RTCP'] }, < ['generate RTCP'] }, <{SSRC}{4660}{'average MOS'}{MOS}, 44, 'MOS'); +is($resp->{SSRC}{4660}{'average MOS'}{'packet loss'}, 0, 'packet loss'); +is($resp->{SSRC}{26505}{'average MOS'}{MOS}, 44, 'MOS'); +is($resp->{SSRC}{26505}{'average MOS'}{'packet loss'}, 0, 'packet loss'); + + +#done_testing;NGCP::Rtpengine::AutoTest::terminate('f00');exit; +done_testing();