Import HNBAP asn.1 from 3GPP TS 25.469 V12.4.0 (2015-03)
diff --git a/asn1/hnbap/HNBAP-CommonDataTypes.asn b/asn1/hnbap/HNBAP-CommonDataTypes.asn
new file mode 100644
index 0000000..db102a9
--- /dev/null
+++ b/asn1/hnbap/HNBAP-CommonDataTypes.asn
@@ -0,0 +1,47 @@
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+HNBAP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-CommonDataTypes (3)  }
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs 		INTEGER ::= 65535
+maxProtocolExtensions 	INTEGER ::= 65535
+maxProtocolIEs		INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Common Data Types
+--
+-- **************************************************************
+Criticality		::= ENUMERATED { reject, ignore, notify }
+
+Presence		::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID	::= CHOICE {
+	local		INTEGER (0..65535),
+	global		OBJECT IDENTIFIER
+}
+
+
+ProcedureCode		::= INTEGER (0..255)
+
+
+ProtocolIE-ID		::= INTEGER (0..maxProtocolIEs)
+
+TriggeringMessage	::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome }
+
+END
diff --git a/asn1/hnbap/HNBAP-Constants.asn b/asn1/hnbap/HNBAP-Constants.asn
new file mode 100644
index 0000000..8603703
--- /dev/null
+++ b/asn1/hnbap/HNBAP-Constants.asn
@@ -0,0 +1,98 @@
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+HNBAP-Constants { 
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-Constants (4) } 
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+IMPORTS
+	ProcedureCode,
+	ProtocolIE-ID
+FROM HNBAP-CommonDataTypes;
+
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+id-HNBRegister					ProcedureCode ::= 1
+id-HNBDe-Register				ProcedureCode ::= 2
+id-UERegister					ProcedureCode ::= 3
+id-UEDe-Register				ProcedureCode ::= 4
+id-ErrorIndication				ProcedureCode ::= 5
+id-privateMessage				ProcedureCode ::= 6
+id-CSGMembershipUpdate				ProcedureCode ::= 7
+id-TNLUpdate					ProcedureCode ::= 9
+id-HNBConfigTransfer				ProcedureCode ::= 10
+id-RelocationComplete				ProcedureCode ::= 11
+id-U-RNTIQuery					ProcedureCode ::= 14
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+maxNrOfErrors					INTEGER ::= 256
+maxnoofRABs					INTEGER ::= 256
+maxnoofAdditionalNeighbours			INTEGER ::= 128
+maxnoofURAIdentities				INTEGER ::= 8
+maxnoofNeighbours				INTEGER ::= 32
+maxnoofIurhAddresses				INTEGER ::= 3
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-Cause					ProtocolIE-ID ::= 1
+id-CriticalityDiagnostics			ProtocolIE-ID ::= 2
+id-HNB-Identity					ProtocolIE-ID ::= 3
+id-Context-ID					ProtocolIE-ID ::= 4
+id-UE-Identity					ProtocolIE-ID ::= 5
+id-LAC						ProtocolIE-ID ::= 6
+id-RAC						ProtocolIE-ID ::= 7
+id-HNB-Location-Information			ProtocolIE-ID ::= 8
+id-PLMNidentity					ProtocolIE-ID ::= 9
+id-SAC						ProtocolIE-ID ::= 10
+id-CellIdentity					ProtocolIE-ID ::= 11
+id-Registration-Cause				ProtocolIE-ID ::= 12
+id-UE-Capabilities				ProtocolIE-ID ::= 13
+id-RNC-ID					ProtocolIE-ID ::= 14
+id-CSG-ID					ProtocolIE-ID ::= 15
+id-BackoffTimer					ProtocolIE-ID ::= 16
+id-HNB-Internet-Information			ProtocolIE-ID ::= 17
+id-HNB-Cell-Access-Mode				ProtocolIE-ID ::= 18
+id-MuxPortNumber				ProtocolIE-ID ::= 19
+id-Service-Area-For-Broadcast			ProtocolIE-ID ::= 20
+id-CSGMembershipStatus				ProtocolIE-ID ::= 21
+id-RABList					ProtocolIE-ID ::= 22
+id-HNBConfigInfo				ProtocolIE-ID ::= 23
+id-AccessResult					ProtocolIE-ID ::= 25
+id-Update-cause					ProtocolIE-ID ::= 26
+id-NeighbourInfoList				ProtocolIE-ID ::= 27
+id-NeighbourInfoRequestList			ProtocolIE-ID ::= 28
+id-Iurh-Signalling-TNL-Address			ProtocolIE-ID ::= 29
+id-PSC						ProtocolIE-ID ::= 30
+id-HNB-Cell-Identifier				ProtocolIE-ID ::= 31
+id-Tunnel-Information				ProtocolIE-ID ::= 41
+id-CELL-FACHMobilitySupport			ProtocolIE-ID ::= 42
+id-S-RNTIPrefix					ProtocolIE-ID ::= 43
+id-URAIdentity					ProtocolIE-ID ::= 44
+id-NeighbourIdentity				ProtocolIE-ID ::= 45
+id-HNBCapacity					ProtocolIE-ID ::= 46
+id-NeighbourCellIdentityList			ProtocolIE-ID ::= 47
+id-AdditionalNeighbourInfoList			ProtocolIE-ID ::= 48
+id-U-RNTI					ProtocolIE-ID ::= 49
+id-UnknownU-RNTIIndication			ProtocolIE-ID ::= 50
+id-HNB-GWResponse				ProtocolIE-ID ::= 51
+id-URAIdentityList				ProtocolIE-ID ::= 52
+
+END
diff --git a/asn1/hnbap/HNBAP-Containers.asn b/asn1/hnbap/HNBAP-Containers.asn
new file mode 100644
index 0000000..91aad6e
--- /dev/null
+++ b/asn1/hnbap/HNBAP-Containers.asn
@@ -0,0 +1,149 @@
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+HNBAP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+	Criticality,
+	Presence,
+	PrivateIE-ID,
+	ProtocolIE-ID,
+	maxPrivateIEs,
+	maxProtocolExtensions,
+	maxProtocolIEs
+FROM HNBAP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+HNBAP-PROTOCOL-IES ::= CLASS {
+	&id					ProtocolIE-ID 		UNIQUE,
+	&criticality		Criticality,
+	&Value,
+	&presence			Presence
+}
+WITH SYNTAX {
+	ID					&id
+	CRITICALITY			&criticality
+	TYPE				&Value
+	PRESENCE			&presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+HNBAP-PROTOCOL-EXTENSION ::= CLASS {
+	&id					ProtocolIE-ID UNIQUE,
+	&criticality		Criticality,
+	&Extension,
+	&presence			Presence
+}
+WITH SYNTAX {
+	ID					&id
+	CRITICALITY			&criticality
+	EXTENSION			&Extension
+	PRESENCE			&presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+HNBAP-PRIVATE-IES ::= CLASS {
+	&id					PrivateIE-ID,
+	&criticality		Criticality,
+	&Value,
+	&presence			Presence
+}
+WITH SYNTAX {
+	ID					&id
+	CRITICALITY			&criticality
+	TYPE				&Value
+	PRESENCE			&presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {HNBAP-PROTOCOL-IES : IEsSetParam} ::= 
+	SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+		ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Single-Container {HNBAP-PROTOCOL-IES : IEsSetParam} ::= 
+	ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {HNBAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+	id					HNBAP-PROTOCOL-IES.&id				({IEsSetParam}),
+	criticality			HNBAP-PROTOCOL-IES.&criticality		({IEsSetParam}{@id}),
+	value				HNBAP-PROTOCOL-IES.&Value			({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, HNBAP-PROTOCOL-IES : IEsSetParam} ::=
+	SEQUENCE (SIZE (lowerBound..upperBound)) OF
+		ProtocolIE-Container {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {HNBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= 
+	SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+		ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {HNBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+	id		HNBAP-PROTOCOL-EXTENSION.&id		({ExtensionSetParam}),
+	criticality	HNBAP-PROTOCOL-EXTENSION.&criticality	({ExtensionSetParam}{@id}),
+	extensionValue	HNBAP-PROTOCOL-EXTENSION.&Extension	({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {HNBAP-PRIVATE-IES : IEsSetParam } ::= 
+	SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
+		PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {HNBAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+	id		HNBAP-PRIVATE-IES.&id			({IEsSetParam}),
+	criticality	HNBAP-PRIVATE-IES.&criticality		({IEsSetParam}{@id}),
+	value		HNBAP-PRIVATE-IES.&Value		({IEsSetParam}{@id})
+}
+
+END
diff --git a/asn1/hnbap/HNBAP-IEs.asn b/asn1/hnbap/HNBAP-IEs.asn
new file mode 100644
index 0000000..c302636
--- /dev/null
+++ b/asn1/hnbap/HNBAP-IEs.asn
@@ -0,0 +1,567 @@
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+HNBAP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+IMPORTS
+	maxNrOfErrors,
+	maxnoofRABs,
+	maxnoofNeighbours,
+	maxnoofIurhAddresses,
+	maxnoofAdditionalNeighbours,
+	maxnoofURAIdentities,
+	id-HNB-Internet-Information,
+	id-HNB-Cell-Identifier,
+	id-S-RNTIPrefix,
+	id-URAIdentityList
+	
+FROM HNBAP-Constants
+
+	Criticality,
+	ProcedureCode,
+	ProtocolIE-ID,
+	TriggeringMessage
+FROM HNBAP-CommonDataTypes
+
+	ProtocolExtensionContainer{},
+	HNBAP-PROTOCOL-EXTENSION
+FROM HNBAP-Containers;
+
+
+--A
+Access-stratum-release-indicator ::=	ENUMERATED {r99,
+				rel-4, rel-5, rel-6, rel-7, rel-8-and-beyond,
+				...}
+
+AccessResult	::=		ENUMERATED {allowed, notAllowed, ...}
+
+AltitudeAndDirection ::= SEQUENCE {
+	directionOfAltitude	ENUMERATED {height, depth},
+	altitude		INTEGER (0..32767),
+	...
+}
+
+--B
+BackoffTimer ::= INTEGER(0..3600)
+
+BindingID	::= OCTET STRING(SIZE(1..4,...))
+
+--C
+Cause ::= CHOICE {
+	radioNetwork		CauseRadioNetwork,
+	transport		CauseTransport,
+	protocol		CauseProtocol,
+	misc			CauseMisc,
+	...
+}
+CauseRadioNetwork ::= ENUMERATED {
+	overload,
+	unauthorised-Location,
+	unauthorised-HNB,
+	hNB-parameter-mismatch,
+	invalid-UE-identity,
+	uE-not-allowed-on-this-HNB,
+	uE-unauthorised,
+	connection-with-UE-lost,
+	ue-RRC-release,
+	hNB-not-registered,
+	unspecified,
+	normal,
+	uE-relocated,
+	ue-registered-in-another-HNB,
+	...,
+	no-neighbour-information-available,
+	iurh-connection-to-that-neighbour-not-Allowed
+}
+
+CauseTransport ::= ENUMERATED {
+	transport-resource-unavailable,
+	unspecified,
+	...
+}
+
+CauseProtocol ::= ENUMERATED {
+	transfer-syntax-error,
+	abstract-syntax-error-reject,
+	abstract-syntax-error-ignore-and-notify,
+	message-not-compatible-with-receiver-state,
+	semantic-error,
+	unspecified,
+	abstract-syntax-error-falsely-constructed-message,
+	...
+}
+
+CauseMisc ::= ENUMERATED {
+	processing-overload,
+	hardware-failure,
+	o-and-m-intervention,
+	unspecified,
+	...
+}
+
+CellIdentity ::=		BIT STRING (SIZE (28))
+
+CELL-FACHMobilitySupport	::= ENUMERATED {
+	supported, 
+	...
+}
+
+Context-ID	::=	 BIT STRING (SIZE(24))
+
+CriticalityDiagnostics ::= SEQUENCE {
+	procedureCode			ProcedureCode			OPTIONAL,
+	triggeringMessage		TriggeringMessage		OPTIONAL,
+	procedureCriticality		Criticality			OPTIONAL,
+	iEsCriticalityDiagnostics	CriticalityDiagnostics-IE-List	OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } 	OPTIONAL,
+	...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+	SEQUENCE {
+		iECriticality		Criticality,
+		iE-ID			ProtocolIE-ID,
+		typeOfError		TypeOfError,
+		iE-Extensions		ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} }	OPTIONAL,
+		...
+	}
+
+CriticalityDiagnostics-IE-List-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+CriticalityDiagnostics-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+CSG-ID			::=	BIT STRING (SIZE (27))
+
+CSG-Capability	::=	ENUMERATED {
+	csg-capable,
+	not-csg-capable,
+	...
+}
+
+CSGMembershipStatus ::= ENUMERATED { 
+	member,
+	non-member,
+	...
+}
+
+CGI ::= SEQUENCE {
+	pLMNidentity	PLMNidentity,
+	lAC		LAC,
+	cI		CI,
+	iE-Extensions	ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL
+}
+
+CGI-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+CI	::= OCTET STRING (SIZE (2))
+
+
+CN-DomainIndicator ::= ENUMERATED {
+	cs-domain,
+	ps-domain
+}
+--D
+--E
+ESN		::=	BIT STRING (SIZE(32))
+--F
+--G
+GeographicalLocation ::= SEQUENCE {
+	geographicalCoordinates		GeographicalCoordinates,
+	altitudeAndDirection		AltitudeAndDirection,
+	iE-Extensions			ProtocolExtensionContainer { { GeographicLocation-ExtIEs} } OPTIONAL,
+	...
+}
+
+GeographicLocation-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+GeographicalCoordinates ::= SEQUENCE {
+	latitudeSign			ENUMERATED {north, south},
+	latitude			INTEGER (0..8388607),
+	longitude			INTEGER (-8388608..8388607),
+	iE-Extensions			ProtocolExtensionContainer { {GeographicalCoordinates-ExtIEs} }	OPTIONAL,
+	...
+}
+
+GeographicalCoordinates-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+GTP-TEI	::= OCTET STRING (SIZE (4))
+
+--H
+
+HNBCapacity ::= INTEGER(0..1000)
+
+HNB-Cell-Access-Mode::= ENUMERATED {
+	closed,
+	hybrid,
+	open,
+	...
+}
+
+HNB-Cell-Identifier	::= 	SEQUENCE	{
+	pLMNidentity	PLMNidentity,
+	cellIdentity	CellIdentity,
+	iE-Extensions	ProtocolExtensionContainer { { HNB-Cell-Identifier-ExtIEs } }	OPTIONAL,
+	...
+}
+
+HNB-Cell-Identifier-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+HNB-GWResponse ::= CHOICE {
+	hNB			HNBConfigInfo,
+	macroRNC		RNC-ID,
+	unknownU-RNTIIndication	UnknownU-RNTIIndication,
+	...
+}
+
+HNB-RNL-Identity	::= 	CHOICE	{
+	hNB-Identity-as-Cell-Identifier	HNB-Cell-Identifier,
+	...
+}
+
+HNBConfigInfo	::= SEQUENCE {
+	hnb-RNL-Identity		HNB-RNL-Identity,
+	configurationInformation	ConfigurationInformation,
+	iE-Extensions			ProtocolExtensionContainer { { HNBConfigInfo-ExtIEs } }	OPTIONAL,
+	...
+}
+
+HNBConfigInfo-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+ConfigurationInformation ::= CHOICE {
+	provided	HNBConfigurationInformationProvided,
+	missing		HNBConfigurationInformationMissing,
+	...
+}
+
+HNBConfigurationInformationProvided ::= SEQUENCE {
+	psc				PSC	OPTIONAL,
+	cSG-ID				CSG-ID	OPTIONAL,
+	hNB-Cell-Access-Mode		HNB-Cell-Access-Mode,
+	iurh-Signalling-TNL-AddressList	Iurh-Signalling-TNL-AddressList,
+	iE-Extensions		ProtocolExtensionContainer { { HNBConfigurationInformationProvided-ExtIEs } }	OPTIONAL,
+	...
+}
+
+HNBConfigurationInformationProvided-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	{ ID id-S-RNTIPrefix	CRITICALITY ignore	EXTENSION S-RNTIPrefix		PRESENCE optional }|
+	{ ID id-URAIdentityList	CRITICALITY ignore	EXTENSION URAIdentityList	PRESENCE optional },
+	...
+}
+
+HNBConfigurationInformationMissing ::= SEQUENCE {
+	cause		Cause,
+	iE-Extensions	ProtocolExtensionContainer { { HNBConfigurationInformationMissing-ExtIEs } }	OPTIONAL,
+	...
+}
+
+HNBConfigurationInformationMissing-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+HNB-Location-Information ::= SEQUENCE {
+	macroCoverageInfo	MacroCoverageInformation OPTIONAL,
+	geographicalCoordinates	GeographicalLocation	 OPTIONAL,
+	iE-Extensions		ProtocolExtensionContainer { { HNB-Location-Information-ExtIEs } } OPTIONAL,
+	...
+}
+
+HNB-Location-Information-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+-- Extension for release-8 to support IP address for location verification --
+{ID id-HNB-Internet-Information	CRITICALITY reject	EXTENSION IP-Address	PRESENCE optional	},
+	...
+}
+
+
+
+HNB-Identity	::=		SEQUENCE {
+	hNB-Identity-Info	HNB-Identity-Info,
+	iE-Extensions		ProtocolExtensionContainer { { HNB-Identity-ExtIEs } }	OPTIONAL,
+	...
+}
+
+HNB-Identity-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+HNB-Identity-Info ::= OCTET STRING (SIZE (1..255))
+
+--I
+
+IMEI		::= BIT STRING (SIZE(60))
+
+IMSI		::= OCTET STRING (SIZE (3..8))
+-- Reference: 23.003
+IMSIDS41	::= OCTET STRING (SIZE (5..7))
+
+IMSIESN	::= SEQUENCE {
+	iMSIDS41	IMSIDS41,
+	eSN		ESN
+}
+
+IP-Address	::= SEQUENCE {
+	ipaddress CHOICE {
+		ipv4info	Ipv4Address,
+		ipv6info	Ipv6Address,
+		...
+	},
+	iE-Extensions	ProtocolExtensionContainer { { IP-Address-ExtIEs } }	OPTIONAL,
+	...
+}
+
+IP-Address-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+Ipv4Address	::= OCTET STRING (SIZE (4))
+
+Ipv6Address	::= OCTET STRING (SIZE (16))
+
+Iurh-Signalling-TNL-AddressList ::= SEQUENCE (SIZE(1..maxnoofIurhAddresses)) OF	IP-Address
+
+
+--J
+--K
+--L
+LAC ::= OCTET STRING(SIZE(2))
+
+LAI ::= SEQUENCE {
+	pLMNID	PLMNidentity,
+	lAC	LAC,
+	...
+}
+
+-- M
+
+MacroCoverageInformation ::= SEQUENCE {
+	cellIdentity	MacroCellID,
+	iE-Extensions	ProtocolExtensionContainer { { MacroCoverageInformation-ExtIEs } } OPTIONAL,
+	...
+}
+
+MacroCoverageInformation-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+MacroCellID ::= CHOICE {
+	uTRANCellID	UTRANCellID,
+	gERANCellID	CGI,
+	...
+}
+
+MuxPortNumber ::= INTEGER (1024..65535)
+
+--N
+
+NeighbourCellIdentityList	::= SEQUENCE (SIZE(0..maxnoofAdditionalNeighbours)) OF 	NeighbourIdentity
+
+NeighbourIdentity	::= CHOICE {
+	hNB-RNL-Identity	HNB-RNL-Identity,
+	cell-ID			CellIdentity,
+	...
+}
+
+NeighbourInfoList		::= SEQUENCE (SIZE(1..maxnoofNeighbours)) OF	HNBConfigInfo
+
+AdditionalNeighbourInfoList	::= SEQUENCE (SIZE(1..maxnoofAdditionalNeighbours)) OF HNBConfigInfo
+
+NeighbourInfoRequestList	::= SEQUENCE (SIZE(1..maxnoofNeighbours)) OF	NeighbourInfoRequestItem
+
+NeighbourInfoRequestItem ::= SEQUENCE {
+	hnb-RNL-Identity	HNB-RNL-Identity,
+	iE-Extensions		ProtocolExtensionContainer { { NeighbourInfoRequestItem-ExtIEs } } OPTIONAL,
+	...
+}
+
+NeighbourInfoRequestItem-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+--O
+--P
+PLMNidentity 	::= OCTET STRING (SIZE (3))
+
+PSC		::= BIT STRING (SIZE(9))
+
+PTMSI		::=	BIT STRING (SIZE(32))
+
+PTMSIRAI ::= SEQUENCE {
+	pTMSI	PTMSI,
+	rAI	RAI,
+	...
+}
+
+
+--Q
+--R
+
+RAB-ID		::= BIT STRING (SIZE (8))
+
+RABList		::= SEQUENCE (SIZE(1..maxnoofRABs)) OF RABListItem
+
+RABListItem	::= SEQUENCE {
+	rAB-ID			RAB-ID,
+	old-transport-Info	TransportInfo,
+	new-transport-Info	TransportInfo,
+	cn-domain-indicator	CN-DomainIndicator,
+	iE-Extensions		ProtocolExtensionContainer { { RABListItem-ExtIEs } }		OPTIONAL,
+...
+}
+
+RABListItem-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RAC	::= OCTET STRING(SIZE(1))
+
+RAI ::= SEQUENCE {
+	lAI	LAI,
+	rAC	RAC,
+	...
+}
+
+
+Registration-Cause	::= ENUMERATED {
+	emergency-call,
+	normal,
+	...,
+	ue-relocation
+}
+
+RNC-ID	::=	INTEGER(0..65535)
+
+--S
+
+SAC		::= OCTET STRING(SIZE(2)) 
+
+S-RNTIPrefix	::= BIT STRING(SIZE(1..16, ...))
+
+--T
+TMSILAI	::= SEQUENCE {
+	tMSI	BIT STRING(SIZE (32)),
+	lAI	LAI
+}
+
+TMSIDS41	::= OCTET STRING (SIZE (2..17))
+
+TransportInfo	::= SEQUENCE {
+	transportLayerAddress	TransportLayerAddress,
+	transportAssociation	CHOICE	{
+	gtp-TEI				GTP-TEI,
+					bindingID	BindingID,
+					...
+				},
+	iE-Extensions		ProtocolExtensionContainer { { TransportInfo-ExtIEs } }	OPTIONAL,
+...
+}
+
+TransportInfo-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+TransportLayerAddress	::= BIT STRING(SIZE(1..160,...))
+
+Tunnel-Information ::= SEQUENCE {
+	iP-Address		IP-Address,
+	uDP-Port-Number		UDP-Port-Number	OPTIONAL,
+	iE-Extensions		ProtocolExtensionContainer { { Tunnel-Information-ExtIEs } }		OPTIONAL,
+	...
+}
+
+Tunnel-Information-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+TypeOfError ::= ENUMERATED {
+	not-understood,
+	missing,
+	...
+}
+--U
+
+UDP-Port-Number ::= OCTET STRING(SIZE(2))
+
+UE-Capabilities ::= SEQUENCE {
+	access-stratum-release-indicator	Access-stratum-release-indicator,
+	csg-capability				CSG-Capability,
+	iE-Extensions		ProtocolExtensionContainer { { UE-Capabilities-ExtIEs } }		OPTIONAL,
+...
+}
+
+UE-Capabilities-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+UTRANCellID ::= SEQUENCE {
+	lAC		LAC,
+	rAC		RAC,
+	pLMNidentity	PLMNidentity,
+	uTRANcellID	CellIdentity,
+	iE-Extensions	ProtocolExtensionContainer { {UTRANCellID-ExtIEs} } OPTIONAL
+}
+
+UTRANCellID-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+
+UE-Identity	::=	CHOICE {
+	iMSI		IMSI,
+	tMSILAI		TMSILAI,
+	pTMSIRAI	PTMSIRAI,
+	iMEI		IMEI,
+	eSN		ESN,
+	iMSIDS41	IMSIDS41,
+	iMSIESN		IMSIESN,
+	tMSIDS41	TMSIDS41,
+	...
+}
+
+Update-cause ::=	ENUMERATED {
+	relocation-preparation,
+	...
+}
+
+URAIdentityList ::= SEQUENCE (SIZE (0..maxnoofURAIdentities)) OF URAIdentity
+
+URAIdentity	::= INTEGER(0..65535)
+
+U-RNTI ::= BIT STRING (SIZE (32))
+
+UnknownU-RNTIIndication ::= ENUMERATED {
+	unknown,
+	...
+}
+
+--V
+--W
+--X
+--Y
+--Z
+
+
+END
diff --git a/asn1/hnbap/HNBAP-PDU-Contents.asn b/asn1/hnbap/HNBAP-PDU-Contents.asn
new file mode 100644
index 0000000..1942b0a
--- /dev/null
+++ b/asn1/hnbap/HNBAP-PDU-Contents.asn
@@ -0,0 +1,561 @@
+-- **************************************************************
+--
+-- PDU definitions for HNBAP.
+--
+-- **************************************************************
+
+HNBAP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+	Cause,
+	CriticalityDiagnostics, 
+	CSGMembershipStatus,
+	HNB-Location-Information,
+	HNB-Identity,
+	Context-ID,
+	UE-Identity,
+	LAC,
+	RAC,
+	SAC,
+	CN-DomainIndicator,
+	IP-Address,
+	Registration-Cause,
+	UE-Capabilities,
+	PLMNidentity,
+	CellIdentity,
+	RNC-ID,
+	CSG-ID,
+	HNB-Cell-Access-Mode,
+	BackoffTimer,
+	MuxPortNumber,
+	RABList,
+	HNBConfigInfo,
+	AccessResult,
+	Update-cause,
+	NeighbourInfoList,
+	NeighbourInfoRequestList,
+	PSC,
+	Tunnel-Information,
+	CELL-FACHMobilitySupport,
+	S-RNTIPrefix,
+	NeighbourIdentity,
+	NeighbourCellIdentityList,
+	URAIdentity,
+	URAIdentityList,
+	HNBCapacity,
+	AdditionalNeighbourInfoList,
+	U-RNTI,
+	UnknownU-RNTIIndication,
+	HNB-GWResponse
+
+
+
+FROM HNBAP-IEs
+
+
+	ProtocolExtensionContainer{},
+	ProtocolIE-ContainerList{},
+	ProtocolIE-Container{},
+	ProtocolIE-Single-Container{},
+	PrivateIE-Container{},
+	HNBAP-PRIVATE-IES,
+	HNBAP-PROTOCOL-EXTENSION,
+	HNBAP-PROTOCOL-IES
+
+FROM HNBAP-Containers
+
+	id-Cause,
+	id-CriticalityDiagnostics, 
+	id-CSGMembershipStatus,
+	id-HNB-Location-Information,
+	id-HNB-Identity,
+	id-Context-ID,
+	id-PLMNidentity,
+	id-UE-Identity,
+	id-LAC,
+	id-RAC,
+	id-SAC,
+	id-UE-Capabilities,
+	id-Registration-Cause,
+	id-CellIdentity,
+	id-RNC-ID,
+	id-CSG-ID,
+	id-HNB-Cell-Access-Mode,
+	id-BackoffTimer,
+	id-Service-Area-For-Broadcast,
+	id-MuxPortNumber,
+	id-RABList,
+	id-HNBConfigInfo,
+	id-AccessResult,
+	id-Update-cause,
+	id-NeighbourInfoList,
+	id-NeighbourInfoRequestList,
+	id-Iurh-Signalling-TNL-Address,
+	id-PSC,
+	id-Tunnel-Information,
+	id-CELL-FACHMobilitySupport,
+	id-S-RNTIPrefix,
+	id-URAIdentity,
+	id-URAIdentityList,
+	id-NeighbourIdentity, 
+	id-NeighbourCellIdentityList,
+	id-HNBCapacity,
+	id-AdditionalNeighbourInfoList,
+	id-U-RNTI,
+	id-UnknownU-RNTIIndication,
+	id-HNB-GWResponse
+
+
+FROM HNBAP-Constants;
+
+-- **************************************************************
+--
+-- HNB Register REQUEST
+--
+-- **************************************************************
+
+HNBRegisterRequest ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container       { {HNBRegisterRequestIEs} },
+	protocolExtensions	ProtocolExtensionContainer { {HNBRegisterRequestExtensions} } 	OPTIONAL,
+	...
+}
+
+HNBRegisterRequestIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-HNB-Identity		CRITICALITY reject	TYPE HNB-Identity	PRESENCE mandatory } |
+	{ ID id-HNB-Location-Information CRITICALITY reject	TYPE HNB-Location-Information	PRESENCE mandatory } |
+	{ ID id-PLMNidentity		CRITICALITY reject	TYPE PLMNidentity	PRESENCE mandatory } |
+	{ ID id-CellIdentity		CRITICALITY reject	TYPE CellIdentity	PRESENCE mandatory } |
+	{ ID id-LAC			CRITICALITY reject	TYPE LAC		PRESENCE mandatory } |
+	{ ID id-RAC			CRITICALITY reject	TYPE RAC		PRESENCE mandatory } |
+	{ ID id-SAC			CRITICALITY reject	TYPE SAC		PRESENCE mandatory } |
+	{ ID id-CSG-ID			CRITICALITY reject	TYPE CSG-ID		PRESENCE optional } ,
+	...
+}
+
+HNBRegisterRequestExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	{ ID id-Service-Area-For-Broadcast	CRITICALITY ignore	EXTENSION SAC			PRESENCE optional }|
+	{ ID id-HNB-Cell-Access-Mode		CRITICALITY reject	EXTENSION HNB-Cell-Access-Mode	PRESENCE optional }|
+	{ ID id-PSC				CRITICALITY ignore	EXTENSION PSC			PRESENCE optional }|
+	{ ID id-Iurh-Signalling-TNL-Address	CRITICALITY ignore	EXTENSION IP-Address		PRESENCE optional }|
+	{ ID id-Tunnel-Information		CRITICALITY ignore	EXTENSION Tunnel-Information	PRESENCE optional }|
+	{ ID id-CELL-FACHMobilitySupport	CRITICALITY ignore	EXTENSION CELL-FACHMobilitySupport	PRESENCE optional }|
+	{ ID id-NeighbourCellIdentityList	CRITICALITY ignore	EXTENSION NeighbourCellIdentityList	PRESENCE optional }|
+	{ ID id-URAIdentityList			CRITICALITY ignore	EXTENSION URAIdentityList	PRESENCE optional }|
+	{ ID id-HNBCapacity			CRITICALITY ignore	EXTENSION HNBCapacity		PRESENCE optional },
+	...
+}
+
+-- **************************************************************
+--
+-- HNB Register Accept
+--
+-- **************************************************************
+
+HNBRegisterAccept ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container		{ {HNBRegisterResponseIEs} },
+	protocolExtensions	ProtocolExtensionContainer	{ {HNBRegisterResponseExtensions} }	OPTIONAL,
+	...
+}
+
+HNBRegisterResponseIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-RNC-ID		CRITICALITY reject	TYPE RNC-ID		PRESENCE mandatory },
+	...
+}
+
+HNBRegisterResponseExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 9 to support CS Multiplexing --
+	{ ID id-MuxPortNumber			CRITICALITY ignore	EXTENSION MuxPortNumber		PRESENCE optional}|
+	{ ID id-Iurh-Signalling-TNL-Address	CRITICALITY ignore	EXTENSION IP-Address		PRESENCE optional}|
+	{ ID id-S-RNTIPrefix			CRITICALITY ignore	EXTENSION S-RNTIPrefix		PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- HNB Register REJECT
+--
+-- **************************************************************
+
+HNBRegisterReject ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container       { {HNBRegisterRejectIEs} },
+	protocolExtensions	ProtocolExtensionContainer { {HNBRegisterRejectExtensions} } 	OPTIONAL,
+	...
+}
+
+HNBRegisterRejectIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-Cause			CRITICALITY ignore	TYPE Cause			PRESENCE mandatory} |
+	{ ID id-CriticalityDiagnostics	CRITICALITY ignore	TYPE CriticalityDiagnostics	PRESENCE optional } |
+	{ ID id-BackoffTimer		CRITICALITY reject	TYPE BackoffTimer		PRESENCE conditional },
+	-- This IE shall be present if the Cause IE is set to "Overload".
+	...
+}
+
+HNBRegisterRejectExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+
+-- **************************************************************
+--
+-- HNB De- Register
+--
+-- **************************************************************
+
+HNBDe-Register ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container       { {HNBDe-RegisterIEs} },
+	protocolExtensions	ProtocolExtensionContainer { {HNBDe-RegisterExtensions} } 	OPTIONAL,
+	...
+}
+
+HNBDe-RegisterIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-Cause			CRITICALITY ignore	TYPE Cause		PRESENCE mandatory } |
+	{ ID id-BackoffTimer		CRITICALITY reject	TYPE BackoffTimer	PRESENCE conditional },
+	-- This IE shall be present if the Cause IE is set to "Overload".
+	...
+}
+
+HNBDe-RegisterExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+-- **************************************************************
+--
+-- UE Register REQUEST
+--
+-- **************************************************************
+
+UERegisterRequest ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container       { {UERegisterRequestIEs} },
+	protocolExtensions	ProtocolExtensionContainer { {UERegisterRequestExtensions} } 	OPTIONAL,
+	...
+}
+
+UERegisterRequestIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-UE-Identity		CRITICALITY reject	TYPE UE-Identity		PRESENCE mandatory } |
+	{ ID id-Registration-Cause	CRITICALITY ignore	TYPE Registration-Cause		PRESENCE mandatory } |
+	{ ID id-UE-Capabilities		CRITICALITY reject	TYPE UE-Capabilities		PRESENCE mandatory },
+	...
+}
+
+UERegisterRequestExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- UE Register ACCEPT
+--
+-- **************************************************************
+
+UERegisterAccept ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container		{ {UERegisterAcceptIEs} },
+	protocolExtensions	ProtocolExtensionContainer	{ {UERegisterAcceptExtensions} } 	OPTIONAL,
+	...
+}
+
+UERegisterAcceptIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-UE-Identity	CRITICALITY reject	TYPE UE-Identity	PRESENCE mandatory } |
+	{ ID id-Context-ID	CRITICALITY reject	TYPE Context-ID		PRESENCE mandatory },
+	...
+}
+
+
+UERegisterAcceptExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	{ ID id-CSGMembershipStatus	CRITICALITY reject	EXTENSION CSGMembershipStatus	PRESENCE optional },
+	...
+}
+
+-- **************************************************************
+--
+-- UE Register REJECT
+--
+-- **************************************************************
+
+UERegisterReject ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container		{ {UERegisterRejectIEs} },
+	protocolExtensions	ProtocolExtensionContainer	{ {UERegisterRejectExtensions} } OPTIONAL,
+	...
+}
+
+UERegisterRejectIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-UE-Identity		CRITICALITY reject	TYPE UE-Identity		PRESENCE mandatory } |
+	{ ID id-Cause			CRITICALITY ignore	TYPE Cause			PRESENCE mandatory} |
+	{ ID id-CriticalityDiagnostics	CRITICALITY ignore	TYPE CriticalityDiagnostics	PRESENCE optional },
+	...
+}
+
+UERegisterRejectExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+-- **************************************************************
+--
+-- UE De-Register
+--
+-- **************************************************************
+
+UEDe-Register ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container		{ {UEDe-RegisterIEs} },
+	protocolExtensions	ProtocolExtensionContainer	{ {UEDe-RegisterExtensions} } 	OPTIONAL,
+	...
+}
+
+UEDe-RegisterIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-Context-ID	CRITICALITY reject	TYPE Context-ID		PRESENCE mandatory } |
+	{ ID id-Cause		CRITICALITY ignore	TYPE Cause		PRESENCE mandatory } ,
+	...
+}
+
+UEDe-RegisterExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- CSG Membership Update
+--
+-- **************************************************************
+
+CSGMembershipUpdate ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container		{ {CSGMembershipUpdateIEs} },
+	protocolExtensions	ProtocolExtensionContainer	{ {CSGMembershipUpdateExtensions} } 	OPTIONAL,
+	...
+}
+
+CSGMembershipUpdateIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-Context-ID		CRITICALITY reject	TYPE Context-ID			PRESENCE mandatory } |
+	{ ID id-CSGMembershipStatus	CRITICALITY reject	TYPE CSGMembershipStatus	PRESENCE mandatory },
+	...
+}
+
+CSGMembershipUpdateExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- TNL Update Request
+--
+-- **************************************************************
+
+TNLUpdateRequest ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container		{ {TNLUpdateRequestIEs} },
+	protocolExtensions	ProtocolExtensionContainer	{ {TNLUpdateExtensions} } 	OPTIONAL,
+	...
+}
+
+TNLUpdateRequestIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-Context-ID	CRITICALITY reject	TYPE Context-ID		PRESENCE mandatory } |
+	{ ID id-RABList		CRITICALITY reject	TYPE RABList		PRESENCE mandatory } |
+	{ ID id-Update-cause	CRITICALITY reject	TYPE Update-cause	PRESENCE mandatory } ,
+		...
+}
+
+TNLUpdateExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- TNL UPDATE RESPONSE
+--
+-- **************************************************************
+
+TNLUpdateResponse ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container		{ { TNLUpdateResponseIEs} },
+	protocolExtensions	ProtocolExtensionContainer	{ { TNLUpdateResponseExtensions} } 	OPTIONAL,
+	...
+}
+
+TNLUpdateResponseIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-Context-ID	CRITICALITY reject	TYPE Context-ID		PRESENCE mandatory } ,
+		...
+}
+
+TNLUpdateResponseExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- TNL UPDATE FAILURE
+--
+-- **************************************************************
+
+TNLUpdateFailure ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container		{ {TNLUpdateFailureIEs} },
+	protocolExtensions	ProtocolExtensionContainer	{ {TNLUpdateFailureExtensions} } 	OPTIONAL,
+	...
+}
+
+TNLUpdateFailureIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-Context-ID		CRITICALITY reject	TYPE Context-ID			PRESENCE mandatory } |
+	{ ID id-Cause			CRITICALITY ignore	TYPE Cause			PRESENCE mandatory } |
+	{ ID id-CriticalityDiagnostics	CRITICALITY ignore	TYPE CriticalityDiagnostics	PRESENCE optional } ,
+		...
+}
+
+TNLUpdateFailureExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- HNB Configuration Transfer Request
+--
+-- **************************************************************
+
+HNBConfigTransferRequest ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container       { {HNBConfigTransferRequestIEs} },
+	protocolExtensions	ProtocolExtensionContainer { {HNBConfigTransferRequestExtensions} } 	OPTIONAL,
+	...
+}
+
+HNBConfigTransferRequestIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-NeighbourInfoRequestList	CRITICALITY reject	TYPE NeighbourInfoRequestList	PRESENCE mandatory } ,
+	...
+}
+
+HNBConfigTransferRequestExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- HNB Configuration Transfer Response
+--
+-- **************************************************************
+
+HNBConfigTransferResponse ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container       { { HNBConfigTransferResponseIEs} },
+	protocolExtensions	ProtocolExtensionContainer { { HNBConfigTransferResponseExtensions} } 	OPTIONAL,
+	...
+}
+
+HNBConfigTransferResponseIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-NeighbourInfoList	CRITICALITY reject	TYPE NeighbourInfoList		PRESENCE mandatory } ,
+	...
+}
+
+HNBConfigTransferResponseExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	{ ID id-AdditionalNeighbourInfoList	CRITICALITY ignore	EXTENSION AdditionalNeighbourInfoList	PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- RELOCATION COMPLETE
+--
+-- **************************************************************
+
+RelocationComplete ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container		{ { RelocationCompleteIEs} },
+	protocolExtensions	ProtocolExtensionContainer	{ { RelocationCompleteExtensions} } 	OPTIONAL,
+	...
+}
+
+RelocationCompleteIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-Context-ID	CRITICALITY ignore	TYPE Context-ID			PRESENCE mandatory } ,
+	...
+}
+
+
+RelocationCompleteExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container		{ {ErrorIndicationIEs} },
+	protocolExtensions	ProtocolExtensionContainer	{ {ErrorIndicationExtensions} } 	OPTIONAL,
+	...
+}
+
+ErrorIndicationIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-Cause			CRITICALITY ignore	TYPE Cause			PRESENCE mandatory } |
+	{ ID id-CriticalityDiagnostics	CRITICALITY ignore	TYPE CriticalityDiagnostics	PRESENCE optional },
+		...
+}
+
+ErrorIndicationExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+	privateIEs		PrivateIE-Container  {{PrivateMessage-IEs}},
+	...
+}
+
+PrivateMessage-IEs HNBAP-PRIVATE-IES ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- U-RNTI Query Request
+--
+-- **************************************************************
+
+U-RNTIQueryRequest ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container       { {U-RNTIQueryRequestIEs} },
+	protocolExtensions	ProtocolExtensionContainer { {U-RNTIQueryRequestExtensions} }	OPTIONAL,
+	...
+}
+
+U-RNTIQueryRequestIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-U-RNTI		CRITICALITY reject	TYPE U-RNTI			PRESENCE mandatory } ,
+	...
+}
+
+U-RNTIQueryRequestExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- U-RNTI Query Response
+--
+-- **************************************************************
+
+U-RNTIQueryResponse ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container       { { U-RNTIQueryResponseIEs} },
+	protocolExtensions	ProtocolExtensionContainer { { U-RNTIQueryResponseExtensions} } 	OPTIONAL,
+	...
+}
+
+U-RNTIQueryResponseIEs HNBAP-PROTOCOL-IES ::= {
+	{ ID id-HNB-GWResponse	CRITICALITY reject	TYPE HNB-GWResponse	PRESENCE mandatory } ,
+	...
+}
+
+U-RNTIQueryResponseExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+END
diff --git a/asn1/hnbap/HNBAP-PDU-Descriptions.asn b/asn1/hnbap/HNBAP-PDU-Descriptions.asn
new file mode 100644
index 0000000..67b3824
--- /dev/null
+++ b/asn1/hnbap/HNBAP-PDU-Descriptions.asn
@@ -0,0 +1,228 @@
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+HNBAP-PDU-Descriptions  { 
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-PDU-Descriptions (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+	Criticality,
+	ProcedureCode
+FROM HNBAP-CommonDataTypes
+
+	HNBRegisterRequest,
+	HNBRegisterAccept,
+	HNBRegisterReject,
+	HNBDe-Register,
+	UERegisterRequest,
+	UERegisterAccept,
+	UERegisterReject,
+	UEDe-Register,
+	ErrorIndication,
+	PrivateMessage,
+	CSGMembershipUpdate,
+	TNLUpdateRequest,
+	TNLUpdateResponse,
+	TNLUpdateFailure,
+	HNBConfigTransferRequest,
+	HNBConfigTransferResponse,
+	RelocationComplete,
+	U-RNTIQueryRequest,
+	U-RNTIQueryResponse
+
+
+FROM HNBAP-PDU-Contents
+	id-HNBRegister,
+	id-UERegister,
+	id-UEDe-Register,
+	id-HNBDe-Register,
+	id-ErrorIndication,
+	id-privateMessage,
+	id-CSGMembershipUpdate,
+	id-TNLUpdate,
+	id-HNBConfigTransfer,
+	id-RelocationComplete,
+	id-U-RNTIQuery
+
+FROM HNBAP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+HNBAP-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 definitions
+--
+-- **************************************************************
+
+HNBAP-PDU ::= CHOICE {
+	initiatingMessage	InitiatingMessage,
+	successfulOutcome	SuccessfulOutcome,
+	unsuccessfulOutcome	UnsuccessfulOutcome,
+	...
+}
+
+
+InitiatingMessage ::= SEQUENCE {
+	procedureCode	HNBAP-ELEMENTARY-PROCEDURE.&procedureCode	({HNBAP-ELEMENTARY-PROCEDURES}),
+	criticality	HNBAP-ELEMENTARY-PROCEDURE.&criticality		({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+	value		HNBAP-ELEMENTARY-PROCEDURE.&InitiatingMessage	({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+	procedureCode	HNBAP-ELEMENTARY-PROCEDURE.&procedureCode	({HNBAP-ELEMENTARY-PROCEDURES}),
+	criticality	HNBAP-ELEMENTARY-PROCEDURE.&criticality		({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+	value		HNBAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome	({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+	procedureCode	HNBAP-ELEMENTARY-PROCEDURE.&procedureCode	({HNBAP-ELEMENTARY-PROCEDURES}),
+	criticality	HNBAP-ELEMENTARY-PROCEDURE.&criticality		({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+	value		HNBAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome	({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+HNBAP-ELEMENTARY-PROCEDURES HNBAP-ELEMENTARY-PROCEDURE ::= {
+	HNBAP-ELEMENTARY-PROCEDURES-CLASS-1	|
+	HNBAP-ELEMENTARY-PROCEDURES-CLASS-2	,
+	...
+}
+
+HNBAP-ELEMENTARY-PROCEDURES-CLASS-1 HNBAP-ELEMENTARY-PROCEDURE ::= {
+	hNBRegister|
+	uERegister,
+	...,
+	tnlUpdate|
+	hNBConfigTransfer|
+	u-RNTIQuery
+}
+
+
+HNBAP-ELEMENTARY-PROCEDURES-CLASS-2 HNBAP-ELEMENTARY-PROCEDURE ::= {
+	uEDe-Register |
+	hNBDe-Register |
+	errorIndication	|
+	privateMessage,
+	...,
+	csg-membership-update|
+	relocationComplete
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+
+hNBRegister HNBAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	HNBRegisterRequest
+	SUCCESSFUL OUTCOME	HNBRegisterAccept
+	UNSUCCESSFUL OUTCOME	HNBRegisterReject
+	PROCEDURE CODE		id-HNBRegister
+	CRITICALITY		reject
+}
+
+uERegister HNBAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	UERegisterRequest
+	SUCCESSFUL OUTCOME	UERegisterAccept
+	UNSUCCESSFUL OUTCOME	UERegisterReject
+	PROCEDURE CODE		id-UERegister
+	CRITICALITY		reject
+}
+
+uEDe-Register HNBAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	UEDe-Register
+	PROCEDURE CODE		id-UEDe-Register
+	CRITICALITY		ignore
+}
+
+hNBDe-Register HNBAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	HNBDe-Register
+	PROCEDURE CODE		id-HNBDe-Register
+	CRITICALITY		ignore
+}
+
+errorIndication HNBAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	ErrorIndication
+	PROCEDURE CODE		id-ErrorIndication
+	CRITICALITY		ignore
+}
+
+csg-membership-update HNBAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	CSGMembershipUpdate
+	PROCEDURE CODE		id-CSGMembershipUpdate
+	CRITICALITY		ignore
+}
+
+tnlUpdate HNBAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	TNLUpdateRequest
+	SUCCESSFUL OUTCOME	TNLUpdateResponse
+	UNSUCCESSFUL OUTCOME	TNLUpdateFailure
+	PROCEDURE CODE		id-TNLUpdate
+	CRITICALITY		reject
+}
+
+hNBConfigTransfer HNBAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	HNBConfigTransferRequest
+	SUCCESSFUL OUTCOME	HNBConfigTransferResponse
+	PROCEDURE CODE		id-HNBConfigTransfer
+	CRITICALITY		reject
+}
+
+relocationComplete HNBAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	RelocationComplete
+	PROCEDURE CODE		id-RelocationComplete
+	CRITICALITY		ignore
+}
+
+u-RNTIQuery HNBAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	U-RNTIQueryRequest
+	SUCCESSFUL OUTCOME	U-RNTIQueryResponse
+	PROCEDURE CODE		id-U-RNTIQuery
+	CRITICALITY		reject
+}
+
+privateMessage HNBAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	PrivateMessage
+	PROCEDURE CODE		id-privateMessage
+	CRITICALITY		ignore
+}
+
+END