aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gsm_data.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2012-11-08 19:44:08 +0100
committerHarald Welte <laforge@gnumonks.org>2012-11-16 22:00:09 +0100
commitd4bdee79e96906323811ea5832e402855985df88 (patch)
treec5bd16e6181fa2ea9f57eb2baafc046a2f5b760b /openbsc/include/openbsc/gsm_data.h
parentf1033cc752cfeb5f86e6f2357ce62637646f773f (diff)
SMPP: Implement transaction mode for SUBMIT-SM
WARNING: if the ESME disconnects, osmo_esme gets freed, and sms->smpp.esme might point to invalid/unallocated memory!
Diffstat (limited to 'openbsc/include/openbsc/gsm_data.h')
-rw-r--r--openbsc/include/openbsc/gsm_data.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index dea411984..c6a40e38a 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -271,12 +271,29 @@ struct gsm_network {
struct ctrl_handle *ctrl;
};
+struct osmo_esme;
+
+enum gsm_sms_source_id {
+ SMS_SOURCE_UNKNOWN = 0,
+ SMS_SOURCE_MS, /* received from MS */
+ SMS_SOURCE_VTY, /* received from VTY */
+ SMS_SOURCE_SMPP, /* received via SMPP */
+};
+
#define SMS_HDR_SIZE 128
#define SMS_TEXT_SIZE 256
struct gsm_sms {
unsigned long long id;
struct gsm_subscriber *sender;
struct gsm_subscriber *receiver;
+ enum gsm_sms_source_id source;
+
+ struct {
+ struct osmo_esme *esme;
+ uint32_t sequence_nr;
+ int transaction_mode;
+ char msg_id[16];
+ } smpp;
unsigned long validity_minutes;
uint8_t reply_path_req;