diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn
index cc2ff93..94f807a 100644
--- a/library/L1CTL_PortType.ttcn
+++ b/library/L1CTL_PortType.ttcn
@@ -203,10 +203,27 @@
 	}
 
 	/* Send DM_EST_REQ from parameters derived from IMM ASS */
-	function f_L1CTL_DM_EST_REQ_IA(L1CTL_PT pt, ImmediateAssignment imm_ass) {
-		pt.send(ts_L1CTL_DM_EST_REQ_H0(imm_ass.chan_desc.chan_nr,
-					       imm_ass.chan_desc.tsc,
-					       imm_ass.chan_desc.arfcn));
+	function f_L1CTL_DM_EST_REQ_IA(L1CTL_PT pt, ImmediateAssignment imm_ass, L1ctlMA ma := {}) {
+		/* FIXME: handle Packet Channel Description */
+		if (imm_ass.ded_or_tbf.tbf == true) {
+			setverdict(fail, "TBF assignment is not handled by ", __SCOPE__);
+			mtc.stop;
+		}
+
+		/* Single channel or frequency hopping? */
+		if (not imm_ass.chan_desc.h) {
+			pt.send(ts_L1CTL_DM_EST_REQ_H0(imm_ass.chan_desc.chan_nr,
+						       imm_ass.chan_desc.tsc,
+						       imm_ass.chan_desc.arfcn));
+		} else {
+			/* TODO: we probably want to apply a bitmask from imm_ass.mobile_allocation
+			 * on the list of channels, if it's present. Use all channels for now. */
+			pt.send(ts_L1CTL_DM_EST_REQ_H1(imm_ass.chan_desc.chan_nr,
+						       imm_ass.chan_desc.tsc,
+						       imm_ass.chan_desc.maio_hsn.hsn,
+						       imm_ass.chan_desc.maio_hsn.maio,
+						       ma));
+		}
 	}
 
 	/* Send DM_REL_REQ from parameters derived from IMM ASS */
