diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index a6d34607c..494e8bba5 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -998,7 +998,8 @@ module MGCP_Test { setverdict(pass); } - function f_TC_two_crcx_and_rtp(boolean bidir) runs on dummy_CT { + function f_TC_two_crcx_and_rtp(boolean bidir, charstring codec_name_a, integer pt_a, + charstring codec_name_b, integer pt_b) runs on dummy_CT { var RtpFlowData flow[2]; var RtpemStats stats[2]; var MgcpResponse resp; @@ -1009,13 +1010,13 @@ module MGCP_Test { f_init(ep); /* from us to MGW */ - flow[0] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 98, "AMR/8000")); + flow[0] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, pt_a, codec_name_a)); /* bind local RTP emulation sockets */ flow[0].em.portnr := 10000; f_flow_create(RTPEM[0], ep, call_id, "sendrecv", flow[0]); /* from MGW back to us */ - flow[1] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 98, "AMR/8000")); + flow[1] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, pt_b, codec_name_b)); flow[1].em.portnr := 20000; f_flow_create(RTPEM[1], ep, call_id, "sendrecv", flow[1]); @@ -1053,13 +1054,23 @@ module MGCP_Test { /* create two local RTP emulations; create two connections on MGW EP, exchange some data */ testcase TC_two_crcx_and_rtp() runs on dummy_CT { - f_TC_two_crcx_and_rtp(false); + f_TC_two_crcx_and_rtp(false, "AMR/8000", 98, "AMR/8000", 98); } /* create two local RTP emulations; create two connections on MGW EP, * exchange some data in both directions */ testcase TC_two_crcx_and_rtp_bidir() runs on dummy_CT { - f_TC_two_crcx_and_rtp(true); + f_TC_two_crcx_and_rtp(true, "AMR/8000", 98, "AMR/8000", 98); + } + + /* same as TC_two_crcx_and_rtp, but with different PT number on both ends */ + testcase TC_two_crcx_diff_pt_and_rtp() runs on dummy_CT { + f_TC_two_crcx_and_rtp(false, "AMR/8000", 98, "AMR/8000", 112); + } + + /* same as TC_two_crcx_and_rtp, but with different PT number on both ends */ + testcase TC_two_crcx_diff_pt_and_rtp_bidir() runs on dummy_CT { + f_TC_two_crcx_and_rtp(true, "AMR/8000", 98, "AMR/8000", 112); } /* create two local RTP emulations and pass data in both directions */ @@ -1328,6 +1339,8 @@ module MGCP_Test { execute(TC_one_crcx_loopback_rtp()); execute(TC_two_crcx_and_rtp()); execute(TC_two_crcx_and_rtp_bidir()); + execute(TC_two_crcx_diff_pt_and_rtp()); + execute(TC_two_crcx_diff_pt_and_rtp_bidir()); execute(TC_two_crcx_mdcx_and_rtp()); execute(TC_two_crcx_and_unsolicited_rtp()); execute(TC_two_crcx_and_one_mdcx_rtp_ho()); diff --git a/mgw/expected-results.xml b/mgw/expected-results.xml index f201099a0..92b935189 100644 --- a/mgw/expected-results.xml +++ b/mgw/expected-results.xml @@ -34,6 +34,12 @@ + + RTP packet payload type errors occurred + + + RTP packet payload type errors occurred +