From 14e32a41d806d95250bc89db8b396d77e55b0e9a Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Fri, 30 Nov 2018 19:10:37 +0700 Subject: libmsc/gsm_04_11.c: fix: always use SAPI 3 for MT SMS In I4a07ece80d8dd40b23da6bb1ffc9d3d745b54092 I've introduced a regression. According to GSM TS 04.11, section 2.3, SAPI 3 shall be used for both MO/MT SMS transmissions. Due to a mistake, caused by misunderstanding of the meaning of trans->dlci, SAPI 3 was not assigned to SM transactions if there is already an active RAN connection with subscriber. Let's fix this. Let's also drop this misleading comment: /* FIXME: specify SACCH in case we already have active TCH */ because it's a task of the BSC/BTS to decide which lchan to use. Change-Id: I08d0801a89d377441e95fb8e3dd27c8d587f89e9 Related: OS#3716 --- src/libmsc/gsm_04_11.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libmsc/gsm_04_11.c b/src/libmsc/gsm_04_11.c index 88dc43337..b60234447 100644 --- a/src/libmsc/gsm_04_11.c +++ b/src/libmsc/gsm_04_11.c @@ -149,8 +149,6 @@ static int paging_cb_mmsms_est_req(unsigned int hooknum, unsigned int event, case GSM_PAGING_SUCCEEDED: /* Associate transaction with established connection */ trans->conn = msc_subscr_conn_get(conn, MSC_CONN_USE_TRANS_SMS); - /* FIXME: specify SACCH in case we already have active TCH */ - trans->dlci = 0x03; /* Confirm successful connection establishment */ gsm411_smc_recv(&trans->sms.smc_inst, GSM411_MMSMS_EST_CNF, NULL, 0); @@ -1017,6 +1015,9 @@ static struct gsm_trans *gsm411_alloc_mt_trans(struct gsm_network *net, trans->sms.sm_rp_mr = conn->next_rp_ref++; } + /* Use SAPI 3 (see GSM 04.11, section 2.3) */ + trans->dlci = UM_SAPI_SMS; + return trans; } -- cgit v1.2.3