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
This commit is contained in:
Vadim Yanitskiy 2018-11-30 19:10:37 +07:00
parent f9773b0b97
commit 14e32a41d8
1 changed files with 3 additions and 2 deletions

View File

@ -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;
}