diff --git a/include/proto/session.h b/include/proto/session.h
index 3f008e1..cb4deec 100644
--- a/include/proto/session.h
+++ b/include/proto/session.h
@@ -33,6 +33,7 @@
 #include <proto/stick_table.h>
 
 extern struct pool_head *pool2_session;
+struct session *session_new(struct proxy *fe, struct listener *li, enum obj_type *origin);
 void session_free(struct session *sess);
 int init_session();
 int session_accept_fd(struct listener *l, int cfd, struct sockaddr_storage *addr);
diff --git a/src/session.c b/src/session.c
index 070c340..5580d4f 100644
--- a/src/session.c
+++ b/src/session.c
@@ -42,6 +42,27 @@
 	.init = conn_complete_session,
 };
 
+/* Create a a new session and assign it to frontend <fe>, listener <li>,
+ * origin <origin>, set the current date and clear the stick counters pointers.
+ * Returns the session upon success or NULL. The session may be released using
+ * session_free().
+ */
+struct session *session_new(struct proxy *fe, struct listener *li, enum obj_type *origin)
+{
+	struct session *sess;
+
+	sess = pool_alloc2(pool2_session);
+	if (sess) {
+		sess->listener = li;
+		sess->fe = fe;
+		sess->origin = origin;
+		sess->accept_date = date; /* user-visible date for logging */
+		sess->tv_accept   = now;  /* corrected date for internal use */
+		memset(sess->stkctr, 0, sizeof(sess->stkctr));
+	}
+	return sess;
+}
+
 void session_free(struct session *sess)
 {
 	session_store_counters(sess);
