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
diff --git a/src/libmsc/gsm_04_11.c b/src/libmsc/gsm_04_11.c
index 88dc433..b602344 100644
--- a/src/libmsc/gsm_04_11.c
+++ b/src/libmsc/gsm_04_11.c
@@ -149,8 +149,6 @@
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 @@
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;
}