diff --git a/hlr/HLR_EUSE.ttcn b/hlr/HLR_EUSE.ttcn
index 1e7574b..93eb8f4 100644
--- a/hlr/HLR_EUSE.ttcn
+++ b/hlr/HLR_EUSE.ttcn
@@ -50,14 +50,17 @@
 	}
 }
 
-type function f_euse_cb(GSUP_SessionState ss_state, GSUP_PDU rx_pdu) return GSUP_PDU;
+type function f_euse_cb(GSUP_PDU rx_pdu) return GSUP_PDU;
 
-function f_ss_echo_continue(GSUP_SessionState ss_state, GSUP_PDU rx_pdu) return GSUP_PDU {
+function f_ss_echo_continue(GSUP_PDU rx_pdu) return GSUP_PDU {
 	var GSUP_SessionState ss_next_state;
-	var GSUP_IeValue ss_ie;
+	var GSUP_IeValue ss_ie, state_ie;
 	var SS_FacilityInformation dec_fac, rsp_fac;
 	var octetstring ss_rsp;
 
+	f_gsup_find_ie(rx_pdu, OSMO_GSUP_SS_INFO_IE, state_ie);
+	var GSUP_SessionState ss_state := state_ie.session_state;
+
 	f_gsup_find_ie(rx_pdu, OSMO_GSUP_SS_INFO_IE, ss_ie);
 	dec_fac := dec_SS_FacilityInformation(ss_ie.ss_info);
 	log("dec_fac: ", dec_fac);
@@ -74,7 +77,7 @@
 					   ss_next_state, ss_rsp));
 }
 
-function f_ss_echo(GSUP_SessionState ss_state, GSUP_PDU rx_pdu) return GSUP_PDU {
+function f_ss_echo(GSUP_PDU rx_pdu) return GSUP_PDU {
 	var GSUP_IeValue ss_ie;
 	var SS_FacilityInformation dec_fac, rsp_fac;
 	var octetstring ss_rsp;
@@ -100,15 +103,8 @@
 
 	while (true) {
 		alt {
-		[] EUSE.receive(tr_GSUP_PROC_SS_REQ(?, ?, OSMO_GSUP_SESSION_STATE_BEGIN)) -> value rx_pdu {
-			EUSE.send(cb_fn.apply(OSMO_GSUP_SESSION_STATE_BEGIN, rx_pdu));
-			}
-		[] EUSE.receive(tr_GSUP_PROC_SS_REQ(?, ?, OSMO_GSUP_SESSION_STATE_CONTINUE)) -> value rx_pdu {
-			EUSE.send(cb_fn.apply(OSMO_GSUP_SESSION_STATE_CONTINUE, rx_pdu));
-			}
-
-		[] EUSE.receive(tr_GSUP_PROC_SS_REQ(?, ?, OSMO_GSUP_SESSION_STATE_END)) -> value rx_pdu {
-			EUSE.send(cb_fn.apply(OSMO_GSUP_SESSION_STATE_END, rx_pdu));
+		[] EUSE.receive(tr_GSUP_PROC_SS_REQ(?, ?, ?)) -> value rx_pdu {
+			EUSE.send(cb_fn.apply(rx_pdu));
 			}
 
 
