Feature #3236
Updated by neels almost 6 years ago
The code actually says: <pre> /* 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"); } </pre> 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.) osmo-msc 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.)