From a3a8821167b7b62c17a3002ddbd992eb05e92ab2 Mon Sep 17 00:00:00 2001 From: Keith Date: Thu, 17 Jan 2019 01:07:53 +0100 Subject: Don't deliver alert notifications to ESME not yet bound. We create a new ESME in smsc->esme_list on establishment of a TCP connection, yet we do not know the system id or anything else, until the ESME identifies and authenticates. So do not send alert notifications until we know the bind status (and system_id) Change-Id: Iec92d4c145ca050c2e212139572eeaae581b99df --- src/libmsc/smpp_openbsc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/libmsc/smpp_openbsc.c b/src/libmsc/smpp_openbsc.c index fb9b0f832..915644538 100644 --- a/src/libmsc/smpp_openbsc.c +++ b/src/libmsc/smpp_openbsc.c @@ -284,6 +284,11 @@ static void alert_all_esme(struct smsc *smsc, struct vlr_subscr *vsub, /* we currently send an alert notification to each ESME that is * connected, and do not require a (non-existant) delivery * pending flag to be set before. */ + if (!esme->bind_flags) { + LOGP(DSMPP, LOGL_DEBUG, + "ESME is not (yet) bound, skipping alert\n"); + continue; + } if (!esme->acl->alert_notifications) { LOGP(DSMPP, LOGL_DEBUG, "[%s] is not set to receive Alert Notifications\n", -- cgit v1.2.1