diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2020-03-17 15:11:24 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2020-09-10 14:19:17 +0200 |
commit | ef154047dd0ea8613fbae6aba2586eb237314da9 (patch) | |
tree | 343768321d9246a0f831715ac96095ca5a06d700 | |
parent | 3e3c4c0c9de4a18e7a046d6f016f53aa67c77595 (diff) |
CC: fix sanity expectations for call establishment
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.c | 4 |
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; |