diff --git a/include/osmocom/smpp/smpp.h b/include/osmocom/smpp/smpp.h
index df5e163..db4101d 100644
--- a/include/osmocom/smpp/smpp.h
+++ b/include/osmocom/smpp/smpp.h
@@ -11,6 +11,21 @@
 	READ_ST_IN_MSG = 1,
 };
 
+/* struct representing SMPP's External Short Messaging Entity */
+struct esme {
+	uint32_t own_seq_nr;
+
+	struct osmo_wqueue wqueue;
+	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[SMPP_SYS_ID_LEN + 1];
+	char password[SMPP_SYS_ID_LEN + 1];
+};
+
 #define LOGPESME(ESME, LEVEL, FMT, ARGS...)            \
 	LOGP(DSMPP, LEVEL, "[%s] " FMT, (ESME)->system_id, ##ARGS)
 
@@ -32,6 +47,7 @@
 		(resp)->command_status	= ESME_ROK;					\
 		(resp)->sequence_number	= (req)->sequence_number; }
 
+struct esme *esme_alloc(void *ctx);
 uint32_t smpp_msgb_cmdid(struct msgb *msg);
 int smpp_openbsc_alloc_init(void *ctx);
 int smpp_openbsc_start(struct gsm_network *net);
diff --git a/include/osmocom/smpp/smpp_smsc.h b/include/osmocom/smpp/smpp_smsc.h
index fb5164f..9607079 100644
--- a/include/osmocom/smpp/smpp_smsc.h
+++ b/include/osmocom/smpp/smpp_smsc.h
@@ -26,33 +26,24 @@
 	char addr[21+1];
 };
 
-struct osmo_esme {
+/* struct wrapping ESME struct with additional SMSC-specific things like ACL, command list etc */
+struct smpp_esme {
 	struct llist_head list;
 	struct smsc *smsc;
+	struct esme *esme;
 	struct osmo_smpp_acl *acl;
 	int use;
 
 	struct llist_head smpp_cmd_list;
 
-	uint32_t own_seq_nr;
-
-	struct osmo_wqueue wqueue;
-
-	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[SMPP_SYS_ID_LEN+1];
-
 	uint8_t bind_flags;
 };
 
 struct osmo_smpp_acl {
 	struct llist_head list;
 	struct smsc *smsc;
-	struct osmo_esme *esme;
+	struct smpp_esme *esme;
 	char *description;
 	char system_id[SMPP_SYS_ID_LEN+1];
 	char passwd[SMPP_PASSWD_LEN+1];
@@ -89,11 +80,11 @@
 	struct osmo_timer_list	response_timer;
 };
 
-struct osmo_smpp_cmd *smpp_cmd_find_by_seqnum(struct osmo_esme *esme,
+struct osmo_smpp_cmd *smpp_cmd_find_by_seqnum(struct smpp_esme *esme,
 					      uint32_t sequence_number);
 void smpp_cmd_ack(struct osmo_smpp_cmd *cmd);
 void smpp_cmd_err(struct osmo_smpp_cmd *cmd, uint32_t status);
-void smpp_cmd_flush_pending(struct osmo_esme *esme);
+void smpp_cmd_flush_pending(struct smpp_esme *esme);
 
 struct smsc {
 	struct osmo_fd listen_ofd;
@@ -118,25 +109,25 @@
 int smpp_smsc_restart(struct smsc *smsc, const char *bind_addr, uint16_t port);
 void smpp_smsc_stop(struct smsc *smsc);
 
-void smpp_esme_get(struct osmo_esme *esme);
-void smpp_esme_put(struct osmo_esme *esme);
+void smpp_esme_get(struct smpp_esme *esme);
+void smpp_esme_put(struct smpp_esme *esme);
 
-int smpp_route(const struct smsc *smsc, const struct osmo_smpp_addr *dest, struct osmo_esme **emse);
+int smpp_route(const struct smsc *smsc, const struct osmo_smpp_addr *dest, struct smpp_esme **emse);
 
 struct osmo_smpp_acl *smpp_acl_alloc(struct smsc *smsc, const char *sys_id);
 struct osmo_smpp_acl *smpp_acl_by_system_id(struct smsc *smsc,
 					    const char *sys_id);
 void smpp_acl_delete(struct osmo_smpp_acl *acl);
 
-int smpp_tx_submit_r(struct osmo_esme *esme, uint32_t sequence_nr,
+int smpp_tx_submit_r(struct smpp_esme *esme, uint32_t sequence_nr,
 		     uint32_t command_status, char *msg_id);
 
-int smpp_tx_alert(struct osmo_esme *esme, uint8_t ton, uint8_t npi,
+int smpp_tx_alert(struct smpp_esme *esme, uint8_t ton, uint8_t npi,
 		  const char *addr, uint8_t avail_status);
 
-int smpp_tx_deliver(struct osmo_esme *esme, struct deliver_sm_t *deliver);
+int smpp_tx_deliver(struct smpp_esme *esme, struct deliver_sm_t *deliver);
 
-int handle_smpp_submit(struct osmo_esme *esme, struct submit_sm_t *submit,
+int handle_smpp_submit(struct smpp_esme *esme, struct submit_sm_t *submit,
 			struct submit_sm_resp_t *submit_r);
 
 int smpp_route_pfx_add(struct osmo_smpp_acl *acl,
