diff --git a/obexd/src/dbus.h b/obexd/src/dbus.h
index 8042b27..bfdac0a 100644
--- a/obexd/src/dbus.h
+++ b/obexd/src/dbus.h
void unregister_transfer(guint32 id);
-void register_session(guint32 id);
+void register_session(guint32 id, struct obex_session *os);
+
+void unregister_session(guint32 id);
diff --git a/obexd/src/obex.c b/obexd/src/obex.c
index 86cfc67..d26fac8 100644
--- a/obexd/src/obex.c
+++ b/obexd/src/obex.c
os->cid = ++cid;
if (os->target == NULL) {
- register_transfer(os->cid);
+ register_transfer(os->cid, os);
/* OPP doesn't contains target or connection id. */
OBEX_ObjectSetRsp(obj, OBEX_RSP_CONTINUE, OBEX_RSP_SUCCESS);
return;