aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Kluchnikov <kluchnikovi@gmail.com>2015-12-29 19:22:20 +0300
committerIvan Kluchnikov <kluchnikovi@gmail.com>2017-02-07 18:59:55 +0300
commit59dc70462b1a92eb329e4994c056076167ce99bb (patch)
tree3f47df2efc09465a3e7d01cfa10c93929c6cd0f9
parente7dc282b51acb0100769bbe9df38f40361d60536 (diff)
sms: In case of receiving MO RP-DATA, we should assign RP message reference value to transaction variable
-rw-r--r--openbsc/src/libmsc/gsm_04_11.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/openbsc/src/libmsc/gsm_04_11.c b/openbsc/src/libmsc/gsm_04_11.c
index 2dd487132..62b968da9 100644
--- a/openbsc/src/libmsc/gsm_04_11.c
+++ b/openbsc/src/libmsc/gsm_04_11.c
@@ -555,16 +555,17 @@ static int gsm411_rx_rp_ud(struct msgb *msg, struct gsm_trans *trans,
if (trans->net->sms_client) {
osmo_counter_inc(trans->conn->bts->network->stats.sms.submitted);
+ trans->msg_ref = rph->msg_ref;
return subscr_tx_sms_message(trans->subscr, rph);
- } else {
- rc = gsm340_rx_tpdu(trans->conn, msg);
- if (rc == 0)
- return gsm411_send_rp_ack(trans, rph->msg_ref);
- else if (rc > 0)
- return gsm411_send_rp_error(trans, rph->msg_ref, rc);
- else
- return rc;
}
+
+ rc = gsm340_rx_tpdu(trans->conn, msg);
+ if (rc == 0)
+ return gsm411_send_rp_ack(trans, rph->msg_ref);
+ else if (rc > 0)
+ return gsm411_send_rp_error(trans, rph->msg_ref, rc);
+ else
+ return rc;
}
/* Receive a 04.11 RP-DATA message in accordance with Section 7.3.1.2 */