From 4c0ce874481a4ec895bf55211aa53ff190572e4f Mon Sep 17 00:00:00 2001 From: Dieter Spaar Date: Thu, 29 Jul 2010 21:24:18 +0200 Subject: Add SACCH support for TCH/F --- gsm-receiver/src/lib/decoder/gsmstack.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gsm-receiver/src/lib/decoder') diff --git a/gsm-receiver/src/lib/decoder/gsmstack.c b/gsm-receiver/src/lib/decoder/gsmstack.c index e5734b9..c1d967e 100644 --- a/gsm-receiver/src/lib/decoder/gsmstack.c +++ b/gsm-receiver/src/lib/decoder/gsmstack.c @@ -183,6 +183,9 @@ get_chan_type(enum TIMESLOT_TYPE type, int fn, uint8_t *ss) *ss = ((fn % 102) > 51) ? 7 : 3; } } + else if (type == TST_TCHF) { + chan_type = GSMTAP_CHANNEL_TCH_F | GSMTAP_CHANNEL_ACCH; + } return chan_type; } @@ -239,9 +242,12 @@ GS_process(GS_CTX *ctx, int ts, int type, const unsigned char *src, int fn, int memset(ctx->msg, 0, sizeof(ctx->msg)); - if (ts_ctx->type == TST_TCHF && type == NORMAL) { + if (ts_ctx->type == TST_TCHF && type == NORMAL && + (fn % 26) != 12 && (fn % 26) != 25) { /* Dieter: we came here because the burst might contain FACCH bits */ ctx->fn = fn; + + /* get burst index to TCH bursts only */ ts_ctx->burst_count2 = fn % 26; if (ts_ctx->burst_count2 >= 12) -- cgit v1.2.3