aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2020-03-17 15:11:24 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2022-01-11 19:52:59 +0100
commitdd04c7ecd91ad4ca8de23b7556ff1128cf4ee59d (patch)
tree0630e05d50a2babf659a72e22bd58d9355265fb5
parent5f06fd2ae9fb72ce15d8b6e1ae414eb447d98f1c (diff)
CC: fix sanity expectations for call establishmentneels/mncc_codecs3
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 e0e2cc3af..c4d14206e 100644
--- a/src/libmsc/gsm_04_08_cc.c
+++ b/src/libmsc/gsm_04_08_cc.c
@@ -1936,6 +1936,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;