From 3b1c5537731cc63125f1b82c0e6149372a7fe0da Mon Sep 17 00:00:00 2001 From: Jacob Erlbeck Date: Wed, 20 Jan 2016 12:30:46 +0100 Subject: edge: Work-around to use EGPRS if there was no DL RA Cap If the downlink BSSGP didn't contain a RA Capabilities IE, both MS class values are 0. The phone will send valid RA Caps later on. Currently in that case, the downlink TBF is not established if EGPRS is enabled. Just force egprs_ms_class to 1 if EGPRS (only) is enabled. Sponsored-by: On-Waves ehf --- src/tbf.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/tbf.cpp') diff --git a/src/tbf.cpp b/src/tbf.cpp index db63a08d..9f19c9b7 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -687,10 +687,13 @@ struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, int rc; if (egprs_ms_class == 0 && bts->egprs_enabled) { - LOGP(DRLCMAC, LOGL_NOTICE, - "Not accepting non-EGPRS phone in EGPRS-only mode\n"); - bts->bts->tbf_failed_egprs_only(); - return NULL; + if (ms_class > 0) { + LOGP(DRLCMAC, LOGL_NOTICE, + "Not accepting non-EGPRS phone in EGPRS-only mode\n"); + bts->bts->tbf_failed_egprs_only(); + return NULL; + } + egprs_ms_class = 1; } LOGP(DRLCMAC, LOGL_DEBUG, "********** TBF starts here **********\n"); -- cgit v1.2.3