aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bsc/MSC_ConnectionHandler.ttcn8
1 files changed, 5 insertions, 3 deletions
diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn
index 3e58f5a0..5460e2cb 100644
--- a/bsc/MSC_ConnectionHandler.ttcn
+++ b/bsc/MSC_ConnectionHandler.ttcn
@@ -1323,9 +1323,11 @@ altstep as_handover(inout HandoverState st) runs on MSC_ConnHdlr {
* time. When we receive the RSL_RF_CHAN_REL command the media negotiation on
* IPACC or MGCP level may be still in progress. In order to make sure that
* we do only stop when we have seen an MDCX on MGCP level and another a CRCX
- * as well as an MDCX on IPACC level. */
- if (g_media.mgcp_conn[0].mdcx_seen <= st.mdcx_seen_before_ho or
- g_media.bts1.ipa_mdcx_seen == false or g_media.bts1.ipa_crcx_seen == false) {
+ * as well as an MDCX on IPACC level.
+ * If ipa_crcx_seen is false, this is not a voice channel and we need not check MGCP at all.. */
+ if (g_media.bts.ipa_crcx_seen
+ and (g_media.mgcp_conn[0].mdcx_seen <= st.mdcx_seen_before_ho or
+ g_media.bts1.ipa_mdcx_seen == false or g_media.bts1.ipa_crcx_seen == false)) {
repeat;
} else {
st.handover_done := true;