Commit bf9d44e8 authored by canterburym's avatar canterburym
Browse files

Merge branch 'transfer' of forge.etsi.org:li/trial into transfer

parents feff46e3 e112f01a
# Editors
.vscode/
.idea/
# Vagrant
.vagrant/
# Mac/OSX
.DS_Store
# Windows
Thumbs.db
# Source for the following rules: https://raw.githubusercontent.com/github/gitignore/master/Python.gitignore
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
.python-version
# celery beat schedule file
celerybeat-schedule
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
\ No newline at end of file
stages:
- check
process_asn:
image: "mcanterb/asn1test:latest"
stage: check
interruptible: true
script:
- python3 testing/asn_process.py
process_xsd:
image: "mcanterb/xsdtest:latest"
stage: check
interruptible: true
script:
- python3 testing/xsd_process.py
LI-PS-PDU
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version33(33)}
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
IMPORTS
-- Any of the IMPORTs may be commented out if they are not used (see clause A.3)
-- from ETSI TS 103 280 [44]
LIID
FROM Common-Parameters
{itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version231(231)}
-- from ETSI TS 101 671 [4]
IRI-Parameters,
IRIsContent,
Location,
Network-Element-Identifier
FROM HI2Operations
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version18(18)}
-- from ETSI TS 101 671 [4]
HI1-Operation
FROM HI1NotificationOperations
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version7(7)}
-- from ETSI TS 102 232-2 [5]
EmailCC,
EmailIRI,
MessagingCC,
MessagingMMCC,
MessagingIRI
FROM EmailPDU
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version19(19)}
-- from ETSI TS 102 232-3 [6]
IPCC,
IPIRI,
IPIRIOnly
FROM IPAccessPDU
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPAccess(3) version14(14)}
-- from ETSI TS 102 232-4 [32]
L2CC,
L2IRI,
L2IRIOnly
FROM L2AccessPDU
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) l2Access(4) version7(7)}
-- from ETSI TS 102 232-5 [37]
IPMMCC,
IPMMIRI
FROM IPMultimediaPDU
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPMultimedia(5) version14(14)}
-- from ETSI TS 102 232-6 [36]
PstnIsdnCC,
PstnIsdnIRI
FROM PstnIsdnPDU
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) pstnIsdn(6) version5(5)}
-- from 3GPP TS 33.108 [9]
IRI-Parameters,
UmtsIRIsContent,
CorrelationValues,
Location
FROM UmtsHI2Operations
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2(1)}
-- The relevant module (including the 3GPP release and version number) needs
-- to be chosen when compiling the application.
-- from 3GPP TS 33.108 [9]
IRI-Parameters,
UmtsCS-IRIsContent
FROM UmtsCS-HI2Operations
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2CS(3)}
-- The relevant module (including the 3GPP release and version number) needs
-- to be chosen when compiling the application.
-- from 3GPP TS 33.108 [9]
IRI-Parameters,
EpsIRIsContent,
EPSLocation
FROM EpsHI2Operations
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2eps(8)}
-- The relevant module (including the 3GPP release and version number) needs
-- to be chosen when compiling the application.
-- from 3GPP TS 33.108 [9]
IRI-Parameters,
ConfIRIsContent
FROM CONFHI2Operations
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2conf(10)}
-- The relevant module (including the 3GPP release and version number) needs
-- to be chosen when compiling the application.
-- from 3GPP TS 33.108 [9]
IRI-Parameters,
ProSeIRIsContent
FROM ProSeHI2Operations
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2prose (15)}
-- The relevant module (including the 3GPP release and version number) needs
-- to be chosen when compiling the application.
-- from 3GPP TS 33.108 [9]
IRI-Parameters,
GcseIRIsContent
FROM GCSEHI2Operations
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2gcse(13)}
-- The relevant module (including the 3GPP release and version number) needs
-- to be chosen when compiling the application.
-- from 3GPP TS 33.108 [9]
CC-PDU
FROM Umts-HI3-PS
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3(2)}
-- The relevant module (including the 3GPP release and version number)
-- needs to be chosen when compiling the application.
-- from 3GPP TS 33.108 [9]
CC-PDU
FROM Eps-HI3-PS
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3eps(9)}
-- The relevant module (including the 3GPP release and version number)
-- needs to be chosen when compiling the application.
-- from 3GPP TS 33.108 [9]
Conf-CC-PDU
FROM CONF-HI3-IMS
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3conf(11)}
-- The relevant module (including the 3GPP release and version number)
-- needs to be chosen when compiling the application.
-- from 3GPP TS 33.108 [9]
Voip-CC-PDU
FROM VoIP-HI3-IMS
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3voip(12)}
-- The relevant module (including the 3GPP release and version number)
-- needs to be chosen when compiling the application.
-- from 3GPP TS 33.108 [9]
Gcse-CC-PDU
FROM GCSE-HI3
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3gcse(14)}
-- The relevant module (including the 3GPP release and version number)
-- needs to be chosen when compiling the application.
-- from 3GPP TS 33.108 [9]
ThreeGPP-HI1-Operation
FROM ThreeGPP-HI1NotificationOperations
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi1(0) notificationOperations(1)}
-- The relevant module (including the 3GPP release and version number)
-- needs to be chosen when compiling the application.
-- TS 101 671 HI1 and 3GPP HI1 are related to the same functionality but are
-- corresponding to different implementations and exclusive usage each other.
-- The implementation depends of national regulations or LEA/CSP negotiations.
-- 3GPP HI1 may be used with other services/networks than 3GPP's one.
-- from 3GPP TS 33.108 [9]
CSvoice-CC-PDU
FROM CSvoice-HI3-IP
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi3CSvoice(18)}
-- The relevant module (including the 3GPP release and version number)
-- needs to be chosen when compiling the application.
-- The implementation of the CS domain delivery in IP have to be based on 3GPP TS 33.108 [9].
-- from ETSI TS 101 909-20-1 [33]
TARGETACTIVITYMONITOR-1,
TTRAFFIC,
CTTRAFFIC
FROM TS101909201
{itu-t(0) identified-organization(4) etsi(0) ts101909(1909) part20(20) subpart1(1) interceptVersion(0)}
-- from ETSI TS 101 909-20-2 [34]
TARGETACTIVITYMONITOR,
TTRAFFIC,
CTTRAFFIC
FROM TS101909202
{itu-t(0) identified-organization(4) etsi(0) ts101909(1909) part20(20) subpart2(2) interceptVersion(0)}
-- from ETSI TS 103 462 [45]
ILHIPayload
FROM ILHIPDU
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) informationHandover(4) ilhi(0) ilhiPdu(0) version2(2)}
-- This import is only used for the handover between LEMFs.
-- from 3GPP TS 33.128 [46]
LINotificationPayload,
IRIPayload,
CCPayload
FROM TS33128Payloads
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) ts33128(19)};
-- The relevant module (including the 3GPP release and version number)
-- needs to be chosen when compiling the application.
-- end of IMPORTS
-- =============================
-- Object Identifier Definitions
-- =============================
lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2)}
li-psDomainId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId li-ps(5) genHeader(1) version33(33)}
-- ====================
-- Top-level definition
-- ====================
PS-PDU ::= SEQUENCE
{
pSHeader [1] PSHeader,
payload [2] Payload
}
PSHeader ::= SEQUENCE
{
li-psDomainId [0] OBJECT IDENTIFIER,
lawfulInterceptionIdentifier [1] LawfulInterceptionIdentifier,
-- As of ASN.1 version 26 this parameter is included from ETSI TS 103 280 [44]
authorizationCountryCode [2] PrintableString (SIZE (2)) OPTIONAL,
-- see clause 5.2.3
communicationIdentifier [3] CommunicationIdentifier,
sequenceNumber [4] INTEGER (0..4294967295),
timeStamp [5] GeneralizedTime OPTIONAL,
-- see clause 5.2.6
...,
interceptionPointID [6] PrintableString (SIZE (1..8)) OPTIONAL,
-- see clause 5.2.11
microSecondTimeStamp [7] MicroSecondTimeStamp OPTIONAL,
timeStampQualifier [8] TimeStampQualifier OPTIONAL,
extendedInterceptionPointID [9] OCTET STRING (SIZE (1..65535)) OPTIONAL,
-- see clause 5.2.13
networkFunctionIdentifier [10] OCTET STRING (SIZE (1..65535)) OPTIONAL
-- see clause 5.2.14
}
Payload ::= CHOICE
{
iRIPayloadSequence [0] SEQUENCE OF IRIPayload,
cCPayloadSequence [1] SEQUENCE OF CCPayload,
-- Clause 6.2.3 explains how to include more than one payload in the same PDU
tRIPayload [2] TRIPayload,
...,
hI1-Operation [3] HI1-Operation,
encryptionContainer [4] EncryptionContainer,
threeGPP-HI1-Operation [5] ThreeGPP-HI1-Operation,
-- This structure may be functionally redundant with hI1-Operation from ETSI TS 101 671 [4]
iLHIPayload [6] SEQUENCE OF ILHIPayload,
-- For typical use cases see ETSI TS 103 462 [45]
hI4Payload [7] SEQUENCE OF HI4Payload
}
TimeStampQualifier ::= ENUMERATED
{
unknown(0),
timeOfInterception(1),
timeOfMediation(2),
...,
timeOfAggregation(3)
}
HI4Payload ::= CHOICE
{
threeGPP-LI-Notification [1] TS33128Payloads.LINotificationPayload,
...
}
-- ====================================
-- Items contained within the PS-Header
-- ====================================
CommunicationIdentifier ::= SEQUENCE
{
networkIdentifier [0] NetworkIdentifier,
communicationIdentityNumber [1] INTEGER (0..4294967295) OPTIONAL,
-- in case of transport of HI1 messages not required
-- Mandatory for CC and IRI, with certain exceptions (see clause 5.2.4)
deliveryCountryCode [2] PrintableString (SIZE (2)) OPTIONAL,
-- see clause 5.2.4
...,
cINExtension [3] CorrelationValues OPTIONAL
-- To be used when a single INTEGER is not sufficient to identify
-- a particular session (see clause 5.2.4)
}
NetworkIdentifier ::= SEQUENCE
{
operatorIdentifier [0] OCTET STRING (SIZE(1..16)),
networkElementIdentifier [1] OCTET STRING (SIZE(1..16)) OPTIONAL,
...,
eTSI671NEID [2] Network-Element-Identifier OPTIONAL
-- For network element identifier, use either networkElementIdentifier or eTSI671NEID
}
-- ==========================
-- Definitions for CC Payload
-- ==========================
CCPayload ::= SEQUENCE
{
payloadDirection [0] PayloadDirection OPTIONAL,
timeStamp [1] GeneralizedTime OPTIONAL,
-- For aggregated payloads (see clause 6.2.3)
cCContents [2] CCContents,
...,
microSecondTimeStamp [3] MicroSecondTimeStamp OPTIONAL,
-- For aggregated payloads (see clause 6.2.3)
timeStampQualifier [4] TimeStampQualifier OPTIONAL
}
PayloadDirection ::= ENUMERATED
{
fromTarget(0),
toTarget(1),
...,
indeterminate(2),
-- Indication that the direction was indeterminate
combined(3),
-- Indication applicable to some services that the traffic is actually a combination
-- of To and From
notapplicable(4)
-- Indication that direction of interceptable service does not make sense
}
CCContents ::= CHOICE
-- Any of these choices may be commented out if they are not being used, see clause A.3
{
-- tag [0] deprecated in version15, ETSI TS 102 232-1 V3.3.1 (2013-02)
emailCC [1] EmailCC,
iPCC [2] IPCC,
-- tag [3] not used
uMTSCC [4] OCTET STRING,
...,
-- tag [5] deprecated in version15, ETSI TS 102 232-1 V3.3.1 (2013-02)
l2CC [6] L2CC,
tTRAFFIC-1 [7] TS101909201.TTRAFFIC,
cTTRAFFIC-1 [8] TS101909201.CTTRAFFIC,
tTRAFFIC-2 [9] TS101909202.TTRAFFIC,
cTTRAFFIC-2 [10] TS101909202.CTTRAFFIC,
pstnIsdnCC [11] PstnIsdnCC,
iPMMCC [12] IPMMCC,
-- tag [13] deprecated in version32, ETSI TS 102 232-1 V3.24.1 (2021-07)
messagingCC [14] MessagingCC,
ePSCC [15] OCTET STRING,
uMTSCC-CC-PDU [16] Umts-HI3-PS.CC-PDU,
ePSCC-CC-PDU [17] Eps-HI3-PS.CC-PDU,
messagingMMCC [18] MessagingMMCC,
confCC-CC-PDU [19] CONF-HI3-IMS.Conf-CC-PDU,
voipCC-CC-PDU [20] VoIP-HI3-IMS.Voip-CC-PDU,
gcseCC-CC-PDU [21] GCSE-HI3.Gcse-CC-PDU,
cSvoice-CC-PDU [22] CSvoice-HI3-IP.CSvoice-CC-PDU,
threeGPP33128DefinedCC [23] OCTET STRING (CONTAINING TS33128Payloads.CCPayload)
}
MicroSecondTimeStamp ::= SEQUENCE
{
seconds [0] INTEGER (0..18446744073709551615),
-- number of seconds since 1970-1-1 00:00Z also known as unix time epoch
microSeconds [1] INTEGER (0..999999),
...
}
-- ===========================
-- Definitions for IRI Payload
-- ===========================
IRIPayload ::= SEQUENCE
{
iRIType [0] IRIType OPTIONAL,
-- See clause 5.2.10
timeStamp [1] GeneralizedTime OPTIONAL,
-- For aggregated payloads (see clause 6.2.3)
iRIContents [2] IRIContents,
...,
microSecondTimeStamp [3] MicroSecondTimeStamp OPTIONAL,
-- For aggregated payloads (see clause 6.2.3)
timeStampQualifier [4] TimeStampQualifier OPTIONAL,
sessionDirection [5] PayloadDirection OPTIONAL,
-- If the sessionDirection field is to be used for a given service then
-- the exact meaning and use of the field will be described in the
-- relevant service-specific details
payloadDirection [6] PayloadDirection OPTIONAL
-- If the payloadDirection field is to be used for a given service then
-- the exact meaning and use of the field will be described in the
-- relevant service-specific details
}
IRIType ::= ENUMERATED
{
iRI-Begin(1),
iRI-End(2),
iRI-Continue(3),
iRI-Report(4)
}
IRIContents ::= CHOICE
-- Any of these choices may be commented out if they are not being used (see clause A.3)
{
-- tag [0] deprecated in version15, ETSI TS 102 232-1 V3.3.1 (2013-02)
emailIRI [1] EmailIRI,
iPIRI [2] IPIRI,
iPIRIOnly [3] IPIRIOnly,
uMTSIRI [4] UMTSIRI,
eTSI671IRI [5] ETSI671IRI,
...,
l2IRI [6] L2IRI,
l2IRIOnly [7] L2IRIOnly,
tARGETACTIVITYMONITOR-1 [8] TS101909201.TARGETACTIVITYMONITOR-1,
tARGETACTIVITYMONITOR-2 [9] TS101909202.TARGETACTIVITYMONITOR,
pstnIsdnIRI [10] PstnIsdnIRI,
iPMMIRI [11] IPMMIRI,
-- tag [12] deprecated in version32, ETSI TS 102 232-1 V3.24.1 (2021-07)
-- tag [13] deprecated in version32, ETSI TS 102 232-1 V3.24.1 (2021-07)
messagingIRI [14] MessagingIRI,
ePSIRI [15] EPSIRI,
confIRI [16] ConfIRI,
proseIRI [17] ProSeIRI,
gcseIRI [18] GcseIRI,
threeGPP33128DefinedIRI [19] OCTET STRING (CONTAINING TS33128Payloads.IRIPayload)
}
UMTSIRI ::= CHOICE
-- This structure may be commented out if not used
{
iRI-Parameters [0] UmtsHI2Operations.IRI-Parameters,
umtsIRIsContent [1] UmtsIRIsContent,
...,
iRI-CS-Parameters [2] UmtsCS-HI2Operations.IRI-Parameters,
umtsCS-IRIsContent [3] UmtsCS-IRIsContent
}
ETSI671IRI ::= CHOICE
-- This structure may be commented out if not used
{
iRI-Parameters [0] HI2Operations.IRI-Parameters,
iRIsContent [1] IRIsContent,
...
}
EPSIRI ::= CHOICE
-- This structure may be commented out if not used
{
iRI-EPS-Parameters [0] EpsHI2Operations.IRI-Parameters,
epsIRIsContent [1] EpsIRIsContent,
...
}
ConfIRI ::= CHOICE
-- This structure may be commented out if not used
{
iRI-Conf-Parameters [0] CONFHI2Operations.IRI-Parameters,
confIRIsContent [1] ConfIRIsContent,
...
}
ProSeIRI ::= CHOICE
-- This structure may be commented out if not used
{
iRI-ProSe-Parameters [0] ProSeHI2Operations.IRI-Parameters,
proseIRIsContent [1] ProSeIRIsContent,
...
}
GcseIRI ::= CHOICE
-- This structure may be commented out if not used
{
iRI-Gcse-Parameters [0] GCSEHI2Operations.IRI-Parameters,
gcseIRIsContent [1] GcseIRIsContent,
...
}
-- ===========================
-- Definitions for TRI Payload
-- ===========================
TRIPayload ::= CHOICE
{
integrityCheck [0] IntegrityCheck,
testPDU [1] NULL,
paddingPDU [2] OCTET STRING,
-- Undefined contents (will be discarded)
keep-alive [3] NULL,
keep-aliveResponse [4] NULL,
firstSegmentFlag [5] NULL,
lastSegmentFlag [6] NULL,
...,
cINReset [7] NULL,
operatorLeaMessage [8] OperatorLeaMessage,
optionRequest [9] OptionRequest,
optionResponse [10] OptionResponse,
optionComplete [11] NULL,
pDUAcknowledgementRequest [12] NULL,
pDUAcknowledgementResponse [13] NULL
}
IntegrityCheck ::= SEQUENCE
{
includedSequenceNumbers [0] SEQUENCE OF INTEGER (0..4294967295),
-- gives the order the PDUs were processed
checkType [1] CheckType,
dataType [2] DataType OPTIONAL,
-- From version5(5) the dataType is mandatory for hashes and for signatures