summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--library/RTP_Emulation.ttcn6
1 files changed, 5 insertions, 1 deletions
diff --git a/library/RTP_Emulation.ttcn b/library/RTP_Emulation.ttcn
index 2494d74..7b9be68 100644
--- a/library/RTP_Emulation.ttcn
+++ b/library/RTP_Emulation.ttcn
@@ -85,6 +85,7 @@ type component RTP_Emulation_CT {
/* state variables, change over time */
var boolean g_rx_enabled := false;
+ var boolean g_tx_connected := false; /* Set to true after connect() */
var LIN2_BO_LAST g_tx_next_seq := 0;
var uint32_t g_tx_next_ts := 0;
@@ -347,6 +348,8 @@ function f_main() runs on RTP_Emulation_CT
log("Local Port is not an even port number!");
continue;
}
+
+ g_tx_connected := false; /* will set it back to true upon next connect() call */
res := RTP_CodecPort_CtrlFunct.f_IPL4_listen(RTP, g_local_host,
g_local_port, {udp:={}});
if (not ispresent(res.connId)) {
@@ -387,6 +390,7 @@ function f_main() runs on RTP_Emulation_CT
setverdict(fail, "Could not connect to RTCP socket, check your configuration");
mtc.stop;
}
+ g_tx_connected := true;
CTRL.reply(RTPEM_connect:{g_remote_host, g_remote_port});
}
[] CTRL.getcall(RTPEM_mode:{RTPEM_MODE_NONE}) {
@@ -466,7 +470,7 @@ function f_main() runs on RTP_Emulation_CT
}
/* transmit if timer has expired */
- [] T_transmit.timeout {
+ [g_tx_connected] T_transmit.timeout {
/* send one RTP frame, re-start timer */
f_tx_rtp(g_cfg.tx_fixed_payload);
T_transmit.start;