diff --git a/library/LAPDm_Types.ttcn b/library/LAPDm_Types.ttcn
index 91f55fa..487748d 100644
--- a/library/LAPDm_Types.ttcn
+++ b/library/LAPDm_Types.ttcn
@@ -10,6 +10,12 @@
 	type BIT3 LapdmUBits;
 	type BIT2 LapdmU2Bits;
 
+	/* 44.006 6.3.2 */
+	const boolean cr_MO_CMD := false;
+	const boolean cr_MO_RSP := true;
+	const boolean cr_MT_CMD := true;
+	const boolean cr_MT_RSP := false;
+
 	/* TS 44.006 Figure 4 */
 	type record LapdmAddressField {
 		BIT1		spare,
@@ -193,4 +199,113 @@
 	/* automatic decoding to the generic LapdmFrame will not work, you have to call one of the
 	 * type-specific decoder routines above */
 
+	/* SABM frame with L3 payload */
+	template (value) LapdmFrame ts_LAPDm_SABM(LapdmSapi sapi, boolean c_r, boolean p,
+						  octetstring l3) := {
+		ab := {
+			addr := ts_LapdmAddr(sapi, c_r),
+			ctrl := ts_LapdmCtrlSABM(p),
+			len := 0, /* overwritten in encoder */
+			m := false,
+			el := 1,
+			payload := l3
+		}
+	}
+	template LapdmFrame tr_LAPDm_SABM(template LapdmSapi sapi, template boolean c_r,
+					  template boolean p, template octetstring l3) := {
+		ab := {
+			addr := tr_LapdmAddr(sapi, c_r),
+			ctrl := tr_LapdmCtrlSABM(p),
+			len := ?,
+			m := false,
+			el := 1,
+			payload := l3
+		}
+	}
+
+	template (value) LapdmFrame ts_LAPDm_UA(LapdmSapi sapi, boolean c_r, boolean f,
+						octetstring l3) := {
+		ab := {
+			addr := ts_LapdmAddr(sapi, c_r),
+			ctrl := ts_LapdmCtrlUA(f),
+			len := 0, /* overwritten in encoder */
+			m := false,
+			el := 1,
+			payload := l3
+		}
+	}
+	template LapdmFrame tr_LAPDm_UA(template LapdmSapi sapi, template boolean c_r,
+					template boolean f, template octetstring l3) := {
+		ab := {
+			addr := tr_LapdmAddr(sapi, c_r),
+			ctrl := tr_LapdmCtrlUA(f),
+			len := ?,
+			m := false,
+			el := 1,
+			payload := l3
+		}
+	}
+
+	template LapdmFrame ts_LAPDm_DISC(LapdmSapi sapi, boolean c_r, boolean p) := {
+		ab := {
+			addr := ts_LapdmAddr(sapi, c_r),
+			ctrl := ts_LapdmCtrlDISC(p),
+			len := 0,
+			m := false,
+			el := 1,
+			payload := ''O
+		}
+	}
+	template LapdmFrame tr_LAPDm_DISC(template LapdmSapi sapi, template boolean c_r,
+					  template boolean p) := {
+		ab := {
+			addr := tr_LapdmAddr(sapi, c_r),
+			ctrl := tr_LapdmCtrlDISC(p),
+			len := ?,
+			m := false,
+			el := 1,
+			payload := ''O
+		}
+	}
+
+	template LapdmFrame ts_LAPDm_UI(LapdmSapi sapi, boolean c_r, boolean p, octetstring l3) := {
+		ab := {
+			addr := ts_LapdmAddr(sapi, c_r),
+			ctrl := ts_LapdmCtrlUI(p),
+			len := 0,
+			m := false,
+			el := 1,
+			payload := l3
+		}
+	}
+	template LapdmFrame tr_LAPDm_UI(template LapdmSapi sapi, template boolean c_r,
+					  template boolean p, template octetstring l3) := {
+		ab := {
+			addr := tr_LapdmAddr(sapi, c_r),
+			ctrl := tr_LapdmCtrlUI(p),
+			len := ?,
+			m := false,
+			el := 1,
+			payload := l3
+		}
+	}
+
+	template LapdmFrame ts_LAPDm_B4_UI(LapdmSapi sapi, boolean c_r, boolean p, octetstring l3) := {
+		b4 := {
+			addr := ts_LapdmAddr(sapi, c_r),
+			ctrl := ts_LapdmCtrlUI(p),
+			payload := l3
+		}
+	}
+	template LapdmFrame tr_LAPDm_B4_UI(template LapdmSapi sapi, template boolean c_r,
+					  template boolean p, template octetstring l3) := {
+		b4 := {
+			addr := tr_LapdmAddr(sapi, c_r),
+			ctrl := tr_LapdmCtrlUI(p),
+			payload := l3
+		}
+	}
+
+
+
 } with { encode "RAW"; /*variant "FIELDORDER(msb)" */}
