Feature #3236

Updated by neels over 2 years ago

The code actually says:

/* Receive an ASSIGNMENT FAILURE from BSC */
void msc_assign_fail(struct gsm_subscriber_connection *conn,
uint8_t cause, uint8_t *rr_cause)
LOGP(DRR, LOGL_DEBUG, "MSC assign failure (do nothing).\n");

Thus, when the BSC encounters any failure of allocating an lchan and the MSC is told so, osmo-msc still waits it out, which is ridiculous.
(After a considerable timeout, the call fails, so classifying this as a Feature request, not a bug report.)
It should instead abort any ongoing call setup and tell both sides that it's over right away.

I noticed this while dyn TS allocation in osmo-bts is buggy: paging and call alerting happily continues despite the first Assignment actually failing.

The way to reproduce exactly what I saw:

* revert patch Ic06c8f0fe82ae8a06afa5defd93a685010687965 in osmo-bts
* configure all as TCH/F_TCH/H_PDCH
* place a voice call and run into chan activ nack

or otherwise cause a chan activ nack to result when trying to allocate a TCH/x for the call from the BTS,
which then propagates as an Assignment Failure towards the MSC (at least since osmo-bsc patch Ib204b4a5272f9b7b60ca5f932cd8a4c857316270)

(at time of writing those patches aren't actually merged yet, but from a future perspective I expect they will be.)


Add picture from clipboard (Maximum size: 48.8 MB)