From f1033cc752cfeb5f86e6f2357ce62637646f773f Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 8 Nov 2012 16:14:37 +0100 Subject: Initial support of SMPP interface for MT-SMS --- openbsc/src/libmsc/smpp_smsc.h | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 openbsc/src/libmsc/smpp_smsc.h (limited to 'openbsc/src/libmsc/smpp_smsc.h') diff --git a/openbsc/src/libmsc/smpp_smsc.h b/openbsc/src/libmsc/smpp_smsc.h new file mode 100644 index 000000000..500fbc35a --- /dev/null +++ b/openbsc/src/libmsc/smpp_smsc.h @@ -0,0 +1,52 @@ +#ifndef _SMPP_SMSC_H +#define _SMPP_SMSC_H + +#include +#include + +#include +#include +#include + +#include +#include +#include + +enum esme_read_state { + READ_ST_IN_LEN = 0, + READ_ST_IN_MSG = 1, +}; + +struct osmo_esme { + struct llist_head list; + struct smsc *smsc; + + struct osmo_wqueue wqueue; + struct sockaddr_storage sa; + socklen_t sa_len; + + enum esme_read_state read_state; + uint32_t read_len; + uint32_t read_idx; + struct msgb *read_msg; + + uint8_t smpp_version; + char system_id[16+1]; + + uint8_t bind_flags; +}; + +struct smsc { + struct osmo_fd listen_ofd; + struct llist_head esme_list; + char system_id[16+1]; + void *priv; +}; + + +int smpp_smsc_init(struct smsc *smsc, uint16_t port); + +int handle_smpp_submit(struct osmo_esme *esme, struct submit_sm_t *submit, + struct submit_sm_resp_t *submit_r); + +#endif -- cgit v1.2.3