aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2020-03-17 15:11:24 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2020-11-30 16:46:52 +0100
commit0e6185b079c7d6b456056a4cb98fbcd82b90d23f (patch)
treeb8988305e5c837f3e109abb1aefc2552fa76354c
parentb691f58755343d3d9bd202f3d34242ee87df7225 (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;