aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2020-03-17 15:11:24 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2020-03-17 15:14:48 +0100
commit005e7b35faa7a216f824c6978ce93f9c07c5db94 (patch)
tree93e0469a68ee4c147faa4c4514a3232c2954209a
parentaf942840a1086b7fb69a7a4bbe826bff6949c7d8 (diff)
CC: fix sanity expectations for call establishmentneels/mncc_codecs
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 2ee3957d4..32e918434 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;