diff --git a/asn1/sabp/SABP-CommonDataTypes.asn b/asn1/sabp/SABP-CommonDataTypes.asn
new file mode 100644
index 0000000..92f3e12
--- /dev/null
+++ b/asn1/sabp/SABP-CommonDataTypes.asn
@@ -0,0 +1,16 @@
+--
+-- Common definitions
+--
+-- **************************************************************
+SABP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) sabp (3) version1 (1) sabp-CommonDataTypes (3) }
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+Criticality ::= ENUMERATED { reject, ignore, notify }
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+ProcedureCode ::= INTEGER (0..255)
+ProtocolExtensionID ::= INTEGER (0..65535)
+ProtocolIE-ID ::= INTEGER (0..65535)
+TriggeringMessage ::= ENUMERATED {initiating-message, successful-outcome, unsuccessful-outcome, outcome}
+END 
diff --git a/asn1/sabp/SABP-Constants.asn b/asn1/sabp/SABP-Constants.asn
new file mode 100644
index 0000000..5b390a9
--- /dev/null
+++ b/asn1/sabp/SABP-Constants.asn
@@ -0,0 +1,66 @@
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+SABP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Constants (4) }
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+id-Write-Replace INTEGER ::= 0
+id-Kill INTEGER ::= 1
+id-Load-Status-Enquiry INTEGER ::= 2
+id-Message-Status-Query INTEGER ::= 3 
+id-Restart-Indication INTEGER ::= 4
+id-Reset INTEGER ::= 5
+id-Failure-Indication INTEGER ::= 6
+id-Error-Indication INTEGER ::= 7
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+id-Broadcast-Message-Content INTEGER ::= 0
+id-Category INTEGER ::= 1
+id-Cause INTEGER ::= 2
+id-Criticality-Diagnostics INTEGER ::=3
+id-Data-Coding-Scheme INTEGER ::= 4
+id-Failure-List INTEGER ::= 5
+id-Message-Identifier INTEGER ::= 6
+id-New-Serial-Number INTEGER ::= 7
+id-Number-of-Broadcasts-Completed-List INTEGER ::= 8
+id-Number-of-Broadcasts-Requested INTEGER ::= 9
+id-Old-Serial-Number INTEGER ::= 10
+id-Radio-Resource-Loading-List INTEGER ::= 11
+id-Recovery-Indication INTEGER ::= 12
+id-Repetition-Period INTEGER ::= 13
+id-Serial-Number INTEGER ::= 14
+id-Service-Areas-List INTEGER ::= 15
+id-MessageStructure INTEGER ::= 16
+id-TypeOfError INTEGER ::= 17
+id-Paging-ETWS-Indicator INTEGER ::= 18
+id-Warning-Type INTEGER ::= 19
+id-WarningSecurityInfo INTEGER ::= 20
+id-Broadcast-Message-Content-Validity-Indicator INTEGER ::= 21
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+maxNrOfErrors INTEGER ::= 256
+maxnoofSAI INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+maxNrOfLevels INTEGER ::= 256
+END 
diff --git a/asn1/sabp/SABP-Containers.asn b/asn1/sabp/SABP-Containers.asn
new file mode 100644
index 0000000..0aea9cc
--- /dev/null
+++ b/asn1/sabp/SABP-Containers.asn
@@ -0,0 +1,94 @@
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+SABP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Containers (5) }
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+IMPORTS
+ Criticality,
+ Presence,
+ ProtocolExtensionID,
+ ProtocolIE-ID
+FROM SABP-CommonDataTypes
+ maxProtocolExtensions,
+ maxProtocolIEs
+FROM SABP-Constants;
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+SABP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality DEFAULT ignore,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+} 
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+SABP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolExtensionID UNIQUE,
+ &criticality Criticality DEFAULT ignore,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+ProtocolIE-Container {SABP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+ProtocolIE-Field {SABP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id SABP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality SABP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value SABP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, SABP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+ProtocolExtensionContainer {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}} 
+ProtocolExtensionField {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id SABP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality SABP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue SABP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+END 
diff --git a/asn1/sabp/SABP-IEs.asn b/asn1/sabp/SABP-IEs.asn
new file mode 100644
index 0000000..e21e007
--- /dev/null
+++ b/asn1/sabp/SABP-IEs.asn
@@ -0,0 +1,203 @@
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+SABP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) sabp (3) version1 (1) sabp-IEs (2) }
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+IMPORTS
+ maxNrOfErrors,
+ maxnoofSAI,
+ maxNrOfLevels,
+ id-MessageStructure,
+ id-TypeOfError
+FROM SABP-Constants
+ Criticality,
+ ProcedureCode,
+ TriggeringMessage,
+ ProtocolIE-ID
+FROM SABP-CommonDataTypes
+ ProtocolExtensionContainer{},
+ SABP-PROTOCOL-EXTENSION
+FROM SABP-Containers;
+-- A
+Available-Bandwidth ::= INTEGER (0..20480)
+-- bits/sec
+-- B
+Broadcast-Message-Content ::= BIT STRING (SIZE (1..9968))-- This IE is sent from the CN to the RNC containing user information i.e.
+-- the message.
+Broadcast-Message-Content-Validity-Indicator ::= ENUMERATED {
+ broadcast-Message-Content-not-valid,
+ ...
+}
+-- C
+Category ::= ENUMERATED {
+ high-priority,
+ background-priority,
+ normal-priority,
+ default-priority,
+ ...
+}
+Cause ::= INTEGER {
+ parameter-not-recognised (0),
+ parameter-value-invalid (1),
+ valid-CN-message-not-identified (2),
+ service-area-identity-not-valid (3),
+ unrecognised-message (4),
+ missing-mandatory-element (5),
+ rNC-capacity-exceeded (6),
+ rNC-memory-exceeded (7),
+ service-area-broadcast-not-supported (8), 
+ service-area-broadcast-not-operational (9),
+ message-reference-already-used (10),
+ unspecifed-error (11),
+ transfer-syntax-error (12),
+ semantic-error (13),
+ message-not-compatible-with-receiver-state (14),
+ abstract-syntax-error-reject (15),
+ abstract-syntax-error-ignore-and-notify (16),
+ abstract-syntax-error-falsely-constructed-message (17)
+} (0..255)
+Criticality-Diagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+CriticalityDiagnostics-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ repetitionNumber RepetitionNumber0 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+ }
+CriticalityDiagnostics-IE-List-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
+ { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }|
+ { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory },
+ ...
+}
+MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF
+ SEQUENCE {
+ iE-ID ProtocolIE-ID,
+ repetitionNumber RepetitionNumber1 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL,
+ ...
+ }
+MessageStructure-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
+ ...
+} 
+-- D
+Data-Coding-Scheme ::= BIT STRING (SIZE (8))
+-- E
+-- F
+Failure-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Failure-List-Item
+Failure-List-Item ::= SEQUENCE {
+ service-area-identifier Service-Area-Identifier,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {FailureListItemIE-ExtIEs} } OPTIONAL,
+ ...
+}
+FailureListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
+...
+}
+-- G
+-- H
+-- I
+-- J
+-- K
+-- L
+-- M
+Message-Identifier ::= BIT STRING (SIZE (16))
+-- N
+New-Serial-Number ::= Serial-Number
+Number-of-Broadcasts-Completed-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF
+ Number-of-Broadcasts-Completed-List-Item
+Number-of-Broadcasts-Completed-List-Item ::= SEQUENCE {
+ service-area-identifier Service-Area-Identifier,
+ number-of-broadcasts-completed INTEGER (0..65535),
+ number-of-broadcasts-completed-info Number-Of-Broadcasts-Completed-Info OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {NoOfBroadcastsCompletedListItemIE-ExtIEs} } OPTIONAL,
+ ...
+}
+NoOfBroadcastsCompletedListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
+... 
+}
+Number-Of-Broadcasts-Completed-Info ::= ENUMERATED {
+ overflow,
+ unknown,
+ ...
+}
+Number-of-Broadcasts-Requested ::= INTEGER {
+ broadcast-indefinitely (0)
+} (0..65535)
+-- O
+Old-Serial-Number ::= Serial-Number
+-- P
+Paging-ETWS-Indicator ::= ENUMERATED {
+ paging,
+ ...
+}
+-- Q
+-- R
+Radio-Resource-Loading-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF
+ Radio-Resource-Loading-List-Item
+Radio-Resource-Loading-List-Item ::= SEQUENCE {
+ service-area-identifier Service-Area-Identifier,
+ available-bandwidth Available-Bandwidth,
+ iE-Extensions ProtocolExtensionContainer { {RadioResourceLoadingListItemIE-ExtIEs} } OPTIONAL,
+ ...
+}
+RadioResourceLoadingListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
+...
+}
+Recovery-Indication ::= ENUMERATED {
+ data-lost,
+ data-available
+}
+RepetitionNumber0 ::= INTEGER(0..255)
+RepetitionNumber1 ::= INTEGER(1..256)
+Repetition-Period ::= INTEGER (1..4096)
+-- Each unit represents a repetition of one second to a maximum of
+-- once per 4096 seconds (~1 hour). 
+-- S
+Serial-Number ::= BIT STRING (SIZE (16))
+Service-Area-Identifier ::= SEQUENCE {
+ pLMNidentity OCTET STRING (SIZE (3))
+ -- Digits 0 to 9, two digits per octet. --
+ -- Each octet encoded 0000 to 1001. --
+ -- 1111 used as filler --
+ -- Bit 4 to 1 of octet n encoding digit 2n-1. --
+ -- Bit 8 to 5 of octet n encoding digit 2n. --
+ -- The PLMN identity consists of 3 digits from MCC --
+ -- followed by either a filler plus 2 digits --
+ -- from MNC (in case of 2 digit MNC) or 3 digits --
+ -- from MNC (in case of 3 digit MNC). -- ,
+ lac OCTET STRING (SIZE (2))
+ -- 0000 and FFFE not allowed -- ,
+ sac OCTET STRING (SIZE (2))
+}
+-- **TODO** The IE type for these parameters is not known as yet
+Service-Areas-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Service-Area-Identifier
+-- T
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+-- U
+-- V
+-- W
+WarningSecurityInfo ::= OCTET STRING (SIZE (50))
+Warning-Type ::= OCTET STRING (SIZE(2))
+-- X
+-- Y
+END 
diff --git a/asn1/sabp/SABP-PDU-Contents.asn b/asn1/sabp/SABP-PDU-Contents.asn
new file mode 100644
index 0000000..814da2f
--- /dev/null
+++ b/asn1/sabp/SABP-PDU-Contents.asn
@@ -0,0 +1,447 @@
+-- **************************************************************
+--
+-- PDU definitions for SABP.
+--
+-- **************************************************************
+SABP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Contents (1) }
+DEFINITIONS AUTOMATIC TAGS ::= 
+BEGIN
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+IMPORTS
+ Broadcast-Message-Content,
+ Category,
+ Cause,
+Criticality-Diagnostics,
+ Data-Coding-Scheme,
+ Failure-List,
+ Message-Identifier,
+ New-Serial-Number,
+ Number-of-Broadcasts-Completed-List,
+ Number-of-Broadcasts-Requested,
+ Old-Serial-Number,
+ Paging-ETWS-Indicator,
+ Radio-Resource-Loading-List,
+ Recovery-Indication,
+ Repetition-Period,
+ Serial-Number,
+ Service-Areas-List,
+ WarningSecurityInfo,
+ Warning-Type,
+ Broadcast-Message-Content-Validity-Indicator
+FROM SABP-IEs
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ SABP-PROTOCOL-EXTENSION,
+ SABP-PROTOCOL-IES
+FROM SABP-Containers
+ id-Broadcast-Message-Content,
+ id-Category,
+ id-Criticality-Diagnostics,
+ id-Cause,
+ id-Data-Coding-Scheme,
+ id-Failure-List,
+ id-Message-Identifier,
+ id-New-Serial-Number,
+ id-Number-of-Broadcasts-Completed-List,
+ id-Number-of-Broadcasts-Requested,
+ id-Old-Serial-Number,
+ id-Paging-ETWS-Indicator,
+ id-Radio-Resource-Loading-List,
+ id-Recovery-Indication,
+ id-Repetition-Period,
+ id-Serial-Number, 
+ id-Service-Areas-List,
+ id-WarningSecurityInfo,
+ id-Warning-Type,
+ id-Broadcast-Message-Content-Validity-Indicator
+FROM SABP-Constants;
+-- **************************************************************
+--
+-- Write-Replace
+--
+-- **************************************************************
+Write-Replace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Write-Replace-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Write-Replace-Extensions} } OPTIONAL,
+ ...
+}
+Write-Replace-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } |
+ { ID id-Old-Serial-Number CRITICALITY ignore TYPE Old-Serial-Number PRESENCE optional } |
+ { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } |
+ { ID id-Category CRITICALITY ignore TYPE Category PRESENCE optional } |
+ { ID id-Repetition-Period CRITICALITY reject TYPE Repetition-Period PRESENCE mandatory } |
+ { ID id-Number-of-Broadcasts-Requested
+ CRITICALITY reject TYPE Number-of-Broadcasts-Requested PRESENCE mandatory } |
+ { ID id-Data-Coding-Scheme CRITICALITY reject TYPE Data-Coding-Scheme PRESENCE mandatory } |
+ { ID id-Broadcast-Message-Content
+ CRITICALITY reject TYPE Broadcast-Message-Content PRESENCE mandatory },
+ ...
+}
+Write-Replace-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ { ID id-WarningSecurityInfo CRITICALITY ignore EXTENSION WarningSecurityInfo PRESENCE optional } |
+ { ID id-Paging-ETWS-Indicator CRITICALITY ignore EXTENSION Paging-ETWS-Indicator PRESENCE optional } |
+ { ID id-Warning-Type CRITICALITY ignore EXTENSION Warning-Type PRESENCE optional } |
+ { ID id-Broadcast-Message-Content-Validity-Indicator CRITICALITY ignore EXTENSION Broadcast-Message-Content-Validity-Indicator PRESENCE
+optional },
+ ...
+}
+-- **************************************************************
+--
+-- Write-Replace-Complete
+--
+-- **************************************************************
+Write-Replace-Complete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Write-Replace-Complete-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Write-Replace-Complete-Extensions} } OPTIONAL,
+ ...
+} 
+Write-Replace-Complete-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } |
+ { ID id-Number-of-Broadcasts-Completed-List
+ CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List
+ PRESENCE mandatory }|
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+Write-Replace-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- Write-Replace-Failure
+--
+-- **************************************************************
+Write-Replace-Failure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Write-Replace-Failure-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Write-Replace-Failure-Extensions} } OPTIONAL,
+ ...
+}
+Write-Replace-Failure-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } |
+ { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } |
+ { ID id-Number-of-Broadcasts-Completed-List
+ CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List
+ PRESENCE optional } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+Write-Replace-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- Kill
+--
+-- **************************************************************
+Kill ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Kill-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Kill-Extensions}} OPTIONAL,
+ ...
+} 
+Kill-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
+ { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } ,
+ ...
+}
+Kill-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- Kill-Complete
+--
+-- **************************************************************
+Kill-Complete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Kill-Complete-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Kill-Complete-Extensions}} OPTIONAL,
+ ...
+}
+Kill-Complete-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
+ { ID id-Number-of-Broadcasts-Completed-List
+ CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List
+ PRESENCE mandatory }|
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+Kill-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- Kill-Failure
+--
+-- **************************************************************
+Kill-Failure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Kill-Failure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Kill-Failure-Extensions}} OPTIONAL,
+ ...
+}
+Kill-Failure-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
+ { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | 
+ { ID id-Number-of-Broadcasts-Completed-List
+ CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List
+ PRESENCE optional } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+Kill-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- Load-Query
+--
+-- **************************************************************
+Load-Query ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Load-Query-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Load-Query-Extensions}} OPTIONAL,
+ ...
+}
+Load-Query-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } ,
+ ...
+}
+Load-Query-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- Load-Query-Complete
+--
+-- **************************************************************
+Load-Query-Complete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Load-Query-Complete-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Load-Query-Complete-Extensions}} OPTIONAL,
+ ...
+}
+Load-Query-Complete-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Radio-Resource-Loading-List
+ CRITICALITY reject TYPE Radio-Resource-Loading-List
+ PRESENCE mandatory } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+} 
+Load-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- Load-Query-Failure
+--
+-- **************************************************************
+Load-Query-Failure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Load-Query-Failure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Load-Query-Failure-Extensions}} OPTIONAL,
+ ...
+}
+Load-Query-Failure-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } |
+ { ID id-Radio-Resource-Loading-List
+ CRITICALITY ignore TYPE Radio-Resource-Loading-List
+ PRESENCE optional } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+Load-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- Message-Status-Query
+--
+-- **************************************************************
+Message-Status-Query ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Message-Status-Query-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Extensions}} OPTIONAL,
+ ...
+}
+Message-Status-Query-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
+ { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } ,
+ ...
+}
+Message-Status-Query-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+} 
+-- **************************************************************
+--
+-- Message-Status-Query-Complete
+--
+-- **************************************************************
+Message-Status-Query-Complete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Message-Status-Query-Complete-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Complete-Extensions}} OPTIONAL,
+ ...
+}
+Message-Status-Query-Complete-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
+ { ID id-Number-of-Broadcasts-Completed-List
+ CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List
+ PRESENCE mandatory } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+Message-Status-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- Message-Status-Query-Failure
+--
+-- **************************************************************
+Message-Status-Query-Failure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Message-Status-Query-Failure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Failure-Extensions}} OPTIONAL,
+ ...
+}
+Message-Status-Query-Failure-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } |
+ { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
+ { ID id-Number-of-Broadcasts-Completed-List
+ CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List
+ PRESENCE optional } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+Message-Status-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+} 
+-- **************************************************************
+--
+-- Reset
+--
+-- **************************************************************
+Reset ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Reset-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Reset-Extensions}} OPTIONAL,
+ ...
+}
+Reset-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } ,
+ ...
+}
+Reset-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- Reset-Complete
+--
+-- **************************************************************
+Reset-Complete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Reset-Complete-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Reset-Complete-Extensions}} OPTIONAL,
+ ...
+}
+Reset-Complete-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+Reset-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- Reset-Failure
+--
+-- **************************************************************
+Reset-Failure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Reset-Failure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Reset-Failure-Extensions}} OPTIONAL, 
+ ...
+}
+Reset-Failure-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } |
+ { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE optional } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } ,
+ ...
+}
+Reset-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- Restart
+--
+-- **************************************************************
+Restart ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Restart-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Restart-Extensions}} OPTIONAL,
+ ...
+}
+Restart-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } |
+ { ID id-Recovery-Indication CRITICALITY ignore TYPE Recovery-Indication PRESENCE optional } ,
+ ...
+}
+Restart-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- Failure
+--
+-- **************************************************************
+Failure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Failure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Failure-Extensions}} OPTIONAL,
+ ...
+}
+Failure-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } , 
+ ...
+} 
+Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- Error-Indication
+--
+-- **************************************************************
+Error-Indication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Error-Indication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Error-Indication-Extensions}} OPTIONAL,
+ ...
+}
+Error-Indication-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY ignore TYPE Message-Identifier PRESENCE optional } |
+ { ID id-Serial-Number CRITICALITY ignore TYPE Serial-Number PRESENCE optional } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+Error-Indication-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+END 
diff --git a/asn1/sabp/SABP-PDU-Descriptions.asn b/asn1/sabp/SABP-PDU-Descriptions.asn
new file mode 100644
index 0000000..428c35a
--- /dev/null
+++ b/asn1/sabp/SABP-PDU-Descriptions.asn
@@ -0,0 +1,168 @@
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+SABP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Descriptions (0)}
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+IMPORTS
+ Criticality,
+ ProcedureCode
+FROM SABP-CommonDataTypes
+ Error-Indication,
+ Failure,
+ Kill,
+ Kill-Complete,
+ Kill-Failure,
+ Load-Query,
+ Load-Query-Complete,
+ Load-Query-Failure,
+ Reset,
+ Reset-Complete,
+ Reset-Failure,
+ Restart,
+ Message-Status-Query,
+ Message-Status-Query-Complete,
+ Message-Status-Query-Failure,
+ Write-Replace,
+ Write-Replace-Complete,
+ Write-Replace-Failure
+FROM SABP-PDU-Contents
+ id-Error-Indication,
+ id-Failure-Indication,
+ id-Kill,
+ id-Reset, 
+ id-Restart-Indication,
+ id-Load-Status-Enquiry,
+ id-Message-Status-Query,
+ id-Write-Replace
+FROM SABP-Constants;
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+SABP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME
+&SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+SABP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+InitiatingMessage ::= SEQUENCE {
+ procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}),
+ criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value SABP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}),
+ criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value SABP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode})
+} 
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}),
+ criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value SABP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+SABP-ELEMENTARY-PROCEDURES SABP-ELEMENTARY-PROCEDURE ::= {
+ SABP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ SABP-ELEMENTARY-PROCEDURES-CLASS-2 ,
+ ...
+}
+SABP-ELEMENTARY-PROCEDURES-CLASS-1 SABP-ELEMENTARY-PROCEDURE ::= {
+ write-Replace |
+ kill |
+ load-Status-Enquiry |
+ message-Status-Query |
+ reset ,
+ ...
+}
+SABP-ELEMENTARY-PROCEDURES-CLASS-2 SABP-ELEMENTARY-PROCEDURE ::= {
+ restart-Indication |
+ failure-Indication |
+ error-Indication ,
+ ...
+}
+write-Replace SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Write-Replace
+ SUCCESSFUL OUTCOME Write-Replace-Complete
+ UNSUCCESSFUL OUTCOME Write-Replace-Failure
+ PROCEDURE CODE id-Write-Replace
+ CRITICALITY reject
+}
+kill SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Kill
+ SUCCESSFUL OUTCOME Kill-Complete
+ UNSUCCESSFUL OUTCOME Kill-Failure
+ PROCEDURE CODE id-Kill
+ CRITICALITY reject
+}
+load-Status-Enquiry SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Load-Query
+ SUCCESSFUL OUTCOME Load-Query-Complete
+ UNSUCCESSFUL OUTCOME Load-Query-Failure 
+ PROCEDURE CODE id-Load-Status-Enquiry
+ CRITICALITY reject
+}
+message-Status-Query SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Message-Status-Query
+ SUCCESSFUL OUTCOME Message-Status-Query-Complete
+ UNSUCCESSFUL OUTCOME Message-Status-Query-Failure
+ PROCEDURE CODE id-Message-Status-Query
+ CRITICALITY reject
+}
+reset SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Reset
+ SUCCESSFUL OUTCOME Reset-Complete
+ UNSUCCESSFUL OUTCOME Reset-Failure
+ PROCEDURE CODE id-Reset
+ CRITICALITY reject
+}
+restart-Indication SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Restart
+ PROCEDURE CODE id-Restart-Indication
+ CRITICALITY ignore
+}
+failure-Indication SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Failure
+ PROCEDURE CODE id-Failure-Indication
+ CRITICALITY ignore
+}
+error-Indication SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Error-Indication
+ PROCEDURE CODE id-Error-Indication
+ CRITICALITY ignore
+}
+END
