-- SBC-AP-PDU-Contents.asn
--
-- Taken from 3GPP TS 29.168  V15.1.0 (2018-09)
-- http://www.3gpp.org/ftp/Specs/archive/29_series/29.168/29168-930.zip
--
-- 4.4.4	PDU Definitions
--

-- **************************************************************
--
-- PDU definitions for SBC-AP.
--
-- **************************************************************

SBC-AP-PDU-Contents {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
eps-Access (21) modules (3) sbc-AP (3) version1 (1) sbc-AP-PDU-Contents (1)}

DEFINITIONS AUTOMATIC TAGS ::= 

BEGIN

-- **************************************************************
--
-- IE parameter types from other modules.
--
-- **************************************************************

IMPORTS
	
	Cause,
	Concurrent-Warning-Message-Indicator,
	Criticality-Diagnostics,
	Data-Coding-Scheme,
	Message-Identifier,
	Serial-Number,
	List-of-TAIs,
	Warning-Area-List, 
	Omc-Id,
	Repetition-Period, 
	Extended-Repetition-Period,
	Number-of-Broadcasts-Requested,
	Warning-Type,
	Warning-Security-Information,
	Warning-Message-Content,
	Warning-Area-Coordinates,
	Send-Write-Replace-Warning-Indication,
	Broadcast-Scheduled-Area-List,
	Unknown-Tracking-Area-List,
	Send-Stop-Warning-Indication,
	Broadcast-Cancelled-Area-List,
	Stop-All-Indicator,
	Broadcast-Empty-Area-List,
	Restarted-Cell-List,
	Global-ENB-ID,
	List-of-TAIs-Restart,
	List-of-EAIs-Restart,
	Failed-Cell-List,
	List-of-5GS-TAIs,
	Warning-Area-List-5GS,
	Global-RAN-Node-ID,
	Global-GNB-ID,
	RAT-Selector-5GS,
	Unknown-5GS-Tracking-Area-List,
	Broadcast-Scheduled-Area-List-5GS,
	Broadcast-Cancelled-Area-List-5GS,
	Broadcast-Empty-Area-List-5GS,
	Restarted-Cell-List-NR,
	Failed-Cell-List-NR,
	List-of-5GS-TAI-for-Restart

FROM SBC-AP-IEs

	ProtocolExtensionContainer{},
	ProtocolIE-Container{},
	SBC-AP-PROTOCOL-EXTENSION,
	SBC-AP-PROTOCOL-IES
FROM SBC-AP-Containers

	id-Concurrent-Warning-Message-Indicator,
	id-Criticality-Diagnostics,
	id-Cause,
	id-Data-Coding-Scheme,
	id-List-of-TAIs,
	id-Message-Identifier,
	id-Serial-Number,
	id-Number-of-Broadcasts-Requested, 
	id-Omc-Id,
	id-Radio-Resource-Loading-List,
	id-Recovery-Indication,
	id-Repetition-Period, 
	id-Extended-Repetition-Period,
	id-Warning-Area-List,
	id-Warning-Message-Content, 
	id-Warning-Area-Coordinates,
	id-Warning-Security-Information,
	id-Warning-Type, 
	id-Send-Write-Replace-Warning-Indication,
	id-Broadcast-Scheduled-Area-List,
	id-Unknown-Tracking-Area-List,
	id-Send-Stop-Warning-Indication,
	id-Broadcast-Cancelled-Area-List,
	id-Stop-All-Indicator,
	id-Broadcast-Empty-Area-List,
	id-Global-ENB-ID,
	id-Restarted-Cell-List,
	id-List-of-TAIs-Restart,
	id-List-of-EAIs-Restart,
	id-Failed-Cell-List,
	id-List-of-5GS-TAIs,
	id-Warning-Area-List-5GS,
	id-Global-RAN-Node-ID,
	id-Global-GNB-ID,
	id-RAT-Selector-5GS,
	id-Unknown-5GS-Tracking-Area-List,
	id-Broadcast-Scheduled-Area-List-5GS,
	id-Broadcast-Cancelled-Area-List-5GS,
	id-Broadcast-Empty-Area-List-5GS,
	id-Restarted-Cell-List-NR,
	id-Failed-Cell-List-NR,
	id-List-of-5GS-TAI-for-Restart

FROM SBC-AP-Constants;

-- **************************************************************
--
-- Write-Replace-Warning-Request
--
-- **************************************************************

Write-Replace-Warning-Request ::= SEQUENCE {
	protocolIEs	ProtocolIE-Container      { {Write-Replace-Warning-Request-IEs} },
	protocolExtensions	ProtocolExtensionContainer { {Write-Replace-Warning-Request-Extensions} } OPTIONAL,
	...
}

Write-Replace-Warning-Request-IEs SBC-AP-PROTOCOL-IES ::= {
	{ ID id-Message-Identifier	CRITICALITY reject	TYPE Message-Identifier	PRESENCE mandatory } |
	{ ID id-Serial-Number	CRITICALITY reject	TYPE Serial-Number	PRESENCE mandatory } |
	{ ID id-List-of-TAIs	CRITICALITY reject	TYPE List-of-TAIs	PRESENCE optional } |
	{ ID id-Warning-Area-List	CRITICALITY ignore	TYPE Warning-Area-List	PRESENCE optional } |
	{ ID id-Repetition-Period	CRITICALITY reject	TYPE Repetition-Period	PRESENCE mandatory  } |
	{ ID id-Extended-Repetition-Period	CRITICALITY reject	TYPE Extended-Repetition-Period	PRESENCE optional  } |

	{ ID id-Number-of-Broadcasts-Requested
		CRITICALITY reject	TYPE Number-of-Broadcasts-Requested	PRESENCE mandatory } |
	{ ID id-Warning-Type	CRITICALITY ignore	TYPE Warning-Type	PRESENCE optional } |
	{ ID id-Warning-Security-Information	CRITICALITY ignore	TYPE Warning-Security-Information	PRESENCE optional } |
	{ ID id-Data-Coding-Scheme	CRITICALITY ignore	TYPE Data-Coding-Scheme	PRESENCE optional } |
	{ ID id-Warning-Message-Content
		CRITICALITY ignore	TYPE Warning-Message-Content	PRESENCE optional } |
	{ ID id-Omc-Id  CRITICALITY ignore TYPE Omc-Id PRESENCE optional } |
	{ ID id-Concurrent-Warning-Message-Indicator  CRITICALITY reject TYPE Concurrent-Warning-Message-Indicator PRESENCE optional }	|
	{ ID id-Send-Write-Replace-Warning-Indication	CRITICALITY ignore	TYPE Send-Write-Replace-Warning-Indication	PRESENCE optional }	|
	{ ID id-Global-ENB-ID	CRITICALITY ignore	TYPE Global-ENB-ID	PRESENCE optional },
	... ,
	{ID id-Warning-Area-Coordinates	CRITICALITY ignore TYPE Warning-Area-Coordinates PRESENCE optional}
}

Write-Replace-Warning-Request-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
	{ ID id-List-of-5GS-TAIs	CRITICALITY ignore	EXTENSION List-of-5GS-TAIs	PRESENCE optional }|
	{ ID id-Warning-Area-List-5GS	CRITICALITY ignore	EXTENSION Warning-Area-List-5GS	PRESENCE optional }|
	{ ID id-Global-RAN-Node-ID	CRITICALITY ignore	EXTENSION Global-RAN-Node-ID	PRESENCE optional }|
	{ ID id-RAT-Selector-5GS	CRITICALITY ignore	EXTENSION RAT-Selector-5GS	PRESENCE optional },
	...
}

-- **************************************************************
--
-- Write-Replace-Warning-Response
--
-- **************************************************************

Write-Replace-Warning-Response ::= SEQUENCE {
	protocolIEs	ProtocolIE-Container       { {Write-Replace-Warning-Response-IEs} },
	protocolExtensions	ProtocolExtensionContainer { {Write-Replace-Warning-Response-Extensions} } OPTIONAL,
	...
}

Write-Replace-Warning-Response-IEs SBC-AP-PROTOCOL-IES ::= {
	{ ID id-Message-Identifier	CRITICALITY reject	TYPE Message-Identifier	PRESENCE mandatory } |
	{ ID id-Serial-Number	CRITICALITY reject	TYPE Serial-Number	PRESENCE mandatory } |
	{ ID id-Cause	CRITICALITY reject	TYPE Cause		PRESENCE mandatory }	|
	{ ID id-Criticality-Diagnostics	CRITICALITY ignore	TYPE Criticality-Diagnostics	PRESENCE optional } |
	{ ID id-Unknown-Tracking-Area-List CRITICALITY ignore	TYPE List-of-TAIs	PRESENCE optional },
	...
}

Write-Replace-Warning-Response-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
	{ ID id-Unknown-5GS-Tracking-Area-List	CRITICALITY ignore	EXTENSION Unknown-5GS-Tracking-Area-List	PRESENCE optional },
	...
}

-- **************************************************************
--
-- Stop-Warning-Request
--
-- **************************************************************

Stop-Warning-Request ::= SEQUENCE {
	protocolIEs	ProtocolIE-Container      { {Stop-Warning-Request-IEs} },
	protocolExtensions	ProtocolExtensionContainer { {Stop-Warning-Request-Extensions} } OPTIONAL,
	...
}

Stop-Warning-Request-IEs SBC-AP-PROTOCOL-IES ::= {
	{ ID id-Message-Identifier	CRITICALITY reject	TYPE Message-Identifier	PRESENCE mandatory } |
	{ ID id-Serial-Number	CRITICALITY reject	TYPE Serial-Number	PRESENCE mandatory } |
	{ ID id-List-of-TAIs	CRITICALITY reject	TYPE List-of-TAIs	PRESENCE optional } |
	{ ID id-Warning-Area-List	CRITICALITY ignore	TYPE Warning-Area-List	PRESENCE optional }|
	{ ID id-Omc-Id  CRITICALITY ignore TYPE Omc-Id PRESENCE optional } |
	{ ID id-Send-Stop-Warning-Indication	CRITICALITY ignore	TYPE Send-Stop-Warning-Indication	PRESENCE optional } |
	{ ID id-Stop-All-Indicator	CRITICALITY reject 	TYPE Stop-All-Indicator	PRESENCE optional},
	...	
}

Stop-Warning-Request-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
	{ ID id-List-of-5GS-TAIs	CRITICALITY ignore	EXTENSION List-of-5GS-TAIs	PRESENCE optional }|
	{ ID id-Warning-Area-List-5GS	CRITICALITY ignore	EXTENSION Warning-Area-List-5GS	PRESENCE optional } |	{ ID id-RAT-Selector-5GS	CRITICALITY ignore	EXTENSION RAT-Selector-5GS	PRESENCE optional },
	...
}

-- **************************************************************
--
-- Stop-Warning-Response
--
-- **************************************************************

Stop-Warning-Response ::= SEQUENCE {
	protocolIEs	ProtocolIE-Container       { {Stop-Warning-Response-IEs} },
	protocolExtensions	ProtocolExtensionContainer { {Stop-Warning-Response-Extensions} } OPTIONAL,
	...
}

Stop-Warning-Response-IEs SBC-AP-PROTOCOL-IES ::= {
	{ ID id-Message-Identifier	CRITICALITY reject	TYPE Message-Identifier	PRESENCE mandatory } |
	{ ID id-Serial-Number	CRITICALITY reject	TYPE Serial-Number	PRESENCE mandatory } |
	{ ID id-Cause	CRITICALITY reject	TYPE Cause		PRESENCE mandatory }	|
	{ ID id-Criticality-Diagnostics	CRITICALITY ignore	TYPE Criticality-Diagnostics	PRESENCE optional } |
	{ ID id-Unknown-Tracking-Area-List CRITICALITY ignore	TYPE List-of-TAIs	PRESENCE optional },
	...
}

Stop-Warning-Response-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
	{ ID id-Unknown-5GS-Tracking-Area-List	CRITICALITY ignore	EXTENSION Unknown-5GS-Tracking-Area-List	PRESENCE optional },
	...
}

-- **************************************************************
--
-- Write-Replace-Warning-Indication
--
-- **************************************************************

Write-Replace-Warning-Indication ::= SEQUENCE {
	protocolIEs	ProtocolIE-Container       { {Write-Replace-Warning-Indication-IEs} },
	protocolExtensions	ProtocolExtensionContainer { {Write-Replace-Warning-Indication-Extensions} } OPTIONAL,
	...
}

Write-Replace-Warning-Indication-IEs SBC-AP-PROTOCOL-IES ::= {
	{ ID id-Message-Identifier	CRITICALITY reject	TYPE Message-Identifier	PRESENCE mandatory } |
	{ ID id-Serial-Number	CRITICALITY reject	TYPE Serial-Number	PRESENCE mandatory } |
	{ ID id-Broadcast-Scheduled-Area-List	CRITICALITY reject	TYPE Broadcast-Scheduled-Area-List	PRESENCE optional },
	...
}

Write-Replace-Warning-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
	{ ID id-Broadcast-Scheduled-Area-List-5GS	CRITICALITY ignore	EXTENSION Broadcast-Scheduled-Area-List-5GS	PRESENCE optional },

	...
}

-- **************************************************************
--
-- Stop-Warning-Indication
--
-- **************************************************************

Stop-Warning-Indication ::= SEQUENCE {
	protocolIEs	ProtocolIE-Container       { {Stop-Warning-Indication-IEs} },
	protocolExtensions	ProtocolExtensionContainer { {Stop-Warning-Indication-Extensions} } OPTIONAL,
	...
}

Stop-Warning-Indication-IEs SBC-AP-PROTOCOL-IES ::= {
	{ ID id-Message-Identifier	CRITICALITY reject	TYPE Message-Identifier	PRESENCE mandatory } |
	{ ID id-Serial-Number	CRITICALITY reject	TYPE Serial-Number	PRESENCE mandatory } |
	{ ID id-Broadcast-Cancelled-Area-List	CRITICALITY reject	TYPE Broadcast-Cancelled-Area-List	PRESENCE optional }|
	{ ID id-Broadcast-Empty-Area-List	CRITICALITY ignore	TYPE Broadcast-Empty-Area-List	PRESENCE optional },
	...
}

Stop-Warning-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
	{ ID id-Broadcast-Cancelled-Area-List-5GS	CRITICALITY ignore	EXTENSION Broadcast-Cancelled-Area-List-5GS	PRESENCE optional }|
	{ ID id-Broadcast-Empty-Area-List-5GS	CRITICALITY ignore	EXTENSION Broadcast-Empty-Area-List-5GS	PRESENCE optional },
	...
}

-- **************************************************************
--
-- PWS-Restart-Indication
--
-- **************************************************************

PWS-Restart-Indication ::= SEQUENCE {
	protocolIEs	ProtocolIE-Container       { {PWS-Restart-Indication-IEs} },
	protocolExtensions	ProtocolExtensionContainer { {PWS-Restart-Indication-Extensions} } OPTIONAL,
	...
}

PWS-Restart-Indication-IEs SBC-AP-PROTOCOL-IES ::= {
	{ ID id-Restarted-Cell-List	CRITICALITY reject	TYPE Restarted-Cell-List	PRESENCE mandatory }|
	{ ID id-Global-ENB-ID	CRITICALITY reject	TYPE Global-ENB-ID	PRESENCE mandatory } |
	{ ID id-List-of-TAIs-Restart	CRITICALITY reject	TYPE List-of-TAIs-Restart	PRESENCE mandatory } |
	{ ID id-List-of-EAIs-Restart	CRITICALITY reject	TYPE List-of-EAIs-Restart	PRESENCE optional },
	...
}

PWS-Restart-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
	{ ID id-Restarted-Cell-List-NR	CRITICALITY ignore	EXTENSION Restarted-Cell-List-NR	PRESENCE optional }|
	{ ID id-List-of-5GS-TAI-for-Restart	CRITICALITY ignore	EXTENSION List-of-5GS-TAI-for-Restart	PRESENCE optional }|
{ ID id-Global-GNB-ID	CRITICALITY ignore	EXTENSION Global-GNB-ID	PRESENCE optional },
	...
}

-- **************************************************************
--
-- PWS-Failure-Indication
--
-- **************************************************************

PWS-Failure-Indication ::= SEQUENCE {
	protocolIEs	ProtocolIE-Container       { {PWS-Failure-Indication-IEs} },
	protocolExtensions	ProtocolExtensionContainer { {PWS-Failure-Indication-Extensions} } OPTIONAL,
	...
}

PWS-Failure-Indication-IEs SBC-AP-PROTOCOL-IES ::= {
	{ ID id-Failed-Cell-List	CRITICALITY reject	TYPE Failed-Cell-List	PRESENCE mandatory }|
	{ ID id-Global-ENB-ID	CRITICALITY reject	TYPE Global-ENB-ID	PRESENCE mandatory },
	...
}

PWS-Failure-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
	{ ID id-Failed-Cell-List-NR	CRITICALITY ignore	EXTENSION Failed-Cell-List-NR	PRESENCE optional }|
	{ ID id-Global-GNB-ID	CRITICALITY ignore	EXTENSION Global-GNB-ID	PRESENCE optional },
	...
}

-- **************************************************************
--
-- ERROR INDICATION ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- Error Indication
--
-- **************************************************************

Error-Indication ::= SEQUENCE {
	protocolIEs	ProtocolIE-Container       {{ErrorIndicationIEs}},
	...
}

ErrorIndicationIEs SBC-AP-PROTOCOL-IES ::= {
	{ ID id-Cause		CRITICALITY ignore	TYPE Cause		PRESENCE optional	} |
	{ ID id-Criticality-Diagnostics	CRITICALITY ignore	TYPE Criticality-Diagnostics	PRESENCE optional	} ,
	...
}

END
