aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmsc/gsm_04_08.c
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2013-03-31 12:01:25 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2017-12-01 03:37:43 +0100
commit7da5e87d0a76b16a30d084accf091913d7b3e347 (patch)
tree2c9368ca789aa4cbe22c8734da1eed326b496075 /src/libmsc/gsm_04_08.c
parentc59308014c48d4d0d4159a3a30e9c3eb6039ab92 (diff)
osmo-nitb support for codec negotiation
Since codec negotiation is done automatically, there is no need to define codec for TCH/F and TCH/H via VTY anymore.
Diffstat (limited to 'src/libmsc/gsm_04_08.c')
-rw-r--r--src/libmsc/gsm_04_08.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c
index 463a09cae..d0509f9de 100644
--- a/src/libmsc/gsm_04_08.c
+++ b/src/libmsc/gsm_04_08.c
@@ -3143,6 +3143,8 @@ int mncc_tx_to_cc(struct gsm_network *net, int msg_type, void *arg)
/* If subscriber has no lchan */
if (!conn) {
+ uint8_t type;
+
/* find transaction with this subscriber already paging */
llist_for_each_entry(transt, &net->trans_list, entry) {
/* Transaction of our lchan? */
@@ -3172,7 +3174,18 @@ int mncc_tx_to_cc(struct gsm_network *net, int msg_type, void *arg)
}
*trans->paging_request = subscr->net;
- subscr_get_channel(subscr, RSL_CHANNEED_TCH_F, setup_trig_pag_evt, trans->paging_request);
+
+ switch (data->lchan_type) {
+ case GSM_LCHAN_TCH_F:
+ type = RSL_CHANNEED_TCH_F;
+ break;
+ case GSM_LCHAN_TCH_H:
+ type = RSL_CHANNEED_TCH_ForH;
+ break;
+ default:
+ type = RSL_CHANNEED_SDCCH;
+ }
+ subscr_get_channel(subscr, type, setup_trig_pag_evt, trans->paging_request);
subscr_put(subscr);
return 0;