MGCP_Test: Test ts101318 rfc5993 conversation with fmtp

The MGW now supports explicit HR GSM RTP format announcement via
SDP/fmtp. Lets add a testcase for this.

Depends. osmo-mgw.git Idde8da27fd335dc03b8fbd9e0fedc1491b77e9e4
Change-Id: If562955e7ae73b15dc3c4d742404741e20e31827
Related: OS#5688

Change-Id: I14421f780c4ef9e4c7e91182154070617852e957
diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn
index 362af4e..7252882 100644
--- a/mgw/MGCP_Test.ttcn
+++ b/mgw/MGCP_Test.ttcn
@@ -2239,8 +2239,8 @@
 
 
 	/* create two local RTP emulations; create two connections on MGW EP, see if
-	 * exchanged data is converted bwtween ts101318 and rfc5993 */
-	testcase TC_ts101318_rfc5993_rtp_conversion() runs on dummy_CT {
+	 * exchanged data is converted between ts101318 and rfc5993 */
+	function f_ts101318_rfc5993_rtp_conversion(octetstring pl0, octetstring pl1, charstring fmtp0, charstring fmtp1) runs on dummy_CT {
 		var RtpFlowData flow[2];
 		var RtpemStats stats[2];
 		var MgcpResponse resp;
@@ -2260,8 +2260,9 @@
 		flow[0].em.portnr := 10000;
 		flow[0].rtp_cfg := c_RtpemDefaultCfg;
 		flow[0].rtp_cfg.tx_payload_type := flow[0].pt;
-		flow[0].rtp_cfg.rx_fixed_payload := '0b11b3eede60be4e3ec68838c7b5'O;
-		flow[0].rtp_cfg.tx_fixed_payload := '0b11b3eede60be4e3ec68838c7b5'O;
+		flow[0].rtp_cfg.rx_fixed_payload := pl0
+		flow[0].rtp_cfg.tx_fixed_payload := pl0
+		flow[0].fmtp := fmtp0;
 		f_flow_create(RTPEM[0], ep, call_id, "sendrecv", flow[0]);
 
 		/* Connection #1 (Bidirectional) */
@@ -2269,8 +2270,9 @@
 		flow[1].em.portnr := 20000;
 		flow[1].rtp_cfg	:= c_RtpemDefaultCfg;
 		flow[1].rtp_cfg.tx_payload_type := flow[1].pt;
-		flow[1].rtp_cfg.rx_fixed_payload := '000b11b3eede60be4e3ec68838c7b5'O;
-		flow[1].rtp_cfg.tx_fixed_payload := '000b11b3eede60be4e3ec68838c7b5'O;
+		flow[1].rtp_cfg.rx_fixed_payload := pl1
+		flow[1].rtp_cfg.tx_fixed_payload := pl1
+		flow[1].fmtp := fmtp1;
 		f_flow_create(RTPEM[1], ep, call_id, "sendrecv", flow[1]);
 
 		/* Send RTP packets to connection #0, receive on connection #1 */
@@ -2307,6 +2309,17 @@
 		setverdict(pass);
 	}
 
+	const octetstring rtp_hr_gsm_ts101318 := '0b11b3eede60be4e3ec68838c7b5'O;
+	const octetstring rtp_hr_gsm_rfc5993 := '000b11b3eede60be4e3ec68838c7b5'O;
+
+	testcase TC_ts101318_rfc5993_rtp_conversion() runs on dummy_CT {
+		f_ts101318_rfc5993_rtp_conversion(rtp_hr_gsm_ts101318, rtp_hr_gsm_rfc5993, "", "");
+	}
+
+	testcase TC_ts101318_rfc5993_rtp_conversion_fmtp() runs on dummy_CT {
+		f_ts101318_rfc5993_rtp_conversion(rtp_hr_gsm_ts101318, rtp_hr_gsm_rfc5993, "gsm-hr-format=ts101318", "gsm-hr-format=rfc5993");
+	}
+
 	/* create two local RTP emulations; create two connections on MGW EP, see if
 	 * exchanged data is converted between AMR octet-aligned and bandwith
 	 * efficient-mode */
@@ -2972,6 +2985,7 @@
 		execute(TC_two_crcx_and_unsolicited_rtp());
 		execute(TC_two_crcx_and_one_mdcx_rtp_ho());
 		execute(TC_ts101318_rfc5993_rtp_conversion());
+		execute(TC_ts101318_rfc5993_rtp_conversion_fmtp());
 		execute(TC_amr_oa_bwe_rtp_conversion());
 		execute(TC_amr_oa_oa_rtp_conversion());
 		execute(TC_amr_bwe_bwe_rtp_conversion());