Import HNBAP asn.1 from 3GPP TS 25.469 V12.4.0 (2015-03)
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