path: root/openbsc/src
diff options
authorKeith <keith@rhizomatica.org>2019-01-12 14:20:28 +0100
committerKeith <keith@rhizomatica.org>2019-01-12 14:20:32 +0100
commit32ece274bf42880f9e89809c8266aa69f41a44bb (patch)
tree7988fb2b50f041e56b923a7016c94ccaf8cdcda6 /openbsc/src
parent5e06846b5244ddead40b8f81ab3561e459507ff5 (diff)
Don't send SMS STATUS REPORT locally if the ESME accepted it.
Backport of https://gerrit.osmocom.org/11792/ When using smpp-first, after the ESME accepts our STATUS REPORT, we were sending it locally into gsm340_rx_sms_submit() anyway. In the case of the ESME mirroring the report back to us, this would result in two copies of the status report in the SMS database, which were also both then delivered to the MS. Some MS then display the REPORT to the user as if it were a normal SMS. With this patch, we check if it is the sms_report that has had receiver set in sms_route_mt_sms() and not the original SMS we are reporting on, which of course already has receiver set. Change-Id: I2136489bd21c4755463278a4048a446e5bc4a9d2
Diffstat (limited to 'openbsc/src')
1 files changed, 1 insertions, 1 deletions
diff --git a/openbsc/src/libmsc/gsm_04_11.c b/openbsc/src/libmsc/gsm_04_11.c
index 25ef48776..d5619b2e9 100644
--- a/openbsc/src/libmsc/gsm_04_11.c
+++ b/openbsc/src/libmsc/gsm_04_11.c
@@ -697,7 +697,7 @@ static void sms_status_report(struct gsm_sms *gsms,
/* No route via SMPP, send the GSM 03.40 status-report now. */
- if (gsms->receiver)
+ if (sms_report->receiver)
LOGP(DLSMS, LOGL_NOTICE, "Status report has been sent\n");