diff options
author | Andreas.Eversberg <jolly@eversberg.eu> | 2010-10-12 09:40:05 +0000 |
---|---|---|
committer | Andreas.Eversberg <jolly@eversberg.eu> | 2010-10-12 09:40:05 +0000 |
commit | 651698abca3bb7ec6e405e60e308d8a73b63b4f3 (patch) | |
tree | 5beaa96077a59e3e09443952eb7cecfc92585492 /src/host/layer23/src/mobile/app_mobile.c | |
parent | 2a5e0f3cb7a4713e0aedb4c75878765978ebce02 (diff) |
[layer23] Call control is disabled when mobile is set to SDCCH only
On SDCCH only mobiles, incomming calls must be rejected by a minimal call
control implementation, even if basic calls are not supported.
Diffstat (limited to 'src/host/layer23/src/mobile/app_mobile.c')
-rw-r--r-- | src/host/layer23/src/mobile/app_mobile.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/host/layer23/src/mobile/app_mobile.c b/src/host/layer23/src/mobile/app_mobile.c index 924b6c09..8d3ea8a9 100644 --- a/src/host/layer23/src/mobile/app_mobile.c +++ b/src/host/layer23/src/mobile/app_mobile.c @@ -51,6 +51,7 @@ extern int vty_reading; int mobile_started = 0; int mncc_recv_mobile(struct osmocom_ms *ms, int msg_type, void *arg); +int mncc_recv_dummy(struct osmocom_ms *ms, int msg_type, void *arg); int mobile_work(struct osmocom_ms *ms) { @@ -179,7 +180,6 @@ int l23_app_init(struct osmocom_ms *ms) gsm48_rr_init(ms); gsm48_mm_init(ms); INIT_LLIST_HEAD(&ms->trans_list); - ms->cclayer.mncc_recv = mncc_recv_mobile; gsm322_init(ms); l23_app_work = mobile_work; @@ -202,6 +202,12 @@ int l23_app_init(struct osmocom_ms *ms) telnet_init(l23_ctx, NULL, vty_port); if (rc < 0) return rc; + + if (ms->settings.ch_cap == GSM_CAP_SDCCH) + ms->cclayer.mncc_recv = mncc_recv_dummy; + else + ms->cclayer.mncc_recv = mncc_recv_mobile; + printf("VTY available on port %u.\n", vty_port); gsm_random_imei(&ms->settings); |