diff options
-rw-r--r-- | openbsc/src/libmsc/smpp_openbsc.c | 5 | ||||
-rw-r--r-- | openbsc/src/libmsc/smpp_smsc.c | 5 | ||||
-rw-r--r-- | openbsc/src/libmsc/smpp_smsc.h | 5 |
3 files changed, 10 insertions, 5 deletions
diff --git a/openbsc/src/libmsc/smpp_openbsc.c b/openbsc/src/libmsc/smpp_openbsc.c index f463e1cde..67b2a6674 100644 --- a/openbsc/src/libmsc/smpp_openbsc.c +++ b/openbsc/src/libmsc/smpp_openbsc.c @@ -279,6 +279,11 @@ static void alert_all_esme(struct smsc *smsc, struct gsm_subscriber *subscr, /* 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_INFO, + "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", esme->system_id); diff --git a/openbsc/src/libmsc/smpp_smsc.c b/openbsc/src/libmsc/smpp_smsc.c index 35097b40d..1cee3fe81 100644 --- a/openbsc/src/libmsc/smpp_smsc.c +++ b/openbsc/src/libmsc/smpp_smsc.c @@ -49,11 +49,6 @@ memset(str, 0, sizeof(*str)); \ rc = smpp34_unpack(type, str, data, len) -enum emse_bind { - ESME_BIND_RX = 0x01, - ESME_BIND_TX = 0x02, -}; - const struct value_string smpp_status_strs[] = { { ESME_ROK, "No Error" }, { ESME_RINVMSGLEN, "Message Length is invalid" }, diff --git a/openbsc/src/libmsc/smpp_smsc.h b/openbsc/src/libmsc/smpp_smsc.h index 239820153..ad1af7642 100644 --- a/openbsc/src/libmsc/smpp_smsc.h +++ b/openbsc/src/libmsc/smpp_smsc.h @@ -19,6 +19,11 @@ #define MODE_7BIT 7 #define MODE_8BIT 8 +enum esme_bind { + ESME_BIND_RX = 0x01, + ESME_BIND_TX = 0x02, +}; + enum esme_read_state { READ_ST_IN_LEN = 0, READ_ST_IN_MSG = 1, |