aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2020-03-17 15:11:24 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2020-09-22 11:58:16 +0200
commit16a1f1a7225a93ebe1c7f2eb637a868517a4a24a (patch)
treeb5224a13ddb3e822a89ec37ee03e18a852944e8f
parent33e32d7e232aaa42be3cec08eb7963150a596b8f (diff)
CC: fix sanity expectations for call establishmentneels/mncc_codecs2
Recent 'add full SDP codec information to the MNCC...' patch has added a strict CC state sanity check, which is too strict: In tests with 200 concurrent calls, situations came up where the MNCC is faster than the Abis in establishing a call. If that happens, the CC state machine is already in GSM_CSTATE_ACTIVE when the RR channel assignment completes. Also allow GSM_CSTATE_ACTIVE state for accepting an Assignment Complete. Change-Id: I0e0767ec10232615bbf063181fc7f8738ef94f28
-rw-r--r--src/libmsc/gsm_04_08_cc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c
index 73b7c37b8..a1c051905 100644
--- a/src/libmsc/gsm_04_08_cc.c
+++ b/src/libmsc/gsm_04_08_cc.c
@@ -1900,6 +1900,10 @@ int cc_assignment_done(struct gsm_trans *trans)
/* MT call */
break;
+ case GSM_CSTATE_ACTIVE:
+ /* already active */
+ break;
+
default:
LOG_TRANS(trans, LOGL_ERROR, "Assignment done in unexpected CC state: %d\n", trans->cc.state);
return -EINVAL;