diff options
Diffstat (limited to 'mgw')
-rw-r--r-- | mgw/MGCP_Test.ttcn | 32 | ||||
-rw-r--r-- | mgw/RTP_Endpoint.ttcn | 4 |
2 files changed, 30 insertions, 6 deletions
diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 659d5f1c..82ed608b 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -71,7 +71,7 @@ module MGCP_Test { res := MGCP_CodecPort_CtrlFunct.f_IPL4_connect(MGCP, mp_remote_ip, mp_remote_udp_port, mp_local_ip, mp_local_udp_port, 0, { udp := {} }); if (not ispresent(res.connId)) { setverdict(fail, "Could not connect MGCP, check your configuration"); - self.stop; + mtc.stop; } g_mgcp_conn_id := res.connId; @@ -180,9 +180,15 @@ module MGCP_Test { T.start; alt { [] MGCP.receive(mrt) -> value mrf { } - [] MGCP.receive(tr_MGCP_RecvFrom_R(?)) { setverdict(fail); } + [] MGCP.receive(tr_MGCP_RecvFrom_R(?)) { + setverdict(fail, "Response didn't match template"); + mtc.stop; + } [] MGCP.receive { repeat; } - [] T.timeout { setverdict(fail); } + [] T.timeout { + setverdict(fail, "Timeout waiting for response to ", cmd); + mtc.stop; + } } T.stop; @@ -202,7 +208,8 @@ module MGCP_Test { return str2hex(par.val); } } - setverdict(fail); + setverdict(fail, "Could not find conn id for MgcpReponse"); + mtc.stop; return '00000000'H; } @@ -390,12 +397,14 @@ module MGCP_Test { payload type should be visible in the SDP of the response. */ if (resp.sdp.media_list[0].media_field.fmts[0] != "0") { setverdict(fail, "SDP contains unexpected codec"); + mtc.stop; } /* See also OS#2658: We also expect the MGW to assign a port number to us. */ if (isbound(resp.sdp.media_list[0].media_field.ports.port_number) == false) { setverdict(fail, "SDP does not contain a port number"); + mtc.stop; } } @@ -579,6 +588,7 @@ module MGCP_Test { } if (f_mgcp_find_param(resp_msg, "Z", ep_assigned) == false) { setverdict(fail, "No SpecificEndpointName in MGCP response", resp); + mtc.stop; } /* clean-up */ @@ -611,6 +621,7 @@ module MGCP_Test { } if (f_mgcp_find_param(resp_msg, "Z", ep_assigned[i]) == false) { setverdict(fail, "No SpecificEndpointName in MGCP response", resp); + mtc.stop; } } @@ -920,6 +931,7 @@ module MGCP_Test { stats[1] := f_rtpem_stats_get(RTPEM[1]); if (not f_rtpem_stats_compare(stats[0], stats[1])) { setverdict(fail, "RTP endpoint statistics don't match"); + mtc.stop; } setverdict(pass); } @@ -1047,6 +1059,7 @@ module MGCP_Test { stats[1] := f_rtpem_stats_get(RTPEM[1]); if (not f_rtpem_stats_compare(stats[0], stats[1], tolerance)) { setverdict(fail, "RTP endpoint statistics don't match"); + mtc.stop; } setverdict(pass); @@ -1092,10 +1105,12 @@ module MGCP_Test { stats[0] := f_rtpem_stats_get(RTPEM[0]); if (stats[0].num_pkts_rx_err_disabled != 0) { setverdict(fail, "received packets from MGW on recvonly connection"); + mtc.stop; } stats[1] := f_rtpem_stats_get(RTPEM[1]); if (stats[1].num_pkts_rx_err_disabled != 0) { setverdict(fail, "received packets from MGW on recvonly connection"); + mtc.stop; } /* The second leg starts transmitting a little later */ @@ -1104,10 +1119,12 @@ module MGCP_Test { stats[0] := f_rtpem_stats_get(RTPEM[0]); if (stats[0].num_pkts_rx_err_disabled != 0) { setverdict(fail, "received packets from MGW on recvonly connection"); + mtc.stop; } stats[1] := f_rtpem_stats_get(RTPEM[1]); if (stats[1].num_pkts_rx_err_disabled != 0) { setverdict(fail, "received packets from MGW on recvonly connection"); + mtc.stop; } /* The first leg will now be switched into bidirectional @@ -1117,10 +1134,12 @@ module MGCP_Test { stats[0] := f_rtpem_stats_get(RTPEM[0]); if (stats[1].num_pkts_rx_err_disabled != 0) { setverdict(fail, "received packets from MGW on recvonly connection"); + mtc.stop; } stats[1] := f_rtpem_stats_get(RTPEM[1]); if (stats[1].num_pkts_rx_err_disabled != 0) { setverdict(fail, "received packets from MGW on recvonly connection"); + mtc.stop; } /* When the second leg is switched into bidirectional mode @@ -1142,11 +1161,13 @@ module MGCP_Test { temp := stats[0].num_pkts_tx - num_pkts_tx[0] - stats[1].num_pkts_rx; if (temp > 3 or temp < -3) { setverdict(fail, "number of packets not within normal parameters"); + mtc.stop; } temp := stats[1].num_pkts_tx - num_pkts_tx[1] - stats[0].num_pkts_rx; if (temp > 3 or temp < -3) { setverdict(fail, "number of packets not within normal parameters"); + mtc.stop; } /* Tear down */ @@ -1197,6 +1218,7 @@ module MGCP_Test { stats[1] := f_rtpem_stats_get(RTPEM[1]); if (not f_rtpem_stats_compare(stats[0], stats[1])) { setverdict(fail, "RTP endpoint statistics don't match"); + mtc.stop; } setverdict(pass); @@ -1254,10 +1276,12 @@ module MGCP_Test { stats[1] := f_rtpem_stats_get(RTPEM[1]); if (not f_rtpem_stats_compare(stats[0], stats[1], 5)) { setverdict(fail, "RTP endpoint statistics don't match"); + mtc.stop; } stats[2] := f_rtpem_stats_get(RTPEM[2]); if (stats[2].num_pkts_rx_err_disabled != 0) { setverdict(fail, "received packets on old leg after handover"); + mtc.stop; } setverdict(pass); diff --git a/mgw/RTP_Endpoint.ttcn b/mgw/RTP_Endpoint.ttcn index 3c939a22..c73aa588 100644 --- a/mgw/RTP_Endpoint.ttcn +++ b/mgw/RTP_Endpoint.ttcn @@ -111,7 +111,7 @@ module RTP_Endpoint { sub.local_name, sub.local_port, sub.connection_id, { udp := {} }); if (not ispresent(res.connId)) { setverdict(fail, "Could not connect RTP, check your configuration"); - self.stop; + mtc.stop; } /* connect without previous bind: save conenction id allocated by IPL4asp */ if (sub.connection_id == -1) { @@ -136,7 +136,7 @@ module RTP_Endpoint { res := f_IPL4_listen(RTP, sub.local_name, sub.local_port, { udp := {} }); if (not ispresent(res.connId)) { setverdict(fail, "Could not listen to RTP, check your configuration"); - self.stop; + mtc.stop; } sub.connection_id := res.connId; } |