diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-03-25 05:15:09 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-03-25 05:15:09 +0100 |
commit | facb5cdfc2d20de703c90e12a62b4ca69dea278b (patch) | |
tree | 7678165ce464671a903ecab9c4f33abcf24c702d /openbsc/src/gsm_04_08_utils.c | |
parent | aebea482f54a97deaca8688c79af3809a756240c (diff) |
channel requests: Add configuration to handle paging any with TCH
It is possible that the MSC is not sending the channel type it
needs for the operations it wants to do. Add a configuration option
to assign a TCH in case of paging any requests. It can be a good
idea to leave SDCCHs free for location updating requests.
Diffstat (limited to 'openbsc/src/gsm_04_08_utils.c')
-rw-r--r-- | openbsc/src/gsm_04_08_utils.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/openbsc/src/gsm_04_08_utils.c b/openbsc/src/gsm_04_08_utils.c index ad1040b3b..f787dee64 100644 --- a/openbsc/src/gsm_04_08_utils.c +++ b/openbsc/src/gsm_04_08_utils.c @@ -185,6 +185,16 @@ void gsm_net_update_ctype(struct gsm_network *network) */ if (network->neci) network->ctype_by_chreq[CHREQ_T_EMERG_CALL] = GSM_LCHAN_TCH_H; + + if (network->pag_any_tch) { + if (network->neci) { + network->ctype_by_chreq[CHREQ_T_PAG_R_ANY_NECI0] = GSM_LCHAN_TCH_H; + network->ctype_by_chreq[CHREQ_T_PAG_R_ANY_NECI1] = GSM_LCHAN_TCH_H; + } else { + network->ctype_by_chreq[CHREQ_T_PAG_R_ANY_NECI0] = GSM_LCHAN_TCH_F; + network->ctype_by_chreq[CHREQ_T_PAG_R_ANY_NECI1] = GSM_LCHAN_TCH_F; + } + } } enum gsm_chan_t get_ctype_by_chreq(struct gsm_network *network, u_int8_t ra) |