-- SBC-AP-IEs.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.5	Information Element Definitions
--

-- **************************************************************
--
-- Information Element Definitions
--
-- **************************************************************

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

DEFINITIONS AUTOMATIC TAGS ::= 

BEGIN

IMPORTS
	maxNrOfErrors,
	maxNrOfTAIs,
	maxnoofTAIforWarning,
	maxnoofCellID,
	maxnoofEmergencyAreaID,

	id-TypeOfError,
 	maxnoofCellinEAI,
	maxnoofCellinTAI,
	maxnoofeNBIds,
	maxnoofRestartTAIs,
	maxnoofRestartEAIs,
	maxnoofRestartedCells,
	maxnoofFailedCells,
	maxnoof5GSTAIs,
	maxnoofCellsingNB,
	maxnoofCellsin5GS,
	maxnoofCellsforRestartNR,
	maxnoofRANNodes,
	maxnoofRestart5GSTAIs,
	maxnoofCellsin5GSTAI

FROM SBC-AP-Constants

	Criticality,
	ProcedureCode,
	TriggeringMessage,
	ProtocolIE-ID
FROM SBC-AP-CommonDataTypes

	ProtocolExtensionContainer{},

	SBC-AP-PROTOCOL-EXTENSION
FROM SBC-AP-Containers;


-- A

-- B

Broadcast-Scheduled-Area-List ::= SEQUENCE {
	cellId-Broadcast-List           CellId-Broadcast-List           OPTIONAL,
    tAI-Broadcast-List              TAI-Broadcast-List              OPTIONAL,
    emergencyAreaID-Broadcast-List  EmergencyAreaID-Broadcast-List  OPTIONAL,
	iE-Extensions	   ProtocolExtensionContainer {{Broadcast-Scheduled-Area-List-ExtIEs}} OPTIONAL,
    ...
}

Broadcast-Scheduled-Area-List-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

Broadcast-Scheduled-Area-List-5GS ::= SEQUENCE {
	cellId-Broadcast-List-5GS       CellId-Broadcast-List-5GS       OPTIONAL,
    tAI-Broadcast-List-5GS          TAI-Broadcast-List-5GS          OPTIONAL,
    emergencyAreaID-Broadcast-List  EmergencyAreaID-Broadcast-List  OPTIONAL,
	iE-Extensions	   ProtocolExtensionContainer {{Broadcast-Scheduled-Area-List-5GS-ExtIEs}} OPTIONAL,
    ...
}

Broadcast-Scheduled-Area-List-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

Broadcast-Cancelled-Area-List ::= SEQUENCE {
	cellID-Cancelled-List	CellID-Cancelled-List	OPTIONAL,
	tAI-Cancelled-List	TAI-Cancelled-List	OPTIONAL,
	emergencyAreaID-Cancelled-List	EmergencyAreaID-Cancelled-List	OPTIONAL,
	iE-Extensions	ProtocolExtensionContainer {{Broadcast-Cancelled-Area-List-ExtIEs}} OPTIONAL,
	...
}

Broadcast-Cancelled-Area-List-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

Broadcast-Cancelled-Area-List-5GS ::= SEQUENCE {
	cellID-Cancelled-List-5GS	CellID-Cancelled-List-5GS	OPTIONAL,
	tAI-Cancelled-List-5GS	TAI-Cancelled-List-5GS	OPTIONAL,
	emergencyAreaID-Cancelled-List	EmergencyAreaID-Cancelled-List	OPTIONAL,
	iE-Extensions	ProtocolExtensionContainer {{Broadcast-Cancelled-Area-List-5GS-ExtIEs}} OPTIONAL,
	...
}

Broadcast-Cancelled-Area-List-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}


Broadcast-Empty-Area-List	::= SEQUENCE (SIZE (1.. maxnoofeNBIds)) OF Global-ENB-ID

Broadcast-Empty-Area-List-5GS	::= SEQUENCE (SIZE (1.. maxnoofRANNodes)) OF Global-RAN-Node-ID


-- C

CancelledCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CancelledCellinEAI-Item

CancelledCellinEAI-Item ::= SEQUENCE {
	eCGI		EUTRAN-CGI,
	numberOfBroadcasts	NumberOfBroadcasts,
	iE-Extensions	ProtocolExtensionContainer { {CancelledCellinEAI-Item-ExtIEs} } OPTIONAL,
	...
}

CancelledCellinEAI-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}
CancelledCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CancelledCellinTAI-Item

CancelledCellinTAI-Item ::= SEQUENCE{
	eCGI	EUTRAN-CGI,
	numberOfBroadcasts	NumberOfBroadcasts,
	iE-Extensions	ProtocolExtensionContainer { {CancelledCellinTAI-Item-ExtIEs} } OPTIONAL,
	...
}

CancelledCellinTAI-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

CancelledCellinTAI-5GS ::= SEQUENCE (SIZE(1..maxnoofCellsin5GSTAI)) OF
	SEQUENCE{
	nR-CGI	NR-CGI,
	numberOfBroadcasts	NumberOfBroadcasts,
	iE-Extensions	ProtocolExtensionContainer { {CancelledCellinTAI-5GS-ExtIEs} } OPTIONAL,
	...
}

CancelledCellinTAI-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

Cause 		::= INTEGER {
	message-accepted			(0),
	parameter-not-recognised		(1),
	parameter-value-invalid		(2),
	valid-message-not-identified 		(3),
	tracking-area-not-valid	 		(4),
	unrecognised-message 		(5),
	missing-mandatory-element 		(6),
	mME-capacity-exceeded 		(7),
	mME-memory-exceeded 		(8),
	warning-broadcast-not-supported	 	(9),
	warning-broadcast-not-operational 		(10),
	message-reference-already-used 		(11),
	unspecifed-error 			(12),
	transfer-syntax-error		(13),
	semantic-error			(14),
	message-not-compatible-with-receiver-state	(15),
	abstract-syntax-error-reject		(16),
	abstract-syntax-error-ignore-and-notify	(17),
	abstract-syntax-error-falsely-constructed-message	(18)
} (0..255)

CellId-Broadcast-List ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellId-Broadcast-List-Item

CellId-Broadcast-List-Item ::= SEQUENCE {
	eCGI	EUTRAN-CGI,
	iE-Extensions	ProtocolExtensionContainer { {CellId-Broadcast-List-Item-ExtIEs} } OPTIONAL,
	...
}

CellId-Broadcast-List-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

CellId-Broadcast-List-5GS ::= SEQUENCE (SIZE(1..maxnoofCellsin5GS)) OF 
	SEQUENCE {
	nR-CGI	NR-CGI,
	iE-Extensions	ProtocolExtensionContainer { {CellId-Broadcast-List-5GS-ExtIEs} } OPTIONAL,
	...
}

CellId-Broadcast-List-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

CellID-Cancelled-List ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Cancelled-Item

CellID-Cancelled-Item ::= SEQUENCE {
	eCGI	EUTRAN-CGI,
	numberOfBroadcasts	NumberOfBroadcasts,
	iE-Extensions	ProtocolExtensionContainer { {CellID-Cancelled-Item-ExtIEs} } OPTIONAL,
	...
}

CellID-Cancelled-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

CellID-Cancelled-List-5GS ::= SEQUENCE (SIZE(1..maxnoofCellsin5GS)) OF 
	SEQUENCE {
	nR-CGI	NR-CGI,
	numberOfBroadcasts	NumberOfBroadcasts,
	iE-Extensions	ProtocolExtensionContainer { {CellID-Cancelled-5GS-ExtIEs} } OPTIONAL,
	...
}

CellID-Cancelled-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}



CellIdentity	::= BIT STRING (SIZE (28))

Concurrent-Warning-Message-Indicator ::= ENUMERATED {true}

Criticality-Diagnostics	::= SEQUENCE {
	procedureCode	ProcedureCode	OPTIONAL,
	triggeringMessage	TriggeringMessage	OPTIONAL,
	procedureCriticality	Criticality	OPTIONAL,
	iE-CriticalityDiagnostics	CriticalityDiagnostics-IE-List 	OPTIONAL,
	iE-Extensions	ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
	...
}

CriticalityDiagnostics-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
	SEQUENCE {
	iECriticality	Criticality,
	iE-ID	ProtocolIE-ID,
	typeOfError 	TypeOfError,
	iE-Extensions	ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}} OPTIONAL,
	...
}

CriticalityDiagnostics-IE-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}



-- D

Data-Coding-Scheme	::= BIT STRING (SIZE (8))

-- E

ECGIList		::= SEQUENCE (SIZE(1..maxnoofCellID)) OF EUTRAN-CGI

Emergency-Area-ID-List	::=	SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF Emergency-Area-ID

Emergency-Area-ID	::=	OCTET STRING (SIZE (3)) 

EmergencyAreaID-Broadcast-List ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Broadcast-List-Item

EmergencyAreaID-Broadcast-List-Item ::= SEQUENCE {
	emergencyAreaID	Emergency-Area-ID,
	scheduledCellinEAI	ScheduledCellinEAI,
	iE-Extensions	ProtocolExtensionContainer { {EmergencyAreaID-Broadcast-List-Item-ExtIEs} } OPTIONAL,
	...
}

EmergencyAreaID-Broadcast-List-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

EmergencyAreaID-Cancelled-List ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Cancelled-Item

EmergencyAreaID-Cancelled-Item ::= SEQUENCE {
	emergencyAreaID	Emergency-Area-ID,
	cancelledCellinEAI	CancelledCellinEAI,
	iE-Extensions	ProtocolExtensionContainer { {EmergencyAreaID-Cancelled-Item-ExtIEs} } OPTIONAL,
	...
}

EmergencyAreaID-Cancelled-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

EUTRAN-CGI ::= SEQUENCE {
	pLMNidentity	PLMNidentity,
	cell-ID		CellIdentity,
	iE-Extensions	ProtocolExtensionContainer { {EUTRAN-CGI-ExtIEs} } OPTIONAL,
	...
}

EUTRAN-CGI-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

Extended-Repetition-Period ::= INTEGER (4096..131071)

ENB-ID ::= CHOICE {
	macroENB-ID	BIT STRING (SIZE(20)),
	homeENB-ID	BIT STRING (SIZE(28)),
	...,
	short-macroENB-ID 	BIT STRING (SIZE(18)),
	long-macroENB-ID	BIT STRING (SIZE(21))
}


-- F

Failed-Cell-List	::= SEQUENCE (SIZE(1..maxnoofFailedCells)) OF EUTRAN-CGI

Failed-Cell-List-NR	::= SEQUENCE (SIZE(1..maxnoofCellsingNB)) OF NR-CGI  

-- G

Global-ENB-ID ::= SEQUENCE {
	pLMNidentity	PLMNidentity,
	eNB-ID		ENB-ID,
	iE-Extensions	ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} }	OPTIONAL,
	...
}

GlobalENB-ID-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

Global-RAN-Node-ID 	::= CHOICE {
	global-GNB-ID	Global-GNB-ID,
	global-NgENB-ID	Global-NgENB-ID,
	...
}

Global-GNB-ID 	::= SEQUENCE {
	pLMNidentity	PLMNidentity,
	gNB-ID	GNB-ID,
	iE-Extensions	ProtocolExtensionContainer { {Global-GNB-ID-ExtIEs} } OPTIONAL,
	...
}

Global-GNB-ID-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

GNB-ID 	::= CHOICE {
	gNB-ID	BIT STRING (SIZE(22..32)),
	...
}
Global-NgENB-ID	::= SEQUENCE {
	pLMNidentity	PLMNidentity,
	ngENB-ID	ENB-ID,
	iE-Extensions	ProtocolExtensionContainer { {Global-NgENB-ID-ExtIEs} } OPTIONAL,
	...
}

Global-NgENB-ID-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}



-- H

-- I

-- J

-- K

-- L

List-of-TAIs	::= SEQUENCE (SIZE (1..maxNrOfTAIs)) OF
	SEQUENCE {
	tai		TAI
}

List-of-TAIs-Restart	::= SEQUENCE (SIZE (1..maxnoofRestartTAIs)) OF
	SEQUENCE {
	tai		TAI
}


List-of-EAIs-Restart	::= SEQUENCE (SIZE(1..maxnoofRestartEAIs)) OF Emergency-Area-ID

List-of-5GS-TAIs	::= SEQUENCE (SIZE (1..maxnoof5GSTAIs)) OF TAI-5GS

List-of-5GS-Cells-for-Failure ::= SEQUENCE ( SIZE(1..maxnoofCellsingNB)) OF NR-CGI

List-of-5GS-TAI-for-Restart ::= SEQUENCE (SIZE (1..maxnoofRestart5GSTAIs)) OF TAI-5GS


-- M

Message-Identifier ::= BIT STRING (SIZE (16))

-- N

Number-of-Broadcasts-Requested	::= INTEGER (0..65535)

-- For Number-of-Broadcasts-Requested = 0 and Repetition-Period = 0, then eNB action is no broadcast
--  for ETWS Secondary and CMAS.
--
-- For Number-of-Broadcasts-Requested = 1 and Repetition-Period = 0, then eNB action is broadcast
-- only once for ETWS and CMAS.
--
-- For Number-of-Broadcasts-Requested = 0 and Repetition-Period > 0, then eNB action is no broadcast
-- for the ETWS Secondary, and broadcast until further notice for the CMAS.
--
-- For Number-of-Broadcasts-Requested > 0 and Repetition-Period > 0, then eNB action is normal
-- broadcast.
-- All other combinations of Number-of-Broadcasts-Requested and Repetition-Period are considered
-- invalid. 

NumberOfBroadcasts ::= INTEGER (0..65535)

NR-CGIList ::= SEQUENCE (SIZE(1..maxnoofCellsingNB)) OF NR-CGI

NR-CGI ::= SEQUENCE {
	pLMNidentity	PLMNidentity,
	nRCellIdentity	NRCellIdentity,
	iE-Extensions	ProtocolExtensionContainer { {NR-CGI-ExtIEs} } OPTIONAL,
	...
}

NR-CGI-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

NRCellIdentity 	::= BIT STRING (SIZE(36))

NgENB-ID 	::= CHOICE {
	macroNgENB-ID	BIT STRING (SIZE(20)),
	shortMacroNgENB-ID 	BIT STRING (SIZE(18)),
	longMacroNgENB-ID	BIT STRING (SIZE(21)),
	...
}

-- O 
Omc-Id		::=	OCTET STRING (SIZE (1..20))


-- P
PLMNidentity 	::= TBCD-STRING 

-- Q

-- R

Repetition-Period	::= INTEGER (0..4096)
-- 1 to 4096: Each unit represents a repetition of one second to a maximum of
-- once per 4096 seconds (~1 hour). 
-- 0: no repetition
-- A CBC compliant to this version or later of this specification shall not send a repetition period 
-- greater than 4095.
-- For backwards compatibility with a CBC compliant to an earlier version of this specification the 
-- maximum value of the repetition period defined in ASN.1 remains at 4096.
-- If the value of the Repetition Period IE received in the WRITE-REPLACE WARNING REQUEST message is 
-- set to 4096, the MME shall set the Repetition Period IE to the maximum value 4095 supported on   
-- the S1-MME interface as defined in [7] before forwarding to the selected eNBs. 

Restarted-Cell-List	::= SEQUENCE (SIZE(1.. maxnoofRestartedCells)) OF EUTRAN-CGI

RAT-Selector-5GS ::= ENUMERATED {true}

Restarted-Cell-List-NR ::= SEQUENCE (SIZE(1.. maxnoofCellsforRestartNR)) OF NR-CGI

  
 
-- S

ScheduledCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF ScheduledCellinEAI-Item

ScheduledCellinEAI-Item ::= SEQUENCE {
	eCGI		EUTRAN-CGI,
	iE-Extensions	ProtocolExtensionContainer { {ScheduledCellinEAI-Item-ExtIEs} } OPTIONAL,
	...
}

ScheduledCellinEAI-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

ScheduledCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF ScheduledCellinTAI-Item

ScheduledCellinTAI-Item ::= SEQUENCE{
	eCGI	EUTRAN-CGI,
	iE-Extensions	ProtocolExtensionContainer { {ScheduledCellinTAI-Item-ExtIEs} } OPTIONAL,
	...
}

ScheduledCellinTAI-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

ScheduledCellinTAI-5GS ::= SEQUENCE (SIZE(1..maxnoofCellsin5GSTAI)) OF 
	SEQUENCE{
	nR-CGI	NR-CGI,
	iE-Extensions	ProtocolExtensionContainer { {ScheduledCellinTAI-5GS-ExtIEs} } OPTIONAL,
	...
}

ScheduledCellinTAI-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

Send-Write-Replace-Warning-Indication ::= ENUMERATED {true}

Send-Stop-Warning-Indication ::= ENUMERATED {true}

Serial-Number	::= BIT STRING (SIZE (16))

Stop-All-Indicator ::= ENUMERATED {true}

-- T

TAC ::= OCTET STRING (SIZE (2)) 

TAC-5GS ::= OCTET STRING (SIZE (3)) 

TAI-Broadcast-List ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Broadcast-List-Item

TAI-Broadcast-List-Item ::= SEQUENCE {
	tAI		TAI,
	scheduledCellinTAI	ScheduledCellinTAI,
	iE-Extensions	ProtocolExtensionContainer { {TAI-Broadcast-List-Item-ExtIEs} } OPTIONAL,
	...
}

TAI-Broadcast-List-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

TAI-Broadcast-List-5GS ::= SEQUENCE (SIZE(1..maxnoof5GSTAIs)) OF 
	SEQUENCE {
	tAI-5GS		TAI-5GS,
	scheduledCellinTAI-5GS	ScheduledCellinTAI-5GS,
	iE-Extensions	ProtocolExtensionContainer { {TAI-Broadcast-List-5GS-ExtIEs} } OPTIONAL,
	...
}

TAI-Broadcast-List-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}


TAI-Cancelled-List ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Cancelled-List-Item

TAI-Cancelled-List-Item ::= SEQUENCE {
	tAI		TAI,
	cancelledCellinTAI	CancelledCellinTAI,
	iE-Extensions	ProtocolExtensionContainer { {TAI-Cancelled-List-Item-ExtIEs} } OPTIONAL,
	...
}

TAI-Cancelled-List-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

TAI-Cancelled-List-5GS ::= SEQUENCE (SIZE(1..maxnoof5GSTAIs)) OF 
	SEQUENCE {
	tAI-5GS		TAI-5GS,
	cancelledCellinTAI-5GS	CancelledCellinTAI-5GS,
	iE-Extensions	ProtocolExtensionContainer { {TAI-Cancelled-List-5GS-ExtIEs} } OPTIONAL,
	...
}

TAI-Cancelled-List-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

TAI-List-for-Warning	::= SEQUENCE (SIZE(1.. maxnoofTAIforWarning)) OF TAI

TAI ::= SEQUENCE {
	pLMNidentity	PLMNidentity,
	tAC		TAC,
	iE-Extensions	ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL
}

TAI-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}

TBCD-STRING ::= OCTET STRING (SIZE (3))

TypeOfError ::= ENUMERATED {
	not-understood,
	missing,
	...
}
TAI-5GS ::= SEQUENCE {
	pLMNidentity	PLMNidentity,
	tAC-5GS		TAC-5GS,
	iE-Extensions	ProtocolExtensionContainer { {TAI-5GS-ExtIEs} } OPTIONAL
}

TAI-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
	...
}


-- U

Unknown-Tracking-Area-List	::= SEQUENCE (SIZE(1.. maxNrOfTAIs)) OF TAI

Unknown-5GS-Tracking-Area-List	::= SEQUENCE (SIZE(1.. maxnoof5GSTAIs)) OF TAI-5GS


-- V

-- W

Warning-Area-List	::= CHOICE {
	cell-ID-List	ECGIList,
	tracking-Area-List-for-Warning		TAI-List-for-Warning,
	emergency-Area-ID-List	Emergency-Area-ID-List,
	...
}

Warning-Message-Content	::= OCTET STRING (SIZE (1..9600)) 
Warning-Area-Coordinates	::= OCTET STRING (SIZE (1..1024))
Warning-Security-Information	::= OCTET STRING (SIZE (50)) 
Warning-Type		::=  OCTET STRING (SIZE (2))

Warning-Area-List-5GS	::= CHOICE {
	cell-ID-List		ECGIList,
	nR-CGIList		NR-CGIList,
	tAIList-5GS		TAI-5GS,
	emergencyAreaIDList	Emergency-Area-ID-List,
	...
}



-- X

-- Y

END
