If we're trying to allocate TCH/H but don't have it, fallback to TCH/F
The rationale is as following: If we have NECI=1, then the phone will request a channel with CHREQ "0100xxxx Originating speech call from dual-rate mobile station when TCH/H is sufficient and supported by the MS for speech calls", then we will try to allocate a TCH/H [as it is sufficient]. However, if there are no free TCH/H slots on the BTS, we abandon and can't handle the MO call at all :(
This commit is contained in:
parent
9385c11727
commit
210c850a36
|
@ -203,6 +203,9 @@ struct gsm_lchan *lchan_alloc(struct gsm_bts *bts, enum gsm_chan_t type)
|
||||||
break;
|
break;
|
||||||
case GSM_LCHAN_TCH_H:
|
case GSM_LCHAN_TCH_H:
|
||||||
lchan =_lc_find_bts(bts, GSM_PCHAN_TCH_H);
|
lchan =_lc_find_bts(bts, GSM_PCHAN_TCH_H);
|
||||||
|
/* If we don't have TCH/H available, fall-back to TCH/F */
|
||||||
|
if (!lchan)
|
||||||
|
lchan = _lc_find_bts(bts, GSM_PCHAN_TCH_F);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
fprintf(stderr, "Unknown gsm_chan_t %u\n", type);
|
fprintf(stderr, "Unknown gsm_chan_t %u\n", type);
|
||||||
|
|
Loading…
Reference in New Issue