diff --git a/asn1/sabp/SABP-PDU.asn b/asn1/sabp/SABP-PDU.asn
new file mode 100644
index 0000000..becb238
--- /dev/null
+++ b/asn1/sabp/SABP-PDU.asn
@@ -0,0 +1,141 @@
+SABP-PDU {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+umts-Access (20) modules (3) sabp(3) version1 (1) sabp-PDU (255) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+    maxProtocolIEs
+FROM SABP-Constants
+
+    Criticality,
+    ProcedureCode,
+    ProtocolIE-ID
+FROM SABP-CommonDataTypes;
+
+SABP-PDU ::= CHOICE {
+    initiatingMessage		InitiatingMessage,
+    successfulOutcome		SuccessfulOutcome,
+    unsuccessfulOutcome		UnsuccessfulOutcome,
+    ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+    procedureCode	ProcedureCode,
+    criticality		Criticality,
+    value		ANY
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+    procedureCode	ProcedureCode,
+    criticality		Criticality,
+    value		ANY
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+    procedureCode	ProcedureCode,
+    criticality		Criticality,
+    value		ANY
+}
+
+
+Write-Replace ::= SEQUENCE {
+    write-Replace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Write-Replace-Complete ::= SEQUENCE {
+    write-Replace-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Write-Replace-Failure ::= SEQUENCE {
+    write-Replace-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Kill ::= SEQUENCE {
+    kill-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Kill-Complete ::= SEQUENCE {
+    kill-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Kill-Failure ::= SEQUENCE {
+    kill-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Load-Query ::= SEQUENCE {
+    load-Query-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Load-Query-Complete ::= SEQUENCE {
+    load-Query-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Load-Query-Failure ::= SEQUENCE {
+    load-Query-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Message-Status-Query ::= SEQUENCE {
+    message-Status-Query-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Message-Status-Query-Complete ::= SEQUENCE {
+    message-Status-Query-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Message-Status-Query-Failure ::= SEQUENCE {
+    message-Status-Query-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Reset ::= SEQUENCE {
+    reset-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Reset-Complete ::= SEQUENCE {
+    reset-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Reset-Failure ::= SEQUENCE {
+    reset-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Restart ::= SEQUENCE {
+    restart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Failure ::= SEQUENCE {
+    failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+Error-Indication ::= SEQUENCE {
+    error-Indication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+    ...
+}
+
+
+IE ::= SEQUENCE {
+    id ProtocolIE-ID,
+    criticality Criticality,
+    value ANY
+}
+
+END
