diff --git a/include/osmocom/msc/transaction.h b/include/osmocom/msc/transaction.h
index 830328b..7ffcf3b 100644
--- a/include/osmocom/msc/transaction.h
+++ b/include/osmocom/msc/transaction.h
@@ -3,14 +3,29 @@
 #include <osmocom/msc/gsm_data.h>
 #include <osmocom/msc/gsm_subscriber.h>
 #include <osmocom/core/linuxlist.h>
+#include <osmocom/core/fsm.h>
 #include <osmocom/msc/gsm_04_11.h>
 #include <osmocom/msc/mncc.h>
+#include <osmocom/msc/debug.h>
 #include <osmocom/gsm/gsm0411_smc.h>
 #include <osmocom/gsm/gsm0411_smr.h>
 
 /* Used for late TID assignment */
 #define TRANS_ID_UNASSIGNED 0xff
 
+#define LOG_TRANS_CAT(trans, subsys, level, fmt, args...) \
+	LOGP(subsys, level, \
+	     "trans(%s %s callref-0x%x tid-%u%s) " fmt, \
+	     (trans) ? gsm48_pdisc_name((trans)->protocol) : "NULL", \
+	     (trans) ? ((trans)->conn ? (trans)->conn->fi->id : vlr_subscr_name((trans)->vsub)) : "NULL", \
+	     (trans) ? (trans)->callref : 0, \
+	     (trans) ? (trans)->transaction_id : 0, \
+	     (trans) && (trans)->paging_request ? ",PAGING" : "", \
+	     ##args)
+
+#define LOG_TRANS(trans, level, fmt, args...) \
+	     LOG_TRANS_CAT(trans, trans_log_subsys(trans), level, fmt, ##args)
+
 enum bridge_state {
 	BRIDGE_STATE_NONE,
 	BRIDGE_STATE_LOOPBACK_PENDING,
@@ -118,3 +133,18 @@
 			  uint8_t protocol);
 struct gsm_trans *trans_has_conn(const struct ran_conn *conn);
 void trans_conn_closed(const struct ran_conn *conn);
+
+static inline int trans_log_subsys(const struct gsm_trans *trans)
+{
+	if (!trans)
+		return DMSC;
+	switch (trans->protocol) {
+	case GSM48_PDISC_CC:
+		return DCC;
+	case GSM48_PDISC_SMS:
+		return DLSMS;
+	default:
+		break;
+	}
+	return DMSC;
+}
diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c
index 532472e..4475d05 100644
--- a/src/libmsc/gsm_04_08_cc.c
+++ b/src/libmsc/gsm_04_08_cc.c
@@ -75,8 +75,7 @@
 static void gsm48_cc_guard_timeout(void *arg)
 {
 	struct gsm_trans *trans = arg;
-	DEBUGP(DCC, "(sub %s) guard timeout expired\n",
-	       vlr_subscr_msisdn_or_name(trans->vsub));
+	LOG_TRANS(trans, LOGL_DEBUG, "guard timeout expired\n");
 	trans_free(trans);
 	return;
 }
@@ -84,8 +83,7 @@
 static void gsm48_stop_guard_timer(struct gsm_trans *trans)
 {
 	if (osmo_timer_pending(&trans->cc.timer_guard)) {
-		DEBUGP(DCC, "(sub %s) stopping pending guard timer\n",
-		       vlr_subscr_msisdn_or_name(trans->vsub));
+		LOG_TRANS(trans, LOGL_DEBUG, "stopping pending guard timer\n");
 		osmo_timer_del(&trans->cc.timer_guard);
 	}
 }
@@ -102,9 +100,7 @@
 	 * timer will time out and hard-clear the connection. */
 	if (osmo_timer_pending(&trans->cc.timer_guard))
 		gsm48_stop_guard_timer(trans);
-	DEBUGP(DCC, "(sub %s) starting guard timer with %d seconds\n",
-	       vlr_subscr_msisdn_or_name(trans->vsub),
-	       trans->net->mncc_guard_timeout);
+	LOG_TRANS(trans, LOGL_DEBUG, "starting guard timer with %d seconds\n", trans->net->mncc_guard_timeout);
 	osmo_timer_setup(&trans->cc.timer_guard, gsm48_cc_guard_timeout, trans);
 	osmo_timer_schedule(&trans->cc.timer_guard,
 			    trans->net->mncc_guard_timeout, 0);
@@ -177,11 +173,9 @@
 	if (state > 31 || state < 0)
 		return;
 
-	DEBUGP(DCC, "(ti %02x sub %s) new state %s -> %s\n",
-	       trans->transaction_id,
-	       vlr_subscr_name(trans->vsub),
-	       gsm48_cc_state_name(trans->cc.state),
-	       gsm48_cc_state_name(state));
+	LOG_TRANS(trans, LOGL_DEBUG, "new state %s -> %s\n",
+		  gsm48_cc_state_name(trans->cc.state),
+		  gsm48_cc_state_name(state));
 
 	count_statistics(trans, state);
 	trans->cc.state = state;
@@ -213,7 +207,7 @@
 static void gsm48_stop_cc_timer(struct gsm_trans *trans)
 {
 	if (osmo_timer_pending(&trans->cc.timer)) {
-		DEBUGP(DCC, "stopping pending timer T%x\n", trans->cc.Tcurrent);
+		LOG_TRANS(trans, LOGL_DEBUG, "stopping pending timer T%x\n", trans->cc.Tcurrent);
 		osmo_timer_del(&trans->cc.timer);
 		trans->cc.Tcurrent = 0;
 	}
@@ -225,31 +219,7 @@
 	struct msgb *msg;
 	unsigned char *data;
 
-	DEBUGP(DMNCC, "transmit message %s\n", get_mncc_name(msg_type));
-
-#if BEFORE_MSCSPLIT
-	/* Re-enable this log output once we can obtain this information via
-	 * A-interface, see OS#2391. */
-	if (trans)
-		if (trans->conn && trans->conn->lchan)
-			DEBUGP(DCC, "(bts %d trx %d ts %d ti %x sub %s) "
-				"Sending '%s' to MNCC.\n",
-				trans->conn->lchan->ts->trx->bts->nr,
-				trans->conn->lchan->ts->trx->nr,
-				trans->conn->lchan->ts->nr, trans->transaction_id,
-				vlr_subscr_msisdn_or_name(trans->vsub),
-				get_mncc_name(msg_type));
-		else
-			DEBUGP(DCC, "(bts - trx - ts - ti -- sub %s) "
-				"Sending '%s' to MNCC.\n",
-				vlr_subscr_msisdn_or_name(trans->vsub),
-				get_mncc_name(msg_type));
-	else
-		DEBUGP(DCC, "(bts - trx - ts - ti -- sub -) "
-			"Sending '%s' to MNCC.\n", get_mncc_name(msg_type));
-#else
-	DEBUGP(DCC, "Sending '%s' to MNCC.\n", get_mncc_name(msg_type));
-#endif
+	LOG_TRANS_CAT(trans, DMNCC, LOGL_DEBUG, "tx %s\n", get_mncc_name(msg_type));
 
 	mncc->msg_type = msg_type;
 
@@ -317,8 +287,7 @@
 
 	switch (paging_event) {
 	case GSM_PAGING_SUCCEEDED:
-		DEBUGP(DCC, "Paging subscr %s succeeded!\n",
-		       vlr_subscr_msisdn_or_name(transt->vsub));
+		LOG_TRANS(transt, LOGL_DEBUG, "Paging succeeded\n");
 		OSMO_ASSERT(conn);
 		/* Assign conn */
 		transt->conn = ran_conn_get(conn, RAN_CONN_USE_TRANS_CC);
@@ -328,9 +297,7 @@
 		break;
 	case GSM_PAGING_EXPIRED:
 	case GSM_PAGING_BUSY:
-		DEBUGP(DCC, "Paging subscr %s %s!\n",
-		       vlr_subscr_msisdn_or_name(transt->vsub),
-		       paging_event == GSM_PAGING_EXPIRED ? "expired" : "busy");
+		LOG_TRANS(transt, LOGL_DEBUG, "Paging expired\n");
 		/* Temporarily out of order */
 		mncc_release_ind(transt->net, transt,
 				 transt->callref,
@@ -352,11 +319,19 @@
 	struct gsm_trans *trans2 = trans_find_by_callref(net, bridge->callref[1]);
 	int rc;
 
-	if (!trans1 || !trans2)
+	if (!trans1 || !trans2) {
+		LOG_TRANS(trans1 ? : trans2, LOGL_ERROR, "Cannot MNCC_BRIDGE, one or both call legs are unset\n");
 		return -EIO;
+	}
 
-	if (!trans1->conn || !trans2->conn)
+	if (!trans1->conn || !trans2->conn) {
+		LOG_TRANS(trans1, LOGL_ERROR, "Cannot MNCC_BRIDGE, one or both call legs lack an active connection\n");
+		LOG_TRANS(trans2, LOGL_ERROR, "Cannot MNCC_BRIDGE, one or both call legs lack an active connection\n");
 		return -EIO;
+	}
+
+	LOG_TRANS(trans1, LOGL_DEBUG, "MNCC_BRIDGE: Local bridge to callref 0x%x\n", trans2->callref);
+	LOG_TRANS(trans2, LOGL_DEBUG, "MNCC_BRIDGE: Local bridge to callref 0x%x\n", trans1->callref);
 
 	/* Which subscriber do we want to track trans1 or trans2? */
 	log_set_context(LOG_CTX_VLR_SUBSCR, trans1->vsub);
@@ -386,7 +361,7 @@
 
 static int gsm48_cc_rx_status_enq(struct gsm_trans *trans, struct msgb *msg)
 {
-	DEBUGP(DCC, "-> STATUS ENQ\n");
+	LOG_TRANS(trans, LOGL_DEBUG, "-> STATUS ENQ\n");
 	return gsm48_cc_tx_status(trans, msg);
 }
 
@@ -485,7 +460,9 @@
 	if (!trans0 || !trans1)
 		return;
 
-	DEBUGP(DCC, "Failed to bridge TCH for calls %x <-> %x :: %s \n",
+	LOG_TRANS(trans0, LOGL_ERROR, "Failed to bridge TCH for calls %x <-> %x :: %s \n",
+	       trans0->callref, trans1->callref, strerror(err));
+	LOG_TRANS(trans1, LOGL_ERROR, "Failed to bridge TCH for calls %x <-> %x :: %s \n",
 	       trans0->callref, trans1->callref, strerror(err));
 
 	memset(&mx_rel, 0, sizeof(struct gsm_mncc));
@@ -502,7 +479,7 @@
 static void gsm48_start_cc_timer(struct gsm_trans *trans, int current,
 				 int sec, int micro)
 {
-	DEBUGP(DCC, "starting timer T%x with %d seconds\n", current, sec);
+	LOG_TRANS(trans, LOGL_DEBUG, "starting timer T%x with %d seconds\n", current, sec);
 	osmo_timer_setup(&trans->cc.timer, gsm48_cc_timeout, trans);
 	osmo_timer_schedule(&trans->cc.timer, sec, micro);
 	trans->cc.Tcurrent = current;
@@ -592,9 +569,8 @@
 
 	new_cc_state(trans, GSM_CSTATE_INITIATED);
 
-	LOGP(DCC, setup.emergency ? LOGL_NOTICE : LOGL_INFO, "Subscriber %s (%s) sends %sSETUP to %s\n",
-	     vlr_subscr_name(trans->vsub), trans->vsub->msisdn, setup.emergency ? "EMERGENCY_" : "",
-	     setup.called.number);
+	LOG_TRANS(trans, setup.emergency ? LOGL_NOTICE : LOGL_INFO, "%sSETUP to %s\n",
+		  setup.emergency ? "EMERGENCY_" : "", setup.called.number);
 
 	rate_ctr_inc(&trans->net->msc_ctrs->ctr[MSC_CTR_CALL_MO_SETUP]);
 
@@ -618,7 +594,7 @@
 
 	/* transaction id must not be assigned */
 	if (trans->transaction_id != TRANS_ID_UNASSIGNED) {
-		DEBUGP(DCC, "TX Setup with assigned transaction. "
+		LOG_TRANS(trans, LOGL_DEBUG, "TX Setup with assigned transaction. "
 			"This is not allowed!\n");
 		/* Temporarily out of order */
 		rc = mncc_release_ind(trans->net, trans, trans->callref,
@@ -1695,13 +1671,13 @@
 	/* Find callref */
 	trans = trans_find_by_callref(net, callref);
 	if (!trans) {
-		LOGP(DMNCC, LOGL_ERROR, "RTP create for non-existing trans\n");
+		LOG_TRANS_CAT(trans, DMNCC, LOGL_ERROR, "RTP create for non-existing trans\n");
 		mncc_recv_rtp_err(net, callref, MNCC_RTP_CREATE);
 		return -EIO;
 	}
 	log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub);
 	if (!trans->conn) {
-		LOGP(DMNCC, LOGL_NOTICE, "RTP create for trans without conn\n");
+		LOG_TRANS_CAT(trans, DMNCC, LOGL_NOTICE, "RTP create for trans without conn\n");
 		mncc_recv_rtp_err(net, callref, MNCC_RTP_CREATE);
 		return 0;
 	}
@@ -1756,13 +1732,13 @@
 	/* Find callref */
 	trans = trans_find_by_callref(net, rtp->callref);
 	if (!trans) {
-		LOGP(DMNCC, LOGL_ERROR, "RTP connect for non-existing trans\n");
+		LOG_TRANS_CAT(trans, DMNCC, LOGL_ERROR, "RTP connect for non-existing trans\n");
 		mncc_recv_rtp_err(net, rtp->callref, MNCC_RTP_CONNECT);
 		return -EIO;
 	}
 	log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub);
 	if (!trans->conn) {
-		LOGP(DMNCC, LOGL_ERROR, "RTP connect for trans without conn\n");
+		LOG_TRANS_CAT(trans, DMNCC, LOGL_ERROR, "RTP connect for trans without conn\n");
 		mncc_recv_rtp_err(net, rtp->callref, MNCC_RTP_CONNECT);
 		return 0;
 	}
@@ -1837,8 +1813,6 @@
 	struct ran_conn *conn = NULL;
 	struct gsm_mncc *data = arg, rel;
 
-	DEBUGP(DMNCC, "receive message %s\n", get_mncc_name(msg_type));
-
 	/* handle special messages */
 	switch(msg_type) {
 	case MNCC_BRIDGE:
@@ -1860,7 +1834,7 @@
 	case GSM_TCHF_FRAME_EFR:
 	case GSM_TCHH_FRAME:
 	case GSM_TCH_FRAME_AMR:
-		LOGP(DMNCC, LOGL_ERROR, "RTP streams must be handled externally; %s not supported.\n",
+		LOG_TRANS_CAT(trans, DMNCC, LOGL_ERROR, "RTP streams must be handled externally; %s not supported.\n",
 		     get_mncc_name(msg_type));
 		return -ENOTSUP;
 	}
@@ -1876,51 +1850,43 @@
 		struct vlr_subscr *vsub;
 
 		if (msg_type != MNCC_SETUP_REQ) {
-			DEBUGP(DCC, "(bts - trx - ts - ti -- sub %s) "
-				"Received '%s' from MNCC with "
-				"unknown callref %d\n", data->called.number,
-				get_mncc_name(msg_type), data->callref);
+			LOG_TRANS_CAT(trans, DCC, LOGL_ERROR, "Unknown call reference for %s\n",
+				      get_mncc_name(msg_type));
 			/* Invalid call reference */
 			return mncc_release_ind(net, NULL, data->callref,
 						GSM48_CAUSE_LOC_PRN_S_LU,
 						GSM48_CC_CAUSE_INVAL_TRANS_ID);
 		}
 		if (!data->called.number[0] && !data->imsi[0]) {
-			DEBUGP(DCC, "(bts - trx - ts - ti) "
-				"Received '%s' from MNCC with "
-				"no number or IMSI\n", get_mncc_name(msg_type));
+			LOG_TRANS_CAT(trans, DCC, LOGL_ERROR, "Neither number nor IMSI in %s\n",
+				      get_mncc_name(msg_type));
 			/* Invalid number */
 			return mncc_release_ind(net, NULL, data->callref,
 						GSM48_CAUSE_LOC_PRN_S_LU,
 						GSM48_CC_CAUSE_INV_NR_FORMAT);
 		}
 		/* New transaction due to setup, find subscriber */
-		if (data->called.number[0])
-			vsub = vlr_subscr_find_by_msisdn(net->vlr,
-							 data->called.number, __func__);
-		else
+		if (data->called.number[0]) {
+			vsub = vlr_subscr_find_by_msisdn(net->vlr, data->called.number, __func__);
+			if (!vsub)
+				LOG_TRANS_CAT(trans, DCC, LOGL_ERROR, "rx %s for unknown subscriber number '%s'\n",
+					      get_mncc_name(msg_type), data->called.number);
+		} else {
 			vsub = vlr_subscr_find_by_imsi(net->vlr, data->imsi, __func__);
-
+			if (!vsub)
+				LOG_TRANS_CAT(trans, DCC, LOGL_ERROR, "rx %s for unknown subscriber IMSI '%s'\n",
+					      get_mncc_name(msg_type), data->imsi);
+		}
+		if (!vsub)
+			return mncc_release_ind(net, NULL, data->callref, GSM48_CAUSE_LOC_PRN_S_LU,
+						GSM48_CC_CAUSE_UNASSIGNED_NR);
 		/* update the subscriber we deal with */
 		log_set_context(LOG_CTX_VLR_SUBSCR, vsub);
 
-		/* If subscriber is not found */
-		if (!vsub) {
-			DEBUGP(DCC, "(bts - trx - ts - ti -- sub %s) "
-				"Received '%s' from MNCC with "
-				"unknown subscriber %s\n", data->called.number,
-				get_mncc_name(msg_type), data->called.number);
-			/* Unknown subscriber */
-			return mncc_release_ind(net, NULL, data->callref,
-						GSM48_CAUSE_LOC_PRN_S_LU,
-						GSM48_CC_CAUSE_UNASSIGNED_NR);
-		}
 		/* If subscriber is not "attached" */
-		if (!vsub->cgi.lai.lac) {
-			DEBUGP(DCC, "(bts - trx - ts - ti -- sub %s) "
-				"Received '%s' from MNCC with "
-				"detached subscriber %s\n", data->called.number,
-				get_mncc_name(msg_type), vlr_subscr_name(vsub));
+		if (!vsub->lu_complete) {
+			LOG_TRANS_CAT(trans, DCC, LOGL_ERROR, "rx %s for subscriber that is not attached: %s\n",
+				      get_mncc_name(msg_type), vlr_subscr_name(vsub));
 			vlr_subscr_put(vsub, __func__);
 			/* Temporarily out of order */
 			return mncc_release_ind(net, NULL, data->callref,
@@ -1931,7 +1897,7 @@
 		trans = trans_alloc(net, vsub, GSM48_PDISC_CC,
 				    TRANS_ID_UNASSIGNED, data->callref);
 		if (!trans) {
-			LOGP(DCC, LOGL_ERROR, "No memory for trans.\n");
+			LOG_TRANS(trans, LOGL_ERROR, "No memory for trans.\n");
 			vlr_subscr_put(vsub, __func__);
 			/* Ressource unavailable */
 			mncc_release_ind(net, NULL, data->callref,
@@ -1951,16 +1917,14 @@
 				if (transt == trans ||
 				    transt->vsub != vsub)
 					continue;
-				DEBUGP(DCC, "(bts - trx - ts - ti -- sub %s) "
-					"Received '%s' from MNCC with "
-					"unallocated channel, paging already "
-					"started for lac %d.\n",
-					data->called.number,
-					get_mncc_name(msg_type), vsub->cgi.lai.lac);
+				LOG_TRANS(trans, LOGL_DEBUG,
+					  "rx %s, subscriber not yet connected, paging already started\n",
+					  get_mncc_name(msg_type));
 				vlr_subscr_put(vsub, __func__);
 				trans_free(trans);
 				return 0;
 			}
+
 			/* store setup information until paging succeeds */
 			memcpy(&trans->cc.msg, data, sizeof(struct gsm_mncc));
 
@@ -1972,7 +1936,7 @@
 							"MNCC: establish call",
 							SGSAP_SERV_IND_CS_CALL);
 			if (!trans->paging_request) {
-				LOGP(DCC, LOGL_ERROR, "Failed to allocate paging token.\n");
+				LOG_TRANS(trans, LOGL_ERROR, "Failed to allocate paging token.\n");
 				vlr_subscr_put(vsub, __func__);
 				trans_free(trans);
 				return 0;
@@ -1990,6 +1954,8 @@
 		log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub);
 	}
 
+	LOG_TRANS_CAT(trans, DMNCC, LOGL_DEBUG, "rx %s\n", get_mncc_name(msg_type));
+
 	gsm48_start_guard_timer(trans);
 
 	if (trans->conn)
@@ -1997,10 +1963,7 @@
 
 	/* if paging did not respond yet */
 	if (!conn) {
-		DEBUGP(DCC, "(sub %s) "
-			"Received '%s' from MNCC in paging state\n",
-			vlr_subscr_msisdn_or_name(trans->vsub),
-			get_mncc_name(msg_type));
+		LOG_TRANS(trans, LOGL_DEBUG, "rx %s in paging state\n", get_mncc_name(msg_type));
 		mncc_set_cause(&rel, GSM48_CAUSE_LOC_PRN_S_LU,
 				GSM48_CC_CAUSE_NORM_CALL_CLEAR);
 		if (msg_type == MNCC_REL_REQ)
@@ -2011,12 +1974,8 @@
 		trans_free(trans);
 		return rc;
 	} else {
-		DEBUGP(DCC, "(ti %02x sub %s) "
-		       "Received '%s' from MNCC in state %d (%s)\n",
-		       trans->transaction_id,
-		       vlr_subscr_msisdn_or_name(trans->conn->vsub),
-		       get_mncc_name(msg_type), trans->cc.state,
-		       gsm48_cc_state_name(trans->cc.state));
+		LOG_TRANS(trans, LOGL_DEBUG, "rx %s in state %s\n",
+			  get_mncc_name(msg_type), gsm48_cc_state_name(trans->cc.state));
 	}
 
 	/* Find function for current state and message */
@@ -2025,7 +1984,8 @@
 		 && ((1 << trans->cc.state) & downstatelist[i].states))
 			break;
 	if (i == DOWNSLLEN) {
-		DEBUGP(DCC, "Message '%s' unhandled at state '%s'\n", get_mncc_name(msg_type), gsm48_cc_state_name(trans->cc.state));
+		LOG_TRANS(trans, LOGL_DEBUG, "Message '%s' unhandled at state '%s'\n",
+			  get_mncc_name(msg_type), gsm48_cc_state_name(trans->cc.state));
 		return 0;
 	}
 
@@ -2098,29 +2058,18 @@
 	int i, rc = 0;
 
 	if (msg_type & 0x80) {
-		DEBUGP(DCC, "MSG 0x%2x not defined for PD error\n", msg_type);
+		LOG_TRANS(trans, LOGL_DEBUG, "MSG 0x%2x not defined for PD error\n", msg_type);
 		return -EINVAL;
 	}
 
 	if (!conn->vsub) {
-		LOGP(DCC, LOGL_ERROR, "Invalid conn: no subscriber\n");
+		LOG_TRANS(trans, LOGL_ERROR, "Invalid conn: no subscriber\n");
 		return -EINVAL;
 	}
 
 	/* Find transaction */
 	trans = trans_find_by_id(conn, GSM48_PDISC_CC, transaction_id);
 
-#if BEFORE_MSCSPLIT
-	/* Re-enable this log output once we can obtain this information via
-	 * A-interface, see OS#2391. */
-	DEBUGP(DCC, "(bts %d trx %d ts %d ti %x sub %s) "
-		"Received '%s' from MS in state %d (%s)\n",
-		conn->bts->nr, conn->lchan->ts->trx->nr, conn->lchan->ts->nr,
-		transaction_id, vlr_subscr_msisdn_or_name(conn->vsub),
-		gsm48_cc_msg_name(msg_type), trans?(trans->cc.state):0,
-		gsm48_cc_state_name(trans?(trans->cc.state):0));
-#endif
-
 	/* Create transaction */
 	if (!trans) {
 		DEBUGP(DCC, "Unknown transaction ID %x, "
@@ -2130,7 +2079,7 @@
 				    GSM48_PDISC_CC,
 				    transaction_id, new_callref++);
 		if (!trans) {
-			LOGP(DCC, LOGL_ERROR, "No memory for trans.\n");
+			LOG_TRANS(trans, LOGL_ERROR, "No memory for trans.\n");
 			rc = gsm48_tx_simple(conn,
 					     GSM48_PDISC_CC | (transaction_id << 4),
 					     GSM48_MT_CC_RELEASE_COMPL);
@@ -2142,13 +2091,16 @@
 		cm_service_request_concludes(conn, msg);
 	}
 
+	LOG_TRANS(trans, LOGL_DEBUG, "rx %s in state %s\n", gsm48_cc_msg_name(msg_type),
+		  gsm48_cc_state_name(trans->cc.state));
+
 	/* find function for current state and message */
 	for (i = 0; i < DATASLLEN; i++)
 		if ((msg_type == datastatelist[i].type)
 		 && ((1 << trans->cc.state) & datastatelist[i].states))
 			break;
 	if (i == DATASLLEN) {
-		DEBUGP(DCC, "Message unhandled at this state.\n");
+		LOG_TRANS(trans, LOGL_ERROR, "Message unhandled at this state.\n");
 		return 0;
 	}
 
diff --git a/src/libmsc/gsm_04_11.c b/src/libmsc/gsm_04_11.c
index 37d0333..434f878 100644
--- a/src/libmsc/gsm_04_11.c
+++ b/src/libmsc/gsm_04_11.c
@@ -120,11 +120,11 @@
 	osmo_signal_dispatch(SS_SMS, sig_no, &sig);
 }
 
-static int gsm411_sendmsg(struct ran_conn *conn, struct msgb *msg)
+static int gsm411_sendmsg(struct gsm_trans *trans, struct msgb *msg)
 {
-	DEBUGP(DLSMS, "GSM4.11 TX %s\n", msgb_hexdump(msg));
+	LOG_TRANS(trans, LOGL_DEBUG, "GSM4.11 TX %s\n", msgb_hexdump(msg));
 	msg->l3h = msg->data;
-	return msc_tx_dtap(conn, msg);
+	return msc_tx_dtap(trans->conn, msg);
 }
 
 /* Paging callback for MT SMS (Paging is triggered by SMC) */
@@ -136,7 +136,7 @@
 	struct gsm_sms *sms = trans->sms.sms;
 	int rc = 0;
 
-	DEBUGP(DLSMS, "paging_cb_mmsms_est_req(hooknum=%u, event=%u)\n", hooknum, event);
+	LOG_TRANS(trans, LOGL_DEBUG, "%s(%s)\n", __func__, event == GSM_PAGING_SUCCEEDED ? "success" : "expired");
 
 	if (hooknum != GSM_HOOK_RR_PAGING)
 		return -EINVAL;
@@ -184,22 +184,19 @@
 
 	/* Check if connection is already established */
 	if (trans->conn != NULL) {
-		LOGP(DLSMS, LOGL_DEBUG, "Using an existing connection "
-			"for %s\n", vlr_subscr_name(trans->vsub));
+		LOG_TRANS(trans, LOGL_DEBUG, "Using an existing connection\n");
 		return gsm411_smc_recv(&trans->sms.smc_inst,
 			GSM411_MMSMS_EST_CNF, NULL, 0);
 	}
 
 	/* Initiate Paging procedure */
-	LOGP(DLSMS, LOGL_DEBUG, "Initiating Paging procedure "
-		"for %s due to MMSMS_EST_REQ\n", vlr_subscr_name(trans->vsub));
+	LOG_TRANS(trans, LOGL_DEBUG, "Initiating Paging due to MMSMS_EST_REQ\n");
 	trans->paging_request = subscr_request_conn(trans->vsub,
 						    paging_cb_mmsms_est_req,
 						    trans, "MT SMS",
 						    SGSAP_SERV_IND_SMS);
 	if (!trans->paging_request) {
-		LOGP(DLSMS, LOGL_ERROR, "Failed to initiate Paging "
-			"procedure for %s\n", vlr_subscr_name(trans->vsub));
+		LOG_TRANS(trans, LOGL_ERROR, "Failed to initiate Paging\n");
 		/* Inform SMC about channel establishment failure */
 		gsm411_smc_recv(&trans->sms.smc_inst,
 			GSM411_MMSMS_REL_IND, NULL, 0);
@@ -222,9 +219,9 @@
 	gh->msg_type = msg_type;
 	OMSC_LINKID_CB(msg) = trans->dlci;
 
-	DEBUGP(DLSMS, "sending CP message (trans=%x)\n", trans->transaction_id);
+	LOG_TRANS(trans, LOGL_DEBUG, "sending CP message (trans=%x)\n", trans->transaction_id);
 
-	return gsm411_sendmsg(trans->conn, msg);
+	return gsm411_sendmsg(trans, msg);
 }
 
 /* mm_send: receive MMCCSMS sap message from SMC */
@@ -244,12 +241,12 @@
 		rc = gsm411_cp_sendmsg(msg, trans, cp_msg_type);
 		break;
 	case GSM411_MMSMS_REL_REQ:
-		DEBUGP(DLSMS, "Got MMSMS_REL_REQ, destroying transaction.\n");
+		LOG_TRANS(trans, LOGL_DEBUG, "Got MMSMS_REL_REQ, destroying transaction.\n");
 		msgb_free(msg);
 		trans_free(trans);
 		break;
 	default:
-		LOGP(DLSMS, LOGL_NOTICE, "Unhandled MMCCSMS msg 0x%x\n", msg_type);
+		LOG_TRANS(trans, LOGL_NOTICE, "Unhandled MMCCSMS msg 0x%x\n", msg_type);
 		msgb_free(msg);
 		rc = -EINVAL;
 	}
@@ -268,10 +265,10 @@
 	return gsm411_smc_send(&trans->sms.smc_inst, msg_type, msg);
 }
 
-static int gsm340_rx_sms_submit(struct gsm_sms *gsms)
+static int gsm340_rx_sms_submit(struct gsm_trans *trans, struct gsm_sms *gsms)
 {
 	if (db_sms_store(gsms) != 0) {
-		LOGP(DLSMS, LOGL_ERROR, "Failed to store SMS in Database\n");
+		LOG_TRANS(trans, LOGL_ERROR, "Failed to store SMS in Database\n");
 		return GSM411_RP_CAUSE_MO_NET_OUT_OF_ORDER;
 	}
 	/* dispatch a signal to tell higher level about it */
@@ -290,7 +287,7 @@
 
 /* generate a msgb containing an 03.40 9.2.2.1 SMS-DELIVER TPDU derived from
  * struct gsm_sms, returns total size of TPDU */
-static int gsm340_gen_sms_deliver_tpdu(struct msgb *msg, struct gsm_sms *sms)
+static int gsm340_gen_sms_deliver_tpdu(struct gsm_trans *trans, struct msgb *msg, struct gsm_sms *sms)
 {
 	uint8_t *smsp;
 	uint8_t oa[12];	/* max len per 03.40 */
@@ -353,8 +350,8 @@
 		memcpy(smsp, sms->user_data, sms->user_data_len);
 		break;
 	default:
-		LOGP(DLSMS, LOGL_NOTICE, "Unhandled Data Coding Scheme: 0x%02X\n",
-		     sms->data_coding_scheme);
+		LOG_TRANS(trans, LOGL_NOTICE, "Unhandled Data Coding Scheme: 0x%02X\n",
+			  sms->data_coding_scheme);
 		break;
 	}
 
@@ -362,7 +359,7 @@
 }
 
 /* As defined by GSM 03.40, Section 9.2.2.3. */
-static int gsm340_gen_sms_status_report_tpdu(struct msgb *msg,
+static int gsm340_gen_sms_status_report_tpdu(struct gsm_trans *trans, struct msgb *msg,
 					     struct gsm_sms *sms)
 {
 	unsigned int old_msg_len = msg->len;
@@ -402,16 +399,16 @@
 	/* From GSM 03.40, Section 9.2.3.15, 0x00 means OK. */
 	*smsp = 0x00;
 
-	LOGP(DLSMS, LOGL_INFO, "sending status report for SMS reference %x\n",
-	     sms->msg_ref);
+	LOG_TRANS(trans, LOGL_INFO, "sending status report for SMS reference %x\n",
+		  sms->msg_ref);
 
 	return msg->len - old_msg_len;
 }
 
-static int sms_route_mt_sms(struct ran_conn *conn,
-			    struct gsm_sms *gsms)
+static int sms_route_mt_sms(struct gsm_trans *trans, struct gsm_sms *gsms)
 {
 	int rc;
+	struct ran_conn *conn = trans->conn;
 
 #ifdef BUILD_SMPP
 	int smpp_first = smpp_route_smpp_first(gsms, conn);
@@ -428,8 +425,7 @@
 			/* unknown subscriber, try local */
 			goto try_local;
 		if (rc < 0) {
-	 		LOGP(DLSMS, LOGL_ERROR, "%s: SMS delivery error: %d.",
-			     vlr_subscr_name(conn->vsub), rc);
+			LOG_TRANS(trans, LOGL_ERROR, "SMS delivery error: %d.", rc);
 	 		rc = GSM411_RP_CAUSE_MO_TEMP_FAIL;
 			/* rc will be logged by gsm411_send_rp_error() */
 			rate_ctr_inc(&conn->network->msc_ctrs->ctr[
@@ -455,8 +451,7 @@
 		if (rc == GSM411_RP_CAUSE_MO_NUM_UNASSIGNED) {
 			rate_ctr_inc(&conn->network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
 		} else if (rc < 0) {
-	 		LOGP(DLSMS, LOGL_ERROR, "%s: SMS delivery error: %d.",
-			     vlr_subscr_name(conn->vsub), rc);
+			LOG_TRANS(trans, LOGL_ERROR, "SMS delivery error: %d.", rc);
 	 		rc = GSM411_RP_CAUSE_MO_TEMP_FAIL;
 			/* rc will be logged by gsm411_send_rp_error() */
 			rate_ctr_inc(&conn->network->msc_ctrs->ctr[
@@ -515,11 +510,11 @@
 	/* length in bytes of the destination address */
 	da_len_bytes = 2 + *smsp/2 + *smsp%2;
 	if (da_len_bytes > 12) {
-		LOGP(DLSMS, LOGL_ERROR, "Destination Address > 12 bytes ?!?\n");
+		LOG_TRANS(trans, LOGL_ERROR, "Destination Address > 12 bytes ?!?\n");
 		rc = GSM411_RP_CAUSE_SEMANT_INC_MSG;
 		goto out;
 	} else if (da_len_bytes < 4) {
-		LOGP(DLSMS, LOGL_ERROR, "Destination Address < 4 bytes ?!?\n");
+		LOG_TRANS(trans, LOGL_ERROR, "Destination Address < 4 bytes ?!?\n");
 		rc = GSM411_RP_CAUSE_SEMANT_INC_MSG;
 		goto out;
 	}
@@ -560,8 +555,7 @@
 		sms_vp = 0;
 		break;
 	default:
-		LOGP(DLSMS, LOGL_NOTICE,
-		     "SMS Validity period not implemented: 0x%02x\n", sms_vpf);
+		LOG_TRANS(trans, LOGL_NOTICE, "SMS Validity period not implemented: 0x%02x\n", sms_vpf);
 		rc = GSM411_RP_CAUSE_MO_NET_OUT_OF_ORDER;
 		goto out;
 	}
@@ -583,21 +577,22 @@
 
 	OSMO_STRLCPY_ARRAY(gsms->src.addr, conn->vsub->msisdn);
 
-	LOGP(DLSMS, LOGL_INFO, "RX SMS: Sender: %s, MTI: 0x%02x, VPF: 0x%02x, "
-	     "MR: 0x%02x PID: 0x%02x, DCS: 0x%02x, DA: %s, "
-	     "UserDataLength: 0x%02x, UserData: \"%s\"\n",
-	     vlr_subscr_name(conn->vsub), sms_mti, sms_vpf, gsms->msg_ref,
-	     gsms->protocol_id, gsms->data_coding_scheme, gsms->dst.addr,
-	     gsms->user_data_len,
-			sms_alphabet == DCS_7BIT_DEFAULT ? gsms->text :
-				osmo_hexdump(gsms->user_data, gsms->user_data_len));
+	LOG_TRANS(trans, LOGL_INFO,
+		  "MO SMS -- MTI: 0x%02x, VPF: 0x%02x, "
+		  "MR: 0x%02x PID: 0x%02x, DCS: 0x%02x, DA: %s, "
+		  "UserDataLength: 0x%02x, UserData: \"%s\"\n",
+		  sms_mti, sms_vpf, gsms->msg_ref,
+		  gsms->protocol_id, gsms->data_coding_scheme, gsms->dst.addr,
+		  gsms->user_data_len,
+		  sms_alphabet == DCS_7BIT_DEFAULT ? gsms->text :
+		  osmo_hexdump(gsms->user_data, gsms->user_data_len));
 
 	gsms->validity_minutes = gsm340_validity_period(sms_vpf, sms_vp);
 
 	/* FIXME: This looks very wrong */
 	send_signal(0, NULL, gsms, 0);
 
-	rc = sms_route_mt_sms(conn, gsms);
+	rc = sms_route_mt_sms(trans, gsms);
 
 	/*
 	 * This SMS got routed through SMPP or no receiver exists.
@@ -607,15 +602,15 @@
 	switch (sms_mti) {
 	case GSM340_SMS_SUBMIT_MS2SC:
 		/* MS is submitting a SMS */
-		rc = gsm340_rx_sms_submit(gsms);
+		rc = gsm340_rx_sms_submit(trans, gsms);
 		break;
 	case GSM340_SMS_COMMAND_MS2SC:
 	case GSM340_SMS_DELIVER_REP_MS2SC:
-		LOGP(DLSMS, LOGL_NOTICE, "Unimplemented MTI 0x%02x\n", sms_mti);
+		LOG_TRANS(trans, LOGL_NOTICE, "Unimplemented MTI 0x%02x\n", sms_mti);
 		rc = GSM411_RP_CAUSE_IE_NOTEXIST;
 		break;
 	default:
-		LOGP(DLSMS, LOGL_NOTICE, "Undefined MTI 0x%02x\n", sms_mti);
+		LOG_TRANS(trans, LOGL_NOTICE, "Undefined MTI 0x%02x\n", sms_mti);
 		rc = GSM411_RP_CAUSE_IE_NOTEXIST;
 		break;
 	}
@@ -646,7 +641,7 @@
 {
 	struct msgb *msg = gsm411_msgb_alloc();
 
-	DEBUGP(DLSMS, "TX: SMS RP ACK\n");
+	LOG_TRANS(trans, LOGL_DEBUG, "TX: SMS RP ACK\n");
 
 	return gsm411_rp_sendmsg(&trans->sms.smr_inst, msg, GSM411_MT_RP_ACK_MT,
 		msg_ref, GSM411_SM_RL_REPORT_REQ);
@@ -659,7 +654,7 @@
 
 	msgb_tv_put(msg, 1, cause);
 
-	LOGP(DLSMS, LOGL_NOTICE, "TX: SMS RP ERROR, cause %d (%s)\n", cause,
+	LOG_TRANS(trans, LOGL_NOTICE, "TX: SMS RP ERROR, cause %d (%s)\n", cause,
 		get_value_string(gsm411_rp_cause_strs, cause));
 
 	return gsm411_rp_sendmsg(&trans->sms.smr_inst, msg,
@@ -711,14 +706,14 @@
 	if (rpud_len)
 		rp_ud = &rph->data[1+src_len+1+dst_len+1];
 
-	DEBUGP(DLSMS, "RX_RP-DATA: src_len=%u, dst_len=%u ud_len=%u\n",
+	LOG_TRANS(trans, LOGL_DEBUG, "RX_RP-DATA: src_len=%u, dst_len=%u ud_len=%u\n",
 		src_len, dst_len, rpud_len);
 
 	if (src_len && src)
-		LOGP(DLSMS, LOGL_ERROR, "RP-DATA (MO) with SRC ?!?\n");
+		LOG_TRANS(trans, LOGL_ERROR, "RP-DATA (MO) with SRC ?!?\n");
 
 	if (!dst_len || !dst || !rpud_len || !rp_ud) {
-		LOGP(DLSMS, LOGL_ERROR,
+		LOG_TRANS(trans, LOGL_ERROR,
 			"RP-DATA (MO) without DST or TPDU ?!?\n");
 		gsm411_send_rp_error(trans, rph->msg_ref,
 				     GSM411_RP_CAUSE_INV_MAND_INF);
@@ -727,12 +722,12 @@
 
 	msg->l4h = rp_ud;
 
-	DEBUGP(DLSMS, "DST(%u,%s)\n", dst_len, osmo_hexdump(dst, dst_len));
+	LOG_TRANS(trans, LOGL_DEBUG, "DST(%u,%s)\n", dst_len, osmo_hexdump(dst, dst_len));
 
 	return gsm411_rx_rp_ud(msg, trans, rph, dst, dst_len);
 }
 
-static struct gsm_sms *sms_report_alloc(struct gsm_sms *sms)
+static struct gsm_sms *sms_report_alloc(struct gsm_sms *sms, struct gsm_trans *trans)
 {
 	struct gsm_sms *sms_report;
 	int len;
@@ -757,7 +752,7 @@
 		       "id:%.08llu sub:000 dlvrd:000 submit date:YYMMDDhhmm done date:YYMMDDhhmm stat:DELIVRD err:000 text:%.20s",
 		       sms->id, sms->text);
 	sms_report->user_data_len = len;
-	LOGP(DLSMS, LOGL_NOTICE, "%s\n", sms_report->user_data);
+	LOG_TRANS(trans, LOGL_NOTICE, "%s\n", sms_report->user_data);
 
 	/* This represents a sms report. */
 	sms_report->is_report = true;
@@ -765,25 +760,24 @@
 	return sms_report;
 }
 
-static void sms_status_report(struct gsm_sms *gsms,
-			      struct ran_conn *conn)
+static void sms_status_report(struct gsm_sms *gsms, struct gsm_trans *trans)
 {
 	struct gsm_sms *sms_report;
 	int rc;
 
-	sms_report = sms_report_alloc(gsms);
+	sms_report = sms_report_alloc(gsms, trans);
 
-	rc = sms_route_mt_sms(conn, sms_report);
+	rc = sms_route_mt_sms(trans, sms_report);
 	if (rc < 0) {
-		LOGP(DLSMS, LOGL_ERROR,
-		     "Failed to send status report! err=%d\n", rc);
+		LOG_TRANS(trans, LOGL_ERROR, "Failed to send status report! err=%d\n", rc);
+		return;
 	}
 
 	/* No route via SMPP, send the GSM 03.40 status-report now. */
 	if (sms_report->receiver)
-		gsm340_rx_sms_submit(sms_report);
+		gsm340_rx_sms_submit(trans, sms_report);
 
-	LOGP(DLSMS, LOGL_NOTICE, "Status report has been sent\n");
+	LOG_TRANS(trans, LOGL_NOTICE, "Status report has been sent\n");
 
 	sms_free(sms_report);
 }
@@ -804,7 +798,7 @@
 	}
 
 	if (!sms) {
-		LOGP(DLSMS, LOGL_ERROR, "RX RP-ACK but no sms in transaction?!?\n");
+		LOG_TRANS(trans, LOGL_ERROR, "RX RP-ACK but no sms in transaction?!?\n");
 		return gsm411_send_rp_error(trans, rph->msg_ref,
 					    GSM411_RP_CAUSE_PROTOCOL_ERR);
 	}
@@ -815,7 +809,7 @@
 	send_signal(S_SMS_DELIVERED, trans, sms, 0);
 
 	if (sms->status_rep_req)
-		sms_status_report(sms, trans->conn);
+		sms_status_report(sms, trans);
 
 	sms_free(sms);
 	trans->sms.sms = NULL;
@@ -835,9 +829,8 @@
 	 * successfully receive the SMS.  We need to investigate
 	 * the cause and take action depending on it */
 
-	LOGP(DLSMS, LOGL_NOTICE, "%s: RX SMS RP-ERROR, cause %d:%d (%s)\n",
-	     vlr_subscr_name(trans->conn->vsub), cause_len, cause,
-	     get_value_string(gsm411_rp_cause_strs, cause));
+	LOG_TRANS(trans, LOGL_NOTICE, "RX SMS RP-ERROR, cause %d:%d (%s)\n",
+		      cause_len, cause, get_value_string(gsm411_rp_cause_strs, cause));
 
 	if (trans->net->sms_over_gsup) {
 		/* Forward towards SMSC via GSUP */
@@ -845,8 +838,7 @@
 	}
 
 	if (!sms) {
-		LOGP(DLSMS, LOGL_ERROR,
-			"RX RP-ERR, but no sms in transaction?!?\n");
+		LOG_TRANS(trans, LOGL_ERROR, "RX RP-ERR, but no sms in transaction?!?\n");
 		return -EINVAL;
 #if 0
 		return gsm411_send_rp_error(trans, rph->msg_ref,
@@ -905,15 +897,15 @@
 
 	switch (msg_type) {
 	case GSM411_MT_RP_DATA_MO:
-		DEBUGP(DLSMS, "RX SMS RP-DATA (MO)\n");
+		LOG_TRANS(trans, LOGL_DEBUG, "RX SMS RP-DATA (MO)\n");
 		rc = gsm411_rx_rp_data(msg, trans, rp_data);
 		break;
 	case GSM411_MT_RP_SMMA_MO:
-		DEBUGP(DLSMS, "RX SMS RP-SMMA\n");
+		LOG_TRANS(trans, LOGL_DEBUG, "RX SMS RP-SMMA\n");
 		rc = gsm411_rx_rp_smma(msg, trans, rp_data);
 		break;
 	default:
-		LOGP(DLSMS, LOGL_NOTICE, "Invalid RP type 0x%02x\n", msg_type);
+		LOG_TRANS(trans, LOGL_NOTICE, "Invalid RP type 0x%02x\n", msg_type);
 		rc = -EINVAL;
 		break;
 	}
@@ -931,15 +923,15 @@
 
 	switch (msg_type) {
 	case GSM411_MT_RP_ACK_MO:
-		DEBUGP(DLSMS, "RX SMS RP-ACK (MO)\n");
+		LOG_TRANS(trans, LOGL_DEBUG, "RX SMS RP-ACK (MO)\n");
 		rc = gsm411_rx_rp_ack(trans, rp_data);
 		break;
 	case GSM411_MT_RP_ERROR_MO:
-		DEBUGP(DLSMS, "RX SMS RP-ERROR (MO)\n");
+		LOG_TRANS(trans, LOGL_DEBUG, "RX SMS RP-ERROR (MO)\n");
 		rc = gsm411_rx_rp_error(trans, rp_data);
 		break;
 	default:
-		LOGP(DLSMS, LOGL_NOTICE, "Invalid RP type 0x%02x\n", msg_type);
+		LOG_TRANS(trans, LOGL_NOTICE, "Invalid RP type 0x%02x\n", msg_type);
 		rc = -EINVAL;
 		break;
 	}
@@ -967,7 +959,7 @@
 			rc = gsm411_rx_rl_report(msg, gh, trans);
 		break;
 	default:
-		LOGP(DLSMS, LOGL_NOTICE, "Unhandled SM-RL message 0x%x\n", msg_type);
+		LOG_TRANS(trans, LOGL_NOTICE, "Unhandled SM-RL message 0x%x\n", msg_type);
 		rc = -EINVAL;
 	}
 
@@ -988,21 +980,21 @@
 	switch (msg_type) {
 	case GSM411_MNSMS_EST_IND:
 	case GSM411_MNSMS_DATA_IND:
-		DEBUGP(DLSMS, "MNSMS-DATA/EST-IND\n");
+		LOG_TRANS(trans, LOGL_DEBUG, "MNSMS-DATA/EST-IND\n");
 		rc = gsm411_smr_recv(&trans->sms.smr_inst, msg_type, msg);
 		break;
 	case GSM411_MNSMS_ERROR_IND:
 		if (gh)
-			DEBUGP(DLSMS, "MNSMS-ERROR-IND, cause %d (%s)\n",
+			LOG_TRANS(trans, LOGL_DEBUG, "MNSMS-ERROR-IND, cause %d (%s)\n",
 				gh->data[0],
 				get_value_string(gsm411_cp_cause_strs,
 				gh->data[0]));
 		else
-			DEBUGP(DLSMS, "MNSMS-ERROR-IND, no cause\n");
+			LOG_TRANS(trans, LOGL_DEBUG, "MNSMS-ERROR-IND, no cause\n");
 		rc = gsm411_smr_recv(&trans->sms.smr_inst, msg_type, msg);
 		break;
 	default:
-		LOGP(DLSMS, LOGL_NOTICE, "Unhandled MNCCSMS msg 0x%x\n", msg_type);
+		LOG_TRANS(trans, LOGL_NOTICE, "Unhandled MNCCSMS msg 0x%x\n", msg_type);
 		rc = -EINVAL;
 	}
 
@@ -1015,7 +1007,7 @@
 	/* Allocate a new transaction */
 	struct gsm_trans *trans = trans_alloc(net, vsub, GSM48_PDISC_SMS, tid, new_callref++);
 	if (!trans) {
-		LOGP(DLSMS, LOGL_ERROR, "No memory for transaction\n");
+		LOG_TRANS(trans, LOGL_ERROR, "No memory for transaction\n");
 		return NULL;
 	}
 
@@ -1058,15 +1050,13 @@
 					       struct vlr_subscr *vsub)
 {
 	struct ran_conn *conn;
-	struct gsm_trans *trans;
+	struct gsm_trans *trans = NULL;
 	int tid;
 
-	LOGP(DLSMS, LOGL_INFO, "Going to send a MT SMS\n");
-
 	/* Generate a new transaction ID */
 	tid = trans_assign_trans_id(net, vsub, GSM48_PDISC_SMS);
 	if (tid == -1) {
-		LOGP(DLSMS, LOGL_ERROR, "No available transaction IDs\n");
+		LOG_TRANS(trans, LOGL_ERROR, "No available transaction IDs\n");
 		return NULL;
 	}
 
@@ -1078,9 +1068,11 @@
 	if (!trans)
 		return NULL;
 
+	LOG_TRANS(trans, LOGL_INFO, "Going to send a MT SMS\n");
+
 	/* Assign a unique SM-RP Message Reference */
 	if (gsm411_assign_sm_rp_mr(trans) != 0) {
-		LOGP(DLSMS, LOGL_ERROR, "Failed to assign SM-RP-MR\n");
+		LOG_TRANS(trans, LOGL_ERROR, "Failed to assign SM-RP-MR\n");
 		trans_free(trans);
 		return NULL;
 	}
@@ -1138,10 +1130,10 @@
 
 	if (sms->is_report) {
 		/* generate the 03.40 SMS-STATUS-REPORT TPDU */
-		rc = gsm340_gen_sms_status_report_tpdu(msg, sms);
+		rc = gsm340_gen_sms_status_report_tpdu(trans, msg, sms);
 	} else {
 		/* generate the 03.40 SMS-DELIVER TPDU */
-		rc = gsm340_gen_sms_deliver_tpdu(msg, sms);
+		rc = gsm340_gen_sms_deliver_tpdu(trans, msg, sms);
 	}
 	if (rc < 0) {
 		send_signal(S_SMS_UNKNOWN_ERROR, trans, sms, 0);
@@ -1216,16 +1208,13 @@
 		return -EIO;
 		/* FIXME: send some error message */
 
-	DEBUGP(DLSMS, "receiving data (trans_id=%x, msg_type=%s)\n", transaction_id,
-	       gsm48_pdisc_msgtype_name(gsm48_hdr_pdisc(gh), gsm48_hdr_msg_type(gh)));
-
 	trans = trans_find_by_id(conn, GSM48_PDISC_SMS, transaction_id);
 
 	/*
 	 * A transaction we created but don't know about?
 	 */
 	if (!trans && (transaction_id & 0x8) == 0) {
-		LOGP(DLSMS, LOGL_ERROR, "trans_id=%x allocated by us but known "
+		LOG_TRANS(trans, LOGL_ERROR, "trans_id=%x allocated by us but known "
 			"to us anymore. We are ignoring it, maybe a CP-ERROR "
 			"from a MS?\n",
 			transaction_id);
@@ -1246,6 +1235,9 @@
 		cm_service_request_concludes(conn, msg);
 	}
 
+	LOG_TRANS(trans, LOGL_DEBUG, "receiving SMS message %s\n",
+		  gsm48_pdisc_msgtype_name(gsm48_hdr_pdisc(gh), gsm48_hdr_msg_type(gh)));
+
 	/* 5.4: For MO, if a CP-DATA is received for a new
 	 * transaction, equals reception of an implicit
 	 * last CP-ACK for previous transaction */
@@ -1263,7 +1255,7 @@
 			if (!ptrans)
 				continue;
 
-			DEBUGP(DLSMS, "Implicit CP-ACK for trans_id=%x\n", i);
+			LOG_TRANS(ptrans, LOGL_DEBUG, "Implicit CP-ACK for trans_id=%x\n", i);
 
 			/* Finish it for good */
 			trans_free(ptrans);
@@ -1291,7 +1283,7 @@
 	trans->sms.smc_inst.mm_send = NULL;
 
 	if (trans->sms.sms) {
-		LOGP(DLSMS, LOGL_ERROR, "Transaction contains SMS.\n");
+		LOG_TRANS(trans, LOGL_ERROR, "Freeing transaction that still contains an SMS -- discarding\n");
 		send_signal(S_SMS_UNKNOWN_ERROR, trans, trans->sms.sms, 0);
 		sms_free(trans->sms.sms);
 		trans->sms.sms = NULL;
@@ -1316,7 +1308,7 @@
 
 		sms = trans->sms.sms;
 		if (!sms) {
-			LOGP(DLSMS, LOGL_ERROR, "SAPI Reject but no SMS.\n");
+			LOG_TRANS(trans, LOGL_ERROR, "SAPI Reject but no SMS.\n");
 			continue;
 		}
 
diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c
index eb092ae..cd83b41 100644
--- a/src/libmsc/gsm_04_11_gsup.c
+++ b/src/libmsc/gsm_04_11_gsup.c
@@ -58,7 +58,7 @@
 	/* Associate logging messages with this subscriber */
 	log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub);
 
-	LOGP(DLSMS, LOGL_DEBUG, "TX GSUP MO-forwardSM-Req\n");
+	LOG_TRANS(trans, LOGL_DEBUG, "TX GSUP MO-forwardSM-Req\n");
 
 	/* Assign SM-RP-MR to transaction state */
 	trans->sms.sm_rp_mr = sm_rp_mr;
@@ -67,7 +67,7 @@
 	bcd_len = gsm48_encode_bcd_number(bcd_buf, sizeof(bcd_buf),
 		0, trans->vsub->msisdn);
 	if (bcd_len <= 0 || bcd_len > sizeof(bcd_buf)) {
-		LOGP(DLSMS, LOGL_ERROR, "Failed to encode subscriber's MSISDN\n");
+		LOG_TRANS(trans, LOGL_ERROR, "Failed to encode subscriber's MSISDN\n");
 		return -EINVAL;
 	}
 
@@ -99,7 +99,7 @@
 	/* Associate logging messages with this subscriber */
 	log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub);
 
-	LOGP(DLSMS, LOGL_DEBUG, "TX GSUP READY-FOR-SM Req\n");
+	LOG_TRANS(trans, LOGL_DEBUG, "TX GSUP READY-FOR-SM Req\n");
 
 	/* Assign SM-RP-MR to transaction state */
 	trans->sms.sm_rp_mr = sm_rp_mr;
@@ -147,9 +147,6 @@
 		OSMO_ASSERT(0);
 	}
 
-	LOGP(DLSMS, LOGL_DEBUG, "RX %s-%s\n", msg_name,
-		msg_is_err ? "Err" : "Res");
-
 	/* Make sure that 'SMS over GSUP' is expected */
 	if (!net->sms_over_gsup) {
 		/* TODO: notify sender about that? */
@@ -173,6 +170,8 @@
 		return -EIO; /* TODO: notify sender about that? */
 	}
 
+	LOG_TRANS(trans, LOGL_DEBUG, "RX %s-%s\n", msg_name, msg_is_err ? "Err" : "Res");
+
 	/* Send either RP-ERROR, or RP-ACK */
 	if (msg_is_err) {
 		/* TODO: handle optional SM-RP-UI payload (requires API change) */
@@ -198,7 +197,7 @@
 	/* Associate logging messages with this subscriber */
 	log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub);
 
-	LOGP(DLSMS, LOGL_DEBUG, "TX MT-forwardSM-Res\n");
+	LOG_TRANS(trans, LOGL_DEBUG, "TX MT-forwardSM-Res\n");
 
 	/* Initialize a new GSUP message */
 	gsup_sm_msg_init(&gsup_msg, OSMO_GSUP_MSGT_MT_FORWARD_SM_RESULT,
@@ -215,7 +214,7 @@
 	/* Associate logging messages with this subscriber */
 	log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub);
 
-	LOGP(DLSMS, LOGL_DEBUG, "TX MT-forwardSM-Err\n");
+	LOG_TRANS(trans, LOGL_DEBUG, "TX MT-forwardSM-Err\n");
 
 	/* Initialize a new GSUP message */
 	gsup_sm_msg_init(&gsup_msg, OSMO_GSUP_MSGT_MT_FORWARD_SM_ERROR,
diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c
index c133656..25fe4aa 100644
--- a/src/libmsc/gsm_09_11.c
+++ b/src/libmsc/gsm_09_11.c
@@ -60,8 +60,7 @@
 	if (trans->net->ncss_guard_timeout == 0)
 		return;
 
-	LOGP(DMM, LOGL_NOTICE, "SS/USSD session timeout, releasing "
-		"transaction (trans=%p, callref=%x)\n", trans, trans->callref);
+	LOG_TRANS(trans, LOGL_NOTICE, "SS/USSD session timeout, releasing\n");
 
 	/* Indicate connection release to subscriber (if active) */
 	if (trans->conn != NULL) {
@@ -103,9 +102,6 @@
 	/* Associate logging messages with this subscriber */
 	log_set_context(LOG_CTX_VLR_SUBSCR, conn->vsub);
 
-	DEBUGP(DMM, "Received SS/USSD data (trans_id=%x, msg_type=%s)\n",
-		tid, gsm48_pdisc_msgtype_name(GSM48_PDISC_NC_SS, msg_type));
-
 	/* Reuse existing transaction, or create a new one */
 	trans = trans_find_by_id(conn, GSM48_PDISC_NC_SS, tid);
 	if (!trans) {
@@ -121,20 +117,18 @@
 		 * a supplementary service.
 		 */
 		if (msg_type != GSM0480_MTYPE_REGISTER) {
-			LOGP(DMM, LOGL_ERROR, "Unexpected message (msg_type=%s), "
-				"transaction is not allocated yet\n",
-				gsm48_pdisc_msgtype_name(GSM48_PDISC_NC_SS, msg_type));
+			LOG_TRANS(trans, LOGL_ERROR, "Rx wrong SS/USSD message type for new transaction: %s\n",
+				  gsm48_pdisc_msgtype_name(GSM48_PDISC_NC_SS, msg_type));
 			gsm48_tx_simple(conn,
 				GSM48_PDISC_NC_SS | (tid << 4),
 				GSM0480_MTYPE_RELEASE_COMPLETE);
 			return -EINVAL;
 		}
 
-		DEBUGP(DMM, " -> (new transaction)\n");
 		trans = trans_alloc(conn->network, conn->vsub,
 				    GSM48_PDISC_NC_SS, tid, new_callref++);
 		if (!trans) {
-			LOGP(DMM, LOGL_ERROR, " -> No memory for trans\n");
+			LOG_TRANS(trans, LOGL_ERROR, " -> No memory for trans\n");
 			gsm48_tx_simple(conn,
 				GSM48_PDISC_NC_SS | (tid << 4),
 				GSM0480_MTYPE_RELEASE_COMPLETE);
@@ -153,6 +147,9 @@
 		cm_service_request_concludes(conn, msg);
 	}
 
+	LOG_TRANS(trans, LOGL_DEBUG, "Received SS/USSD msg %s\n",
+		  gsm48_pdisc_msgtype_name(GSM48_PDISC_NC_SS, msg_type));
+
 	/* (Re)schedule the inactivity timer */
 	if (conn->network->ncss_guard_timeout > 0) {
 		osmo_timer_schedule(&trans->ss.timer_guard,
@@ -163,16 +160,15 @@
 	rc = gsm0480_extract_ie_by_tag(gh, msgb_l3len(msg),
 		&facility_ie, &facility_ie_len, GSM0480_IE_FACILITY);
 	if (rc) {
-		LOGP(DMM, LOGL_ERROR, "GSM 04.80 message parsing error, "
-			"couldn't extract Facility IE\n");
+		LOG_TRANS(trans, LOGL_ERROR, "GSM 04.80 message parsing error, couldn't extract Facility IE\n");
 		goto error;
 	}
 
 	/* Facility IE is optional for RELEASE COMPLETE */
 	if (msg_type != GSM0480_MTYPE_RELEASE_COMPLETE) {
 		if (!facility_ie || facility_ie_len < 2) {
-			LOGP(DMM, LOGL_ERROR, "GSM 04.80 message parsing error, "
-				"missing mandatory Facility IE\n");
+			LOG_TRANS(trans, LOGL_ERROR, "GSM 04.80 message parsing error,"
+				  " missing mandatory Facility IE\n");
 			rc = -EINVAL;
 			goto error;
 		}
@@ -211,7 +207,7 @@
 	/* Allocate GSUP message buffer */
 	gsup_msgb = osmo_gsup_client_msgb_alloc();
 	if (!gsup_msgb) {
-		LOGP(DMM, LOGL_ERROR, "Couldn't allocate GSUP message\n");
+		LOG_TRANS(trans, LOGL_ERROR, "Couldn't allocate GSUP message\n");
 		rc = -ENOMEM;
 		goto error;
 	}
@@ -219,14 +215,14 @@
 	/* Encode GSUP message */
 	rc = osmo_gsup_encode(gsup_msgb, &gsup_msg);
 	if (rc) {
-		LOGP(DMM, LOGL_ERROR, "Couldn't encode GSUP message\n");
+		LOG_TRANS(trans, LOGL_ERROR, "Couldn't encode GSUP message\n");
 		goto error;
 	}
 
 	/* Finally send */
 	rc = osmo_gsup_client_send(conn->network->vlr->gsup_client, gsup_msgb);
 	if (rc) {
-		LOGP(DMM, LOGL_ERROR, "Couldn't send GSUP message\n");
+		LOG_TRANS(trans, LOGL_ERROR, "Couldn't send GSUP message\n");
 		goto error;
 	}
 
@@ -323,33 +319,37 @@
 	struct gsm_trans *trans, *transt;
 	int tid;
 
+	/* Allocate transaction first, for log context */
+	trans = trans_alloc(net, vsub, GSM48_PDISC_NC_SS,
+		TRANS_ID_UNASSIGNED, gsup_msg->session_id);
+
+	if (!trans) {
+		LOG_TRANS(trans, LOGL_ERROR, " -> No memory for trans\n");
+		return NULL;
+	}
+
 	if (gsup_msg->session_state != OSMO_GSUP_SESSION_STATE_BEGIN) {
-		LOGP(DMM, LOGL_ERROR, "Received non-BEGIN message "
+		LOG_TRANS(trans, LOGL_ERROR, "Received non-BEGIN message "
 			"for non-existing transaction\n");
+		trans_free(trans);
 		return NULL;
 	}
 
 	if (!gsup_msg->ss_info || gsup_msg->ss_info_len < 2) {
-		LOGP(DMM, LOGL_ERROR, "Missing mandatory Facility IE\n");
+		LOG_TRANS(trans, LOGL_ERROR, "Missing mandatory Facility IE\n");
+		trans_free(trans);
 		return NULL;
 	}
 
 	/* If subscriber is not "attached" */
 	if (!vsub->cgi.lai.lac) {
-		LOGP(DMM, LOGL_ERROR, "Network-originated session "
+		LOG_TRANS(trans, LOGL_ERROR, "Network-originated session "
 			"rejected - subscriber is not attached\n");
+		trans_free(trans);
 		return NULL;
 	}
 
-	DEBUGP(DMM, "Establishing network-originated session\n");
-
-	/* Allocate a new transaction */
-	trans = trans_alloc(net, vsub, GSM48_PDISC_NC_SS,
-		TRANS_ID_UNASSIGNED, gsup_msg->session_id);
-	if (!trans) {
-		LOGP(DMM, LOGL_ERROR, " -> No memory for trans\n");
-		return NULL;
-	}
+	LOG_TRANS(trans, LOGL_DEBUG, "Establishing network-originated session\n");
 
 	/* Count active NC SS/USSD sessions */
 	osmo_counter_inc(net->active_nc_ss);
@@ -357,7 +357,7 @@
 	/* Assign transaction ID */
 	tid = trans_assign_trans_id(trans->net, trans->vsub, GSM48_PDISC_NC_SS);
 	if (tid < 0) {
-		LOGP(DMM, LOGL_ERROR, "No free transaction ID\n");
+		LOG_TRANS(trans, LOGL_ERROR, "No free transaction ID\n");
 		/* TODO: inform HLR about this */
 		/* TODO: release connection with subscriber */
 		trans->callref = 0;
@@ -379,7 +379,7 @@
 		return trans;
 	}
 
-	DEBUGP(DMM, "Triggering Paging Request\n");
+	LOG_TRANS(trans, LOGL_DEBUG, "Triggering Paging Request\n");
 
 	/* Find transaction with this subscriber already paging */
 	llist_for_each_entry(transt, &net->trans_list, entry) {
@@ -387,7 +387,7 @@
 		if (transt == trans || transt->vsub != vsub)
 			continue;
 
-		LOGP(DMM, LOGL_ERROR, "Paging already started, "
+		LOG_TRANS(trans, LOGL_ERROR, "Paging already started, "
 			"rejecting message...\n");
 		trans_free(trans);
 		return NULL;
@@ -398,7 +398,7 @@
 		&handle_paging_event, trans, "GSM 09.11 SS/USSD",
 	        SGSAP_SERV_IND_CS_CALL);
 	if (!trans->paging_request) {
-		LOGP(DMM, LOGL_ERROR, "Failed to allocate paging token\n");
+		LOG_TRANS(trans, LOGL_ERROR, "Failed to allocate paging token\n");
 		trans_free(trans);
 		return NULL;
 	}
@@ -510,7 +510,7 @@
 	/* Missing or incorrect session state */
 	case OSMO_GSUP_SESSION_STATE_NONE:
 	default:
-		LOGP(DMM, LOGL_ERROR, "Unexpected session state %d\n",
+		LOG_TRANS(trans, LOGL_ERROR, "Unexpected session state %d\n",
 			gsup_msg->session_state);
 		/* FIXME: send ERROR back to the HLR */
 		msgb_free(ss_msg);
@@ -520,7 +520,7 @@
 	/* Facility IE is optional only for RELEASE COMPLETE */
 	if (gh->msg_type != GSM0480_MTYPE_RELEASE_COMPLETE) {
 		if (!gsup_msg->ss_info || gsup_msg->ss_info_len < 2) {
-			LOGP(DMM, LOGL_ERROR, "Missing mandatory Facility IE "
+			LOG_TRANS(trans, LOGL_ERROR, "Missing mandatory Facility IE "
 				"for mapped 0x%02x message\n", gh->msg_type);
 			/* FIXME: send ERROR back to the HLR */
 			msgb_free(ss_msg);
diff --git a/src/libmsc/transaction.c b/src/libmsc/transaction.c
index b38c152..665ad46 100644
--- a/src/libmsc/transaction.c
+++ b/src/libmsc/transaction.c
@@ -110,18 +110,14 @@
 			      uint8_t protocol, uint8_t trans_id,
 			      uint32_t callref)
 {
-	struct gsm_trans *trans;
+	struct gsm_trans *trans = NULL; /* (NULL for LOG_TRANS() before allocation) */
 
 	/* a valid subscriber is indispensable */
 	if (vsub == NULL) {
-		LOGP(DVLR, LOGL_ERROR,
-		     "unable to alloc transaction, invalid subscriber (NULL)\n");
+		LOG_TRANS(trans, LOGL_ERROR, "unable to alloc transaction, invalid subscriber (NULL)\n");
 		return NULL;
 	}
 
-	DEBUGP(DCC, "(ti %02x sub %s callref %x) New transaction\n",
-	       trans_id, vlr_subscr_name(vsub), callref);
-
 	trans = talloc_zero(tall_trans_ctx, struct gsm_trans);
 	if (!trans)
 		return NULL;
@@ -135,6 +131,7 @@
 	trans->net = net;
 	llist_add_tail(&trans->entry, &net->trans_list);
 
+	LOG_TRANS(trans, LOGL_DEBUG, "New transaction\n");
 	return trans;
 }
 
@@ -146,6 +143,8 @@
 	enum ran_conn_use conn_usage_token;
 	struct ran_conn *conn;
 
+	LOG_TRANS(trans, LOGL_DEBUG, "Freeing transaction\n");
+
 	switch (trans->protocol) {
 	case GSM48_PDISC_CC:
 		_gsm48_cc_trans_free(trans);
diff --git a/tests/msc_vlr/msc_vlr_test_call.err b/tests/msc_vlr/msc_vlr_test_call.err
index 4f0f4b5..e364162 100644
--- a/tests/msc_vlr/msc_vlr_test_call.err
+++ b/tests/msc_vlr/msc_vlr_test_call.err
@@ -265,46 +265,46 @@
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
 DRLL Dispatching 04.08 message GSM48_MT_CC_SETUP (0x3:0x5)
 DCC Unknown transaction ID 8, creating new trans.
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 80000001) New transaction
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,conn,CC)
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000001 tid-8) New transaction
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + trans_cc == 3 (0x1a: dtap,cm_service,trans_cc)
 DMM IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: rx msg GSM48_MT_CC_SETUP: received_cm_service_request changes to false
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - cm_service == 2 (0x12: dtap,trans_cc)
-DCC (sub 42342) starting guard timer with 180 seconds
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state NULL -> INITIATED
-DCC Subscriber IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 (42342) sends SETUP to 123
-DMNCC transmit message MNCC_SETUP_IND
-DCC Sending 'MNCC_SETUP_IND' to MNCC.
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) rx SETUP in state NULL
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) new state NULL -> INITIATED
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) SETUP to 123
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_SETUP_IND
   MSC --> MNCC: callref 0x80000001: MNCC_SETUP_IND
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 1 (0x10: trans_cc)
 - MNCC says that's fine
-DMNCC receive message MNCC_CALL_PROC_REQ
-DCC (sub 42342) stopping pending guard timer
-DCC (sub 42342) starting guard timer with 180 seconds
-DCC (ti 08 sub 42342) Received 'MNCC_CALL_PROC_REQ' from MNCC in state 1 (INITIATED)
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state INITIATED -> MO_CALL_PROC
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_CALL_PROC_REQ
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) new state INITIATED -> MO_CALL_PROC
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302
 - DTAP matches expected message
   MS <--Call Assignment-- MSC: subscr=IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref=0x80000001
 - Total time passed: 1.000023 s
 - The other call leg got established (not shown here), MNCC tells us so
-DMNCC receive message MNCC_ALERT_REQ
-DCC (sub 42342) stopping pending guard timer
-DCC (sub 42342) starting guard timer with 180 seconds
-DCC (ti 08 sub 42342) Received 'MNCC_ALERT_REQ' from MNCC in state 3 (MO_CALL_PROC)
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state MO_CALL_PROC -> CALL_DELIVERED
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_ALERT_REQ
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_ALERT_REQ in state MO_CALL_PROC
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) new state MO_CALL_PROC -> CALL_DELIVERED
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_ALERTING: 8301
 - DTAP matches expected message
-DMNCC receive message MNCC_SETUP_RSP
-DCC (sub 42342) stopping pending guard timer
-DCC (sub 42342) starting guard timer with 180 seconds
-DCC (ti 08 sub 42342) Received 'MNCC_SETUP_RSP' from MNCC in state 4 (CALL_DELIVERED)
-DCC starting timer T313 with 30 seconds
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state CALL_DELIVERED -> CONNECT_IND
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_SETUP_RSP
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_SETUP_RSP in state CALL_DELIVERED
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T313 with 30 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) new state CALL_DELIVERED -> CONNECT_IND
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CONNECT: 8307
 - DTAP matches expected message
@@ -312,11 +312,11 @@
   MSC <--UTRAN-Iu-- MS: GSM48_MT_CC_CONNECT_ACK
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0x12: dtap,trans_cc)
 DRLL Dispatching 04.08 message GSM48_MT_CC_CONNECT_ACK (0x3:0xf)
-DCC stopping pending timer T313
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state CONNECT_IND -> ACTIVE
-DCC (sub 42342) stopping pending guard timer
-DMNCC transmit message MNCC_SETUP_COMPL_IND
-DCC Sending 'MNCC_SETUP_COMPL_IND' to MNCC.
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) rx CONNECT_ACK in state CONNECT_IND
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending timer T313
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) new state CONNECT_IND -> ACTIVE
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_SETUP_COMPL_IND
   MSC --> MNCC: callref 0x80000001: MNCC_SETUP_COMPL_IND
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 1 (0x10: trans_cc)
@@ -328,30 +328,31 @@
   MSC <--UTRAN-Iu-- MS: GSM48_MT_CC_DISCONNECT
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0x12: dtap,trans_cc)
 DRLL Dispatching 04.08 message GSM48_MT_CC_DISCONNECT (0x3:0x25)
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state ACTIVE -> DISCONNECT_IND
-DMNCC transmit message MNCC_DISC_IND
-DCC Sending 'MNCC_DISC_IND' to MNCC.
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) rx DISCONNECT in state ACTIVE
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) new state ACTIVE -> DISCONNECT_IND
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_DISC_IND
   MSC --> MNCC: callref 0x80000001: MNCC_DISC_IND
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 1 (0x10: trans_cc)
-DMNCC receive message MNCC_REL_REQ
-DCC (sub 42342) starting guard timer with 180 seconds
-DCC (ti 08 sub 42342) Received 'MNCC_REL_REQ' from MNCC in state 12 (DISCONNECT_IND)
-DCC starting timer T308 with 10 seconds
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state DISCONNECT_IND -> RELEASE_REQ
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_REL_REQ
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_REL_REQ in state DISCONNECT_IND
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T308 with 10 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) new state DISCONNECT_IND -> RELEASE_REQ
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d
 - DTAP matches expected message
   MSC <--UTRAN-Iu-- MS: GSM48_MT_CC_RELEASE_COMPL
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0x12: dtap,trans_cc)
 DRLL Dispatching 04.08 message GSM48_MT_CC_RELEASE_COMPL (0x3:0x2a)
-DCC stopping pending timer T308
-DMNCC transmit message MNCC_REL_CNF
-DCC Sending 'MNCC_REL_CNF' to MNCC.
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) rx RELEASE_COMPL in state RELEASE_REQ
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending timer T308
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_REL_CNF
   MSC --> MNCC: callref 0x80000001: MNCC_REL_CNF
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x0 tid-8) Freeing transaction
   MS <--Call Release-- MSC: subscr=IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref=0x0
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state RELEASE_REQ -> NULL
-DCC (sub 42342) stopping pending guard timer
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x0 tid-8) new state RELEASE_REQ -> NULL
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x0 tid-8) stopping pending guard timer
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,conn)
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - trans_cc == 1 (0x2: dtap)
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
@@ -559,10 +560,9 @@
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - standard_lu: now used by 1 (attached)
 ---
 - after a while, MNCC asks us to setup a call, causing Paging
-DMNCC receive message MNCC_SETUP_REQ
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + mncc_tx_to_cc: now used by 2 (attached,mncc_tx_to_cc)
-DCC (ti ff sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 423) New transaction
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,mncc_tx_to_cc,CC)
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) New transaction
 DMM Subscriber IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 not paged yet, start paging.
   UTRAN-Iu sends out paging request to IMSI 901700000010650, TMSI 0x03020100, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -643,10 +643,10 @@
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 (event=0)
 DPAG Calling paging cbfn.
-DCC Paging subscr 42342 succeeded!
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255,PAGING) Paging succeeded
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + trans_cc == 1 (0x10: trans_cc)
-DCC starting timer T303 with 30 seconds
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state NULL -> CALL_PRESENT
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_SETUP: 0305
 - DTAP matches expected message
@@ -657,12 +657,12 @@
   MSC <--UTRAN-Iu-- MS: GSM48_MT_CC_CALL_CONF
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0x12: dtap,trans_cc)
 DRLL Dispatching 04.08 message GSM48_MT_CC_CALL_CONF (0x3:0x8)
-DCC stopping pending timer T303
-DCC starting timer T310 with 30 seconds
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state CALL_PRESENT -> MO_TERM_CALL_CONF
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) rx CALL_CONF in state CALL_PRESENT
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) stopping pending timer T303
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) starting timer T310 with 30 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) new state CALL_PRESENT -> MO_TERM_CALL_CONF
   MS <--Call Assignment-- MSC: subscr=IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref=0x423
-DMNCC transmit message MNCC_CALL_CONF_IND
-DCC Sending 'MNCC_CALL_CONF_IND' to MNCC.
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND
   MSC --> MNCC: callref 0x423: MNCC_CALL_CONF_IND
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
@@ -671,11 +671,11 @@
   MSC <--UTRAN-Iu-- MS: GSM48_MT_CC_ALERTING
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0x12: dtap,trans_cc)
 DRLL Dispatching 04.08 message GSM48_MT_CC_ALERTING (0x3:0x1)
-DCC stopping pending timer T310
-DCC starting timer T301 with 180 seconds
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state MO_TERM_CALL_CONF -> CALL_RECEIVED
-DMNCC transmit message MNCC_ALERT_IND
-DCC Sending 'MNCC_ALERT_IND' to MNCC.
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) rx ALERTING in state MO_TERM_CALL_CONF
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) stopping pending timer T310
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) starting timer T301 with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) new state MO_TERM_CALL_CONF -> CALL_RECEIVED
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) tx MNCC_ALERT_IND
   MSC --> MNCC: callref 0x423: MNCC_ALERT_IND
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 1 (0x10: trans_cc)
@@ -683,18 +683,18 @@
   MSC <--UTRAN-Iu-- MS: GSM48_MT_CC_CONNECT
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0x12: dtap,trans_cc)
 DRLL Dispatching 04.08 message GSM48_MT_CC_CONNECT (0x3:0x7)
-DCC stopping pending timer T301
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state CALL_RECEIVED -> CONNECT_REQUEST
-DMNCC transmit message MNCC_SETUP_CNF
-DCC Sending 'MNCC_SETUP_CNF' to MNCC.
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) rx CONNECT in state CALL_RECEIVED
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) stopping pending timer T301
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) new state CALL_RECEIVED -> CONNECT_REQUEST
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) tx MNCC_SETUP_CNF
   MSC --> MNCC: callref 0x423: MNCC_SETUP_CNF
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 1 (0x10: trans_cc)
-DMNCC receive message MNCC_SETUP_COMPL_REQ
-DCC (sub 42342) starting guard timer with 180 seconds
-DCC (ti 00 sub 42342) Received 'MNCC_SETUP_COMPL_REQ' from MNCC in state 8 (CONNECT_REQUEST)
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state CONNECT_REQUEST -> ACTIVE
-DCC (sub 42342) stopping pending guard timer
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) rx MNCC_SETUP_COMPL_REQ
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) starting guard timer with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) rx MNCC_SETUP_COMPL_REQ in state CONNECT_REQUEST
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) new state CONNECT_REQUEST -> ACTIVE
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) stopping pending guard timer
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CONNECT_ACK: 030f
 - DTAP matches expected message
@@ -706,30 +706,31 @@
   MSC <--UTRAN-Iu-- MS: GSM48_MT_CC_DISCONNECT
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0x12: dtap,trans_cc)
 DRLL Dispatching 04.08 message GSM48_MT_CC_DISCONNECT (0x3:0x25)
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state ACTIVE -> DISCONNECT_IND
-DMNCC transmit message MNCC_DISC_IND
-DCC Sending 'MNCC_DISC_IND' to MNCC.
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) rx DISCONNECT in state ACTIVE
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) new state ACTIVE -> DISCONNECT_IND
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) tx MNCC_DISC_IND
   MSC --> MNCC: callref 0x423: MNCC_DISC_IND
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 1 (0x10: trans_cc)
-DMNCC receive message MNCC_REL_REQ
-DCC (sub 42342) starting guard timer with 180 seconds
-DCC (ti 00 sub 42342) Received 'MNCC_REL_REQ' from MNCC in state 12 (DISCONNECT_IND)
-DCC starting timer T308 with 10 seconds
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state DISCONNECT_IND -> RELEASE_REQ
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) starting guard timer with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ in state DISCONNECT_IND
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) new state DISCONNECT_IND -> RELEASE_REQ
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 032d
 - DTAP matches expected message
   MSC <--UTRAN-Iu-- MS: GSM48_MT_CC_RELEASE_COMPL
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0x12: dtap,trans_cc)
 DRLL Dispatching 04.08 message GSM48_MT_CC_RELEASE_COMPL (0x3:0x2a)
-DCC stopping pending timer T308
-DMNCC transmit message MNCC_REL_CNF
-DCC Sending 'MNCC_REL_CNF' to MNCC.
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) rx RELEASE_COMPL in state RELEASE_REQ
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) stopping pending timer T308
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) tx MNCC_REL_CNF
   MSC --> MNCC: callref 0x423: MNCC_REL_CNF
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x0 tid-0) Freeing transaction
   MS <--Call Release-- MSC: subscr=IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref=0x0
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state RELEASE_REQ -> NULL
-DCC (sub 42342) stopping pending guard timer
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x0 tid-0) new state RELEASE_REQ -> NULL
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x0 tid-0) stopping pending guard timer
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,conn)
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - trans_cc == 1 (0x2: dtap)
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
@@ -937,10 +938,9 @@
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - standard_lu: now used by 1 (attached)
 ---
 - after a while, MNCC asks us to setup a call, causing Paging
-DMNCC receive message MNCC_SETUP_REQ
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + mncc_tx_to_cc: now used by 2 (attached,mncc_tx_to_cc)
-DCC (ti ff sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 423) New transaction
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,mncc_tx_to_cc,CC)
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) New transaction
 DMM Subscriber IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 not paged yet, start paging.
   UTRAN-Iu sends out paging request to IMSI 901700000010650, TMSI 0x03020100, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -1021,10 +1021,10 @@
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 (event=0)
 DPAG Calling paging cbfn.
-DCC Paging subscr 42342 succeeded!
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255,PAGING) Paging succeeded
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + trans_cc == 1 (0x10: trans_cc)
-DCC starting timer T303 with 30 seconds
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state NULL -> CALL_PRESENT
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_SETUP: 0305
 - DTAP matches expected message
@@ -1035,12 +1035,12 @@
   MSC <--UTRAN-Iu-- MS: GSM48_MT_CC_CALL_CONF
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0x12: dtap,trans_cc)
 DRLL Dispatching 04.08 message GSM48_MT_CC_CALL_CONF (0x3:0x8)
-DCC stopping pending timer T303
-DCC starting timer T310 with 30 seconds
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state CALL_PRESENT -> MO_TERM_CALL_CONF
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) rx CALL_CONF in state CALL_PRESENT
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) stopping pending timer T303
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) starting timer T310 with 30 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) new state CALL_PRESENT -> MO_TERM_CALL_CONF
   MS <--Call Assignment-- MSC: subscr=IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref=0x423
-DMNCC transmit message MNCC_CALL_CONF_IND
-DCC Sending 'MNCC_CALL_CONF_IND' to MNCC.
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND
   MSC --> MNCC: callref 0x423: MNCC_CALL_CONF_IND
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
@@ -1049,11 +1049,11 @@
   MSC <--UTRAN-Iu-- MS: GSM48_MT_CC_ALERTING
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0x12: dtap,trans_cc)
 DRLL Dispatching 04.08 message GSM48_MT_CC_ALERTING (0x3:0x1)
-DCC stopping pending timer T310
-DCC starting timer T301 with 180 seconds
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state MO_TERM_CALL_CONF -> CALL_RECEIVED
-DMNCC transmit message MNCC_ALERT_IND
-DCC Sending 'MNCC_ALERT_IND' to MNCC.
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) rx ALERTING in state MO_TERM_CALL_CONF
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) stopping pending timer T310
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) starting timer T301 with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) new state MO_TERM_CALL_CONF -> CALL_RECEIVED
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) tx MNCC_ALERT_IND
   MSC --> MNCC: callref 0x423: MNCC_ALERT_IND
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 1 (0x10: trans_cc)
@@ -1064,22 +1064,22 @@
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + release == 2 (0x110: trans_cc,release)
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,CC,conn,vlr_subscr_cancel_attach_fsm)
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,CC,conn)
-DCC stopping pending timer T301
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) Freeing transaction
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) stopping pending timer T301
   MS <--Call Release-- MSC: subscr=IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref=0x423
-DMNCC receive message MNCC_REL_REQ
-DCC (sub 42342) starting guard timer with 180 seconds
-DCC (ti 00 sub 42342) Received 'MNCC_REL_REQ' from MNCC in state 7 (CALL_RECEIVED)
-DCC starting timer T308 with 10 seconds
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state CALL_RECEIVED -> RELEASE_REQ
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) starting guard timer with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ in state CALL_RECEIVED
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) new state CALL_RECEIVED -> RELEASE_REQ
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 032d
 - DTAP matches expected message
-DMNCC transmit message MNCC_REL_CNF
-DCC Sending 'MNCC_REL_CNF' to MNCC.
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) tx MNCC_REL_CNF
   MSC --> MNCC: callref 0x423: MNCC_REL_CNF
-DCC stopping pending timer T308
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state RELEASE_REQ -> NULL
-DCC (sub 42342) stopping pending guard timer
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) stopping pending timer T308
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) new state RELEASE_REQ -> NULL
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x423 tid-0) stopping pending guard timer
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,conn)
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - trans_cc == 1 (0x100: release)
 - Iu Release --UTRAN-Iu--> MS
@@ -1366,55 +1366,56 @@
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
 DRLL Dispatching 04.08 message GSM48_MT_CC_SETUP (0x3:0x5)
 DCC Unknown transaction ID 8, creating new trans.
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 80000002) New transaction
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,conn,CC)
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000002 tid-8) New transaction
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + trans_cc == 3 (0x1a: dtap,cm_service,trans_cc)
 DMM IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: rx msg GSM48_MT_CC_SETUP: received_cm_service_request changes to false
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - cm_service == 2 (0x12: dtap,trans_cc)
-DCC (sub 42342) starting guard timer with 180 seconds
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state NULL -> INITIATED
-DCC Subscriber IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 (42342) sends SETUP to 123
-DMNCC transmit message MNCC_SETUP_IND
-DCC Sending 'MNCC_SETUP_IND' to MNCC.
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) rx SETUP in state NULL
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) new state NULL -> INITIATED
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) SETUP to 123
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) tx MNCC_SETUP_IND
   MSC --> MNCC: callref 0x80000002: MNCC_SETUP_IND
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 1 (0x10: trans_cc)
 - MNCC says that's fine
-DMNCC receive message MNCC_CALL_PROC_REQ
-DCC (sub 42342) stopping pending guard timer
-DCC (sub 42342) starting guard timer with 180 seconds
-DCC (ti 08 sub 42342) Received 'MNCC_CALL_PROC_REQ' from MNCC in state 1 (INITIATED)
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state INITIATED -> MO_CALL_PROC
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_CALL_PROC_REQ
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending guard timer
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) new state INITIATED -> MO_CALL_PROC
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302
 - DTAP matches expected message
   MS <--Call Assignment-- MSC: subscr=IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref=0x80000002
 - But the other side's MSISDN could not be resolved, MNCC tells us to cancel
-DMNCC receive message MNCC_REL_REQ
-DCC (sub 42342) stopping pending guard timer
-DCC (sub 42342) starting guard timer with 180 seconds
-DCC (ti 08 sub 42342) Received 'MNCC_REL_REQ' from MNCC in state 3 (MO_CALL_PROC)
-DCC starting timer T308 with 10 seconds
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state MO_CALL_PROC -> RELEASE_REQ
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_REL_REQ
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending guard timer
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) new state MO_CALL_PROC -> RELEASE_REQ
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d
 - DTAP matches expected message
 - Total time passed: 10.000023 s
-DCC starting timer T308 with 10 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d
 - DTAP matches expected message
   MSC <--UTRAN-Iu-- MS: GSM48_MT_CC_RELEASE_COMPL
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0x12: dtap,trans_cc)
 DRLL Dispatching 04.08 message GSM48_MT_CC_RELEASE_COMPL (0x3:0x2a)
-DCC stopping pending timer T308
-DMNCC transmit message MNCC_REL_CNF
-DCC Sending 'MNCC_REL_CNF' to MNCC.
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) rx RELEASE_COMPL in state RELEASE_REQ
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending timer T308
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000002 tid-8) tx MNCC_REL_CNF
   MSC --> MNCC: callref 0x80000002: MNCC_REL_CNF
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x0 tid-8) Freeing transaction
   MS <--Call Release-- MSC: subscr=IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref=0x0
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state RELEASE_REQ -> NULL
-DCC (sub 42342) stopping pending guard timer
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x0 tid-8) new state RELEASE_REQ -> NULL
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x0 tid-8) stopping pending guard timer
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,conn)
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - trans_cc == 1 (0x2: dtap)
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
@@ -1707,54 +1708,54 @@
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
 DRLL Dispatching 04.08 message GSM48_MT_CC_SETUP (0x3:0x5)
 DCC Unknown transaction ID 8, creating new trans.
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 80000003) New transaction
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,conn,CC)
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000003 tid-8) New transaction
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + trans_cc == 3 (0x1a: dtap,cm_service,trans_cc)
 DMM IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: rx msg GSM48_MT_CC_SETUP: received_cm_service_request changes to false
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - cm_service == 2 (0x12: dtap,trans_cc)
-DCC (sub 42342) starting guard timer with 180 seconds
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state NULL -> INITIATED
-DCC Subscriber IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 (42342) sends SETUP to 123
-DMNCC transmit message MNCC_SETUP_IND
-DCC Sending 'MNCC_SETUP_IND' to MNCC.
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) rx SETUP in state NULL
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) new state NULL -> INITIATED
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) SETUP to 123
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) tx MNCC_SETUP_IND
   MSC --> MNCC: callref 0x80000003: MNCC_SETUP_IND
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 1 (0x10: trans_cc)
 - MNCC says that's fine
-DMNCC receive message MNCC_CALL_PROC_REQ
-DCC (sub 42342) stopping pending guard timer
-DCC (sub 42342) starting guard timer with 180 seconds
-DCC (ti 08 sub 42342) Received 'MNCC_CALL_PROC_REQ' from MNCC in state 1 (INITIATED)
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state INITIATED -> MO_CALL_PROC
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_CALL_PROC_REQ
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) new state INITIATED -> MO_CALL_PROC
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302
 - DTAP matches expected message
   MS <--Call Assignment-- MSC: subscr=IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref=0x80000003
 - But the other side's MSISDN could not be resolved, MNCC tells us to cancel
-DMNCC receive message MNCC_REL_REQ
-DCC (sub 42342) stopping pending guard timer
-DCC (sub 42342) starting guard timer with 180 seconds
-DCC (ti 08 sub 42342) Received 'MNCC_REL_REQ' from MNCC in state 3 (MO_CALL_PROC)
-DCC starting timer T308 with 10 seconds
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state MO_CALL_PROC -> RELEASE_REQ
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_REL_REQ
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) new state MO_CALL_PROC -> RELEASE_REQ
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d
 - DTAP matches expected message
 - Despite our repeated CC Release Requests, the MS does not respond anymore
 - Total time passed: 10.000023 s
-DCC starting timer T308 with 10 seconds
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d
 - DTAP matches expected message
 - The CC Release times out and we still properly clear the conn
 - Total time passed: 20.000046 s
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) Freeing transaction
   MS <--Call Release-- MSC: subscr=IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref=0x80000003
-DMNCC transmit message MNCC_REL_CNF
-DCC Sending 'MNCC_REL_CNF' to MNCC.
+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) tx MNCC_REL_CNF
   MSC --> MNCC: callref 0x80000003: MNCC_REL_CNF
-DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state RELEASE_REQ -> NULL
-DCC (sub 42342) stopping pending guard timer
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) new state RELEASE_REQ -> NULL
+DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,conn)
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - trans_cc == 0 (0x0: )
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_UNUSED
diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.err b/tests/msc_vlr/msc_vlr_test_gsm_authen.err
index 166a95d..457b77f 100644
--- a/tests/msc_vlr/msc_vlr_test_gsm_authen.err
+++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.err
@@ -262,17 +262,17 @@
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + test_gsm_authen: now used by 2 (attached,test_gsm_authen)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,test_gsm_authen,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000001) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,test_gsm_authen,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000004620:MSISDN-46071 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0xffffffff, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -353,13 +353,13 @@
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000004620:MSISDN-46071 (event=0)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0,PAGING) paging_cb_mmsms_est_req(success)
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + trans_sms == 2 (0x22: dtap,trans_sms)
 DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING
 DLSMS SMC(0) send CP data
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
 DMSC msc_tx 91 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05
 - DTAP matches expected message
@@ -380,7 +380,7 @@
   MSC <--GERAN-A-- MS: SMS:0x04
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x04 (0x9:0x4)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x04)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x04
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK
@@ -392,25 +392,26 @@
   MSC <--GERAN-A-- MS: SMS:0x01
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x01)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x01
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED
 DLSMS SMC(0) received CP-DATA
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 04 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 
 DMSC msc_tx 2 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x04: 0904
 - DTAP matches expected message
-DLSMS MNSMS-DATA/EST-IND
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) MNSMS-DATA/EST-IND
 DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) RX SMS RP-ACK
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
-DLSMS RX SMS RP-ACK (MO)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) RX SMS RP-ACK (MO)
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 3 (attached,SMS,conn)
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED
 DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE
-DLSMS Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 2 (attached,conn)
@@ -772,17 +773,17 @@
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + test_gsm_authen_tmsi: now used by 2 (attached,test_gsm_authen_tmsi)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + SMS-receiver: now used by 3 (attached,test_gsm_authen_tmsi,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref 40000002) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + SMS: now used by 4 (attached,test_gsm_authen_tmsi,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0x03020100, LAC 23
   paging_expecting_tmsi == 0x03020100
@@ -863,13 +864,13 @@
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 (event=0)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0,PAGING) paging_cb_mmsms_est_req(success)
 DREF IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100: MSC conn use + trans_sms == 2 (0x22: dtap,trans_sms)
 DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING
 DLSMS SMC(0) send CP data
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
 DMSC msc_tx 91 bytes to IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05
 - DTAP matches expected message
@@ -890,7 +891,7 @@
   MSC <--GERAN-A-- MS: SMS:0x04
 DREF IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x04 (0x9:0x4)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x04)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x04
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK
@@ -902,25 +903,26 @@
   MSC <--GERAN-A-- MS: SMS:0x01
 DREF IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x01)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x01
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED
 DLSMS SMC(0) received CP-DATA
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 04 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 
 DMSC msc_tx 2 bytes to IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x04: 0904
 - DTAP matches expected message
-DLSMS MNSMS-DATA/EST-IND
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) MNSMS-DATA/EST-IND
 DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) RX SMS RP-ACK
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
-DLSMS RX SMS RP-ACK (MO)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) RX SMS RP-ACK (MO)
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - SMS-receiver: now used by 3 (attached,SMS,conn)
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED
 DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE
-DLSMS Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - SMS: now used by 2 (attached,conn)
@@ -2354,17 +2356,17 @@
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + test_gsm_milenage_authen: now used by 2 (attached,test_gsm_milenage_authen)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + SMS-receiver: now used by 3 (attached,test_gsm_milenage_authen,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342 callref 40000003) New transaction
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + SMS: now used by 4 (attached,test_gsm_milenage_authen,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000010650:MSISDN-42342 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000010650:MSISDN-42342 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000010650, TMSI 0xffffffff, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -2445,13 +2447,13 @@
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000010650:MSISDN-42342 (event=0)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=0)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0,PAGING) paging_cb_mmsms_est_req(success)
 DREF IMSI-901700000010650:MSISDN-42342: MSC conn use + trans_sms == 2 (0x22: dtap,trans_sms)
 DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING
 DLSMS SMC(0) send CP data
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
 DMSC msc_tx 91 bytes to IMSI-901700000010650:MSISDN-42342 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05
 - DTAP matches expected message
@@ -2472,7 +2474,7 @@
   MSC <--GERAN-A-- MS: SMS:0x04
 DREF IMSI-901700000010650:MSISDN-42342: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x04 (0x9:0x4)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x04)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) receiving SMS message SMS:0x04
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK
@@ -2484,25 +2486,26 @@
   MSC <--GERAN-A-- MS: SMS:0x01
 DREF IMSI-901700000010650:MSISDN-42342: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x01)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) receiving SMS message SMS:0x01
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED
 DLSMS SMC(0) received CP-DATA
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 04 
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 04 
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x04: 0904
 - DTAP matches expected message
-DLSMS MNSMS-DATA/EST-IND
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) MNSMS-DATA/EST-IND
 DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) RX SMS RP-ACK
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
-DLSMS RX SMS RP-ACK (MO)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) RX SMS RP-ACK (MO)
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - SMS-receiver: now used by 3 (attached,SMS,conn)
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED
 DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE
-DLSMS Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - SMS: now used by 2 (attached,conn)
diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err
index b65cccd..9ca5b8c 100644
--- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err
+++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err
@@ -290,17 +290,17 @@
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + test_ciph: now used by 2 (attached,test_ciph)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,test_ciph,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000001) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,test_ciph,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000004620:MSISDN-46071 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0xffffffff, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -407,13 +407,13 @@
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000004620:MSISDN-46071 (event=0)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0,PAGING) paging_cb_mmsms_est_req(success)
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + trans_sms == 1 (0x20: trans_sms)
 DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING
 DLSMS SMC(0) send CP data
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
 DMSC msc_tx 91 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05
 - DTAP matches expected message
@@ -432,7 +432,7 @@
   MSC <--GERAN-A-- MS: SMS:0x04
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x04 (0x9:0x4)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x04)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x04
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK
@@ -444,25 +444,26 @@
   MSC <--GERAN-A-- MS: SMS:0x01
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x01)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x01
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED
 DLSMS SMC(0) received CP-DATA
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 04 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 
 DMSC msc_tx 2 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x04: 0904
 - DTAP matches expected message
-DLSMS MNSMS-DATA/EST-IND
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) MNSMS-DATA/EST-IND
 DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) RX SMS RP-ACK
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
-DLSMS RX SMS RP-ACK (MO)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) RX SMS RP-ACK (MO)
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 3 (attached,SMS,conn)
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED
 DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE
-DLSMS Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 2 (attached,conn)
@@ -853,17 +854,17 @@
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + test_ciph_tmsi: now used by 2 (attached,test_ciph_tmsi)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + SMS-receiver: now used by 3 (attached,test_ciph_tmsi,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref 40000002) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + SMS: now used by 4 (attached,test_ciph_tmsi,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0x03020100, LAC 23
   paging_expecting_tmsi == 0x03020100
@@ -970,13 +971,13 @@
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 (event=0)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0,PAGING) paging_cb_mmsms_est_req(success)
 DREF IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100: MSC conn use + trans_sms == 1 (0x20: trans_sms)
 DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING
 DLSMS SMC(0) send CP data
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
 DMSC msc_tx 91 bytes to IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05
 - DTAP matches expected message
@@ -995,7 +996,7 @@
   MSC <--GERAN-A-- MS: SMS:0x04
 DREF IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x04 (0x9:0x4)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x04)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x04
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK
@@ -1007,25 +1008,26 @@
   MSC <--GERAN-A-- MS: SMS:0x01
 DREF IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x01)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x01
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED
 DLSMS SMC(0) received CP-DATA
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 04 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 
 DMSC msc_tx 2 bytes to IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x04: 0904
 - DTAP matches expected message
-DLSMS MNSMS-DATA/EST-IND
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) MNSMS-DATA/EST-IND
 DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) RX SMS RP-ACK
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
-DLSMS RX SMS RP-ACK (MO)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) RX SMS RP-ACK (MO)
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - SMS-receiver: now used by 3 (attached,SMS,conn)
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED
 DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE
-DLSMS Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - SMS: now used by 2 (attached,conn)
@@ -2106,17 +2108,17 @@
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + test_gsm_ciph_in_umts_env: now used by 2 (attached,test_gsm_ciph_in_umts_env)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + SMS-receiver: now used by 3 (attached,test_gsm_ciph_in_umts_env,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342 callref 40000003) New transaction
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + SMS: now used by 4 (attached,test_gsm_ciph_in_umts_env,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000010650:MSISDN-42342 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000010650:MSISDN-42342 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000010650, TMSI 0xffffffff, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -2213,13 +2215,13 @@
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000010650:MSISDN-42342 (event=0)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=0)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0,PAGING) paging_cb_mmsms_est_req(success)
 DREF IMSI-901700000010650:MSISDN-42342: MSC conn use + trans_sms == 1 (0x20: trans_sms)
 DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING
 DLSMS SMC(0) send CP data
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
 DMSC msc_tx 91 bytes to IMSI-901700000010650:MSISDN-42342 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05
 - DTAP matches expected message
@@ -2238,7 +2240,7 @@
   MSC <--GERAN-A-- MS: SMS:0x04
 DREF IMSI-901700000010650:MSISDN-42342: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x04 (0x9:0x4)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x04)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) receiving SMS message SMS:0x04
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK
@@ -2250,25 +2252,26 @@
   MSC <--GERAN-A-- MS: SMS:0x01
 DREF IMSI-901700000010650:MSISDN-42342: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x01)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) receiving SMS message SMS:0x01
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED
 DLSMS SMC(0) received CP-DATA
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 04 
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 04 
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x04: 0904
 - DTAP matches expected message
-DLSMS MNSMS-DATA/EST-IND
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) MNSMS-DATA/EST-IND
 DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) RX SMS RP-ACK
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
-DLSMS RX SMS RP-ACK (MO)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) RX SMS RP-ACK (MO)
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - SMS-receiver: now used by 3 (attached,SMS,conn)
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED
 DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE
-DLSMS Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - SMS: now used by 2 (attached,conn)
@@ -2620,17 +2623,17 @@
 DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + test_a5_3_supported: now used by 2 (attached,test_a5_3_supported)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + SMS-receiver: now used by 3 (attached,test_a5_3_supported,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000004620:MSISDN-42342 callref 40000004) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + SMS: now used by 4 (attached,test_a5_3_supported,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000004 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000004 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-42342 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000004 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000004620:MSISDN-42342 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0xffffffff, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -2737,13 +2740,13 @@
 DMM RAN_conn(IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000004620:MSISDN-42342 (event=0)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000004 tid-0,PAGING) paging_cb_mmsms_est_req(success)
 DREF IMSI-901700000004620:MSISDN-42342: MSC conn use + trans_sms == 1 (0x20: trans_sms)
 DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING
 DLSMS SMC(0) send CP data
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000004 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000004 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
 DMSC msc_tx 91 bytes to IMSI-901700000004620:MSISDN-42342 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05
 - DTAP matches expected message
@@ -2762,7 +2765,7 @@
   MSC <--GERAN-A-- MS: SMS:0x04
 DREF IMSI-901700000004620:MSISDN-42342: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x04 (0x9:0x4)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x04)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000004 tid-0) receiving SMS message SMS:0x04
 DMM RAN_conn(IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK
@@ -2774,25 +2777,26 @@
   MSC <--GERAN-A-- MS: SMS:0x01
 DREF IMSI-901700000004620:MSISDN-42342: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x01)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000004 tid-0) receiving SMS message SMS:0x01
 DMM RAN_conn(IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED
 DLSMS SMC(0) received CP-DATA
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 04 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000004 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000004 tid-0) GSM4.11 TX 09 04 
 DMSC msc_tx 2 bytes to IMSI-901700000004620:MSISDN-42342 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x04: 0904
 - DTAP matches expected message
-DLSMS MNSMS-DATA/EST-IND
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000004 tid-0) MNSMS-DATA/EST-IND
 DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) RX SMS RP-ACK
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
-DLSMS RX SMS RP-ACK (MO)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000004 tid-0) RX SMS RP-ACK (MO)
 DREF VLR subscr IMSI-901700000004620:MSISDN-42342 - SMS-receiver: now used by 3 (attached,SMS,conn)
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED
 DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE
-DLSMS Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000004 tid-0) Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000004 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000004620:MSISDN-42342 - SMS: now used by 2 (attached,conn)
@@ -3144,17 +3148,17 @@
 DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + test_cm_service_needs_classmark_update: now used by 2 (attached,test_cm_service_needs_classmark_update)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + SMS-receiver: now used by 3 (attached,test_cm_service_needs_classmark_update,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000004620:MSISDN-42342 callref 40000005) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + SMS: now used by 4 (attached,test_cm_service_needs_classmark_update,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000005 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000005 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-42342 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000005 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000004620:MSISDN-42342 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0xffffffff, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -3257,13 +3261,13 @@
 DMM RAN_conn(IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000004620:MSISDN-42342 (event=0)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000005 tid-0,PAGING) paging_cb_mmsms_est_req(success)
 DREF IMSI-901700000004620:MSISDN-42342: MSC conn use + trans_sms == 1 (0x20: trans_sms)
 DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING
 DLSMS SMC(0) send CP data
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000005 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000005 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
 DMSC msc_tx 91 bytes to IMSI-901700000004620:MSISDN-42342 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05
 - DTAP matches expected message
@@ -3282,7 +3286,7 @@
   MSC <--GERAN-A-- MS: SMS:0x04
 DREF IMSI-901700000004620:MSISDN-42342: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x04 (0x9:0x4)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x04)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000005 tid-0) receiving SMS message SMS:0x04
 DMM RAN_conn(IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK
@@ -3294,25 +3298,26 @@
   MSC <--GERAN-A-- MS: SMS:0x01
 DREF IMSI-901700000004620:MSISDN-42342: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x01)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000005 tid-0) receiving SMS message SMS:0x01
 DMM RAN_conn(IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED
 DLSMS SMC(0) received CP-DATA
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 04 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000005 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000005 tid-0) GSM4.11 TX 09 04 
 DMSC msc_tx 2 bytes to IMSI-901700000004620:MSISDN-42342 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x04: 0904
 - DTAP matches expected message
-DLSMS MNSMS-DATA/EST-IND
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000005 tid-0) MNSMS-DATA/EST-IND
 DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) RX SMS RP-ACK
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
-DLSMS RX SMS RP-ACK (MO)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000005 tid-0) RX SMS RP-ACK (MO)
 DREF VLR subscr IMSI-901700000004620:MSISDN-42342 - SMS-receiver: now used by 3 (attached,SMS,conn)
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED
 DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE
-DLSMS Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000005 tid-0) Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP callref-0x40000005 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000004620:MSISDN-42342 - SMS: now used by 2 (attached,conn)
diff --git a/tests/msc_vlr/msc_vlr_test_ms_timeout.err b/tests/msc_vlr/msc_vlr_test_ms_timeout.err
index 7fd4978..8ff251a 100644
--- a/tests/msc_vlr/msc_vlr_test_ms_timeout.err
+++ b/tests/msc_vlr/msc_vlr_test_ms_timeout.err
@@ -446,17 +446,17 @@
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + test_ms_timeout_paging: now used by 2 (attached,test_ms_timeout_paging)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,test_ms_timeout_paging,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000001) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,test_ms_timeout_paging,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000004620:MSISDN-46071 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0xffffffff, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -473,17 +473,17 @@
   vsub->cs.is_paging == 1
 - another request is added to the list but does not cause another paging
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 6 (attached,2*SMS-receiver,SMS,Paging,test_ms_timeout_paging)
-DLSMS Going to send a MT SMS
-DCC (ti 01 sub IMSI-901700000004620:MSISDN-46071 callref 40000002) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 7 (attached,2*SMS-receiver,2*SMS,Paging,test_ms_timeout_paging)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-1) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-1) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-1) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000004620:MSISDN-46071 already paged.
   llist_count(&vsub->cs.requests) == 2
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - test_ms_timeout_paging: now used by 6 (attached,2*SMS-receiver,2*SMS,Paging)
@@ -492,32 +492,34 @@
 - Total time passed: 11.000000 s
 DPAG Paging failure for IMSI-901700000004620:MSISDN-46071 (event=1)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=1)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0,PAGING) paging_cb_mmsms_est_req(expired)
 DLSMS SMC(0) message MMSMS-REL-IND received in state MM_CONN_PENDING
 DLSMS SMC(0) MM layer is released
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> IDLE
-DLSMS MNSMS-ERROR-IND, no cause
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) MNSMS-ERROR-IND, no cause
 DLSMS SMR(0) message MNSMS-ERROR-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) TX SMS MNSMS-ERROR-IND
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state IDLE
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 5 (attached,SMS-receiver,2*SMS,Paging)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 4 (attached,SMS-receiver,SMS,Paging)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=1)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-1,PAGING) paging_cb_mmsms_est_req(expired)
 DLSMS SMC(0) message MMSMS-REL-IND received in state MM_CONN_PENDING
 DLSMS SMC(0) MM layer is released
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> IDLE
-DLSMS MNSMS-ERROR-IND, no cause
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-1) MNSMS-ERROR-IND, no cause
 DLSMS SMR(0) message MNSMS-ERROR-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) TX SMS MNSMS-ERROR-IND
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state IDLE
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 3 (attached,SMS,Paging)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-1) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 2 (attached,Paging)
@@ -529,17 +531,17 @@
 ---
 - Now that the timeout has expired, another Paging is sent on request
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,test_ms_timeout_paging,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000003) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,test_ms_timeout_paging,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000004620:MSISDN-46071 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0xffffffff, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -560,17 +562,18 @@
 DMM IMSI DETACH for IMSI-901700000004620:MSISDN-46071
 DPAG Paging failure for IMSI-901700000004620:MSISDN-46071 (event=1)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=1)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0,PAGING) paging_cb_mmsms_est_req(expired)
 DLSMS SMC(0) message MMSMS-REL-IND received in state MM_CONN_PENDING
 DLSMS SMC(0) MM layer is released
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> IDLE
-DLSMS MNSMS-ERROR-IND, no cause
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) MNSMS-ERROR-IND, no cause
 DLSMS SMR(0) message MNSMS-ERROR-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) TX SMS MNSMS-ERROR-IND
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state IDLE
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 4 (attached,SMS,Paging,gsm48_rx_mm_imsi_detach_ind)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 3 (attached,Paging,gsm48_rx_mm_imsi_detach_ind)
diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.err b/tests/msc_vlr/msc_vlr_test_no_authen.err
index b21e3fc..6f5adb6 100644
--- a/tests/msc_vlr/msc_vlr_test_no_authen.err
+++ b/tests/msc_vlr/msc_vlr_test_no_authen.err
@@ -176,17 +176,17 @@
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + test_no_authen: now used by 2 (attached,test_no_authen)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,test_no_authen,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000001) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,test_no_authen,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000004620:MSISDN-46071 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0xffffffff, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -227,13 +227,13 @@
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_NEW}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000004620:MSISDN-46071 (event=0)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0,PAGING) paging_cb_mmsms_est_req(success)
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + trans_sms == 2 (0x21: compl_l3,trans_sms)
 DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING
 DLSMS SMC(0) send CP data
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
 DMSC msc_tx 91 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05
 - DTAP matches expected message
@@ -255,7 +255,7 @@
   MSC <--GERAN-A-- MS: SMS:0x04
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x04 (0x9:0x4)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x04)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x04
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK
@@ -267,25 +267,26 @@
   MSC <--GERAN-A-- MS: SMS:0x01
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x01)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x01
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED
 DLSMS SMC(0) received CP-DATA
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 04 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 
 DMSC msc_tx 2 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x04: 0904
 - DTAP matches expected message
-DLSMS MNSMS-DATA/EST-IND
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) MNSMS-DATA/EST-IND
 DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) RX SMS RP-ACK
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
-DLSMS RX SMS RP-ACK (MO)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) RX SMS RP-ACK (MO)
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 3 (attached,SMS,conn)
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED
 DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE
-DLSMS Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 2 (attached,conn)
@@ -561,17 +562,17 @@
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + test_no_authen_tmsi: now used by 2 (attached,test_no_authen_tmsi)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + SMS-receiver: now used by 3 (attached,test_no_authen_tmsi,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref 40000002) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + SMS: now used by 4 (attached,test_no_authen_tmsi,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0x03020100, LAC 23
   paging_expecting_tmsi == 0x03020100
@@ -612,13 +613,13 @@
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_NEW}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 (event=0)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0,PAGING) paging_cb_mmsms_est_req(success)
 DREF IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100: MSC conn use + trans_sms == 2 (0x21: compl_l3,trans_sms)
 DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING
 DLSMS SMC(0) send CP data
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
 DMSC msc_tx 91 bytes to IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05
 - DTAP matches expected message
@@ -640,7 +641,7 @@
   MSC <--GERAN-A-- MS: SMS:0x04
 DREF IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x04 (0x9:0x4)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x04)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x04
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK
@@ -652,25 +653,26 @@
   MSC <--GERAN-A-- MS: SMS:0x01
 DREF IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x01)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x01
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED
 DLSMS SMC(0) received CP-DATA
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 04 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 
 DMSC msc_tx 2 bytes to IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x04: 0904
 - DTAP matches expected message
-DLSMS MNSMS-DATA/EST-IND
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) MNSMS-DATA/EST-IND
 DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) RX SMS RP-ACK
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
-DLSMS RX SMS RP-ACK (MO)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) RX SMS RP-ACK (MO)
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - SMS-receiver: now used by 3 (attached,SMS,conn)
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED
 DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE
-DLSMS Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - SMS: now used by 2 (attached,conn)
diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err
index 7dc039d..71bf732 100644
--- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err
+++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err
@@ -1175,17 +1175,17 @@
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _page: now used by 2 (attached,_page)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,_page,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000001) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,_page,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000004620:MSISDN-46071 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0xffffffff, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -1222,13 +1222,13 @@
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_NEW}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000004620:MSISDN-46071 (event=0)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0,PAGING) paging_cb_mmsms_est_req(success)
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + trans_sms == 2 (0x21: compl_l3,trans_sms)
 DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING
 DLSMS SMC(0) send CP data
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
 DMSC msc_tx 91 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05
 - DTAP matches expected message
@@ -1255,7 +1255,7 @@
   MSC <--GERAN-A-- MS: SMS:0x04
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x04 (0x9:0x4)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x04)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x04
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK
@@ -1267,25 +1267,26 @@
   MSC <--GERAN-A-- MS: SMS:0x01
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x01)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x01
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED
 DLSMS SMC(0) received CP-DATA
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 04 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 
 DMSC msc_tx 2 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x04: 0904
 - DTAP matches expected message
-DLSMS MNSMS-DATA/EST-IND
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) MNSMS-DATA/EST-IND
 DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) RX SMS RP-ACK
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
-DLSMS RX SMS RP-ACK (MO)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) RX SMS RP-ACK (MO)
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 3 (attached,SMS,conn)
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED
 DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE
-DLSMS Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 2 (attached,conn)
@@ -1426,17 +1427,17 @@
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _page: now used by 2 (attached,_page)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,_page,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000002) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,_page,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000004620:MSISDN-46071 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0xffffffff, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -1473,13 +1474,13 @@
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_NEW}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000004620:MSISDN-46071 (event=0)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-0,PAGING) paging_cb_mmsms_est_req(success)
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + trans_sms == 2 (0x21: compl_l3,trans_sms)
 DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING
 DLSMS SMC(0) send CP data
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
 DMSC msc_tx 91 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05
 - DTAP matches expected message
@@ -1512,7 +1513,7 @@
   MSC <--GERAN-A-- MS: SMS:0x04
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + dtap == 3 (0x2a: dtap,cm_service,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x04 (0x9:0x4)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x04)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ callref-0x40000002 tid-0) receiving SMS message SMS:0x04
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK
@@ -1524,25 +1525,26 @@
   MSC <--GERAN-A-- MS: SMS:0x01
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + dtap == 3 (0x2a: dtap,cm_service,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x01)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ callref-0x40000002 tid-0) receiving SMS message SMS:0x01
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED
 DLSMS SMC(0) received CP-DATA
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 04 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ callref-0x40000002 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ callref-0x40000002 tid-0) GSM4.11 TX 09 04 
 DMSC msc_tx 2 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x04: 0904
 - DTAP matches expected message
-DLSMS MNSMS-DATA/EST-IND
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ callref-0x40000002 tid-0) MNSMS-DATA/EST-IND
 DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) RX SMS RP-ACK
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
-DLSMS RX SMS RP-ACK (MO)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ callref-0x40000002 tid-0) RX SMS RP-ACK (MO)
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 3 (attached,SMS,conn)
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED
 DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE
-DLSMS Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ callref-0x40000002 tid-0) Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ callref-0x40000002 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 2 (attached,conn)
@@ -1698,17 +1700,17 @@
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _page: now used by 2 (attached,_page)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,_page,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000003) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,_page,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000004620:MSISDN-46071 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0xffffffff, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -1745,13 +1747,13 @@
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_NEW}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000004620:MSISDN-46071 (event=0)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0,PAGING) paging_cb_mmsms_est_req(success)
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + trans_sms == 2 (0x21: compl_l3,trans_sms)
 DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING
 DLSMS SMC(0) send CP data
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
 DMSC msc_tx 91 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05
 - DTAP matches expected message
@@ -1776,7 +1778,7 @@
   MSC <--GERAN-A-- MS: SMS:0x04
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x04 (0x9:0x4)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x04)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) receiving SMS message SMS:0x04
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK
@@ -1788,25 +1790,26 @@
   MSC <--GERAN-A-- MS: SMS:0x01
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x01)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) receiving SMS message SMS:0x01
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED
 DLSMS SMC(0) received CP-DATA
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 04 
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 04 
 DMSC msc_tx 2 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x04: 0904
 - DTAP matches expected message
-DLSMS MNSMS-DATA/EST-IND
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) MNSMS-DATA/EST-IND
 DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) RX SMS RP-ACK
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
-DLSMS RX SMS RP-ACK (MO)
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) RX SMS RP-ACK (MO)
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 3 (attached,SMS,conn)
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED
 DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE
-DLSMS Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x40000003 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 2 (attached,conn)
diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err
index 744f25a..fa091ce 100644
--- a/tests/msc_vlr/msc_vlr_test_ss.err
+++ b/tests/msc_vlr/msc_vlr_test_ss.err
@@ -145,13 +145,12 @@
   MSC <--GERAN-A-- MS: GSM0480_MTYPE_REGISTER
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
 DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM  -> (new transaction)
-DCC (ti 08 sub IMSI-901700000004620:MSISDN-46071 callref 20000001) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + NCSS: now used by 3 (attached,conn,NCSS)
+DMSC trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000001 tid-8) New transaction
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
 DMM IMSI-901700000004620:MSISDN-46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
+DMSC trans(NCSS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ callref-0x20000001 tid-8) Received SS/USSD msg GSM0480_MTYPE_REGISTER
 GSUP --> HLR: OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200000013101013515a11302010102013b300b04010f0406aa510c061b01
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
@@ -163,6 +162,7 @@
 DMSC msc_tx 43 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
 - DTAP --GERAN-A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d
 - DTAP matches expected message
+DMSC trans(NCSS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ callref-0x20000001 tid-8) Freeing transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - NCSS: now used by 3 (attached,conn,vlr_gsupc_read_cb)
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use - trans_nc_ss == 0 (0x0: )
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_UNUSED
@@ -307,10 +307,10 @@
 DVLR GSUP rx 43: 20010809710000004026f03004200001013101013515a11302010102013b300b04010f0406aa510c061b01
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 3 (attached,_test_ss_ussd_no,vlr_gsupc_read_cb)
 DMSC Routed to GSM 09.11 SS/USSD handler
-DMM Establishing network-originated session
-DCC (ti ff sub IMSI-901700000004620:MSISDN-46071 callref 20000101) New transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + NCSS: now used by 4 (attached,_test_ss_ussd_no,vlr_gsupc_read_cb,NCSS)
-DMM Triggering Paging Request
+DMSC trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000101 tid-255) New transaction
+DMSC trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000101 tid-255) Establishing network-originated session
+DMSC trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000101 tid-0) Triggering Paging Request
 DMM Subscriber IMSI-901700000004620:MSISDN-46071 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0xffffffff, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -370,7 +370,7 @@
   MSC <--GERAN-A-- MS: GSM0480_MTYPE_FACILITY
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + dtap == 2 (0x42: dtap,trans_nc_ss)
 DRLL Dispatching 04.08 message GSM0480_MTYPE_FACILITY (0xb:0x3a)
-DMM Received SS/USSD data (trans_id=0, msg_type=GSM0480_MTYPE_FACILITY)
+DMSC trans(NCSS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x20000101 tid-0) Received SS/USSD msg GSM0480_MTYPE_FACILITY
 GSUP --> HLR: OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200001013101023527a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
@@ -385,6 +385,7 @@
 DMSC msc_tx 2 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
 - DTAP --GERAN-A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 0b2a
 - DTAP matches expected message
+DMSC trans(NCSS IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP callref-0x20000101 tid-0) Freeing transaction
 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - NCSS: now used by 3 (attached,conn,vlr_gsupc_read_cb)
 DREF IMSI-901700000004620:MSISDN-46071: MSC conn use - trans_nc_ss == 0 (0x0: )
 DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_UNUSED
diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.err b/tests/msc_vlr/msc_vlr_test_umts_authen.err
index b0ed61f..298d6ad 100644
--- a/tests/msc_vlr/msc_vlr_test_umts_authen.err
+++ b/tests/msc_vlr/msc_vlr_test_umts_authen.err
@@ -279,17 +279,17 @@
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + _test_umts_authen: now used by 2 (attached,_test_umts_authen)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + SMS-receiver: now used by 3 (attached,_test_umts_authen,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 40000001) New transaction
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + SMS: now used by 4 (attached,_test_umts_authen,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000001 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000001 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000001 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 not paged yet, start paging.
   GERAN-A sends out paging request to IMSI 901700000010650, TMSI 0x03020100, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -371,13 +371,13 @@
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 (event=0)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=0)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000001 tid-0,PAGING) paging_cb_mmsms_est_req(success)
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + trans_sms == 2 (0x22: dtap,trans_sms)
 DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING
 DLSMS SMC(0) send CP data
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
 DMSC msc_tx 91 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05
 - DTAP matches expected message
@@ -398,7 +398,7 @@
   MSC <--GERAN-A-- MS: SMS:0x04
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x04 (0x9:0x4)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x04)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x04
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK
@@ -410,25 +410,26 @@
   MSC <--GERAN-A-- MS: SMS:0x01
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x01)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x01
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED
 DLSMS SMC(0) received CP-DATA
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 04 
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via GERAN-A
 - DTAP --GERAN-A--> MS: SMS:0x04: 0904
 - DTAP matches expected message
-DLSMS MNSMS-DATA/EST-IND
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) MNSMS-DATA/EST-IND
 DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) RX SMS RP-ACK
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
-DLSMS RX SMS RP-ACK (MO)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) RX SMS RP-ACK (MO)
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - SMS-receiver: now used by 3 (attached,SMS,conn)
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED
 DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE
-DLSMS Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A-0:PAGING_RESP callref-0x40000001 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - SMS: now used by 2 (attached,conn)
@@ -792,17 +793,17 @@
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + _test_umts_authen: now used by 2 (attached,_test_umts_authen)
   llist_count(&vsub->cs.requests) == 0
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + SMS-receiver: now used by 3 (attached,_test_umts_authen,SMS-receiver)
-DLSMS Going to send a MT SMS
-DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 40000002) New transaction
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + SMS: now used by 4 (attached,_test_umts_authen,SMS-receiver,SMS)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000002 tid-0) New transaction
 DLSMS SMC(0) instance created for network
 DLSMS SMR(0) instance created for network.
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000002 tid-0) Going to send a MT SMS
 DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
 DLSMS SMR(0) TX SMS RP-DATA
 DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK
 DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE
 DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
-DLSMS Initiating Paging procedure for IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 due to MMSMS_EST_REQ
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000002 tid-0) Initiating Paging due to MMSMS_EST_REQ
 DMM Subscriber IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 not paged yet, start paging.
   UTRAN-Iu sends out paging request to IMSI 901700000010650, TMSI 0x03020100, LAC 23
   strcmp(paging_expecting_imsi, imsi) == 0
@@ -900,13 +901,13 @@
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_ACCEPTED
 DPAG Paging success for IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 (event=0)
 DPAG Calling paging cbfn.
-DLSMS paging_cb_mmsms_est_req(hooknum=1, event=0)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000002 tid-0,PAGING) paging_cb_mmsms_est_req(success)
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + trans_sms == 1 (0x20: trans_sms)
 DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING
 DLSMS SMC(0) send CP data
 DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 
 DMSC msc_tx 91 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05
 - DTAP matches expected message
@@ -924,7 +925,7 @@
   MSC <--UTRAN-Iu-- MS: SMS:0x04
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x04 (0x9:0x4)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x04)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x04
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMMUNICATING
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK
@@ -936,25 +937,26 @@
   MSC <--UTRAN-Iu-- MS: SMS:0x01
 DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2 (0x22: dtap,trans_sms)
 DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
-DLSMS receiving data (trans_id=0, msg_type=SMS:0x01)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x01
 DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED
 DLSMS SMC(0) received CP-DATA
-DLSMS sending CP message (trans=0)
-DLSMS GSM4.11 TX 09 04 
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 
 DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
 - DTAP --UTRAN-Iu--> MS: SMS:0x04: 0904
 - DTAP matches expected message
-DLSMS MNSMS-DATA/EST-IND
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x40000002 tid-0) MNSMS-DATA/EST-IND
 DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK
 DLSMS SMR(0) RX SMS RP-ACK
 DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
-DLSMS RX SMS RP-ACK (MO)
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x40000002 tid-0) RX SMS RP-ACK (MO)
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - SMS-receiver: now used by 3 (attached,SMS,conn)
 DLSMS SMR(0) TX: MNSMS-REL-REQ
 DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED
 DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE
-DLSMS Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x40000002 tid-0) Got MMSMS_REL_REQ, destroying transaction.
+DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP callref-0x40000002 tid-0) Freeing transaction
 DLSMS SMR(0) clearing SMR instance
 DLSMS SMC(0) clearing instance
 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - SMS: now used by 2 (attached,conn)
