diff --git a/library/S1AP_Emulation.ttcn b/library/S1AP_Emulation.ttcn
index 1ef4a76..e3e3216 100644
--- a/library/S1AP_Emulation.ttcn
+++ b/library/S1AP_Emulation.ttcn
@@ -438,6 +438,7 @@
 		var S1APEM_Config s1cfg;
 		var charstring vlr_name, mme_name;
 		var integer ai;
+		var octetstring kasme;
 
 		alt {
 		/* Configuration primitive from client */
@@ -544,8 +545,13 @@
 			f_create_expect_proc(procedureCode, vc_conn);
 			S1AP_PROC.reply(S1APEM_register_proc:{procedureCode, vc_conn}) to vc_conn;
 			}
+		[] S1AP_PROC.getcall(S1APEM_derive_nas_token:{?, ?, -}) -> param(kasme, vc_conn) {
+			var integer assoc_id := f_assoc_id_by_comp(vc_conn);
+			var OCT32 nas_token := f_kdf_nas_token(kasme, S1apAssociationTable[assoc_id].nus.tx_count)
+			S1apAssociationTable[assoc_id].nus.tx_count := S1apAssociationTable[assoc_id].nus.tx_count + 1;
+			S1AP_PROC.reply(S1APEM_derive_nas_token:{kasme, vc_conn, nas_token}) to vc_conn;
+			}
 		}
-
 	}
 }
 
@@ -566,10 +572,12 @@
 
 signature S1APEM_register(in MME_UE_S1AP_ID mme_id, in ENB_UE_S1AP_ID enb_id, in S1AP_ConnHdlr hdlr);
 signature S1APEM_register_proc(in integer procedureCode, in S1AP_ConnHdlr hdlr);
+signature S1APEM_derive_nas_token(in octetstring kasme, in S1AP_ConnHdlr hdlr, out OCT32 nas_token);
 
 type port S1APEM_PROC_PT procedure {
 	inout S1APEM_register;
 	inout S1APEM_register_proc;
+	inout S1APEM_derive_nas_token;
 } with { extension "internal" };
 
 /* Function that can be used as create_cb and will use the expect table */
@@ -669,6 +677,17 @@
 	log(procedureCode);
 }
 
+/* Derive NAS Token (and post-increment ul_count): */
+function f_s1apem_derive_nas_token(in octetstring kasme) runs on S1AP_ConnHdlr return OCT32
+{
+	var OCT32 nas_token;
+	S1AP_PROC.call(S1APEM_derive_nas_token:{kasme, self, -}) {
+		[] S1AP_PROC.getreply(S1APEM_derive_nas_token:{kasme, self, ?}) -> param(nas_token) {
+			return nas_token;
+		};
+	}
+}
+
 private function f_expect_table_init()
 runs on S1AP_Emulation_CT {
 	var integer i;
