aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmsc
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2018-11-30 19:10:37 +0700
committerVadim Yanitskiy <axilirator@gmail.com>2018-11-30 19:43:28 +0000
commit14e32a41d806d95250bc89db8b396d77e55b0e9a (patch)
treed612844f600229ce647dcd3bb5d5298fb3907045 /src/libmsc
parentf9773b0b9716845d24b37c9a0a834e448c805cf5 (diff)
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
Diffstat (limited to 'src/libmsc')
-rw-r--r--src/libmsc/gsm_04_11.c5
1 files 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;
}