From 13c98733c1232861061491c803fa33b3ba231742 Mon Sep 17 00:00:00 2001 From: mark Date: Thu, 14 Sep 2023 10:16:45 +0100 Subject: [PATCH 01/40] Adding extra example --- .../examples/json/request5-JSON-Delivery.json | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 103120/examples/json/request5-JSON-Delivery.json diff --git a/103120/examples/json/request5-JSON-Delivery.json b/103120/examples/json/request5-JSON-Delivery.json new file mode 100644 index 0000000..8608393 --- /dev/null +++ b/103120/examples/json/request5-JSON-Delivery.json @@ -0,0 +1,65 @@ +{ + "@xmlns": "http://uri.etsi.org/03120/common/2019/10/Core", + "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", + "@xmlns:task": "http://uri.etsi.org/03120/common/2020/09/Task", + "@xmlns:delivery": "http://uri.etsi.org/03120/common/2019/10/Delivery", + "@xmlns:common": "http://uri.etsi.org/03120/common/2016/02/Common", + "Header": { + "SenderIdentifier": { + "CountryCode": "XX", + "UniqueIdentifier": "ACTOR2" + }, + "ReceiverIdentifier": { + "CountryCode": "XX", + "UniqueIdentifier": "ACTOR1" + }, + "TransactionIdentifier": "64cd73e1-a438-4d47-9cfb-cead9125a502", + "Timestamp": "2019-09-30T13:37:37.000000Z", + "Version": { + "ETSIVersion": "V1.14.1", + "NationalProfileOwner": "XX", + "NationalProfileVersion": "v1.0" + } + }, + "Payload": { + "RequestPayload": { + "ActionRequests": { + "ActionRequest": [ + { + "ActionIdentifier": 0, + "DELIVER": { + "Identifier": "11f49f11-39df-4596-aa58-1f7199b587df", + "HI1Object": { + "@xsi:type": "{http://uri.etsi.org/03120/common/2019/10/Delivery}DeliveryObject", + "ObjectIdentifier": "11f49f11-39df-4596-aa58-1f7199b587df", + "AssociatedObjects": { + "AssociatedObject": [ + "2b36a78b-b628-416d-bd22-404e68a0cd36" + ] + }, + "delivery:Reference": { + "delivery:LDID": "XX-ACTOR01-1234" + }, + "delivery:SequenceNumber": 1, + "delivery:LastSequence": true, + "delivery:Manifest": { + "delivery:Specification": { + "common:Owner": "ETSI", + "common:Name": "ManifestSpecification", + "common:Value": "TS102657-XML" + } + }, + "delivery:Delivery": { + "delivery:EmbeddedJSONData": { + "field1" : "this is native JSON embedded data", + "field2" : 1234 + } + } + } + } + } + ] + } + } + } +} -- GitLab From 8d9d6ddeb27886ae672691d80dc018100dce869e Mon Sep 17 00:00:00 2001 From: mark Date: Thu, 14 Sep 2023 10:40:58 +0100 Subject: [PATCH 02/40] Updating XSD to include JSON data elements --- .../examples/json/request5-JSON-Delivery.json | 2 +- .../json/ts_103120_Delivery.schema.json | 25 ++++++++++++++++++- 103120/schema/xsd/ts_103120_Delivery.xsd | 7 ++++++ utils/translate_spec.py | 9 ++++--- 4 files changed, 38 insertions(+), 5 deletions(-) diff --git a/103120/examples/json/request5-JSON-Delivery.json b/103120/examples/json/request5-JSON-Delivery.json index 8608393..b0796ca 100644 --- a/103120/examples/json/request5-JSON-Delivery.json +++ b/103120/examples/json/request5-JSON-Delivery.json @@ -50,7 +50,7 @@ } }, "delivery:Delivery": { - "delivery:EmbeddedJSONData": { + "delivery:JSONData": { "field1" : "this is native JSON embedded data", "field2" : 1234 } diff --git a/103120/schema/json/ts_103120_Delivery.schema.json b/103120/schema/json/ts_103120_Delivery.schema.json index 093d127..f87f7f5 100644 --- a/103120/schema/json/ts_103120_Delivery.schema.json +++ b/103120/schema/json/ts_103120_Delivery.schema.json @@ -145,6 +145,17 @@ "required": [ "delivery:XMLSchema" ] + }, + { + "type": "object", + "properties": { + "delivery:JSONSchema": { + "$ref": "#/$defs/EmbeddedJSONData" + } + }, + "required": [ + "delivery:JSONSchema" + ] } ] }, @@ -180,6 +191,17 @@ "required": [ "delivery:XMLData" ] + }, + { + "type": "object", + "properties": { + "delivery:JSONData": { + "$ref": "#/$defs/EmbeddedJSONData" + } + }, + "required": [ + "delivery:JSONData" + ] } ] }, @@ -204,6 +226,7 @@ "delivery:Data" ] }, - "EmbeddedXMLData": {} + "EmbeddedXMLData": {}, + "EmbeddedJSONData": {} } } \ No newline at end of file diff --git a/103120/schema/xsd/ts_103120_Delivery.xsd b/103120/schema/xsd/ts_103120_Delivery.xsd index d1daddd..0cb4b4c 100644 --- a/103120/schema/xsd/ts_103120_Delivery.xsd +++ b/103120/schema/xsd/ts_103120_Delivery.xsd @@ -39,6 +39,7 @@ + @@ -50,6 +51,7 @@ + @@ -65,4 +67,9 @@ + + + + + diff --git a/utils/translate_spec.py b/utils/translate_spec.py index eac24e4..bac9554 100644 --- a/utils/translate_spec.py +++ b/utils/translate_spec.py @@ -70,10 +70,13 @@ if __name__ == "__main__": json_schemas = {} for schema_tuple in schema_locations: logging.info(f" Translating {schema_tuple}") - if 'xmldsig' in (schema_tuple[1]): - # TODO - work out what to do here - logging.info(" Skipping XML Dsig...") + if ns_map[schema_tuple[0]].get('skip'): + logging.info(f" Skipping {schema_tuple[0]} due to config...") continue + # if 'xmldsig' in (schema_tuple[1]): + # # TODO - work out what to do here + # logging.info(" Skipping XML Dsig...") + # continue js = translate_schema(schema_tuple[1], ns_map, schema_locations) # TODO - Special case, get rid of signature -- GitLab From 2c773d950c81bfb64c6665e5c0786e0ccefb04c2 Mon Sep 17 00:00:00 2001 From: mark Date: Thu, 14 Sep 2023 10:43:56 +0100 Subject: [PATCH 03/40] Tidying translation code --- utils/translate_spec.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/utils/translate_spec.py b/utils/translate_spec.py index bac9554..73b4ab7 100644 --- a/utils/translate_spec.py +++ b/utils/translate_spec.py @@ -73,10 +73,6 @@ if __name__ == "__main__": if ns_map[schema_tuple[0]].get('skip'): logging.info(f" Skipping {schema_tuple[0]} due to config...") continue - # if 'xmldsig' in (schema_tuple[1]): - # # TODO - work out what to do here - # logging.info(" Skipping XML Dsig...") - # continue js = translate_schema(schema_tuple[1], ns_map, schema_locations) # TODO - Special case, get rid of signature -- GitLab From 495654f863201d62bba86373951aab1ba996b33f Mon Sep 17 00:00:00 2001 From: mark Date: Thu, 14 Sep 2023 10:48:07 +0100 Subject: [PATCH 04/40] Adding schema to example --- 103120/examples/json/request5-JSON-Delivery.json | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/103120/examples/json/request5-JSON-Delivery.json b/103120/examples/json/request5-JSON-Delivery.json index b0796ca..e3d9d1c 100644 --- a/103120/examples/json/request5-JSON-Delivery.json +++ b/103120/examples/json/request5-JSON-Delivery.json @@ -43,10 +43,13 @@ "delivery:SequenceNumber": 1, "delivery:LastSequence": true, "delivery:Manifest": { - "delivery:Specification": { - "common:Owner": "ETSI", - "common:Name": "ManifestSpecification", - "common:Value": "TS102657-XML" + "delivery:ExternalSchema": { + "delivery:ManifestID" : "ExampleJSONSchema", + "delivery:ManifestContents" : { + "delivery:JSONSchema" : { + "jsonStuff" : "goesHere" + } + } } }, "delivery:Delivery": { -- GitLab From 9b488ef7d1ef0ba1d231a5867b09981e4f4b8796 Mon Sep 17 00:00:00 2001 From: mark Date: Thu, 14 Sep 2023 10:48:20 +0100 Subject: [PATCH 05/40] Adding schema to example --- 103120/examples/json/request5-JSON-Delivery.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/103120/examples/json/request5-JSON-Delivery.json b/103120/examples/json/request5-JSON-Delivery.json index e3d9d1c..fa510ca 100644 --- a/103120/examples/json/request5-JSON-Delivery.json +++ b/103120/examples/json/request5-JSON-Delivery.json @@ -47,7 +47,7 @@ "delivery:ManifestID" : "ExampleJSONSchema", "delivery:ManifestContents" : { "delivery:JSONSchema" : { - "jsonStuff" : "goesHere" + "actualJSONschema" : "goeshere" } } } -- GitLab From 39fd9621cd426a73258065f4427f6ff928dbda1f Mon Sep 17 00:00:00 2001 From: mark Date: Tue, 10 Oct 2023 09:31:46 +0100 Subject: [PATCH 06/40] Updating examples --- .../examples/json/request5-JSON-Delivery.json | 2 +- 103120/schema/json/ts_103120_Core.schema.json | 16 +- utils/json_validator.py | 156 ++++++++++++++++++ utils/translate_spec.py | 21 ++- 4 files changed, 186 insertions(+), 9 deletions(-) create mode 100644 utils/json_validator.py diff --git a/103120/examples/json/request5-JSON-Delivery.json b/103120/examples/json/request5-JSON-Delivery.json index fa510ca..34d84a0 100644 --- a/103120/examples/json/request5-JSON-Delivery.json +++ b/103120/examples/json/request5-JSON-Delivery.json @@ -47,7 +47,7 @@ "delivery:ManifestID" : "ExampleJSONSchema", "delivery:ManifestContents" : { "delivery:JSONSchema" : { - "actualJSONschema" : "goeshere" + "schema_goes_here" : "schema_goes_here" } } } diff --git a/103120/schema/json/ts_103120_Core.schema.json b/103120/schema/json/ts_103120_Core.schema.json index 8225cf3..63e2ad4 100644 --- a/103120/schema/json/ts_103120_Core.schema.json +++ b/103120/schema/json/ts_103120_Core.schema.json @@ -13,9 +13,19 @@ "Payload": { "$ref": "#/$defs/MessagePayload" }, - "Signature": {}, - "xmldsig:Signature": { - "$ref": "www.w3.org_2000_09_xmldsig##/$defs/SignatureType" + "Signature": { + "properties": { + "protected": { + "type": "string" + }, + "signature": { + "type": "string" + } + }, + "required": [ + "protected", + "signature" + ] } }, "required": [ diff --git a/utils/json_validator.py b/utils/json_validator.py new file mode 100644 index 0000000..fb46193 --- /dev/null +++ b/utils/json_validator.py @@ -0,0 +1,156 @@ +import sys +from jsonschema import validate, RefResolver, Draft202012Validator +from jsonschema.exceptions import ValidationError +import json +from pathlib import Path +import logging +import argparse +from itertools import chain + +class JsonValidator: + def __init__(self, core_schema: str, other_schemas : dict): + self._core_schema = json.load(Path(core_schema).open()) + self._schema_dict = { self._core_schema['$id'] : self._core_schema } + self._supporting_paths = [] + for thing in other_schemas: + path = Path(thing) + if path.is_dir(): + logging.debug(f"Searching {path} for schema files") + self._supporting_paths.extend(path.rglob("*.schema.json")) + else: + logging.debug(f"Appending {path} as schema file") + self._supporting_paths.append(path) + logging.info(f"Supporting schema paths: {self._supporting_paths}") + self._supporting_schemas = [json.load(p.open()) for p in self._supporting_paths] + self._schema_dict = self._schema_dict | { s['$id'] : s for s in self._supporting_schemas } + logging.info(f"Loaded schema IDs: {[k for k in self._schema_dict.keys()]}") + self._resolver = RefResolver(None, + referrer=None, + store=self._schema_dict) + logging.info("Created RefResolver") + self._validator = Draft202012Validator(self._core_schema, resolver=self._resolver) + logging.info("Created validator") + + def validate(self, instance_doc: str): + errors = list(self._validator.iter_errors(instance_doc)) + return errors + +class TS103120Validator (JsonValidator): + def __init__ (self, path_to_repo): + repo_path = Path(path_to_repo) + schema_dirs = [str(repo_path / "103120/schema/json"), str("103280/")] + core_schema = str(repo_path / "103120/schema/json/ts_103120_Core.schema.json") + JsonValidator.__init__(self, core_schema, schema_dirs) + request_fragment_schema = { "$ref" : "ts_103120_Core_2019_10#/$defs/RequestPayload" } + self._request_fragment_validator = Draft202012Validator(request_fragment_schema, resolver=self._resolver) + response_fragment_schema = { "$ref" : "ts_103120_Core_2019_10#/$defs/ResponsePayload" } + self._response_fragment_validator = Draft202012Validator(response_fragment_schema, resolver=self._resolver) + + def expand_request_response_exception (self, ex): + if list(ex.schema_path) == ['properties', 'Payload', 'oneOf']: + logging.info ("Error detected validating payload oneOf - attempting explicit validation...") + if 'RequestPayload' in instance_doc['Payload'].keys(): + ret_list = list(chain(*[self.expand_action_exception(x) for x in self._request_fragment_validator.iter_errors(instance_doc['Payload']['RequestPayload'])])) + for r in ret_list: + r.path = ex.path + r.path + return ret_list + elif 'ResponsePayload' in instance_doc['Payload'].keys(): + ret_list = list(chain(*[self.expand_action_exception(x) for x in self._request_fragment_validator.iter_errors(instance_doc['Payload']['ResponsePayload'])])) + for r in ret_list: + r.path = ex.path + r.path + return ret_list + else: + logging.error("No RequestPayload or ResponsePayload found - is the Payload malformed?") + return [ex] + else: + return [ex] + + def expand_action_exception (self, ex): + logging.error("Error detected in ActionRequests/ActionResponses") + error_path = list(ex.schema_path) + if error_path != ['properties', 'ActionRequests', 'properties', 'ActionRequest', 'items', 'allOf', 1, 'oneOf'] and error_path != ['properties', 'ActionResponses', 'properties', 'ActionResponse', 'items', 'allOf', 1, 'oneOf']: + logging.error("Error not in inner Request/Response allOf/oneOf constraint") + return[ex] + j = ex.instance + j.pop('ActionIdentifier') # Remove ActionIdentifier - one remaining key will be the verb + verb = list(j.keys())[0] + message = "Request" if error_path[1] == "ActionRequests" else "Response" + v = Draft202012Validator({"$ref" : f"ts_103120_Core_2019_10#/$defs/{verb}{message}"}, resolver=self._resolver) + ret_list = list(chain(*[self.expand_object_exception(x) for x in v.iter_errors(j[verb])])) + for r in ret_list: + r.path = ex.path + r.path + return ret_list + + def expand_object_exception (self, ex): + logging.error("Error detected in verb") + # The final level of validation is for the actual HI1Object validation + if list(ex.schema_path) != ['properties', 'HI1Object', 'oneOf']: + logging.error("Error not inside HI1Object") + return [ex] + object_type = ex.instance['@xsi:type'].split('}')[-1] + object_ref = { + 'AuthorisationObject': 'ts_103120_Authorisation_2020_09#/$defs/AuthorisationObject', + 'LITaskObject': 'ts_103120_Task_2020_09#/$defs/LITaskObject', + 'LDTaskObject': 'ts_103120_Task_2020_09#/$defs/LDTaskObject', + 'LPTaskObject': 'ts_103120_Task_2020_09#/$defs/LPTaskObject', + 'DocumentObject': 'ts_103120_Document_2020_09#/$defs/DocumentObject', + 'NotificationObject': 'ts_103120_Notification_2016_02#/$defs/NotificationObject', + 'DeliveryObject': 'ts_103120_Delivery_2019_10#/$defs/DeliveryObject', + 'TrafficPolicyObject': 'ts_103120_TrafficPolicy_2022_07#/$defs/TrafficPolicyObject', + 'TrafficRuleObject': 'ts_103120_TrafficPolicy_2022_07#/$defs/TrafficRuleObject', + }[object_type] + v = Draft202012Validator({"$ref" : object_ref}, resolver=self._resolver) + return list(v.iter_errors(ex.instance)) + + def validate(self, instance_doc: str): + errors = JsonValidator.validate(self, instance_doc) + out_errors = list(chain(*[self.expand_request_response_exception(ex) for ex in errors])) + return out_errors + + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + + parser.add_argument('-s','--schemadir', action="append", help="Directory containing supporting schema files to use for validation") + parser.add_argument('-v', '--verbose', action="count", help="Verbose logging (can be specified multiple times)") + parser.add_argument('-i', '--input', type=argparse.FileType('r'), default=sys.stdin, help="Path to input file (if absent, stdin is used)") + parser.add_argument('--ts103120', action="store_true", help="Validate a TS 103 120 JSON document") + parser.add_argument('--schema', default=None, help="Primary schema to validate against") + parser.add_argument('-p', '--printerror', action="count", help="Controls how verbose validation error printing is (can be specified multiple times)") + args = parser.parse_args() + + match args.verbose: + case v if v and v >= 2: + logging.basicConfig(level=logging.DEBUG) + case 1: + logging.basicConfig(level=logging.INFO) + case _: + logging.basicConfig(level=logging.WARNING) + + logging.debug(f"Arguments: {args}") + + if (args.ts103120): + v = TS103120Validator("./") + else: + v = JsonValidator(args.schema, args.schemadir) + + logging.info(f"Taking instance doc input from {args.input.name}") + instance_doc = json.loads(args.input.read()) + args.input.close() + + errors = v.validate(instance_doc) + for error in errors: + if args.printerror == 2: + logging.error(error) + elif args.printerror == 1: + logging.error(f"{list(error.path)} - {error.message}") + if len(errors) > 0: + logging.error(f"{len(errors)} errors detected") + else: + logging.info(f"{len(errors)} errors detected") + + if len(errors) > 0: + exit(-1) + else: + exit(0) diff --git a/utils/translate_spec.py b/utils/translate_spec.py index 73b4ab7..ce7a055 100644 --- a/utils/translate_spec.py +++ b/utils/translate_spec.py @@ -10,6 +10,14 @@ from translate import * logging.basicConfig(level = logging.INFO) +json_signature_struct = { + "properties" : { + "protected" : { "type" : "string" }, + "signature" : { "type" : "string" } + }, + "required" : ["protected", "signature" ] +} + def build_schema_locations (paths): schema_locations = [] for schemaFile in paths: @@ -70,14 +78,17 @@ if __name__ == "__main__": json_schemas = {} for schema_tuple in schema_locations: logging.info(f" Translating {schema_tuple}") - if ns_map[schema_tuple[0]].get('skip'): - logging.info(f" Skipping {schema_tuple[0]} due to config...") + if 'skip' in ns_map[schema_tuple[0]]: + logging.info(f" Skipping {schema_tuple[0]}...") continue js = translate_schema(schema_tuple[1], ns_map, schema_locations) - # TODO - Special case, get rid of signature - if ns_map[schema_tuple[0]] == 'core.json': - js['$defs']['HI1Message']['properties'].pop('Signature') + # TODO - Special case, get rid of XML Dsig signature and insert JSON signature + if schema_tuple[0] == 'http://uri.etsi.org/03120/common/2019/10/Core': + logging.info ("Modifying signature elements") + js['$defs']['HI1Message']['properties'].pop('xmldsig:Signature') + js['$defs']['HI1Message']['properties']['Signature'] = json_signature_struct + js_path = output_path / convert_xsd_to_filename(schema_tuple[1]) # TODO - Special case - abstract HI1Object -- GitLab From 5e55f1b394d0adc48474aa8847cdc8ee57d83cd1 Mon Sep 17 00:00:00 2001 From: mark Date: Tue, 10 Oct 2023 09:36:20 +0100 Subject: [PATCH 07/40] Backing out signature changes --- 103120/schema/json/ts_103120_Core.schema.json | 15 +-------------- utils/translate_spec.py | 1 - 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/103120/schema/json/ts_103120_Core.schema.json b/103120/schema/json/ts_103120_Core.schema.json index 63e2ad4..bc75842 100644 --- a/103120/schema/json/ts_103120_Core.schema.json +++ b/103120/schema/json/ts_103120_Core.schema.json @@ -13,20 +13,7 @@ "Payload": { "$ref": "#/$defs/MessagePayload" }, - "Signature": { - "properties": { - "protected": { - "type": "string" - }, - "signature": { - "type": "string" - } - }, - "required": [ - "protected", - "signature" - ] - } + "Signature": {} }, "required": [ "Header", diff --git a/utils/translate_spec.py b/utils/translate_spec.py index ce7a055..8ef393f 100644 --- a/utils/translate_spec.py +++ b/utils/translate_spec.py @@ -87,7 +87,6 @@ if __name__ == "__main__": if schema_tuple[0] == 'http://uri.etsi.org/03120/common/2019/10/Core': logging.info ("Modifying signature elements") js['$defs']['HI1Message']['properties'].pop('xmldsig:Signature') - js['$defs']['HI1Message']['properties']['Signature'] = json_signature_struct js_path = output_path / convert_xsd_to_filename(schema_tuple[1]) -- GitLab From f84ab4e66146ab4bdac55320b1bed978ef9a694f Mon Sep 17 00:00:00 2001 From: znaty Date: Mon, 16 Oct 2023 18:00:30 +0000 Subject: [PATCH 08/40] Update file ts_103120_TrafficPolicy.xsd --- 103120/schema/xsd/ts_103120_TrafficPolicy.xsd | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/103120/schema/xsd/ts_103120_TrafficPolicy.xsd b/103120/schema/xsd/ts_103120_TrafficPolicy.xsd index e201f02..3f710eb 100644 --- a/103120/schema/xsd/ts_103120_TrafficPolicy.xsd +++ b/103120/schema/xsd/ts_103120_TrafficPolicy.xsd @@ -71,4 +71,8 @@ - + + + + + -- GitLab From bfe53463ad11b8526cebb1449e9a217a70770edc Mon Sep 17 00:00:00 2001 From: znaty Date: Mon, 16 Oct 2023 18:04:32 +0000 Subject: [PATCH 09/40] Update file ts_103120_TrafficPolicy.schema.json --- 103120/schema/json/ts_103120_TrafficPolicy.schema.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/103120/schema/json/ts_103120_TrafficPolicy.schema.json b/103120/schema/json/ts_103120_TrafficPolicy.schema.json index 1d9619e..fa09494 100644 --- a/103120/schema/json/ts_103120_TrafficPolicy.schema.json +++ b/103120/schema/json/ts_103120_TrafficPolicy.schema.json @@ -193,6 +193,14 @@ } }, "required": [] + }, + "RCSPolicyCriteria": { + "type": "object", + "properties": { + "tp:CommunicationServiceID": { + "$ref": "ts_103280_2017_07#/$defs/ShortString" + } + }, + "required": [] } - } } \ No newline at end of file -- GitLab From 212fddcaaa6ab039790a5d220ea2e732c7b3f336 Mon Sep 17 00:00:00 2001 From: znaty Date: Mon, 16 Oct 2023 19:32:02 +0000 Subject: [PATCH 10/40] Update file ts_103120_TrafficPolicy.schema.json --- 103120/schema/json/ts_103120_TrafficPolicy.schema.json | 1 + 1 file changed, 1 insertion(+) diff --git a/103120/schema/json/ts_103120_TrafficPolicy.schema.json b/103120/schema/json/ts_103120_TrafficPolicy.schema.json index fa09494..e2eaad2 100644 --- a/103120/schema/json/ts_103120_TrafficPolicy.schema.json +++ b/103120/schema/json/ts_103120_TrafficPolicy.schema.json @@ -203,4 +203,5 @@ }, "required": [] } + } } \ No newline at end of file -- GitLab From 4009733a72a4ea0be197ede7f8cdbc2024c139b6 Mon Sep 17 00:00:00 2001 From: grahamj Date: Tue, 31 Oct 2023 05:29:36 +0000 Subject: [PATCH 11/40] Update file ts_103120_TrafficPolicy.xsd --- 103120/schema/xsd/ts_103120_TrafficPolicy.xsd | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/103120/schema/xsd/ts_103120_TrafficPolicy.xsd b/103120/schema/xsd/ts_103120_TrafficPolicy.xsd index 3f710eb..e9cc901 100644 --- a/103120/schema/xsd/ts_103120_TrafficPolicy.xsd +++ b/103120/schema/xsd/ts_103120_TrafficPolicy.xsd @@ -53,6 +53,7 @@ + @@ -71,8 +72,9 @@ - + - + + -- GitLab From 670619c84b565936f522f84ec4b92c88474006cc Mon Sep 17 00:00:00 2001 From: wernersa <1040-wernersa@users.noreply.forge.etsi.org> Date: Tue, 14 Nov 2023 15:05:59 +0000 Subject: [PATCH 12/40] =?UTF-8?q?TS=20103=20707=20CR0011=20=E2=80=93=20Add?= =?UTF-8?q?ing=20a=20format=20for=20identifiers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 103707/TS_103_707.xsd | 15 ++++++- 103707/examples/example_new_identifier.xml | 49 ++++++++++++++++++++++ testing/xsd_compile_targets.json | 16 ++++++- 3 files changed, 77 insertions(+), 3 deletions(-) create mode 100644 103707/examples/example_new_identifier.xml diff --git a/103707/TS_103_707.xsd b/103707/TS_103_707.xsd index 591007e..9656aec 100644 --- a/103707/TS_103_707.xsd +++ b/103707/TS_103_707.xsd @@ -1,6 +1,7 @@ - + + @@ -66,12 +67,21 @@ - + + + + + + + + + + @@ -101,6 +111,7 @@ + diff --git a/103707/examples/example_new_identifier.xml b/103707/examples/example_new_identifier.xml new file mode 100644 index 0000000..7477baa --- /dev/null +++ b/103707/examples/example_new_identifier.xml @@ -0,0 +1,49 @@ + + +
+ + + + + + + ETSI + EmailAddress + + qualified@example.com + + old_style_unqualified@example.com + + true + + + + + + + ETSI + EmailAddress + + qualified@example.com + + + + + 2019-10-17T06:42:23.000000+01:00 + + + + + http://FooServiceSchema.example.com/schema/v1.1.1/ + + + + Foo + Bar + Baz + + + + + + diff --git a/testing/xsd_compile_targets.json b/testing/xsd_compile_targets.json index 3b28b43..bb4f13e 100644 --- a/testing/xsd_compile_targets.json +++ b/testing/xsd_compile_targets.json @@ -51,5 +51,19 @@ "exampleFiles" : [ "103120/examples/xml" ] - } + }, + { + "coreSchema" : "103707/TS_103_707.xsd", + "supportingSchemas" : [ + "103280/TS_103_280.xsd", + "103120/schema/xsd/ts_103120_Common.xsd", + "103120/schema/xsd/ts_103120_Core.xsd", + "103120/schema/xsd/ts_103120_Task.xsd", + "testing/deps/xmldsig/xmldsig-core-schema.xsd", + "103707/examples/FooServiceSchema.xsd" + ], + "exampleFiles" : [ + "103707/examples" + ] + } ] -- GitLab From 53b76c50bc46077ed3dc1bb388055d9283783bd6 Mon Sep 17 00:00:00 2001 From: Luke Mewburn Date: Tue, 14 Nov 2023 15:06:33 +0000 Subject: [PATCH 13/40] TS 103 280 CR0025 - Add VLAN types --- 103280/TS_103_280.asn1 | 2 ++ 103280/TS_103_280.xsd | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/103280/TS_103_280.asn1 b/103280/TS_103_280.asn1 index 0bf5202..1bdad3b 100644 --- a/103280/TS_103_280.asn1 +++ b/103280/TS_103_280.asn1 @@ -93,4 +93,6 @@ NAI ::= UTF8String IPProtocol ::= INTEGER (0..255) +VLANID ::= INTEGER (0..4095) + END diff --git a/103280/TS_103_280.xsd b/103280/TS_103_280.xsd index 66a4d64..dd4a683 100644 --- a/103280/TS_103_280.xsd +++ b/103280/TS_103_280.xsd @@ -272,4 +272,10 @@ + + + + + + -- GitLab From 836b207866d0664207bd169c325fddfcfcf7c178 Mon Sep 17 00:00:00 2001 From: rengasamis Date: Tue, 14 Nov 2023 15:09:49 +0000 Subject: [PATCH 14/40] =?UTF-8?q?TS=20103=20221-1=20CR055=20-=20Extensions?= =?UTF-8?q?=20for=20ReportTaskIssue=20and=20ReportNEIssue=20=E2=80=93=2022?= =?UTF-8?q?1-1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 103221-1/TS_103_221_01.xsd | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/103221-1/TS_103_221_01.xsd b/103221-1/TS_103_221_01.xsd index 4bc8a14..0c13e8d 100644 --- a/103221-1/TS_103_221_01.xsd +++ b/103221-1/TS_103_221_01.xsd @@ -354,6 +354,16 @@ + + + + + + + + + + @@ -776,6 +786,7 @@ + @@ -833,6 +844,7 @@ + -- GitLab From 5918e8103530a9e816001396ff88d3f97c90e621 Mon Sep 17 00:00:00 2001 From: canterburym Date: Tue, 14 Nov 2023 15:12:26 +0000 Subject: [PATCH 15/40] TS 103 120 CR052 - Signing JSON documents --- 103120/examples/json/request1_signed.json | 100 +++++++++++ 103120/schema/json/ts_103120_Core.schema.json | 16 +- presigned.json | 100 +++++++++++ utils/json_validator.py | 156 ++++++++++++++++++ utils/sign_json.py | 57 +++++++ utils/translate_spec.py | 22 ++- utils/validate_json.py | 122 -------------- utils/verify_json.py | 54 ++++++ 8 files changed, 496 insertions(+), 131 deletions(-) create mode 100644 103120/examples/json/request1_signed.json create mode 100644 presigned.json create mode 100644 utils/json_validator.py create mode 100644 utils/sign_json.py delete mode 100644 utils/validate_json.py create mode 100644 utils/verify_json.py diff --git a/103120/examples/json/request1_signed.json b/103120/examples/json/request1_signed.json new file mode 100644 index 0000000..4339ce3 --- /dev/null +++ b/103120/examples/json/request1_signed.json @@ -0,0 +1,100 @@ +{ + "@xmlns": "http://uri.etsi.org/03120/common/2019/10/Core", + "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", + "@xmlns:common": "http://uri.etsi.org/03120/common/2016/02/Common", + "@xmlns:task": "http://uri.etsi.org/03120/common/2020/09/Task", + "@xmlns:auth": "http://uri.etsi.org/03120/common/2020/09/Authorisation", + "Header": { + "SenderIdentifier": { + "CountryCode": "XX", + "UniqueIdentifier": "ACTOR01" + }, + "ReceiverIdentifier": { + "CountryCode": "XX", + "UniqueIdentifier": "ACTOR02" + }, + "TransactionIdentifier": "c02358b2-76cf-4ba4-a8eb-f6436ccaea2e", + "Timestamp": "2015-09-01T12:00:00.000000Z", + "Version": { + "ETSIVersion": "V1.13.1", + "NationalProfileOwner": "XX", + "NationalProfileVersion": "v1.0" + } + }, + "Payload": { + "RequestPayload": { + "ActionRequests": { + "ActionRequest": [ + { + "ActionIdentifier": 0, + "CREATE": { + "HI1Object": { + "@xsi:type": "{http://uri.etsi.org/03120/common/2020/09/Authorisation}AuthorisationObject", + "ObjectIdentifier": "7dbbc880-8750-4d3c-abe7-ea4a17646045", + "CountryCode": "XX", + "OwnerIdentifier": "ACTOR01", + "auth:AuthorisationReference": "W000001", + "auth:AuthorisationTimespan": { + "auth:StartTime": "2015-09-01T12:00:00Z", + "auth:EndTime": "2015-12-01T12:00:00Z" + } + } + } + }, + { + "ActionIdentifier": 1, + "CREATE": { + "HI1Object": { + "@xsi:type": "{http://uri.etsi.org/03120/common/2020/09/Task}LITaskObject", + "ObjectIdentifier": "2b36a78b-b628-416d-bd22-404e68a0cd36", + "CountryCode": "XX", + "OwnerIdentifier": "ACTOR01", + "AssociatedObjects": { + "AssociatedObject": [ + "7dbbc880-8750-4d3c-abe7-ea4a17646045" + ] + }, + "task:Reference": "LIID1", + "task:TargetIdentifier": { + "task:TargetIdentifierValues": { + "task:TargetIdentifierValue": [ + { + "task:FormatType": { + "task:FormatOwner": "ETSI", + "task:FormatName": "InternationalE164" + }, + "task:Value": "442079460223" + } + ] + } + }, + "task:DeliveryType": { + "common:Owner": "ETSI", + "common:Name": "TaskDeliveryType", + "common:Value": "IRIandCC" + }, + "task:DeliveryDetails": { + "task:DeliveryDestination": [ + { + "task:DeliveryAddress": { + "task:IPv4Address": "192.0.2.0" + } + } + ] + }, + "task:CSPID": { + "CountryCode": "XX", + "UniqueIdentifier": "RECVER01" + } + } + } + } + ] + } + } + }, + "Signature": { + "protected": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9", + "signature": "RImkRSJkh46537Bh4LpNbkL2O64jInUv0JLGeoKJ-2M" + } +} diff --git a/103120/schema/json/ts_103120_Core.schema.json b/103120/schema/json/ts_103120_Core.schema.json index 8225cf3..63e2ad4 100644 --- a/103120/schema/json/ts_103120_Core.schema.json +++ b/103120/schema/json/ts_103120_Core.schema.json @@ -13,9 +13,19 @@ "Payload": { "$ref": "#/$defs/MessagePayload" }, - "Signature": {}, - "xmldsig:Signature": { - "$ref": "www.w3.org_2000_09_xmldsig##/$defs/SignatureType" + "Signature": { + "properties": { + "protected": { + "type": "string" + }, + "signature": { + "type": "string" + } + }, + "required": [ + "protected", + "signature" + ] } }, "required": [ diff --git a/presigned.json b/presigned.json new file mode 100644 index 0000000..16329e0 --- /dev/null +++ b/presigned.json @@ -0,0 +1,100 @@ +{ + "@xmlns": "http://uri.etsi.org/03120/common/2019/10/Core", + "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", + "@xmlns:common": "http://uri.etsi.org/03120/common/2016/02/Common", + "@xmlns:task": "http://uri.etsi.org/03120/common/2020/09/Task", + "@xmlns:auth": "http://uri.etsi.org/03120/common/2020/09/Authorisation", + "Header": { + "SenderIdentifier": { + "CountryCode": "XX", + "UniqueIdentifier": "ACTOR01" + }, + "ReceiverIdentifier": { + "CountryCode": "XX", + "UniqueIdentifier": "ACTOR02" + }, + "TransactionIdentifier": "c02358b2-76cf-4ba4-a8eb-f6436ccaea2e", + "Timestamp": "2015-09-01T12:00:00.000000Z", + "Version": { + "ETSIVersion": "V1.13.1", + "NationalProfileOwner": "XX", + "NationalProfileVersion": "v1.0" + } + }, + "Payload": { + "RequestPayload": { + "ActionRequests": { + "ActionRequest": [ + { + "ActionIdentifier": 0, + "CREATE": { + "HI1Object": { + "@xsi:type": "{http://uri.etsi.org/03120/common/2020/09/Authorisation}AuthorisationObject", + "ObjectIdentifier": "7dbbc880-8750-4d3c-abe7-ea4a17646045", + "CountryCode": "XX", + "OwnerIdentifier": "ACTOR01", + "auth:AuthorisationReference": "W000001", + "auth:AuthorisationTimespan": { + "auth:StartTime": "2015-09-01T12:00:00Z", + "auth:EndTime": "2015-12-01T12:00:00Z" + } + } + } + }, + { + "ActionIdentifier": 1, + "CREATE": { + "HI1Object": { + "@xsi:type": "{http://uri.etsi.org/03120/common/2020/09/Task}LITaskObject", + "ObjectIdentifier": "2b36a78b-b628-416d-bd22-404e68a0cd36", + "CountryCode": "XX", + "OwnerIdentifier": "ACTOR01", + "AssociatedObjects": { + "AssociatedObject": [ + "7dbbc880-8750-4d3c-abe7-ea4a17646045" + ] + }, + "task:Reference": "LIID1", + "task:TargetIdentifier": { + "task:TargetIdentifierValues": { + "task:TargetIdentifierValue": [ + { + "task:FormatType": { + "task:FormatOwner": "ETSI", + "task:FormatName": "InternationalE164" + }, + "task:Value": "442079460223" + } + ] + } + }, + "task:DeliveryType": { + "common:Owner": "ETSI", + "common:Name": "TaskDeliveryType", + "common:Value": "IRIandCC" + }, + "task:DeliveryDetails": { + "task:DeliveryDestination": [ + { + "task:DeliveryAddress": { + "task:IPv4Address": "192.0.2.0" + } + } + ] + }, + "task:CSPID": { + "CountryCode": "XX", + "UniqueIdentifier": "RECVER01" + } + } + } + } + ] + } + } + }, + "Signature": { + "protected": "", + "signature": "" + } +} \ No newline at end of file diff --git a/utils/json_validator.py b/utils/json_validator.py new file mode 100644 index 0000000..fb46193 --- /dev/null +++ b/utils/json_validator.py @@ -0,0 +1,156 @@ +import sys +from jsonschema import validate, RefResolver, Draft202012Validator +from jsonschema.exceptions import ValidationError +import json +from pathlib import Path +import logging +import argparse +from itertools import chain + +class JsonValidator: + def __init__(self, core_schema: str, other_schemas : dict): + self._core_schema = json.load(Path(core_schema).open()) + self._schema_dict = { self._core_schema['$id'] : self._core_schema } + self._supporting_paths = [] + for thing in other_schemas: + path = Path(thing) + if path.is_dir(): + logging.debug(f"Searching {path} for schema files") + self._supporting_paths.extend(path.rglob("*.schema.json")) + else: + logging.debug(f"Appending {path} as schema file") + self._supporting_paths.append(path) + logging.info(f"Supporting schema paths: {self._supporting_paths}") + self._supporting_schemas = [json.load(p.open()) for p in self._supporting_paths] + self._schema_dict = self._schema_dict | { s['$id'] : s for s in self._supporting_schemas } + logging.info(f"Loaded schema IDs: {[k for k in self._schema_dict.keys()]}") + self._resolver = RefResolver(None, + referrer=None, + store=self._schema_dict) + logging.info("Created RefResolver") + self._validator = Draft202012Validator(self._core_schema, resolver=self._resolver) + logging.info("Created validator") + + def validate(self, instance_doc: str): + errors = list(self._validator.iter_errors(instance_doc)) + return errors + +class TS103120Validator (JsonValidator): + def __init__ (self, path_to_repo): + repo_path = Path(path_to_repo) + schema_dirs = [str(repo_path / "103120/schema/json"), str("103280/")] + core_schema = str(repo_path / "103120/schema/json/ts_103120_Core.schema.json") + JsonValidator.__init__(self, core_schema, schema_dirs) + request_fragment_schema = { "$ref" : "ts_103120_Core_2019_10#/$defs/RequestPayload" } + self._request_fragment_validator = Draft202012Validator(request_fragment_schema, resolver=self._resolver) + response_fragment_schema = { "$ref" : "ts_103120_Core_2019_10#/$defs/ResponsePayload" } + self._response_fragment_validator = Draft202012Validator(response_fragment_schema, resolver=self._resolver) + + def expand_request_response_exception (self, ex): + if list(ex.schema_path) == ['properties', 'Payload', 'oneOf']: + logging.info ("Error detected validating payload oneOf - attempting explicit validation...") + if 'RequestPayload' in instance_doc['Payload'].keys(): + ret_list = list(chain(*[self.expand_action_exception(x) for x in self._request_fragment_validator.iter_errors(instance_doc['Payload']['RequestPayload'])])) + for r in ret_list: + r.path = ex.path + r.path + return ret_list + elif 'ResponsePayload' in instance_doc['Payload'].keys(): + ret_list = list(chain(*[self.expand_action_exception(x) for x in self._request_fragment_validator.iter_errors(instance_doc['Payload']['ResponsePayload'])])) + for r in ret_list: + r.path = ex.path + r.path + return ret_list + else: + logging.error("No RequestPayload or ResponsePayload found - is the Payload malformed?") + return [ex] + else: + return [ex] + + def expand_action_exception (self, ex): + logging.error("Error detected in ActionRequests/ActionResponses") + error_path = list(ex.schema_path) + if error_path != ['properties', 'ActionRequests', 'properties', 'ActionRequest', 'items', 'allOf', 1, 'oneOf'] and error_path != ['properties', 'ActionResponses', 'properties', 'ActionResponse', 'items', 'allOf', 1, 'oneOf']: + logging.error("Error not in inner Request/Response allOf/oneOf constraint") + return[ex] + j = ex.instance + j.pop('ActionIdentifier') # Remove ActionIdentifier - one remaining key will be the verb + verb = list(j.keys())[0] + message = "Request" if error_path[1] == "ActionRequests" else "Response" + v = Draft202012Validator({"$ref" : f"ts_103120_Core_2019_10#/$defs/{verb}{message}"}, resolver=self._resolver) + ret_list = list(chain(*[self.expand_object_exception(x) for x in v.iter_errors(j[verb])])) + for r in ret_list: + r.path = ex.path + r.path + return ret_list + + def expand_object_exception (self, ex): + logging.error("Error detected in verb") + # The final level of validation is for the actual HI1Object validation + if list(ex.schema_path) != ['properties', 'HI1Object', 'oneOf']: + logging.error("Error not inside HI1Object") + return [ex] + object_type = ex.instance['@xsi:type'].split('}')[-1] + object_ref = { + 'AuthorisationObject': 'ts_103120_Authorisation_2020_09#/$defs/AuthorisationObject', + 'LITaskObject': 'ts_103120_Task_2020_09#/$defs/LITaskObject', + 'LDTaskObject': 'ts_103120_Task_2020_09#/$defs/LDTaskObject', + 'LPTaskObject': 'ts_103120_Task_2020_09#/$defs/LPTaskObject', + 'DocumentObject': 'ts_103120_Document_2020_09#/$defs/DocumentObject', + 'NotificationObject': 'ts_103120_Notification_2016_02#/$defs/NotificationObject', + 'DeliveryObject': 'ts_103120_Delivery_2019_10#/$defs/DeliveryObject', + 'TrafficPolicyObject': 'ts_103120_TrafficPolicy_2022_07#/$defs/TrafficPolicyObject', + 'TrafficRuleObject': 'ts_103120_TrafficPolicy_2022_07#/$defs/TrafficRuleObject', + }[object_type] + v = Draft202012Validator({"$ref" : object_ref}, resolver=self._resolver) + return list(v.iter_errors(ex.instance)) + + def validate(self, instance_doc: str): + errors = JsonValidator.validate(self, instance_doc) + out_errors = list(chain(*[self.expand_request_response_exception(ex) for ex in errors])) + return out_errors + + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + + parser.add_argument('-s','--schemadir', action="append", help="Directory containing supporting schema files to use for validation") + parser.add_argument('-v', '--verbose', action="count", help="Verbose logging (can be specified multiple times)") + parser.add_argument('-i', '--input', type=argparse.FileType('r'), default=sys.stdin, help="Path to input file (if absent, stdin is used)") + parser.add_argument('--ts103120', action="store_true", help="Validate a TS 103 120 JSON document") + parser.add_argument('--schema', default=None, help="Primary schema to validate against") + parser.add_argument('-p', '--printerror', action="count", help="Controls how verbose validation error printing is (can be specified multiple times)") + args = parser.parse_args() + + match args.verbose: + case v if v and v >= 2: + logging.basicConfig(level=logging.DEBUG) + case 1: + logging.basicConfig(level=logging.INFO) + case _: + logging.basicConfig(level=logging.WARNING) + + logging.debug(f"Arguments: {args}") + + if (args.ts103120): + v = TS103120Validator("./") + else: + v = JsonValidator(args.schema, args.schemadir) + + logging.info(f"Taking instance doc input from {args.input.name}") + instance_doc = json.loads(args.input.read()) + args.input.close() + + errors = v.validate(instance_doc) + for error in errors: + if args.printerror == 2: + logging.error(error) + elif args.printerror == 1: + logging.error(f"{list(error.path)} - {error.message}") + if len(errors) > 0: + logging.error(f"{len(errors)} errors detected") + else: + logging.info(f"{len(errors)} errors detected") + + if len(errors) > 0: + exit(-1) + else: + exit(0) diff --git a/utils/sign_json.py b/utils/sign_json.py new file mode 100644 index 0000000..1ce0bba --- /dev/null +++ b/utils/sign_json.py @@ -0,0 +1,57 @@ + +import argparse +import logging +import sys +from jose import jws +from pathlib import Path + +import json + + +def insert_sig_block (j): + j['Signature'] = { + 'protected' : '', + 'signature' : '' + } + return j + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument('-v', '--verbose', action='count', help='Verbose logging (can be specified multiple times)') + parser.add_argument('--pretty', action="store_true", help='Pretty-print the JSON document before signing') + parser.add_argument('-i', '--input', type=argparse.FileType('r'), default=sys.stdin, help="Path to input file (if absent, stdin is used)") + args = parser.parse_args() + + match args.verbose: + case v if v and v >= 2: + logging.basicConfig(level=logging.DEBUG) + case 1: + logging.basicConfig(level=logging.INFO) + case _: + logging.basicConfig(level=logging.WARNING) + + logging.debug(f"Arguments: {args}") + + json_text = args.input.read() + args.input.close() + + j = json.loads(json_text) + j = insert_sig_block(j) + + indent = None + if args.pretty: + indent = ' ' + presigned_json_text = json.dumps(j, indent=indent) + Path('presigned.json').write_text(presigned_json_text) + presigned_json_bytes = presigned_json_text.encode('utf-8') + + signed = jws.sign(presigned_json_bytes, 'secret_key', algorithm="HS256") + components = signed.split('.') + + j['Signature']['protected'] = components[0] + j['Signature']['signature'] = components[2] + + signed_json_text = json.dumps(j, indent=indent) + print(signed_json_text) + + diff --git a/utils/translate_spec.py b/utils/translate_spec.py index eac24e4..ce7a055 100644 --- a/utils/translate_spec.py +++ b/utils/translate_spec.py @@ -10,6 +10,14 @@ from translate import * logging.basicConfig(level = logging.INFO) +json_signature_struct = { + "properties" : { + "protected" : { "type" : "string" }, + "signature" : { "type" : "string" } + }, + "required" : ["protected", "signature" ] +} + def build_schema_locations (paths): schema_locations = [] for schemaFile in paths: @@ -70,15 +78,17 @@ if __name__ == "__main__": json_schemas = {} for schema_tuple in schema_locations: logging.info(f" Translating {schema_tuple}") - if 'xmldsig' in (schema_tuple[1]): - # TODO - work out what to do here - logging.info(" Skipping XML Dsig...") + if 'skip' in ns_map[schema_tuple[0]]: + logging.info(f" Skipping {schema_tuple[0]}...") continue js = translate_schema(schema_tuple[1], ns_map, schema_locations) - # TODO - Special case, get rid of signature - if ns_map[schema_tuple[0]] == 'core.json': - js['$defs']['HI1Message']['properties'].pop('Signature') + # TODO - Special case, get rid of XML Dsig signature and insert JSON signature + if schema_tuple[0] == 'http://uri.etsi.org/03120/common/2019/10/Core': + logging.info ("Modifying signature elements") + js['$defs']['HI1Message']['properties'].pop('xmldsig:Signature') + js['$defs']['HI1Message']['properties']['Signature'] = json_signature_struct + js_path = output_path / convert_xsd_to_filename(schema_tuple[1]) # TODO - Special case - abstract HI1Object diff --git a/utils/validate_json.py b/utils/validate_json.py deleted file mode 100644 index 43f460b..0000000 --- a/utils/validate_json.py +++ /dev/null @@ -1,122 +0,0 @@ -import sys -from jsonschema import validate, RefResolver, Draft202012Validator -from jsonschema.exceptions import ValidationError -import json -from pathlib import Path -import logging -import argparse - - -def handle_uri(u): - print(u) - -def load_json(path : str): - with open(path) as f: - return json.load(f) - -if __name__ == "__main__": - parser = argparse.ArgumentParser() - - parser.add_argument('-s','--schemadir', action="append", help="Directory containing supporting schema files to use for validation") - parser.add_argument('-v', '--verbose', action="count", help="Verbose logging (can be specified multiple times)") - parser.add_argument('-i', '--input', type=argparse.FileType('r'), default=sys.stdin, help="Path to input file (if absent, stdin is used)") - parser.add_argument('schema', help="Primary schema to validate against") - - args = parser.parse_args() - - match args.verbose: - case v if v and v >= 2: - logging.basicConfig(level=logging.DEBUG) - case 1: - logging.basicConfig(level=logging.INFO) - case _: - logging.basicConfig(level=logging.WARNING) - - logging.debug(f"Arguments: {args}") - - instance_doc = json.loads(args.input.read()) - args.input.close() - main_schema = load_json(args.schema) - schema_dict = { main_schema['$id'] : main_schema } - - if args.schemadir: - schema_paths = [] - for d in args.schemadir: - logging.info(f"Searching {d}") - logging.info(list(Path(d).rglob("*.schema.json"))) - schema_paths += [f for f in Path(d).rglob("*.schema.json")] - logging.info(f"Schema files loaded: {schema_paths}") - - schemas_json = [json.load(p.open()) for p in schema_paths] - schema_dict = schema_dict | { s['$id'] : s for s in schemas_json } - - logging.info(f"Schema IDs loaded: {[k for k in schema_dict.keys()]}") - - logging.debug (f"Instance doc: {instance_doc}") - logging.debug (f"Main schema: {main_schema}") - - resolver = RefResolver(None, - referrer=None, - store=schema_dict) - - v = Draft202012Validator(main_schema, resolver=resolver) - try: - v.validate(instance_doc) - except ValidationError as ex: - # Any failure within the Payload element results in a failure against the oneOf constraint in the Payload element - # This isn't terribly helpful in working out what is actually wrong, so in this case we attempt an explicit - # validation against the relevant oneOf alternation to try and get a more useful validation error - if list(ex.schema_path) == ['properties', 'Payload', 'oneOf']: - logging.error ("Error detected validating payload oneOf - attempting explicit validation...") - try: - if 'RequestPayload' in instance_doc['Payload'].keys(): - request_fragment_schema = { "$ref" : "ts_103120_Core_2019_10#/$defs/RequestPayload" } - v = Draft202012Validator(request_fragment_schema, resolver=resolver) - v.validate(instance_doc['Payload']['RequestPayload']) - elif 'ResponsePayload' in instance_doc['Payload'].keys(): - request_fragment_schema = { "$ref" : "ts_103120_Core_2019_10#/$defs/ResponsePayload" } - v = Draft202012Validator(request_fragment_schema, resolver=resolver) - v.validate(instance_doc['Payload']['ResponsePayload']) - else: - logging.error("No RequestPayload or ResponsePayload found - is the Payload malformed?") - raise ex - except ValidationError as ex2: - # Similar to above, this is inner validation to try and get a more useful error in the event - # that something fails the verb oneOf constraint - logging.error("Error detected in ActionRequests/ActionResponses") - error_path = list(ex2.schema_path) - if error_path != ['properties', 'ActionRequests', 'properties', 'ActionRequest', 'items', 'allOf', 1, 'oneOf'] and error_path != ['properties', 'ActionResponses', 'properties', 'ActionResponse', 'items', 'allOf', 1, 'oneOf']: - logging.error("Error not in inner Request/Response allOf/oneOf constraint") - raise ex2 - j = ex2.instance - j.pop('ActionIdentifier') # Remove ActionIdentifier - one remaining key will be the verb - verb = list(j.keys())[0] - message = "Request" if error_path[1] == "ActionRequests" else "Response" - v = Draft202012Validator({"$ref" : f"ts_103120_Core_2019_10#/$defs/{verb}{message}"}, resolver=resolver) - try: - v.validate(j[verb]) - except ValidationError as ex3: - logging.error("Error detected in verb") - # The final level of validation is for the actual HI1Object validation - if list(ex3.schema_path) != ['properties', 'HI1Object', 'oneOf']: - logging.error("Error not inside HI1Object") - raise ex3 - object_type = ex3.instance['@xsi:type'].split('}')[-1] - object_ref = { - 'AuthorisationObject': 'ts_103120_Authorisation_2020_09#/$defs/AuthorisationObject', - 'LITaskObject': 'ts_103120_Task_2020_09#/$defs/LITaskObject', - 'LDTaskObject': 'ts_103120_Task_2020_09#/$defs/LDTaskObject', - 'LPTaskObject': 'ts_103120_Task_2020_09#/$defs/LPTaskObject', - 'DocumentObject': 'ts_103120_Document_2020_09#/$defs/DocumentObject', - 'NotificationObject': 'ts_103120_Notification_2016_02#/$defs/NotificationObject', - 'DeliveryObject': 'ts_103120_Delivery_2019_10#/$defs/DeliveryObject', - 'TrafficPolicyObject': 'ts_103120_TrafficPolicy_2022_07#/$defs/TrafficPolicyObject', - 'TrafficRuleObject': 'ts_103120_TrafficPolicy_2022_07#/$defs/TrafficRuleObject', - }[object_type] - v = Draft202012Validator({"$ref" : object_ref}, resolver=resolver) - v.validate(ex3.instance) - - exit(-1) - - - logging.info("Done") diff --git a/utils/verify_json.py b/utils/verify_json.py new file mode 100644 index 0000000..329c069 --- /dev/null +++ b/utils/verify_json.py @@ -0,0 +1,54 @@ + +import argparse +import sys +import logging +import base64 +from jose import jws +from pathlib import Path + +import json + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument('-v', '--verbose', action='count', help='Verbose logging (can be specified multiple times)') + parser.add_argument('-i', '--input', type=argparse.FileType('r'), default=sys.stdin, help="Path to input file (if absent, stdin is used)") + args = parser.parse_args() + + match args.verbose: + case v if v and v >= 2: + logging.basicConfig(level=logging.DEBUG) + case 1: + logging.basicConfig(level=logging.INFO) + case _: + logging.basicConfig(level=logging.WARNING) + + logging.debug(f"Arguments: {args}") + + signed_json_text = args.input.read() + args.input.close() + + j = json.loads(signed_json_text) + + protected_header = j['Signature']['protected'] + signature = j['Signature']['signature'] + + # TODO some safety checks needed here + + # Remove the newline that appears from the console + if signed_json_text.endswith('\n'): signed_json_text = signed_json_text[:-1] + signed_json_text = signed_json_text.replace(protected_header, "").replace(signature, "") + + payload_bytes = signed_json_text.encode('utf-8') + payload_token = base64.b64encode(payload_bytes).decode('ascii') + + # Un-pad the token, as per RFC7515 annex C + payload_token = payload_token.split('=')[0] + payload_token = payload_token.replace('+','-') + payload_token = payload_token.replace('/','_') + + token = protected_header + "." + payload_token + "." + signature + result = jws.verify(token, key="secret_key", algorithms=['HS256']) + + print("Signature verified") + -- GitLab From f494af9c9c0697f21618fb768a7a207cbcf7d7cf Mon Sep 17 00:00:00 2001 From: znaty Date: Tue, 14 Nov 2023 15:13:33 +0000 Subject: [PATCH 16/40] TS 103 120 CR 054 - Add Ethernet Scoping --- 103120/schema/xsd/ts_103120_TrafficPolicy.xsd | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/103120/schema/xsd/ts_103120_TrafficPolicy.xsd b/103120/schema/xsd/ts_103120_TrafficPolicy.xsd index e201f02..ff26654 100644 --- a/103120/schema/xsd/ts_103120_TrafficPolicy.xsd +++ b/103120/schema/xsd/ts_103120_TrafficPolicy.xsd @@ -53,6 +53,7 @@ + @@ -71,4 +72,22 @@ + + + + + + + + + + + + + + + + + + -- GitLab From 480bdc768a6345491fdeaeac811761f38068c2ce Mon Sep 17 00:00:00 2001 From: chavanne Date: Tue, 14 Nov 2023 15:21:23 +0000 Subject: [PATCH 17/40] TS 102 657 CR144 RAT5Type alignment with TS 129 571 --- 102657/RDMessage.asn | 7 ++++++- 102657/RDMessage.xsd | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/102657/RDMessage.asn b/102657/RDMessage.asn index 2276642..04cc8ce 100644 --- a/102657/RDMessage.asn +++ b/102657/RDMessage.asn @@ -3204,7 +3204,12 @@ RAT5Type ::= ENUMERATED trustedN3GA(13), trustedWLAN(14), uTRA(15), - gERA(16) + gERA(16), + nRLEO(17), + nRMEO(18), + nRGEO(19), + nROTHERSAT(20), + nRREDCAP(21) } AMFID ::= SEQUENCE diff --git a/102657/RDMessage.xsd b/102657/RDMessage.xsd index f5bd974..5dd3111 100644 --- a/102657/RDMessage.xsd +++ b/102657/RDMessage.xsd @@ -2449,6 +2449,11 @@ + + + + + -- GitLab From 2c78b98f15d0d073e69ddfc9e0cc11605ca1049e Mon Sep 17 00:00:00 2001 From: Luke Mewburn Date: Tue, 14 Nov 2023 15:21:47 +0000 Subject: [PATCH 18/40] 102232-4 CR 016 - Truncated datagrams in l2CCContents --- 102232-4/L2AccessPDU.asn | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/102232-4/L2AccessPDU.asn b/102232-4/L2AccessPDU.asn index 23b97e0..93ec063 100644 --- a/102232-4/L2AccessPDU.asn +++ b/102232-4/L2AccessPDU.asn @@ -27,24 +27,45 @@ L2CC ::= SEQUENCE l2CCObjId [0] RELATIVE-OID, l2CCContents [1] CHOICE { - l2TP [1] OCTET STRING, + l2TP [1] OCTET STRING, -- The L2TP protocol is used - l2F [2] OCTET STRING, + l2F [2] OCTET STRING, -- The L2F protocol is used - pPTP [3] OCTET STRING, + pPTP [3] OCTET STRING, -- The PPTP protocol is used - pPP [4] OCTET STRING, + pPP [4] OCTET STRING, -- The PPP protocol is used - ethernet [5] OCTET STRING, + ethernet [5] OCTET STRING, -- The ethernet protocol is used ..., - l2ATM2684 [6] OCTET STRING, + l2ATM2684 [6] OCTET STRING, -- The protocol RFC 2684, method "LLC Encapsulation for Bridged Protocols" [16] is used - l2FR2427 [7] OCTET STRING + l2FR2427 [7] OCTET STRING, -- The protocol RFC 2427 "Multiprotocol Interconnect over Frame Relay" [18] is used + truncatedL2TP [8] L2TruncatedDatagram, + -- truncated l2TP[1] + truncatedL2F [9] L2TruncatedDatagram, + -- truncated l2F[2] + truncatedPPTP [10] L2TruncatedDatagram, + -- truncated pPTP[3] + truncatedPPP [11] L2TruncatedDatagram, + -- truncated pPP[4] + truncatedEthernet [12] L2TruncatedDatagram, + -- truncated ethernet[5] + truncatedL2ATM2684 [13] L2TruncatedDatagram, + -- truncated l2ATM2684[6] + truncatedL2FR2427 [14] L2TruncatedDatagram + -- truncated l2FR2427[7] } } +L2TruncatedDatagram ::= SEQUENCE +{ + truncatedDatagram [0] OCTET STRING, + originalLength [1] INTEGER, + ... +} + -- =================================================== -- Intercept-related information for general L2-Access -- =================================================== -- GitLab From fa2a3c938cf9419430f9d4488bf74efe504cb9f7 Mon Sep 17 00:00:00 2001 From: Luke Mewburn Date: Tue, 14 Nov 2023 15:22:20 +0000 Subject: [PATCH 19/40] 102232-3 CR 045 - Truncated packets in IPCCContents --- 102232-3/IPAccessPDU.asn | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/102232-3/IPAccessPDU.asn b/102232-3/IPAccessPDU.asn index 8080b90..f13a317 100644 --- a/102232-3/IPAccessPDU.asn +++ b/102232-3/IPAccessPDU.asn @@ -38,6 +38,14 @@ IPCC ::= SEQUENCE IPCCContents ::= CHOICE { iPPackets [0] OCTET STRING, + ..., + iPTruncatedPacket [1] IPTruncatedPacket +} + +IPTruncatedPacket ::= SEQUENCE +{ + truncatedPacket [0] OCTET STRING, + originalLength [1] INTEGER OPTIONAL, ... } -- GitLab From d682c96f2b8c054f1c4570de3bda137c9dffc9e8 Mon Sep 17 00:00:00 2001 From: Luke Mewburn Date: Tue, 17 Oct 2023 14:56:12 +1100 Subject: [PATCH 20/40] TS 102 232-1 CR0107 Import active modules from TS 101 671 Copy the ASN.1 modules from TS 101 671 V3.15.1 (2018-06) (historical) still used by TS 102 232-1 and imports of the latter, adapted to the naming convention here: HI1NotificationOperations,ver7.txt as HI1NotificationOperations.asn HI2Operations,ver18.txt as HI2Operations.asn --- 102232-1/HI1NotificationOperations.asn | 128 +++ 102232-1/HI2Operations.asn | 1035 ++++++++++++++++++++++++ 2 files changed, 1163 insertions(+) create mode 100644 102232-1/HI1NotificationOperations.asn create mode 100644 102232-1/HI2Operations.asn diff --git a/102232-1/HI1NotificationOperations.asn b/102232-1/HI1NotificationOperations.asn new file mode 100644 index 0000000..4301b3b --- /dev/null +++ b/102232-1/HI1NotificationOperations.asn @@ -0,0 +1,128 @@ +HI1NotificationOperations +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version7(7)} + +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +IMPORTS + OPERATION, + ERROR + FROM Remote-Operations-Information-Objects + {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} + + -- from clause D.5 + CommunicationIdentifier, + TimeStamp, + LawfulInterceptionIdentifier + FROM HI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version10(10)}; + +-- ============================= +-- Object Identifier Definitions +-- ============================= + +-- LawfulIntercept DomainId +lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2)} + +-- hi1 Domain +hi1NotificationOperationsId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi1(0) notificationOperations(1)} +hi1OperationId OBJECT IDENTIFIER ::= {hi1NotificationOperationsId version6(6)} + +sending-of-HI1-Notification OPERATION ::= +{ + ARGUMENT HI1-Operation + ERRORS {ErrorHI1Notifications} + CODE global:{hi1NotificationOperationsId version1(1)} +} +-- Class 2 operation. The timer shall be set to a value between 3s and 240s. +-- The timer default value is 60s. +-- NOTE: The value for this timer is to be set on the equipment waiting for the returned message; +-- its value shall be agreed between the NWO/AP/SvP and the LEA, depending on their equipment +-- properties. + +other-failure-causes ERROR ::= {CODE local:0} +missing-parameter ERROR ::= {CODE local:1} +unknown-parameter ERROR ::= {CODE local:2} +erroneous-parameter ERROR ::= {CODE local:3} + +ErrorHI1Notifications ERROR ::= +{ + other-failure-causes | + missing-parameter | + unknown-parameter | + erroneous-parameter +} + +HI1-Operation ::= CHOICE +{ + liActivated [1] Notification, + liDeactivated [2] Notification, + liModified [3] Notification, + alarms-indicator [4] Alarm-Indicator, + ..., + national-HI1-ASN1parameters [5] National-HI1-ASN1parameters +} + +-- ================== +-- PARAMETERS FORMATS +-- ================== + +Notification ::= SEQUENCE +{ + domainID [0] OBJECT IDENTIFIER (hi1OperationId) OPTIONAL, + -- Once using FTP delivery mechanism + lawfulInterceptionIdentifier [1] LawfulInterceptionIdentifier, + -- This identifier is the LIID identity provided with the lawful authorization + -- for each target. + communicationIdentifier [2] CommunicationIdentifier OPTIONAL, + -- Only the NWO/PA/SvPIdentifier is provided (the one provided with the Lawful + -- authorization). + -- Called "callIdentifier" in V1.1.1 of ES 201 671 + timeStamp [3] TimeStamp, + -- date and time of the report. + ..., + national-HI1-ASN1parameters [5] National-HI1-ASN1parameters OPTIONAL, + target-Information [6] OCTET STRING (SIZE (1..256)) OPTIONAL + -- provides information about the number or the characteristic of the target + -- (e.g. E-mail address, E.164 number), ASCII format +} + +Alarm-Indicator ::= SEQUENCE +{ + domainID [0] OBJECT IDENTIFIER (hi1OperationId) OPTIONAL, + -- Once using FTP delivery mechanism + communicationIdentifier [1] CommunicationIdentifier OPTIONAL, + -- Only the NWO/PA/SvPIdentifier is provided (the one provided with the + -- Lawful authorization) + timeStamp [2] TimeStamp, + -- date and time of the report. + alarm-information [3] OCTET STRING (SIZE (1..256)), + -- Provides information about alarms (free format). + -- Until ASN.1 version 6 (document version v3.12.1) the octet string + -- was limited to a size of 25 + ..., + lawfulInterceptionIdentifier [4] LawfulInterceptionIdentifier OPTIONAL, + -- This identifier is the LIID identity provided with the lawful authorization + -- for each target in according to national law. + national-HI1-ASN1parameters [5] National-HI1-ASN1parameters OPTIONAL +} + +National-HI1-ASN1parameters ::= SEQUENCE +{ + domainID [0] OBJECT IDENTIFIER (hi1OperationId) OPTIONAL, + -- Once using FTP delivery mechanism. + countryCode [1] PrintableString (SIZE (2)), + -- Country Code according to ISO 3166-1 [67], + -- the country to which the parameters inserted after the extension marker apply. + ... + -- In case a given country wants to use additional national parameters according to its law, + -- these national parameters should be defined using the ASN.1 syntax and added after the + -- extension marker (...). + -- It is recommended that "version parameter" and "vendor identification parameter" are + -- included in the national parameters definition. Vendor identifications can be + -- retrieved from IANA web site (see annex K). Besides, it is recommended to avoid + -- using tags from 240 to 255 in a formal type definition. +} + +END -- end of HI1NotificationOperations + diff --git a/102232-1/HI2Operations.asn b/102232-1/HI2Operations.asn new file mode 100644 index 0000000..ad9bde7 --- /dev/null +++ b/102232-1/HI2Operations.asn @@ -0,0 +1,1035 @@ +HI2Operations +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version17(18)} + + -- It is advised not to use version11(11) of this ASN.1 module since it contains a syntax error. + -- Version11(11) of HI2Operations is only defined in TS 101 671 v3.5.1 [81]. + +DEFINITIONS IMPLICIT TAGS ::= + +BEGIN + +IMPORTS OPERATION, + ERROR + FROM Remote-Operations-Information-Objects + {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} + + -- from 3GPP TS 33.108 [61] + UmtsQos, + IMSevent, + LDIevent, + CorrelationValues + FROM UmtsHI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi2(1) r11(11) version-0(0)} + + -- from TS 101 909-20-01 [69] + TARGETACTIVITYMONITOR-1 + FROM TS101909201 + {itu-t(0) identified-organization(4) etsi(0) ts101909(1909) part20(20) subpart1(1) interceptVersion(0)} + + -- from EN 301 040 [72] + TARGETACTIVITYMONITORind, + TARGETCOMMSMONITORind, + TTRAFFICind, + CTTRAFFICind + FROM EN301040 + {itu-t(0) identified-organization(4) etsi(0) en301040 (1040) interceptVersion (0)}; + +-- ============================= +-- Object Identifier Definitions +-- ============================= + +-- LawfulIntercept DomainId +lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2)} + +-- Security Subdomains +hi2DomainId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi2(1)} +hi2OperationId OBJECT IDENTIFIER ::= {hi2DomainId version18(18)} + +sending-of-IRI OPERATION ::= +{ + ARGUMENT IRIsContent + ERRORS {OperationErrors} + CODE global:{hi2DomainId sending-of-IRI(1) version1(1)} +} +-- Class 2 operation. The timer shall be set to a value between 3s and 240s. +-- The timer default value is 60s. +-- NOTE: The same note as for HI management operation applies. + +IRIsContent ::= CHOICE +{ + iRIContent IRIContent, + iRISequence IRISequence +} + +IRISequence ::= SEQUENCE OF IRIContent + -- Aggregation of IRIContent is an optional feature. + -- It may be applied in cases when at a given point in time several IRI records are + -- available for delivery to the same LEA destination. + -- As a general rule, records created at any event shall be sent immediately and shall + -- not held in the DF or MF in order to apply aggregation. + -- When aggregation is not to be applied, IRIContent needs to be chosen. + +IRIContent ::= CHOICE +{ + iRI-Begin-record [1] IRI-Parameters, + -- At least one optional parameter must be included within the iRI-Begin-Record. + iRI-End-record [2] IRI-Parameters, + iRI-Continue-record [3] IRI-Parameters, + -- At least one optional parameter must be included within the iRI-Continue-Record. + iRI-Report-record [4] IRI-Parameters, + -- At least one optional parameter must be included within the iRI-Report-Record. + ... +} + +unknown-version ERROR ::= {CODE local:0} +missing-parameter ERROR ::= {CODE local:1} +unknown-parameter-value ERROR ::= {CODE local:2} +unknown-parameter ERROR ::= {CODE local:3} + +OperationErrors ERROR ::= +{ + unknown-version | + missing-parameter | + unknown-parameter-value | + unknown-parameter +} +-- These values may be sent by the LEMF, when an operation or a parameter is misunderstood. + +IRI-Parameters ::= SEQUENCE +{ + domainID [0] OBJECT IDENTIFIER (hi2OperationId) OPTIONAL, + -- for the sending entity the inclusion of the Object Identifier is mandatory + iRIversion [23] ENUMERATED + { + version2(2), + ..., + version3(3), + version4(4), + version5(5), + version6(6), + version7(7), + lastVersion(8) + } OPTIONAL, + -- Optional parameter "iRIversion" (tag 23) is redundant starting + -- from TS 101 671 v2.5.1 [81] + -- where to the object identifier "domainID" was introduced into IRI-Parameters. + -- In order to keep backward compatibility, even when the version of the "domainID" + -- parameter will be incremented it is recommended to always send to LEMF the same: + -- enumeration value "lastVersion(8)". + -- if not present, it means version 1 is handled + lawfulInterceptionIdentifier [1] LawfulInterceptionIdentifier, + -- This identifier is associated to the target. + communicationIdentifier [2] CommunicationIdentifier, + -- used to uniquely identify an intercepted call. + -- Called "callIdentifier" in v1.1.1 of ES 201 671 [i.5]. + timeStamp [3] TimeStamp, + -- date and time of the event triggering the report. + intercepted-Call-Direct [4] ENUMERATED + { + not-Available(0), + originating-Target(1), + -- In case of GPRS, this indicates that the PDP context activation, modification + -- or deactivation is MS requested. + terminating-Target(2), + -- In case of GPRS, this indicates that the PDP context activation, modification + -- or deactivation is network initiated. + ... + } OPTIONAL, + intercepted-Call-State [5] Intercepted-Call-State OPTIONAL, + ringingDuration [6] OCTET STRING (SIZE (3)) OPTIONAL, + -- Duration in seconds. BCD coded: HHMMSS + conversationDuration [7] OCTET STRING (SIZE (3)) OPTIONAL, + -- Duration in seconds. BCD coded: HHMMSS + locationOfTheTarget [8] Location OPTIONAL, + -- location of the target subscriber + partyInformation [9] SET SIZE (1..10) OF PartyInformation OPTIONAL, + -- This parameter provides the concerned party (Originating, Terminating or forwarded + -- party), the identity(ies) of the party and all the information provided by the party. + callContentLinkInformation [10] SEQUENCE + { + cCLink1Characteristics [1] CallContentLinkCharacteristics OPTIONAL, + -- Information concerning the Content of Communication Link Tx channel established + -- toward the LEMF (or the sum signal channel, in case of mono mode). + cCLink2Characteristics [2] CallContentLinkCharacteristics OPTIONAL, + -- Information concerning the Content of Communication Link Rx channel established + -- toward the LEMF. + ... + } OPTIONAL, + release-Reason-Of-Intercepted-Call [11] OCTET STRING (SIZE (2)) OPTIONAL, + -- Release cause coded in ITU-T Q.850 [31] format. + -- This parameter indicates the reason why the intercepted call cannot be established or + -- why the intercepted call has been released after the active phase. + nature-Of-The-intercepted-call [12] ENUMERATED + { + -- Nature of the intercepted "call": + gSM-ISDN-PSTN-circuit-call(0), + -- the possible UUS content is sent through the HI2 or HI3 "data" interface + -- the possible call content call is established through the HI3 "circuit" interface + gSM-SMS-Message(1), + -- the SMS content is sent through the HI2 or HI3 "data" interface + uUS4-Messages(2), + -- the UUS content is sent through the HI2 or HI3 "data" interface + tETRA-circuit-call(3), + -- the possible call content call is established through the HI3 "circuit" interface + -- the possible data are sent through the HI3 "data" interface + teTRA-Packet-Data(4), + -- the data are sent through the HI3 "data" interface + gPRS-Packet-Data(5), + -- the data are sent through the HI3 "data" interface + ..., + uMTS-circuit-call(6), + -- the possible call content call is established through the HI3 "circuit" interface + -- the possible data are sent through the HI3 "data" interface + lTE-SMS-Message(7), + -- indicator for SMS from LTE handset + -- the SMS content is sent through the HI2 or HI3 "data" interface + lTE-circuit-call(8) + -- indicator for CS call from LTE handset +} OPTIONAL, + serverCenterAddress [13] PartyInformation OPTIONAL, + -- e.g. in case of SMS message this parameter provides the address of the relevant + -- server within the calling (if server is originating) or called + -- (if server is terminating) party address parameters + sMS [14] SMS-report OPTIONAL, + -- this parameter provides the SMS content and associated information + cC-Link-Identifier [15] CC-Link-Identifier OPTIONAL, + -- Depending on a network option, this parameter may be used to identify a CC link + -- in case of multiparty calls. + national-Parameters [16] National-Parameters OPTIONAL, + gPRSCorrelationNumber [18] GPRSCorrelationNumber OPTIONAL, + gPRSevent [20] GPRSEvent OPTIONAL, + -- This information is used to provide particular action of the target + -- such as attach/detach + sgsnAddress [21] DataNodeAddress OPTIONAL, + gPRSOperationErrorCode [22] GPRSOperationErrorCode OPTIONAL, + ..., + ggsnAddress [24] DataNodeAddress OPTIONAL, + qOS [25] UmtsQos OPTIONAL, + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + networkIdentifier [26] Network-Identifier OPTIONAL, + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + sMSOriginatingAddress [27] DataNodeAddress OPTIONAL, + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + sMSTerminatingAddress [28] DataNodeAddress OPTIONAL, + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + iMSevent [29] IMSevent OPTIONAL, + sIPMessage [30] OCTET STRING OPTIONAL, + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + servingSGSN-number [31] OCTET STRING (SIZE (1..20)) OPTIONAL, + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + servingSGSN-address [32] OCTET STRING (SIZE (5..17)) OPTIONAL, + -- Octets are coded according to 3GPP TS 23.003 [76] + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + tARGETACTIVITYMONITOR [33] TARGETACTIVITYMONITOR-1 OPTIONAL, + -- Parameter is used in TS 101 909-20-1 [69] + ldiEvent [34] LDIevent OPTIONAL, + -- The "Location Dependent Interception" parameter is duplicated from 3GPP TS 33.108 [61] + correlation [35] CorrelationValues OPTIONAL, + -- This parameter is duplicated from 3GPP TS 33.108 [61] + tARGETACTIVITYMONITORind [36] TARGETACTIVITYMONITORind OPTIONAL, + -- Parameter is used in EN 301 040 [72] + tARGETCOMMSMONITORind [37] TARGETCOMMSMONITORind OPTIONAL, + -- Parameter is used in EN 301 040 [72] + tTRAFFICind [38] TTRAFFICind OPTIONAL, + -- Parameter is used in EN 301 040 [72] + cTTRAFFICind [39] CTTRAFFICind OPTIONAL, + -- Parameter is used in EN 301 040 [72] + servingSystem [40] Network-Element-Identifier OPTIONAL, + -- Parameter identifies the visited network element + national-HI2-ASN1parameters [255] National-HI2-ASN1parameters OPTIONAL +} + +-- ================== +-- PARAMETERS FORMATS +-- ================== + +CommunicationIdentifier ::= SEQUENCE +{ + communication-Identity-Number [0] OCTET STRING (SIZE (1..8)) OPTIONAL, + -- Temporary Identifier of an intercepted call to uniquely identify an intercepted call + -- within the node. This parameter is mandatory if there is associated + -- information sent over HI3interface (CClink, data,..) or when + -- CommunicationIdentifier is used for IRI other than IRI-Report-record + -- This parameter was called "call-Identity-Number" in V1.1.1 of ES 201 671 [i.5] + -- The individual digits of the communication-Identity-Number shall be represented in + -- ASCII format, e.g. "12345678" = 8 octets 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38. + -- For subaddress option only "0"..."9" shall be used. + network-Identifier [1] Network-Identifier, + ... +} +-- NOTE: The same "CommunicationIdentifier" value is sent: +-- with the HI3 information for correlation purpose between the IRI and the information sent +-- on the HI3 interfaces (CCLink, data, ..) with each IRI associated to a same intercepted +-- call for correlation purpose between the different IRI. + +Network-Identifier ::= SEQUENCE +{ + operator-Identifier [0] OCTET STRING (SIZE (1..5)), + -- It is a notification of the NWO/AP/SvP in ASCII- characters. + -- For subaddress option only "0"..."9" shall be used. + -- The parameter is mandatory. + network-Element-Identifier [1] Network-Element-Identifier OPTIONAL, + ... +} + +Network-Element-Identifier ::= CHOICE +{ + e164-Format [1] OCTET STRING (SIZE (1..25)), + -- E164 address of the node in international format. Coded in the same format as the + -- calling party number parameter of the ISUP (parameter part: EN 300 356 [5]). + x25-Format [2] OCTET STRING (SIZE (1..25)), + -- X25 address + iP-Format [3] OCTET STRING (SIZE (1..25)), + -- IP address + dNS-Format [4] OCTET STRING (SIZE (1..25)), + -- DNS address + ..., + iP-Address [5] IPAddress +} + +CC-Link-Identifier ::= OCTET STRING (SIZE (1..8)) + -- Depending on a network option, this parameter may be used to identify a CClink + -- in case of multiparty calls. + -- The individual digits of the CC-Link-Identifier shall be represented in + -- ASCII format, e.g. "12345678" = 8 octets 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38. + -- For subaddress option only "0"..."9" shall be used. + +TimeStamp ::= CHOICE +{ +-- The minimum resolution required is one second. +-- "Resolution" is the smallest incremental change that can be measured for time and +-- is expressed with a definite number of decimal digits or bits. + localTime [0] LocalTimeStamp, + utcTime [1] UTCTime +} + +LocalTimeStamp ::= SEQUENCE +{ + generalizedTime [0] GeneralizedTime, + -- The minimum resolution required is one second. + -- "Resolution" is the smallest incremental change that can be measured for time and + -- is expressed with a definite number of decimal digits or bits. + winterSummerIndication [1] ENUMERATED + { + notProvided(0), + winterTime(1), + summerTime(2), + ... + } +} + +PartyInformation ::= SEQUENCE +{ + party-Qualifier [0] ENUMERATED + { + originating-Party(0), + -- In this case, the partyInformation parameter provides the identities related to + -- the originating party and all information provided by this party. + -- This parameter provides also all the information concerning the redirecting + -- party when a forwarded call reaches a target. + terminating-Party(1), + -- In this case, the partyInformation parameter provides the identities related to + -- the terminating party and all information provided by this party. + forwarded-to-Party(2), + -- In this case, the partyInformation parameter provides the identities related to + -- the forwarded to party and parties beyond this one and all information + -- provided by this parties, including the call forwarding reason. + gPRS-Target(3), + ... + }, + partyIdentity [1] SEQUENCE + { + imei [1] OCTET STRING (SIZE (8)) OPTIONAL, + -- See MAP format TS GSM 09.02 [32] + tei [2] OCTET STRING (SIZE (1..15)) OPTIONAL, + -- ISDN-based Terminal Equipment Identity + imsi [3] OCTET STRING (SIZE (3..8)) OPTIONAL, + -- See MAP format TS GSM 09.02 [32] International Mobile + -- Station Identity E.212 number beginning with Mobile Country Code + callingPartyNumber [4] CallingPartyNumber OPTIONAL, + -- The calling party format is used to transmit the identity of a calling party + calledPartyNumber [5] CalledPartyNumber OPTIONAL, + -- The called party format is used to transmit the identity of a called party or + -- a forwarded to party. + msISDN [6] OCTET STRING (SIZE (1..9)) OPTIONAL, + -- MSISDN of the target, encoded in the same format as the AddressString + -- parameters defined in MAP format TS GSM 09.02 [32] + ..., + e164-Format [7] OCTET STRING (SIZE (1..25)) OPTIONAL, + -- E164 address of the node in international format. Coded in the same format as + -- the calling party number parameter of the ISUP (parameter part: EN 300 356 [5]) + sip-uri [8] OCTET STRING OPTIONAL, + -- Session Initiation Protocol - Uniform Resource Identifier. See RFC 3261 [59]. + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + tel-url [9] OCTET STRING OPTIONAL, + -- See "URLs for Telephone Calls", RFC 3966 [68]. + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + party-Validity [10] ENUMERATED + { + trusted(0), + -- The operator has assured the party identity + untrusted(1), + -- The operator does not assure the party identity + operator-added(2), + -- The party identity is added by the operator, e.g. the roaming number + ... + } OPTIONAL, + alphanumeric [11] UTF8String OPTIONAL + -- see clause A.3.3 on usage of this parameter + }, + services-Information [2] Services-Information OPTIONAL, + -- This parameter is used to transmit all the information concerning the + -- complementary information associated to the basic call + supplementary-Services-Information [3] Supplementary-Services OPTIONAL, + -- This parameter is used to transmit all the information concerning the + -- activation/invocation of supplementary services during a call or out-of call not + -- provided by the previous parameters. + services-Data-Information [4] Services-Data-Information OPTIONAL, + -- This parameter is used to transmit all the information concerning the complementary + -- information associated to the basic data call. + ... +} + +CallingPartyNumber ::= CHOICE +{ + iSUP-Format [1] OCTET STRING (SIZE (1..25)), + -- Encoded in the same format as the calling party number (parameter field) + -- of the ISUP (see EN 300 356 [5]). + dSS1-Format [2] OCTET STRING (SIZE (1..25)), + -- Encoded in the format defined for the value part of the Calling party number + -- information element of DSS1 protocol EN 300 403-1 [6]. + -- The DSS1 Information element identifier and the DSS1 length are not included. + ..., + mAP-Format [3] OCTET STRING (SIZE (1..25)) + -- Encoded as AddressString of the MAP protocol TS GSM 09.02 [32]. +} + +CalledPartyNumber ::= CHOICE +{ + iSUP-Format [1] OCTET STRING (SIZE (1..25)), + -- Encoded in the same format as the called party number (parameter field) + -- of the ISUP (see EN 300 356 [5]). + mAP-Format [2] OCTET STRING (SIZE (1..25)), + -- Encoded as AddressString of the MAP protocol TS GSM 09.02 [32]. + dSS1-Format [3] OCTET STRING (SIZE (1..25)), + -- Encoded in the format defined for the value part of the Called party number information + -- element of DSS1 protocol EN 300 403-1 [6]. + -- The DSS1 Information element identifier and the DSS1 length are not included. + ... +} + +Location ::= SEQUENCE +{ + e164-Number [1] OCTET STRING (SIZE (1..25)) OPTIONAL, + -- Coded in the same format as the ISUP location number (parameter field) + -- of the ISUP (see EN 300 356 [5]). + globalCellID [2] OCTET STRING (SIZE (5..7)) OPTIONAL, + -- See MAP format (see TS GSM 09.02 [32]). + tetraLocation [3] TetraLocation OPTIONAL, + -- This optional parameter is not in use anymore, but is kept for backwards compatibility. + rAI [4] OCTET STRING (SIZE (6)) OPTIONAL, + -- The Routeing Area Identifier (RAI) in the current SGSN is coded in accordance with + -- 3GPP TS 24.008 [41] without the Routing Area Identification IEI (only the + -- last 6 octets are used). + gsmLocation [5] GSMLocation OPTIONAL, + umtsLocation [6] UMTSLocation OPTIONAL, + sAI [7] OCTET STRING (SIZE (7)) OPTIONAL, + -- format: PLMN-ID 3 octets (no. 1-3), + -- LAC 2 octets (no. 4-5), + -- SAC 2 octets (no. 6-7) + -- (according to 3GPP 25.413 [82]). + ..., + oldRAI [8] OCTET STRING (SIZE (6)) OPTIONAL, + -- the "Routeing Area Identifier" in the old SGSN is coded in accordance with + -- 3GPP TS 24.008 [41] without the Routing Area Identification IEI + -- (only the last 6 octets are used). + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + tAI [9] OCTET STRING (SIZE (6)) OPTIONAL, + -- The "Tracking Area Identity" (TAI) is coded in accordance with 3GPP TS 29.118 [83] + -- without the TAI IEI. + -- The tAI parameter is applicable only to the CS traffic cases where the available + -- location information is the one received from the Mobility Management Entity (MME). + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + eCGI [10] OCTET STRING (SIZE (8)) OPTIONAL + -- the "E-UTRAN Cell Global Identity" (E-CGI) is coded in accordance with + -- 3GPP TS 29.118 [83] without the E-CGI IEI. + -- The eCGI parameter is applicable only to the CS traffic cases where + -- the available location information is the one received from the MME. + -- This parameter is duplicated from 3GPP TS 33.108 [61]. +} + +TetraLocation ::= CHOICE + -- This optional parameter is not in use anymore, but is kept for backwards compatibility. +{ + ms-Loc [1] SEQUENCE + { + mcc [1] INTEGER (0..1023), + -- 10 bits EN 300 392-1 [40] + mnc [2] INTEGER (0..16383), + -- 14 bits EN 300 392-1 [40] + lai [3] INTEGER (0..65535), + -- 14 bits EN 300 392-1 [40] + ci [4] INTEGER OPTIONAL + }, + ls-Loc [2] INTEGER +} + +GSMLocation ::= CHOICE +{ + geoCoordinates [1] SEQUENCE + { + latitude [1] PrintableString (SIZE(7..10)), + -- format: XDDMMSS.SS + longitude [2] PrintableString (SIZE(8..11)), + -- format: XDDDMMSS.SS + mapDatum [3] MapDatum DEFAULT wGS84, + ..., + azimuth [4] INTEGER (0..359) OPTIONAL + -- The azimuth is the bearing, relative to true north + }, + -- format: XDDDMMSS.SS + -- X : N(orth), S(outh), E(ast), W(est) + -- DD or DDD : degrees (numeric characters) + -- MM : minutes (numeric characters) + -- SS.SS : seconds, the second part (.SS) is optional + -- Example: + -- latitude short form N502312 + -- longitude long form E1122312.18 + + utmCoordinates [2] SEQUENCE + { + utm-East [1] PrintableString (SIZE(10)), + utm-North [2] PrintableString (SIZE(7)), + -- Universal Transverse Mercator + -- example utm-East 32U0439955 + -- utm-North 5540736 + mapDatum [3] MapDatum DEFAULT wGS84, + ..., + azimuth [4] INTEGER (0..359) OPTIONAL + -- The azimuth is the bearing, relative to true north + }, + + utmRefCoordinates [3] SEQUENCE + { + utmref-string PrintableString (SIZE(13)), + mapDatum MapDatum DEFAULT wGS84, + ... + }, + -- example 32UPU91294045 + + wGS84Coordinates [4] OCTET STRING + -- format is as defined in 3GPP TS 03.32 [57] +} + +MapDatum ::= ENUMERATED +{ + wGS84, + -- World Geodetic System 1984 + wGS72, + eD50, + -- European Datum 50 + ... +} + +UMTSLocation ::= CHOICE +{ + point [1] GA-Point, + pointWithUnCertainty [2] GA-PointWithUnCertainty, + polygon [3] GA-Polygon, + ... +} + +GeographicalCoordinates ::= SEQUENCE +{ + latitudeSign ENUMERATED + { + north, + south + }, + latitude INTEGER (0..8388607), + longitude INTEGER (-8388608..8388607), + ... +} + +GA-Point ::= SEQUENCE +{ + geographicalCoordinates GeographicalCoordinates, + ... +} + +GA-PointWithUnCertainty ::=SEQUENCE +{ + geographicalCoordinates GeographicalCoordinates, + uncertaintyCode INTEGER (0..127) +} + +maxNrOfPoints INTEGER ::= 15 + +GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF + SEQUENCE + { + geographicalCoordinates GeographicalCoordinates, + ... + } + +CallContentLinkCharacteristics ::= SEQUENCE +{ + cCLink-State [1] CCLink-State OPTIONAL, + -- current state of the CCLink + release-Time [2] TimeStamp OPTIONAL, + -- date and time of the release of the Call Content Link. + release-Reason [3] OCTET STRING (SIZE(2)) OPTIONAL, + -- Release cause coded in Q.850 [31] format + lEMF-Address [4] CalledPartyNumber OPTIONAL, + -- Directory number used to route the call toward the LEMF + ... +} + +CCLink-State ::= ENUMERATED +{ + setUpInProcess(1), + -- The set-up of the call is in process + callActive(2), + callReleased(3), + lack-of-resource(4), + -- The lack-of-resource state is sent when a CC Link cannot + -- be established because of lack of resource at the MF level. + ... +} + +Intercepted-Call-State ::= ENUMERATED +{ + idle(1), + -- When the intercept call is released, the state is IDLE and the reason is provided + -- by the release-Reason-Of-Intercepted-Call parameter. + setUpInProcess(2), + -- The set-up of the call is in process + connected(3), + -- The answer has been received + ... +} + +Services-Information ::= SEQUENCE +{ + iSUP-parameters [1] ISUP-parameters OPTIONAL, + dSS1-parameters-codeset-0 [2] DSS1-parameters-codeset-0 OPTIONAL, + ..., + mAP-parameters [3] MAP-parameters OPTIONAL +} + +ISUP-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "OCTET STRING" contains one additional ISUP parameter TLV coded not already defined in + -- the previous parameters. The Tag value is the one given in EN 300 356 [5]. + + -- In version 1 of the present document "iSUP-parameters" is defined as mandatory. + -- It might occur that no ISUP parameter is available. In that case in a version 1 + -- implementation the value "zero" may be included in the first octet string of the SET. + + -- The Length and the Value are coded in accordance with the parameter definition in + -- EN 300 356 [5]. Hereafter are listed the main parameters. + -- However other parameters may be added: + + -- Transmission medium requirement: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the "calling party". + + -- Transmission medium requirement prime: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the "calling party". + +DSS1-parameters-codeset-0 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-0. The parameter is coded as + -- described in EN 300 403-1 [6] (The DSS1 Information element identifier and the DSS1 length + -- are included). Hereafter are listed the main parameters. + -- However other parameters may be added: + + -- Bearer capability: this parameter may be repeated. Format defined in EN 300 403-1 [6]. + -- This parameter can be provided with the "Party Information" of the "calling party", + -- "called party" or "forwarded to party". + + -- High Layer Compatibility: this parameter may be repeated. Format defined in EN 300 403-1 [6] + -- This parameter can be provided with the "Party Information" of the "calling party", + -- "called party" or "forwarded to party". + + -- Low Layer capability: this parameter may be repeated. Format defined in EN 300 403-1 [6]. + -- This parameter can be provided with the "Party Information" of the "calling party", + -- "called party" or "forwarded to party". + +MAP-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE(1..256)) + -- Each "OCTET STRING" contains one MAP parameter. The parameter is coded as described in + -- TS GSM 09.02 [32] (The map-TS-Code is included). + +Supplementary-Services ::= SEQUENCE +{ + standard-Supplementary-Services [1] Standard-Supplementary-Services OPTIONAL, + non-Standard-Supplementary-Services [2] Non-Standard-Supplementary-Services OPTIONAL, + other-Services [3] Other-Services OPTIONAL, + ... +} + +Standard-Supplementary-Services ::= SEQUENCE +{ + iSUP-SS-parameters [1] ISUP-SS-parameters OPTIONAL, + dSS1-SS-parameters-codeset-0 [2] DSS1-SS-parameters-codeset-0 OPTIONAL, + dSS1-SS-parameters-codeset-4 [3] DSS1-SS-parameters-codeset-4 OPTIONAL, + dSS1-SS-parameters-codeset-5 [4] DSS1-SS-parameters-codeset-5 OPTIONAL, + dSS1-SS-parameters-codeset-6 [5] DSS1-SS-parameters-codeset-6 OPTIONAL, + dSS1-SS-parameters-codeset-7 [6] DSS1-SS-parameters-codeset-7 OPTIONAL, + dSS1-SS-Invoke-components [7] DSS1-SS-Invoke-Components OPTIONAL, + mAP-SS-Parameters [8] MAP-SS-Parameters OPTIONAL, + mAP-SS-Invoke-Components [9] MAP-SS-Invoke-Components OPTIONAL, + ... +} + +Non-Standard-Supplementary-Services ::= SET SIZE (1..20) OF CHOICE +{ + simpleIndication [1] SimpleIndication, + sciData [2] SciDataMode, + ... +} + +Other-Services ::= SET SIZE (1..50) OF OCTET STRING (SIZE (1..256)) + -- Reference manufacturer manuals. + +ISUP-SS-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- It must be noticed this parameter is retained for compatibility reasons. + -- It is recommended not to use it in new work but to use ISUP-parameters parameter. + + -- Each "OCTET STRING" contains one additional ISUP parameter TLV coded not already defined in + -- the previous parameters. The Tag value is the one given in EN 300 356 [5]. + -- The Length and the Value are coded in accordance with the parameter definition in + -- EN 300 356 [5]. Hereafter are listed the main parameters. + -- However other parameters may be added: + + -- Connected Number: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the + -- "called party" or "forwarded to party". + + -- RedirectingNumber: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the "originating party" + -- or/and of the “terminating party”. + + -- Original Called Party Number: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the "originating party". + + -- Redirection information: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the + -- "originating party", "forwarded to party" or/and "Terminating party". + + -- Redirection Number: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the + -- "forwarded to party" or "Terminating party". + + -- Call diversion information: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the + -- "forwarded to party" or "Terminating party". + + -- Generic Number: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the + -- "calling party", "called party" or "forwarded to party". + -- This parameters are used to transmit additional identities (additional, calling party + -- number, additional called number, etc.). + + -- Generic Notification: format defined in EN 300 356 [5]. + -- This parameter may be provided with the "Party Information" of the + -- "calling party", "called party" or "forwarded to party". + -- This parameters transmit the notification to the other part of the call of the supplementary + -- services activated or invoked by a subscriber during the call. + + -- CUG Interlock Code: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the "calling party". + +DSS1-SS-parameters-codeset-0 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-0. The parameter is coded as + -- described in EN 300 403-1 [6] (The DSS1 Information element identifier and the DSS1 length + -- are included). Hereafter are listed the main parameters. + -- However other parameters may be added: + + -- Calling Party Subaddress: format defined in EN 300 403-1 [6]. + -- This parameter can be provided with the "Party Information" of the "calling party". + + -- Called Party Subaddress: format defined in EN 300 403-1 [6]. + -- This parameter can be provided with the "Party Information" of the "calling party". + + -- Connected Subaddress: format defined in recommendation (see EN 300 097-1 [14]). + -- This parameter can be provided with the "Party Information" of the + -- "called party" or "forwarded to party". + + -- Connected Number: format defined in recommendation (see EN 300 097-1 [14]). + -- This parameter can be provided with the "Party Information" of the + -- "called party" or "forwarded to party". + + -- Keypad facility: format defined in EN 300 403-1 [6]. + -- This parameter can be provided with the "Party Information" of the + -- "calling party", "called party" or "forwarded to party". + + -- Called Party Number: format defined in EN 300 403-1 [6]. + -- This parameter could be provided with the "Party Information" of the "calling party" + -- when target is the originating party; it contains the dialled digits before modification + -- at network level (e.g. IN interaction, translation, etc …). + + -- User-user: format defined in EN 300 286-1 [23]). + -- This parameter can be provided with the "Party Information" of the + -- "calling party", "called party" or "forwarded to party". + +DSS1-SS-parameters-codeset-4 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-4. The parameter is coded as + -- described in the relevant recommendation. + +DSS1-SS-parameters-codeset-5 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-5. The parameter is coded as + -- described in the relevant national recommendation. + +DSS1-SS-parameters-codeset-6 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-6. The parameter is coded as + -- described in the relevant local network recommendation. + +DSS1-SS-parameters-codeset-7 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "octet string" contains one DSS1 parameter of the codeset-7. The parameter is coded as + -- described in the relevant user specific recommendation. + +DSS1-SS-Invoke-Components ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "octet string" contains one DSS1 Invoke or Return Result component. + -- The invoke or return result component is coded as + -- described in the relevant DSS1 supplementary service recommendation. + + -- Invoke or Return Result component (BeginCONF): EN 300 185-1 [19] + -- Invoke or Return Result component (AddCONF): EN 300 185-1 [19] + -- Invoke or Return Result component (SplitCONF): EN 300 185-1 [19] + -- Invoke or Return Result component (DropCONF): EN 300 185-1 [19] + -- Invoke or Return Result component (IsolateCONF): EN 300 185-1 [19] + -- Invoke or Return Result component (ReattachCONF): EN 300 185-1 [19] + -- Invoke or Return Result component (PartyDISC): EN 300 185-1 [19] + -- Invoke or Return Result component (MCIDRequest): EN 300 130-1 [16] + -- Invoke or Return Result component (Begin3PTY): EN 300 188-1 [20] + -- Invoke or Return Result component (End3PTY): EN 300 188-1 [20] + -- Invoke or Return Result component (ECTExecute): EN 300 369-1 [25] + -- Invoke or Return Result component (ECTInform): EN 300 369-1 [25] + -- Invoke or Return Result component (ECTLinkIdRequest): EN 300 369-1 [25] + -- Invoke or Return Result component (ECTLoopTest): EN 300 369-1 [25] + -- Invoke or Return Result component (ExplicitECTExecute): EN 300 369-1 [25] + -- Invoke or Return Result component (ECT: RequestSubaddress): EN 300 369-1 [25] + -- Invoke or Return Result component (ECT: SubaddressTransfer): EN 300 369-1 [25] + -- Invoke or Return Result component (CF: ActivationDiversion): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: DeactivationDiversion): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: ActivationStatusNotification): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: DeactivationStatusNotification): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: InterrogationDiversion): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: InterrogationServedUserNumber): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: DiversionInformation): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: CallDeflection): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: CallRerouteing): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: DivertingLegInformation1): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: DivertingLegInformation2): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: DivertingLegInformation3): EN 300 207-1 [21] + -- other invoke or return result components ... + +MAP-SS-Invoke-Components ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "octet string" contains one MAP Invoke or Return Result component. + -- The invoke or return result component is coded as + -- described in the relevant MAP supplementary service recommendation. + +MAP-SS-Parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "octet string" contains one MAP Parameter. The parameter is coded as + -- described in the relevant MAP supplementary service recommendation. + +SimpleIndication ::= ENUMERATED +{ + call-Waiting-Indication(0), + -- The target has received a call waiting indication for this call + add-conf-Indication(1), + -- this call has been added to a conference + call-on-hold-Indication(2), + -- indication that this call is on hold + retrieve-Indication(3), + -- indication that this call has been retrieved + suspend-Indication(4), + -- indication that this call has been suspended + resume-Indication(5), + -- indication that this call has been resumed + answer-Indication(6), + -- indication that this call has been answered + ... +} + +SciDataMode ::= OCTET STRING (SIZE (1..256)) + +SMS-report ::= SEQUENCE +{ + communicationIdentifier [1] CommunicationIdentifier, + -- used to uniquely identify an intercepted call: the same used for the + -- relevant IRI + -- Called "callIdentifier" in V1.1.1 of ES 201 671 [i.5] + timeStamp [2] TimeStamp, + -- date and time of the report. The format is + -- the one defined in case a) of the ASN.1 ITU-T Recommendation X.680 [33]. + -- (year month day hour minutes seconds) + sMS-Contents [3] SEQUENCE + { + initiator [1] ENUMERATED + { + -- party which sent the SMS + target(0), + server(1), + undefined-party(2), + ... + }, + transfer-status [2] ENUMERATED + { + succeed-transfer(0), + --the transfer of the SMS message succeeds + not-succeed-transfer(1), + undefined(2), + ... + } OPTIONAL, + other-message [3] ENUMERATED + { + -- In case of terminating call, indicates if the server will send other SMS. + yes(0), + no(1), + undefined(2), + ... + } OPTIONAL, + content [4] OCTET STRING (SIZE (1..270)) OPTIONAL, + -- Encoded in the format defined for the SMS mobile. + -- The content and enhancedContent fields are mutually exclusive. + -- The content field is dedicated for 3GPP purposes. + ..., + enhancedContent [5] SEQUENCE + { + content [1] OCTET STRING, + -- The character encoding used in the content field is specified in the + -- character-encoding field. + character-encoding [2] ENUMERATED + { + gsm-7-bit-ascii(0), + eight-bit-ascii(1), + eight-bit-binary(2), + ucs-2(3), + utf-8(4), + utf-16(5), + other(6), + ... + } + } OPTIONAL + } +} + +LawfulInterceptionIdentifier ::= OCTET STRING (SIZE (1..25)) + -- It is recommended to use ASCII characters in "a"…"z", "A"…"Z", "-", "_", ".", and "0"…"9". + -- For subaddress option only "0"..."9" shall be used. + +National-Parameters ::= SET SIZE (1..40) OF OCTET STRING (SIZE (1..256)) + -- Content defined by national law. + +GPRSCorrelationNumber ::= OCTET STRING (SIZE(8..20)) + +GPRSEvent ::= ENUMERATED + -- see 3GPP TS 03.33 [42] +{ + pDPContextActivation(1), + startOfInterceptionWithPDPContextActive(2), + pDPContextDeactivation(4), + gPRSAttach(5), + gPRSDetach(6), + cellOrRAUpdate(10), + sMS(11), + ..., + pDPContextModification(13), + endOfInterceptionWithPDPContextActive(14) +} + +Services-Data-Information ::= SEQUENCE +{ + gPRS-parameters [1] GPRS-parameters OPTIONAL, + ... +} + +GPRS-parameters ::= SEQUENCE +{ + pDP-address-allocated-to-the-target [1] DataNodeAddress OPTIONAL, + aPN [2] OCTET STRING (SIZE(1..100)) OPTIONAL, + -- The Access Point Name (APN) is coded in accordance with + -- 3GPP TS 24.008 [41] without the APN IEI (only the last 100 octets are used). + -- Octets are coded according to 3GPP TS 23.003 [76]. + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + pDP-type [3] OCTET STRING (SIZE(2)) OPTIONAL, + -- when PDP-type is IPv4 or IPv6, the IP address is carried by parameter + -- pDP-address-allocated-to-the-target when PDP-type is IPv4v6, + -- the additional IP address is carried by parameter additionalIPaddress + ..., + nSAPI [4] OCTET STRING (SIZE (1)) OPTIONAL, + additionalIPaddress [5] DataNodeAddress OPTIONAL +} + +GPRSOperationErrorCode ::= OCTET STRING (SIZE(2)) + -- Refer to 3GPP TS 24.008 [41] for values (GMM cause or SM cause parameter). + +DataNodeAddress ::= CHOICE +{ + ipAddress [1] IPAddress, + x25Address [2] X25Address, + ... +} + +IPAddress ::= SEQUENCE +{ + iP-type [1] ENUMERATED + { + iPV4(0), + iPV6(1), + ... + }, + iP-value [2] IP-value, + iP-assignment [3] ENUMERATED + { + static(1), + -- The static coding shall be used to report a static address. + dynamic(2), + -- The dynamic coding shall be used to report a dynamically allocated address. + notKnown(3), + -- The notKnown coding shall be used to report other then static or dynamically + -- allocated IP addresses. + ... + } OPTIONAL, + ..., + iPv6PrefixLength [4] INTEGER (1..128) OPTIONAL, + -- Indicates the length of the prefix delegated by the CSP to the subscriber + -- example: 60 if IP address is “2001:db8:0:85a3::ac1f:8001/60” + -- Mandatory in case where the iP-value contains an IPv6 binary value + iPv4SubnetMask [5] OCTET STRING (SIZE(4)) OPTIONAL + -- For IPv4 addresses, this indicates the subnetmask to be applied to the iP-value field. + -- The subnet mask is intended to be presented as a binary value, e.g. "ff ff ff f8" to + -- represent the dotted-decimal subnet mask of "255.255.255.248" corresponding to + -- a /29 CIDR-format subnet mask +} + +IP-value ::= CHOICE +{ + iPBinaryAddress [1] OCTET STRING (SIZE(4..16)), + -- In case of IPv6, the Prefix Length is provided by the "iPv6PrefixLength" + -- In case of IPv4, the netmask is provided by the "iPv4SubnetMask" + iPTextAddress [2] IA5String (SIZE(7..45)), + -- In case of IPv6, the delivered iPTextAddress field could include a complete + -- single IPv6-Address or an IPv6-Prefix for a subnetwork on the target side. + -- In case of IPv4, the delivered iPTextAddress field could include a single + -- IPv4 address or an IPv4address/netmask, for example "192.168.1.1" or "192.168.1.1/24" + ... +} + +X25Address ::= OCTET STRING (SIZE(1..25)) + +National-HI2-ASN1parameters ::= SEQUENCE +{ + countryCode [1] PrintableString (SIZE (2)), + -- Country Code according to ISO 3166-1 [67], + -- the country to which the parameters inserted after the extension marker apply. + ... + -- In case a given country wants to use additional national parameters according to its law, + -- these national parameters should be defined using the ASN.1 syntax and added after the + -- extension marker (...). + -- It is recommended that "version parameter" and "vendor identification parameter" are + -- included in the national parameters definition. Vendor identifications can be + -- retrieved from the IANA web site (see annex K). Besides, it is recommended to avoid + -- using tags from 240 to 255 in a formal type definition. +} + +END -- end of HI2Operations -- GitLab From 23c437daf673bf2a2c64e86b64727e34c805c677 Mon Sep 17 00:00:00 2001 From: Luke Mewburn Date: Tue, 17 Oct 2023 14:57:25 +1100 Subject: [PATCH 21/40] TS 102 232-1 CR0107 Fix non-ASCII in TS 101 671 imports Fix non-ASCII in commments: use ASCII space, ", and ... (ellipsis). --- 102232-1/HI1NotificationOperations.asn | 4 ++-- 102232-1/HI2Operations.asn | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/102232-1/HI1NotificationOperations.asn b/102232-1/HI1NotificationOperations.asn index 4301b3b..3b6be0f 100644 --- a/102232-1/HI1NotificationOperations.asn +++ b/102232-1/HI1NotificationOperations.asn @@ -10,7 +10,7 @@ IMPORTS FROM Remote-Operations-Information-Objects {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} - -- from clause D.5 + -- from clause D.5 CommunicationIdentifier, TimeStamp, LawfulInterceptionIdentifier @@ -120,7 +120,7 @@ National-HI1-ASN1parameters ::= SEQUENCE -- extension marker (...). -- It is recommended that "version parameter" and "vendor identification parameter" are -- included in the national parameters definition. Vendor identifications can be - -- retrieved from IANA web site (see annex K). Besides, it is recommended to avoid + -- retrieved from IANA web site (see annex K). Besides, it is recommended to avoid -- using tags from 240 to 255 in a formal type definition. } diff --git a/102232-1/HI2Operations.asn b/102232-1/HI2Operations.asn index ad9bde7..5eeb94f 100644 --- a/102232-1/HI2Operations.asn +++ b/102232-1/HI2Operations.asn @@ -408,7 +408,7 @@ CalledPartyNumber ::= CHOICE { iSUP-Format [1] OCTET STRING (SIZE (1..25)), -- Encoded in the same format as the called party number (parameter field) - -- of the ISUP (see EN 300 356 [5]). + -- of the ISUP (see EN 300 356 [5]). mAP-Format [2] OCTET STRING (SIZE (1..25)), -- Encoded as AddressString of the MAP protocol TS GSM 09.02 [32]. dSS1-Format [3] OCTET STRING (SIZE (1..25)), @@ -705,7 +705,7 @@ ISUP-SS-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) -- RedirectingNumber: format defined in EN 300 356 [5]. -- This parameter can be provided with the "Party Information" of the "originating party" - -- or/and of the “terminating party”. + -- or/and of the "terminating party". -- Original Called Party Number: format defined in EN 300 356 [5]. -- This parameter can be provided with the "Party Information" of the "originating party". @@ -749,11 +749,11 @@ DSS1-SS-parameters-codeset-0 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256 -- Called Party Subaddress: format defined in EN 300 403-1 [6]. -- This parameter can be provided with the "Party Information" of the "calling party". - -- Connected Subaddress: format defined in recommendation (see EN 300 097-1 [14]). + -- Connected Subaddress: format defined in recommendation (see EN 300 097-1 [14]). -- This parameter can be provided with the "Party Information" of the -- "called party" or "forwarded to party". - -- Connected Number: format defined in recommendation (see EN 300 097-1 [14]). + -- Connected Number: format defined in recommendation (see EN 300 097-1 [14]). -- This parameter can be provided with the "Party Information" of the -- "called party" or "forwarded to party". @@ -764,7 +764,7 @@ DSS1-SS-parameters-codeset-0 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256 -- Called Party Number: format defined in EN 300 403-1 [6]. -- This parameter could be provided with the "Party Information" of the "calling party" -- when target is the originating party; it contains the dialled digits before modification - -- at network level (e.g. IN interaction, translation, etc …). + -- at network level (e.g. IN interaction, translation, etc ...). -- User-user: format defined in EN 300 286-1 [23]). -- This parameter can be provided with the "Party Information" of the @@ -914,7 +914,7 @@ SMS-report ::= SEQUENCE } LawfulInterceptionIdentifier ::= OCTET STRING (SIZE (1..25)) - -- It is recommended to use ASCII characters in "a"…"z", "A"…"Z", "-", "_", ".", and "0"…"9". + -- It is recommended to use ASCII characters in "a"..."z", "A"..."Z", "-", "_", ".", and "0"..."9". -- For subaddress option only "0"..."9" shall be used. National-Parameters ::= SET SIZE (1..40) OF OCTET STRING (SIZE (1..256)) @@ -993,7 +993,7 @@ IPAddress ::= SEQUENCE ..., iPv6PrefixLength [4] INTEGER (1..128) OPTIONAL, -- Indicates the length of the prefix delegated by the CSP to the subscriber - -- example: 60 if IP address is “2001:db8:0:85a3::ac1f:8001/60” + -- example: 60 if IP address is "2001:db8:0:85a3::ac1f:8001/60" -- Mandatory in case where the iP-value contains an IPv6 binary value iPv4SubnetMask [5] OCTET STRING (SIZE(4)) OPTIONAL -- For IPv4 addresses, this indicates the subnetmask to be applied to the iP-value field. -- GitLab From 2eb97f5fe17f8f4bb3cd90c348aa79ea7bd68b8d Mon Sep 17 00:00:00 2001 From: Luke Mewburn Date: Tue, 17 Oct 2023 14:58:46 +1100 Subject: [PATCH 22/40] TS 102 232-1 CR0107 Reformat files imported from TS 101 671 Store the files as UTF-8, with LF (UNIX) line endings. Reformat whitespace per LI(23)P62014r2: - 4 space indenting, including ensuring fields line up - no tabs - no trailing whitespace No difference to previous when using git diff -b / --ignore-space-change except for removal of a trailing blank line. --- 102232-1/HI1NotificationOperations.asn | 255 ++- 102232-1/HI2Operations.asn | 2070 ++++++++++++------------ 2 files changed, 1162 insertions(+), 1163 deletions(-) diff --git a/102232-1/HI1NotificationOperations.asn b/102232-1/HI1NotificationOperations.asn index 3b6be0f..4695167 100644 --- a/102232-1/HI1NotificationOperations.asn +++ b/102232-1/HI1NotificationOperations.asn @@ -1,128 +1,127 @@ -HI1NotificationOperations -{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version7(7)} - -DEFINITIONS IMPLICIT TAGS ::= -BEGIN - -IMPORTS - OPERATION, - ERROR - FROM Remote-Operations-Information-Objects - {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} - - -- from clause D.5 - CommunicationIdentifier, - TimeStamp, - LawfulInterceptionIdentifier - FROM HI2Operations - {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version10(10)}; - --- ============================= --- Object Identifier Definitions --- ============================= - --- LawfulIntercept DomainId -lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2)} - --- hi1 Domain -hi1NotificationOperationsId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi1(0) notificationOperations(1)} -hi1OperationId OBJECT IDENTIFIER ::= {hi1NotificationOperationsId version6(6)} - -sending-of-HI1-Notification OPERATION ::= -{ - ARGUMENT HI1-Operation - ERRORS {ErrorHI1Notifications} - CODE global:{hi1NotificationOperationsId version1(1)} -} --- Class 2 operation. The timer shall be set to a value between 3s and 240s. --- The timer default value is 60s. --- NOTE: The value for this timer is to be set on the equipment waiting for the returned message; --- its value shall be agreed between the NWO/AP/SvP and the LEA, depending on their equipment --- properties. - -other-failure-causes ERROR ::= {CODE local:0} -missing-parameter ERROR ::= {CODE local:1} -unknown-parameter ERROR ::= {CODE local:2} -erroneous-parameter ERROR ::= {CODE local:3} - -ErrorHI1Notifications ERROR ::= -{ - other-failure-causes | - missing-parameter | - unknown-parameter | - erroneous-parameter -} - -HI1-Operation ::= CHOICE -{ - liActivated [1] Notification, - liDeactivated [2] Notification, - liModified [3] Notification, - alarms-indicator [4] Alarm-Indicator, - ..., - national-HI1-ASN1parameters [5] National-HI1-ASN1parameters -} - --- ================== --- PARAMETERS FORMATS --- ================== - -Notification ::= SEQUENCE -{ - domainID [0] OBJECT IDENTIFIER (hi1OperationId) OPTIONAL, - -- Once using FTP delivery mechanism - lawfulInterceptionIdentifier [1] LawfulInterceptionIdentifier, - -- This identifier is the LIID identity provided with the lawful authorization - -- for each target. - communicationIdentifier [2] CommunicationIdentifier OPTIONAL, - -- Only the NWO/PA/SvPIdentifier is provided (the one provided with the Lawful - -- authorization). - -- Called "callIdentifier" in V1.1.1 of ES 201 671 - timeStamp [3] TimeStamp, - -- date and time of the report. - ..., - national-HI1-ASN1parameters [5] National-HI1-ASN1parameters OPTIONAL, - target-Information [6] OCTET STRING (SIZE (1..256)) OPTIONAL - -- provides information about the number or the characteristic of the target - -- (e.g. E-mail address, E.164 number), ASCII format -} - -Alarm-Indicator ::= SEQUENCE -{ - domainID [0] OBJECT IDENTIFIER (hi1OperationId) OPTIONAL, - -- Once using FTP delivery mechanism - communicationIdentifier [1] CommunicationIdentifier OPTIONAL, - -- Only the NWO/PA/SvPIdentifier is provided (the one provided with the - -- Lawful authorization) - timeStamp [2] TimeStamp, - -- date and time of the report. - alarm-information [3] OCTET STRING (SIZE (1..256)), - -- Provides information about alarms (free format). - -- Until ASN.1 version 6 (document version v3.12.1) the octet string - -- was limited to a size of 25 - ..., - lawfulInterceptionIdentifier [4] LawfulInterceptionIdentifier OPTIONAL, - -- This identifier is the LIID identity provided with the lawful authorization - -- for each target in according to national law. - national-HI1-ASN1parameters [5] National-HI1-ASN1parameters OPTIONAL -} - -National-HI1-ASN1parameters ::= SEQUENCE -{ - domainID [0] OBJECT IDENTIFIER (hi1OperationId) OPTIONAL, - -- Once using FTP delivery mechanism. - countryCode [1] PrintableString (SIZE (2)), - -- Country Code according to ISO 3166-1 [67], - -- the country to which the parameters inserted after the extension marker apply. - ... - -- In case a given country wants to use additional national parameters according to its law, - -- these national parameters should be defined using the ASN.1 syntax and added after the - -- extension marker (...). - -- It is recommended that "version parameter" and "vendor identification parameter" are - -- included in the national parameters definition. Vendor identifications can be - -- retrieved from IANA web site (see annex K). Besides, it is recommended to avoid - -- using tags from 240 to 255 in a formal type definition. -} - -END -- end of HI1NotificationOperations - +HI1NotificationOperations +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version7(7)} + +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +IMPORTS + OPERATION, + ERROR + FROM Remote-Operations-Information-Objects + {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} + + -- from clause D.5 + CommunicationIdentifier, + TimeStamp, + LawfulInterceptionIdentifier + FROM HI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version10(10)}; + +-- ============================= +-- Object Identifier Definitions +-- ============================= + +-- LawfulIntercept DomainId +lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2)} + +-- hi1 Domain +hi1NotificationOperationsId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi1(0) notificationOperations(1)} +hi1OperationId OBJECT IDENTIFIER ::= {hi1NotificationOperationsId version6(6)} + +sending-of-HI1-Notification OPERATION ::= +{ + ARGUMENT HI1-Operation + ERRORS {ErrorHI1Notifications} + CODE global:{hi1NotificationOperationsId version1(1)} +} +-- Class 2 operation. The timer shall be set to a value between 3s and 240s. +-- The timer default value is 60s. +-- NOTE: The value for this timer is to be set on the equipment waiting for the returned message; +-- its value shall be agreed between the NWO/AP/SvP and the LEA, depending on their equipment +-- properties. + +other-failure-causes ERROR ::= {CODE local:0} +missing-parameter ERROR ::= {CODE local:1} +unknown-parameter ERROR ::= {CODE local:2} +erroneous-parameter ERROR ::= {CODE local:3} + +ErrorHI1Notifications ERROR ::= +{ + other-failure-causes | + missing-parameter | + unknown-parameter | + erroneous-parameter +} + +HI1-Operation ::= CHOICE +{ + liActivated [1] Notification, + liDeactivated [2] Notification, + liModified [3] Notification, + alarms-indicator [4] Alarm-Indicator, + ..., + national-HI1-ASN1parameters [5] National-HI1-ASN1parameters +} + +-- ================== +-- PARAMETERS FORMATS +-- ================== + +Notification ::= SEQUENCE +{ + domainID [0] OBJECT IDENTIFIER (hi1OperationId) OPTIONAL, + -- Once using FTP delivery mechanism + lawfulInterceptionIdentifier [1] LawfulInterceptionIdentifier, + -- This identifier is the LIID identity provided with the lawful authorization + -- for each target. + communicationIdentifier [2] CommunicationIdentifier OPTIONAL, + -- Only the NWO/PA/SvPIdentifier is provided (the one provided with the Lawful + -- authorization). + -- Called "callIdentifier" in V1.1.1 of ES 201 671 + timeStamp [3] TimeStamp, + -- date and time of the report. + ..., + national-HI1-ASN1parameters [5] National-HI1-ASN1parameters OPTIONAL, + target-Information [6] OCTET STRING (SIZE (1..256)) OPTIONAL + -- provides information about the number or the characteristic of the target + -- (e.g. E-mail address, E.164 number), ASCII format +} + +Alarm-Indicator ::= SEQUENCE +{ + domainID [0] OBJECT IDENTIFIER (hi1OperationId) OPTIONAL, + -- Once using FTP delivery mechanism + communicationIdentifier [1] CommunicationIdentifier OPTIONAL, + -- Only the NWO/PA/SvPIdentifier is provided (the one provided with the + -- Lawful authorization) + timeStamp [2] TimeStamp, + -- date and time of the report. + alarm-information [3] OCTET STRING (SIZE (1..256)), + -- Provides information about alarms (free format). + -- Until ASN.1 version 6 (document version v3.12.1) the octet string + -- was limited to a size of 25 + ..., + lawfulInterceptionIdentifier [4] LawfulInterceptionIdentifier OPTIONAL, + -- This identifier is the LIID identity provided with the lawful authorization + -- for each target in according to national law. + national-HI1-ASN1parameters [5] National-HI1-ASN1parameters OPTIONAL +} + +National-HI1-ASN1parameters ::= SEQUENCE +{ + domainID [0] OBJECT IDENTIFIER (hi1OperationId) OPTIONAL, + -- Once using FTP delivery mechanism. + countryCode [1] PrintableString (SIZE (2)), + -- Country Code according to ISO 3166-1 [67], + -- the country to which the parameters inserted after the extension marker apply. + ... + -- In case a given country wants to use additional national parameters according to its law, + -- these national parameters should be defined using the ASN.1 syntax and added after the + -- extension marker (...). + -- It is recommended that "version parameter" and "vendor identification parameter" are + -- included in the national parameters definition. Vendor identifications can be + -- retrieved from IANA web site (see annex K). Besides, it is recommended to avoid + -- using tags from 240 to 255 in a formal type definition. +} + +END -- end of HI1NotificationOperations diff --git a/102232-1/HI2Operations.asn b/102232-1/HI2Operations.asn index 5eeb94f..48f93ea 100644 --- a/102232-1/HI2Operations.asn +++ b/102232-1/HI2Operations.asn @@ -1,1035 +1,1035 @@ -HI2Operations -{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version17(18)} - - -- It is advised not to use version11(11) of this ASN.1 module since it contains a syntax error. - -- Version11(11) of HI2Operations is only defined in TS 101 671 v3.5.1 [81]. - -DEFINITIONS IMPLICIT TAGS ::= - -BEGIN - -IMPORTS OPERATION, - ERROR - FROM Remote-Operations-Information-Objects - {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} - - -- from 3GPP TS 33.108 [61] - UmtsQos, - IMSevent, - LDIevent, - CorrelationValues - FROM UmtsHI2Operations - {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi2(1) r11(11) version-0(0)} - - -- from TS 101 909-20-01 [69] - TARGETACTIVITYMONITOR-1 - FROM TS101909201 - {itu-t(0) identified-organization(4) etsi(0) ts101909(1909) part20(20) subpart1(1) interceptVersion(0)} - - -- from EN 301 040 [72] - TARGETACTIVITYMONITORind, - TARGETCOMMSMONITORind, - TTRAFFICind, - CTTRAFFICind - FROM EN301040 - {itu-t(0) identified-organization(4) etsi(0) en301040 (1040) interceptVersion (0)}; - --- ============================= --- Object Identifier Definitions --- ============================= - --- LawfulIntercept DomainId -lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2)} - --- Security Subdomains -hi2DomainId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi2(1)} -hi2OperationId OBJECT IDENTIFIER ::= {hi2DomainId version18(18)} - -sending-of-IRI OPERATION ::= -{ - ARGUMENT IRIsContent - ERRORS {OperationErrors} - CODE global:{hi2DomainId sending-of-IRI(1) version1(1)} -} --- Class 2 operation. The timer shall be set to a value between 3s and 240s. --- The timer default value is 60s. --- NOTE: The same note as for HI management operation applies. - -IRIsContent ::= CHOICE -{ - iRIContent IRIContent, - iRISequence IRISequence -} - -IRISequence ::= SEQUENCE OF IRIContent - -- Aggregation of IRIContent is an optional feature. - -- It may be applied in cases when at a given point in time several IRI records are - -- available for delivery to the same LEA destination. - -- As a general rule, records created at any event shall be sent immediately and shall - -- not held in the DF or MF in order to apply aggregation. - -- When aggregation is not to be applied, IRIContent needs to be chosen. - -IRIContent ::= CHOICE -{ - iRI-Begin-record [1] IRI-Parameters, - -- At least one optional parameter must be included within the iRI-Begin-Record. - iRI-End-record [2] IRI-Parameters, - iRI-Continue-record [3] IRI-Parameters, - -- At least one optional parameter must be included within the iRI-Continue-Record. - iRI-Report-record [4] IRI-Parameters, - -- At least one optional parameter must be included within the iRI-Report-Record. - ... -} - -unknown-version ERROR ::= {CODE local:0} -missing-parameter ERROR ::= {CODE local:1} -unknown-parameter-value ERROR ::= {CODE local:2} -unknown-parameter ERROR ::= {CODE local:3} - -OperationErrors ERROR ::= -{ - unknown-version | - missing-parameter | - unknown-parameter-value | - unknown-parameter -} --- These values may be sent by the LEMF, when an operation or a parameter is misunderstood. - -IRI-Parameters ::= SEQUENCE -{ - domainID [0] OBJECT IDENTIFIER (hi2OperationId) OPTIONAL, - -- for the sending entity the inclusion of the Object Identifier is mandatory - iRIversion [23] ENUMERATED - { - version2(2), - ..., - version3(3), - version4(4), - version5(5), - version6(6), - version7(7), - lastVersion(8) - } OPTIONAL, - -- Optional parameter "iRIversion" (tag 23) is redundant starting - -- from TS 101 671 v2.5.1 [81] - -- where to the object identifier "domainID" was introduced into IRI-Parameters. - -- In order to keep backward compatibility, even when the version of the "domainID" - -- parameter will be incremented it is recommended to always send to LEMF the same: - -- enumeration value "lastVersion(8)". - -- if not present, it means version 1 is handled - lawfulInterceptionIdentifier [1] LawfulInterceptionIdentifier, - -- This identifier is associated to the target. - communicationIdentifier [2] CommunicationIdentifier, - -- used to uniquely identify an intercepted call. - -- Called "callIdentifier" in v1.1.1 of ES 201 671 [i.5]. - timeStamp [3] TimeStamp, - -- date and time of the event triggering the report. - intercepted-Call-Direct [4] ENUMERATED - { - not-Available(0), - originating-Target(1), - -- In case of GPRS, this indicates that the PDP context activation, modification - -- or deactivation is MS requested. - terminating-Target(2), - -- In case of GPRS, this indicates that the PDP context activation, modification - -- or deactivation is network initiated. - ... - } OPTIONAL, - intercepted-Call-State [5] Intercepted-Call-State OPTIONAL, - ringingDuration [6] OCTET STRING (SIZE (3)) OPTIONAL, - -- Duration in seconds. BCD coded: HHMMSS - conversationDuration [7] OCTET STRING (SIZE (3)) OPTIONAL, - -- Duration in seconds. BCD coded: HHMMSS - locationOfTheTarget [8] Location OPTIONAL, - -- location of the target subscriber - partyInformation [9] SET SIZE (1..10) OF PartyInformation OPTIONAL, - -- This parameter provides the concerned party (Originating, Terminating or forwarded - -- party), the identity(ies) of the party and all the information provided by the party. - callContentLinkInformation [10] SEQUENCE - { - cCLink1Characteristics [1] CallContentLinkCharacteristics OPTIONAL, - -- Information concerning the Content of Communication Link Tx channel established - -- toward the LEMF (or the sum signal channel, in case of mono mode). - cCLink2Characteristics [2] CallContentLinkCharacteristics OPTIONAL, - -- Information concerning the Content of Communication Link Rx channel established - -- toward the LEMF. - ... - } OPTIONAL, - release-Reason-Of-Intercepted-Call [11] OCTET STRING (SIZE (2)) OPTIONAL, - -- Release cause coded in ITU-T Q.850 [31] format. - -- This parameter indicates the reason why the intercepted call cannot be established or - -- why the intercepted call has been released after the active phase. - nature-Of-The-intercepted-call [12] ENUMERATED - { - -- Nature of the intercepted "call": - gSM-ISDN-PSTN-circuit-call(0), - -- the possible UUS content is sent through the HI2 or HI3 "data" interface - -- the possible call content call is established through the HI3 "circuit" interface - gSM-SMS-Message(1), - -- the SMS content is sent through the HI2 or HI3 "data" interface - uUS4-Messages(2), - -- the UUS content is sent through the HI2 or HI3 "data" interface - tETRA-circuit-call(3), - -- the possible call content call is established through the HI3 "circuit" interface - -- the possible data are sent through the HI3 "data" interface - teTRA-Packet-Data(4), - -- the data are sent through the HI3 "data" interface - gPRS-Packet-Data(5), - -- the data are sent through the HI3 "data" interface - ..., - uMTS-circuit-call(6), - -- the possible call content call is established through the HI3 "circuit" interface - -- the possible data are sent through the HI3 "data" interface - lTE-SMS-Message(7), - -- indicator for SMS from LTE handset - -- the SMS content is sent through the HI2 or HI3 "data" interface - lTE-circuit-call(8) - -- indicator for CS call from LTE handset -} OPTIONAL, - serverCenterAddress [13] PartyInformation OPTIONAL, - -- e.g. in case of SMS message this parameter provides the address of the relevant - -- server within the calling (if server is originating) or called - -- (if server is terminating) party address parameters - sMS [14] SMS-report OPTIONAL, - -- this parameter provides the SMS content and associated information - cC-Link-Identifier [15] CC-Link-Identifier OPTIONAL, - -- Depending on a network option, this parameter may be used to identify a CC link - -- in case of multiparty calls. - national-Parameters [16] National-Parameters OPTIONAL, - gPRSCorrelationNumber [18] GPRSCorrelationNumber OPTIONAL, - gPRSevent [20] GPRSEvent OPTIONAL, - -- This information is used to provide particular action of the target - -- such as attach/detach - sgsnAddress [21] DataNodeAddress OPTIONAL, - gPRSOperationErrorCode [22] GPRSOperationErrorCode OPTIONAL, - ..., - ggsnAddress [24] DataNodeAddress OPTIONAL, - qOS [25] UmtsQos OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [61]. - networkIdentifier [26] Network-Identifier OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [61]. - sMSOriginatingAddress [27] DataNodeAddress OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [61]. - sMSTerminatingAddress [28] DataNodeAddress OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [61]. - iMSevent [29] IMSevent OPTIONAL, - sIPMessage [30] OCTET STRING OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [61]. - servingSGSN-number [31] OCTET STRING (SIZE (1..20)) OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [61]. - servingSGSN-address [32] OCTET STRING (SIZE (5..17)) OPTIONAL, - -- Octets are coded according to 3GPP TS 23.003 [76] - -- This parameter is duplicated from 3GPP TS 33.108 [61]. - tARGETACTIVITYMONITOR [33] TARGETACTIVITYMONITOR-1 OPTIONAL, - -- Parameter is used in TS 101 909-20-1 [69] - ldiEvent [34] LDIevent OPTIONAL, - -- The "Location Dependent Interception" parameter is duplicated from 3GPP TS 33.108 [61] - correlation [35] CorrelationValues OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [61] - tARGETACTIVITYMONITORind [36] TARGETACTIVITYMONITORind OPTIONAL, - -- Parameter is used in EN 301 040 [72] - tARGETCOMMSMONITORind [37] TARGETCOMMSMONITORind OPTIONAL, - -- Parameter is used in EN 301 040 [72] - tTRAFFICind [38] TTRAFFICind OPTIONAL, - -- Parameter is used in EN 301 040 [72] - cTTRAFFICind [39] CTTRAFFICind OPTIONAL, - -- Parameter is used in EN 301 040 [72] - servingSystem [40] Network-Element-Identifier OPTIONAL, - -- Parameter identifies the visited network element - national-HI2-ASN1parameters [255] National-HI2-ASN1parameters OPTIONAL -} - --- ================== --- PARAMETERS FORMATS --- ================== - -CommunicationIdentifier ::= SEQUENCE -{ - communication-Identity-Number [0] OCTET STRING (SIZE (1..8)) OPTIONAL, - -- Temporary Identifier of an intercepted call to uniquely identify an intercepted call - -- within the node. This parameter is mandatory if there is associated - -- information sent over HI3interface (CClink, data,..) or when - -- CommunicationIdentifier is used for IRI other than IRI-Report-record - -- This parameter was called "call-Identity-Number" in V1.1.1 of ES 201 671 [i.5] - -- The individual digits of the communication-Identity-Number shall be represented in - -- ASCII format, e.g. "12345678" = 8 octets 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38. - -- For subaddress option only "0"..."9" shall be used. - network-Identifier [1] Network-Identifier, - ... -} --- NOTE: The same "CommunicationIdentifier" value is sent: --- with the HI3 information for correlation purpose between the IRI and the information sent --- on the HI3 interfaces (CCLink, data, ..) with each IRI associated to a same intercepted --- call for correlation purpose between the different IRI. - -Network-Identifier ::= SEQUENCE -{ - operator-Identifier [0] OCTET STRING (SIZE (1..5)), - -- It is a notification of the NWO/AP/SvP in ASCII- characters. - -- For subaddress option only "0"..."9" shall be used. - -- The parameter is mandatory. - network-Element-Identifier [1] Network-Element-Identifier OPTIONAL, - ... -} - -Network-Element-Identifier ::= CHOICE -{ - e164-Format [1] OCTET STRING (SIZE (1..25)), - -- E164 address of the node in international format. Coded in the same format as the - -- calling party number parameter of the ISUP (parameter part: EN 300 356 [5]). - x25-Format [2] OCTET STRING (SIZE (1..25)), - -- X25 address - iP-Format [3] OCTET STRING (SIZE (1..25)), - -- IP address - dNS-Format [4] OCTET STRING (SIZE (1..25)), - -- DNS address - ..., - iP-Address [5] IPAddress -} - -CC-Link-Identifier ::= OCTET STRING (SIZE (1..8)) - -- Depending on a network option, this parameter may be used to identify a CClink - -- in case of multiparty calls. - -- The individual digits of the CC-Link-Identifier shall be represented in - -- ASCII format, e.g. "12345678" = 8 octets 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38. - -- For subaddress option only "0"..."9" shall be used. - -TimeStamp ::= CHOICE -{ --- The minimum resolution required is one second. --- "Resolution" is the smallest incremental change that can be measured for time and --- is expressed with a definite number of decimal digits or bits. - localTime [0] LocalTimeStamp, - utcTime [1] UTCTime -} - -LocalTimeStamp ::= SEQUENCE -{ - generalizedTime [0] GeneralizedTime, - -- The minimum resolution required is one second. - -- "Resolution" is the smallest incremental change that can be measured for time and - -- is expressed with a definite number of decimal digits or bits. - winterSummerIndication [1] ENUMERATED - { - notProvided(0), - winterTime(1), - summerTime(2), - ... - } -} - -PartyInformation ::= SEQUENCE -{ - party-Qualifier [0] ENUMERATED - { - originating-Party(0), - -- In this case, the partyInformation parameter provides the identities related to - -- the originating party and all information provided by this party. - -- This parameter provides also all the information concerning the redirecting - -- party when a forwarded call reaches a target. - terminating-Party(1), - -- In this case, the partyInformation parameter provides the identities related to - -- the terminating party and all information provided by this party. - forwarded-to-Party(2), - -- In this case, the partyInformation parameter provides the identities related to - -- the forwarded to party and parties beyond this one and all information - -- provided by this parties, including the call forwarding reason. - gPRS-Target(3), - ... - }, - partyIdentity [1] SEQUENCE - { - imei [1] OCTET STRING (SIZE (8)) OPTIONAL, - -- See MAP format TS GSM 09.02 [32] - tei [2] OCTET STRING (SIZE (1..15)) OPTIONAL, - -- ISDN-based Terminal Equipment Identity - imsi [3] OCTET STRING (SIZE (3..8)) OPTIONAL, - -- See MAP format TS GSM 09.02 [32] International Mobile - -- Station Identity E.212 number beginning with Mobile Country Code - callingPartyNumber [4] CallingPartyNumber OPTIONAL, - -- The calling party format is used to transmit the identity of a calling party - calledPartyNumber [5] CalledPartyNumber OPTIONAL, - -- The called party format is used to transmit the identity of a called party or - -- a forwarded to party. - msISDN [6] OCTET STRING (SIZE (1..9)) OPTIONAL, - -- MSISDN of the target, encoded in the same format as the AddressString - -- parameters defined in MAP format TS GSM 09.02 [32] - ..., - e164-Format [7] OCTET STRING (SIZE (1..25)) OPTIONAL, - -- E164 address of the node in international format. Coded in the same format as - -- the calling party number parameter of the ISUP (parameter part: EN 300 356 [5]) - sip-uri [8] OCTET STRING OPTIONAL, - -- Session Initiation Protocol - Uniform Resource Identifier. See RFC 3261 [59]. - -- This parameter is duplicated from 3GPP TS 33.108 [61]. - tel-url [9] OCTET STRING OPTIONAL, - -- See "URLs for Telephone Calls", RFC 3966 [68]. - -- This parameter is duplicated from 3GPP TS 33.108 [61]. - party-Validity [10] ENUMERATED - { - trusted(0), - -- The operator has assured the party identity - untrusted(1), - -- The operator does not assure the party identity - operator-added(2), - -- The party identity is added by the operator, e.g. the roaming number - ... - } OPTIONAL, - alphanumeric [11] UTF8String OPTIONAL - -- see clause A.3.3 on usage of this parameter - }, - services-Information [2] Services-Information OPTIONAL, - -- This parameter is used to transmit all the information concerning the - -- complementary information associated to the basic call - supplementary-Services-Information [3] Supplementary-Services OPTIONAL, - -- This parameter is used to transmit all the information concerning the - -- activation/invocation of supplementary services during a call or out-of call not - -- provided by the previous parameters. - services-Data-Information [4] Services-Data-Information OPTIONAL, - -- This parameter is used to transmit all the information concerning the complementary - -- information associated to the basic data call. - ... -} - -CallingPartyNumber ::= CHOICE -{ - iSUP-Format [1] OCTET STRING (SIZE (1..25)), - -- Encoded in the same format as the calling party number (parameter field) - -- of the ISUP (see EN 300 356 [5]). - dSS1-Format [2] OCTET STRING (SIZE (1..25)), - -- Encoded in the format defined for the value part of the Calling party number - -- information element of DSS1 protocol EN 300 403-1 [6]. - -- The DSS1 Information element identifier and the DSS1 length are not included. - ..., - mAP-Format [3] OCTET STRING (SIZE (1..25)) - -- Encoded as AddressString of the MAP protocol TS GSM 09.02 [32]. -} - -CalledPartyNumber ::= CHOICE -{ - iSUP-Format [1] OCTET STRING (SIZE (1..25)), - -- Encoded in the same format as the called party number (parameter field) - -- of the ISUP (see EN 300 356 [5]). - mAP-Format [2] OCTET STRING (SIZE (1..25)), - -- Encoded as AddressString of the MAP protocol TS GSM 09.02 [32]. - dSS1-Format [3] OCTET STRING (SIZE (1..25)), - -- Encoded in the format defined for the value part of the Called party number information - -- element of DSS1 protocol EN 300 403-1 [6]. - -- The DSS1 Information element identifier and the DSS1 length are not included. - ... -} - -Location ::= SEQUENCE -{ - e164-Number [1] OCTET STRING (SIZE (1..25)) OPTIONAL, - -- Coded in the same format as the ISUP location number (parameter field) - -- of the ISUP (see EN 300 356 [5]). - globalCellID [2] OCTET STRING (SIZE (5..7)) OPTIONAL, - -- See MAP format (see TS GSM 09.02 [32]). - tetraLocation [3] TetraLocation OPTIONAL, - -- This optional parameter is not in use anymore, but is kept for backwards compatibility. - rAI [4] OCTET STRING (SIZE (6)) OPTIONAL, - -- The Routeing Area Identifier (RAI) in the current SGSN is coded in accordance with - -- 3GPP TS 24.008 [41] without the Routing Area Identification IEI (only the - -- last 6 octets are used). - gsmLocation [5] GSMLocation OPTIONAL, - umtsLocation [6] UMTSLocation OPTIONAL, - sAI [7] OCTET STRING (SIZE (7)) OPTIONAL, - -- format: PLMN-ID 3 octets (no. 1-3), - -- LAC 2 octets (no. 4-5), - -- SAC 2 octets (no. 6-7) - -- (according to 3GPP 25.413 [82]). - ..., - oldRAI [8] OCTET STRING (SIZE (6)) OPTIONAL, - -- the "Routeing Area Identifier" in the old SGSN is coded in accordance with - -- 3GPP TS 24.008 [41] without the Routing Area Identification IEI - -- (only the last 6 octets are used). - -- This parameter is duplicated from 3GPP TS 33.108 [61]. - tAI [9] OCTET STRING (SIZE (6)) OPTIONAL, - -- The "Tracking Area Identity" (TAI) is coded in accordance with 3GPP TS 29.118 [83] - -- without the TAI IEI. - -- The tAI parameter is applicable only to the CS traffic cases where the available - -- location information is the one received from the Mobility Management Entity (MME). - -- This parameter is duplicated from 3GPP TS 33.108 [61]. - eCGI [10] OCTET STRING (SIZE (8)) OPTIONAL - -- the "E-UTRAN Cell Global Identity" (E-CGI) is coded in accordance with - -- 3GPP TS 29.118 [83] without the E-CGI IEI. - -- The eCGI parameter is applicable only to the CS traffic cases where - -- the available location information is the one received from the MME. - -- This parameter is duplicated from 3GPP TS 33.108 [61]. -} - -TetraLocation ::= CHOICE - -- This optional parameter is not in use anymore, but is kept for backwards compatibility. -{ - ms-Loc [1] SEQUENCE - { - mcc [1] INTEGER (0..1023), - -- 10 bits EN 300 392-1 [40] - mnc [2] INTEGER (0..16383), - -- 14 bits EN 300 392-1 [40] - lai [3] INTEGER (0..65535), - -- 14 bits EN 300 392-1 [40] - ci [4] INTEGER OPTIONAL - }, - ls-Loc [2] INTEGER -} - -GSMLocation ::= CHOICE -{ - geoCoordinates [1] SEQUENCE - { - latitude [1] PrintableString (SIZE(7..10)), - -- format: XDDMMSS.SS - longitude [2] PrintableString (SIZE(8..11)), - -- format: XDDDMMSS.SS - mapDatum [3] MapDatum DEFAULT wGS84, - ..., - azimuth [4] INTEGER (0..359) OPTIONAL - -- The azimuth is the bearing, relative to true north - }, - -- format: XDDDMMSS.SS - -- X : N(orth), S(outh), E(ast), W(est) - -- DD or DDD : degrees (numeric characters) - -- MM : minutes (numeric characters) - -- SS.SS : seconds, the second part (.SS) is optional - -- Example: - -- latitude short form N502312 - -- longitude long form E1122312.18 - - utmCoordinates [2] SEQUENCE - { - utm-East [1] PrintableString (SIZE(10)), - utm-North [2] PrintableString (SIZE(7)), - -- Universal Transverse Mercator - -- example utm-East 32U0439955 - -- utm-North 5540736 - mapDatum [3] MapDatum DEFAULT wGS84, - ..., - azimuth [4] INTEGER (0..359) OPTIONAL - -- The azimuth is the bearing, relative to true north - }, - - utmRefCoordinates [3] SEQUENCE - { - utmref-string PrintableString (SIZE(13)), - mapDatum MapDatum DEFAULT wGS84, - ... - }, - -- example 32UPU91294045 - - wGS84Coordinates [4] OCTET STRING - -- format is as defined in 3GPP TS 03.32 [57] -} - -MapDatum ::= ENUMERATED -{ - wGS84, - -- World Geodetic System 1984 - wGS72, - eD50, - -- European Datum 50 - ... -} - -UMTSLocation ::= CHOICE -{ - point [1] GA-Point, - pointWithUnCertainty [2] GA-PointWithUnCertainty, - polygon [3] GA-Polygon, - ... -} - -GeographicalCoordinates ::= SEQUENCE -{ - latitudeSign ENUMERATED - { - north, - south - }, - latitude INTEGER (0..8388607), - longitude INTEGER (-8388608..8388607), - ... -} - -GA-Point ::= SEQUENCE -{ - geographicalCoordinates GeographicalCoordinates, - ... -} - -GA-PointWithUnCertainty ::=SEQUENCE -{ - geographicalCoordinates GeographicalCoordinates, - uncertaintyCode INTEGER (0..127) -} - -maxNrOfPoints INTEGER ::= 15 - -GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF - SEQUENCE - { - geographicalCoordinates GeographicalCoordinates, - ... - } - -CallContentLinkCharacteristics ::= SEQUENCE -{ - cCLink-State [1] CCLink-State OPTIONAL, - -- current state of the CCLink - release-Time [2] TimeStamp OPTIONAL, - -- date and time of the release of the Call Content Link. - release-Reason [3] OCTET STRING (SIZE(2)) OPTIONAL, - -- Release cause coded in Q.850 [31] format - lEMF-Address [4] CalledPartyNumber OPTIONAL, - -- Directory number used to route the call toward the LEMF - ... -} - -CCLink-State ::= ENUMERATED -{ - setUpInProcess(1), - -- The set-up of the call is in process - callActive(2), - callReleased(3), - lack-of-resource(4), - -- The lack-of-resource state is sent when a CC Link cannot - -- be established because of lack of resource at the MF level. - ... -} - -Intercepted-Call-State ::= ENUMERATED -{ - idle(1), - -- When the intercept call is released, the state is IDLE and the reason is provided - -- by the release-Reason-Of-Intercepted-Call parameter. - setUpInProcess(2), - -- The set-up of the call is in process - connected(3), - -- The answer has been received - ... -} - -Services-Information ::= SEQUENCE -{ - iSUP-parameters [1] ISUP-parameters OPTIONAL, - dSS1-parameters-codeset-0 [2] DSS1-parameters-codeset-0 OPTIONAL, - ..., - mAP-parameters [3] MAP-parameters OPTIONAL -} - -ISUP-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) - -- Each "OCTET STRING" contains one additional ISUP parameter TLV coded not already defined in - -- the previous parameters. The Tag value is the one given in EN 300 356 [5]. - - -- In version 1 of the present document "iSUP-parameters" is defined as mandatory. - -- It might occur that no ISUP parameter is available. In that case in a version 1 - -- implementation the value "zero" may be included in the first octet string of the SET. - - -- The Length and the Value are coded in accordance with the parameter definition in - -- EN 300 356 [5]. Hereafter are listed the main parameters. - -- However other parameters may be added: - - -- Transmission medium requirement: format defined in EN 300 356 [5]. - -- This parameter can be provided with the "Party Information" of the "calling party". - - -- Transmission medium requirement prime: format defined in EN 300 356 [5]. - -- This parameter can be provided with the "Party Information" of the "calling party". - -DSS1-parameters-codeset-0 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) - -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-0. The parameter is coded as - -- described in EN 300 403-1 [6] (The DSS1 Information element identifier and the DSS1 length - -- are included). Hereafter are listed the main parameters. - -- However other parameters may be added: - - -- Bearer capability: this parameter may be repeated. Format defined in EN 300 403-1 [6]. - -- This parameter can be provided with the "Party Information" of the "calling party", - -- "called party" or "forwarded to party". - - -- High Layer Compatibility: this parameter may be repeated. Format defined in EN 300 403-1 [6] - -- This parameter can be provided with the "Party Information" of the "calling party", - -- "called party" or "forwarded to party". - - -- Low Layer capability: this parameter may be repeated. Format defined in EN 300 403-1 [6]. - -- This parameter can be provided with the "Party Information" of the "calling party", - -- "called party" or "forwarded to party". - -MAP-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE(1..256)) - -- Each "OCTET STRING" contains one MAP parameter. The parameter is coded as described in - -- TS GSM 09.02 [32] (The map-TS-Code is included). - -Supplementary-Services ::= SEQUENCE -{ - standard-Supplementary-Services [1] Standard-Supplementary-Services OPTIONAL, - non-Standard-Supplementary-Services [2] Non-Standard-Supplementary-Services OPTIONAL, - other-Services [3] Other-Services OPTIONAL, - ... -} - -Standard-Supplementary-Services ::= SEQUENCE -{ - iSUP-SS-parameters [1] ISUP-SS-parameters OPTIONAL, - dSS1-SS-parameters-codeset-0 [2] DSS1-SS-parameters-codeset-0 OPTIONAL, - dSS1-SS-parameters-codeset-4 [3] DSS1-SS-parameters-codeset-4 OPTIONAL, - dSS1-SS-parameters-codeset-5 [4] DSS1-SS-parameters-codeset-5 OPTIONAL, - dSS1-SS-parameters-codeset-6 [5] DSS1-SS-parameters-codeset-6 OPTIONAL, - dSS1-SS-parameters-codeset-7 [6] DSS1-SS-parameters-codeset-7 OPTIONAL, - dSS1-SS-Invoke-components [7] DSS1-SS-Invoke-Components OPTIONAL, - mAP-SS-Parameters [8] MAP-SS-Parameters OPTIONAL, - mAP-SS-Invoke-Components [9] MAP-SS-Invoke-Components OPTIONAL, - ... -} - -Non-Standard-Supplementary-Services ::= SET SIZE (1..20) OF CHOICE -{ - simpleIndication [1] SimpleIndication, - sciData [2] SciDataMode, - ... -} - -Other-Services ::= SET SIZE (1..50) OF OCTET STRING (SIZE (1..256)) - -- Reference manufacturer manuals. - -ISUP-SS-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) - -- It must be noticed this parameter is retained for compatibility reasons. - -- It is recommended not to use it in new work but to use ISUP-parameters parameter. - - -- Each "OCTET STRING" contains one additional ISUP parameter TLV coded not already defined in - -- the previous parameters. The Tag value is the one given in EN 300 356 [5]. - -- The Length and the Value are coded in accordance with the parameter definition in - -- EN 300 356 [5]. Hereafter are listed the main parameters. - -- However other parameters may be added: - - -- Connected Number: format defined in EN 300 356 [5]. - -- This parameter can be provided with the "Party Information" of the - -- "called party" or "forwarded to party". - - -- RedirectingNumber: format defined in EN 300 356 [5]. - -- This parameter can be provided with the "Party Information" of the "originating party" - -- or/and of the "terminating party". - - -- Original Called Party Number: format defined in EN 300 356 [5]. - -- This parameter can be provided with the "Party Information" of the "originating party". - - -- Redirection information: format defined in EN 300 356 [5]. - -- This parameter can be provided with the "Party Information" of the - -- "originating party", "forwarded to party" or/and "Terminating party". - - -- Redirection Number: format defined in EN 300 356 [5]. - -- This parameter can be provided with the "Party Information" of the - -- "forwarded to party" or "Terminating party". - - -- Call diversion information: format defined in EN 300 356 [5]. - -- This parameter can be provided with the "Party Information" of the - -- "forwarded to party" or "Terminating party". - - -- Generic Number: format defined in EN 300 356 [5]. - -- This parameter can be provided with the "Party Information" of the - -- "calling party", "called party" or "forwarded to party". - -- This parameters are used to transmit additional identities (additional, calling party - -- number, additional called number, etc.). - - -- Generic Notification: format defined in EN 300 356 [5]. - -- This parameter may be provided with the "Party Information" of the - -- "calling party", "called party" or "forwarded to party". - -- This parameters transmit the notification to the other part of the call of the supplementary - -- services activated or invoked by a subscriber during the call. - - -- CUG Interlock Code: format defined in EN 300 356 [5]. - -- This parameter can be provided with the "Party Information" of the "calling party". - -DSS1-SS-parameters-codeset-0 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) - -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-0. The parameter is coded as - -- described in EN 300 403-1 [6] (The DSS1 Information element identifier and the DSS1 length - -- are included). Hereafter are listed the main parameters. - -- However other parameters may be added: - - -- Calling Party Subaddress: format defined in EN 300 403-1 [6]. - -- This parameter can be provided with the "Party Information" of the "calling party". - - -- Called Party Subaddress: format defined in EN 300 403-1 [6]. - -- This parameter can be provided with the "Party Information" of the "calling party". - - -- Connected Subaddress: format defined in recommendation (see EN 300 097-1 [14]). - -- This parameter can be provided with the "Party Information" of the - -- "called party" or "forwarded to party". - - -- Connected Number: format defined in recommendation (see EN 300 097-1 [14]). - -- This parameter can be provided with the "Party Information" of the - -- "called party" or "forwarded to party". - - -- Keypad facility: format defined in EN 300 403-1 [6]. - -- This parameter can be provided with the "Party Information" of the - -- "calling party", "called party" or "forwarded to party". - - -- Called Party Number: format defined in EN 300 403-1 [6]. - -- This parameter could be provided with the "Party Information" of the "calling party" - -- when target is the originating party; it contains the dialled digits before modification - -- at network level (e.g. IN interaction, translation, etc ...). - - -- User-user: format defined in EN 300 286-1 [23]). - -- This parameter can be provided with the "Party Information" of the - -- "calling party", "called party" or "forwarded to party". - -DSS1-SS-parameters-codeset-4 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) - -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-4. The parameter is coded as - -- described in the relevant recommendation. - -DSS1-SS-parameters-codeset-5 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) - -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-5. The parameter is coded as - -- described in the relevant national recommendation. - -DSS1-SS-parameters-codeset-6 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) - -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-6. The parameter is coded as - -- described in the relevant local network recommendation. - -DSS1-SS-parameters-codeset-7 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) - -- Each "octet string" contains one DSS1 parameter of the codeset-7. The parameter is coded as - -- described in the relevant user specific recommendation. - -DSS1-SS-Invoke-Components ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) - -- Each "octet string" contains one DSS1 Invoke or Return Result component. - -- The invoke or return result component is coded as - -- described in the relevant DSS1 supplementary service recommendation. - - -- Invoke or Return Result component (BeginCONF): EN 300 185-1 [19] - -- Invoke or Return Result component (AddCONF): EN 300 185-1 [19] - -- Invoke or Return Result component (SplitCONF): EN 300 185-1 [19] - -- Invoke or Return Result component (DropCONF): EN 300 185-1 [19] - -- Invoke or Return Result component (IsolateCONF): EN 300 185-1 [19] - -- Invoke or Return Result component (ReattachCONF): EN 300 185-1 [19] - -- Invoke or Return Result component (PartyDISC): EN 300 185-1 [19] - -- Invoke or Return Result component (MCIDRequest): EN 300 130-1 [16] - -- Invoke or Return Result component (Begin3PTY): EN 300 188-1 [20] - -- Invoke or Return Result component (End3PTY): EN 300 188-1 [20] - -- Invoke or Return Result component (ECTExecute): EN 300 369-1 [25] - -- Invoke or Return Result component (ECTInform): EN 300 369-1 [25] - -- Invoke or Return Result component (ECTLinkIdRequest): EN 300 369-1 [25] - -- Invoke or Return Result component (ECTLoopTest): EN 300 369-1 [25] - -- Invoke or Return Result component (ExplicitECTExecute): EN 300 369-1 [25] - -- Invoke or Return Result component (ECT: RequestSubaddress): EN 300 369-1 [25] - -- Invoke or Return Result component (ECT: SubaddressTransfer): EN 300 369-1 [25] - -- Invoke or Return Result component (CF: ActivationDiversion): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: DeactivationDiversion): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: ActivationStatusNotification): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: DeactivationStatusNotification): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: InterrogationDiversion): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: InterrogationServedUserNumber): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: DiversionInformation): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: CallDeflection): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: CallRerouteing): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: DivertingLegInformation1): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: DivertingLegInformation2): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: DivertingLegInformation3): EN 300 207-1 [21] - -- other invoke or return result components ... - -MAP-SS-Invoke-Components ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) - -- Each "octet string" contains one MAP Invoke or Return Result component. - -- The invoke or return result component is coded as - -- described in the relevant MAP supplementary service recommendation. - -MAP-SS-Parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) - -- Each "octet string" contains one MAP Parameter. The parameter is coded as - -- described in the relevant MAP supplementary service recommendation. - -SimpleIndication ::= ENUMERATED -{ - call-Waiting-Indication(0), - -- The target has received a call waiting indication for this call - add-conf-Indication(1), - -- this call has been added to a conference - call-on-hold-Indication(2), - -- indication that this call is on hold - retrieve-Indication(3), - -- indication that this call has been retrieved - suspend-Indication(4), - -- indication that this call has been suspended - resume-Indication(5), - -- indication that this call has been resumed - answer-Indication(6), - -- indication that this call has been answered - ... -} - -SciDataMode ::= OCTET STRING (SIZE (1..256)) - -SMS-report ::= SEQUENCE -{ - communicationIdentifier [1] CommunicationIdentifier, - -- used to uniquely identify an intercepted call: the same used for the - -- relevant IRI - -- Called "callIdentifier" in V1.1.1 of ES 201 671 [i.5] - timeStamp [2] TimeStamp, - -- date and time of the report. The format is - -- the one defined in case a) of the ASN.1 ITU-T Recommendation X.680 [33]. - -- (year month day hour minutes seconds) - sMS-Contents [3] SEQUENCE - { - initiator [1] ENUMERATED - { - -- party which sent the SMS - target(0), - server(1), - undefined-party(2), - ... - }, - transfer-status [2] ENUMERATED - { - succeed-transfer(0), - --the transfer of the SMS message succeeds - not-succeed-transfer(1), - undefined(2), - ... - } OPTIONAL, - other-message [3] ENUMERATED - { - -- In case of terminating call, indicates if the server will send other SMS. - yes(0), - no(1), - undefined(2), - ... - } OPTIONAL, - content [4] OCTET STRING (SIZE (1..270)) OPTIONAL, - -- Encoded in the format defined for the SMS mobile. - -- The content and enhancedContent fields are mutually exclusive. - -- The content field is dedicated for 3GPP purposes. - ..., - enhancedContent [5] SEQUENCE - { - content [1] OCTET STRING, - -- The character encoding used in the content field is specified in the - -- character-encoding field. - character-encoding [2] ENUMERATED - { - gsm-7-bit-ascii(0), - eight-bit-ascii(1), - eight-bit-binary(2), - ucs-2(3), - utf-8(4), - utf-16(5), - other(6), - ... - } - } OPTIONAL - } -} - -LawfulInterceptionIdentifier ::= OCTET STRING (SIZE (1..25)) - -- It is recommended to use ASCII characters in "a"..."z", "A"..."Z", "-", "_", ".", and "0"..."9". - -- For subaddress option only "0"..."9" shall be used. - -National-Parameters ::= SET SIZE (1..40) OF OCTET STRING (SIZE (1..256)) - -- Content defined by national law. - -GPRSCorrelationNumber ::= OCTET STRING (SIZE(8..20)) - -GPRSEvent ::= ENUMERATED - -- see 3GPP TS 03.33 [42] -{ - pDPContextActivation(1), - startOfInterceptionWithPDPContextActive(2), - pDPContextDeactivation(4), - gPRSAttach(5), - gPRSDetach(6), - cellOrRAUpdate(10), - sMS(11), - ..., - pDPContextModification(13), - endOfInterceptionWithPDPContextActive(14) -} - -Services-Data-Information ::= SEQUENCE -{ - gPRS-parameters [1] GPRS-parameters OPTIONAL, - ... -} - -GPRS-parameters ::= SEQUENCE -{ - pDP-address-allocated-to-the-target [1] DataNodeAddress OPTIONAL, - aPN [2] OCTET STRING (SIZE(1..100)) OPTIONAL, - -- The Access Point Name (APN) is coded in accordance with - -- 3GPP TS 24.008 [41] without the APN IEI (only the last 100 octets are used). - -- Octets are coded according to 3GPP TS 23.003 [76]. - -- This parameter is duplicated from 3GPP TS 33.108 [61]. - pDP-type [3] OCTET STRING (SIZE(2)) OPTIONAL, - -- when PDP-type is IPv4 or IPv6, the IP address is carried by parameter - -- pDP-address-allocated-to-the-target when PDP-type is IPv4v6, - -- the additional IP address is carried by parameter additionalIPaddress - ..., - nSAPI [4] OCTET STRING (SIZE (1)) OPTIONAL, - additionalIPaddress [5] DataNodeAddress OPTIONAL -} - -GPRSOperationErrorCode ::= OCTET STRING (SIZE(2)) - -- Refer to 3GPP TS 24.008 [41] for values (GMM cause or SM cause parameter). - -DataNodeAddress ::= CHOICE -{ - ipAddress [1] IPAddress, - x25Address [2] X25Address, - ... -} - -IPAddress ::= SEQUENCE -{ - iP-type [1] ENUMERATED - { - iPV4(0), - iPV6(1), - ... - }, - iP-value [2] IP-value, - iP-assignment [3] ENUMERATED - { - static(1), - -- The static coding shall be used to report a static address. - dynamic(2), - -- The dynamic coding shall be used to report a dynamically allocated address. - notKnown(3), - -- The notKnown coding shall be used to report other then static or dynamically - -- allocated IP addresses. - ... - } OPTIONAL, - ..., - iPv6PrefixLength [4] INTEGER (1..128) OPTIONAL, - -- Indicates the length of the prefix delegated by the CSP to the subscriber - -- example: 60 if IP address is "2001:db8:0:85a3::ac1f:8001/60" - -- Mandatory in case where the iP-value contains an IPv6 binary value - iPv4SubnetMask [5] OCTET STRING (SIZE(4)) OPTIONAL - -- For IPv4 addresses, this indicates the subnetmask to be applied to the iP-value field. - -- The subnet mask is intended to be presented as a binary value, e.g. "ff ff ff f8" to - -- represent the dotted-decimal subnet mask of "255.255.255.248" corresponding to - -- a /29 CIDR-format subnet mask -} - -IP-value ::= CHOICE -{ - iPBinaryAddress [1] OCTET STRING (SIZE(4..16)), - -- In case of IPv6, the Prefix Length is provided by the "iPv6PrefixLength" - -- In case of IPv4, the netmask is provided by the "iPv4SubnetMask" - iPTextAddress [2] IA5String (SIZE(7..45)), - -- In case of IPv6, the delivered iPTextAddress field could include a complete - -- single IPv6-Address or an IPv6-Prefix for a subnetwork on the target side. - -- In case of IPv4, the delivered iPTextAddress field could include a single - -- IPv4 address or an IPv4address/netmask, for example "192.168.1.1" or "192.168.1.1/24" - ... -} - -X25Address ::= OCTET STRING (SIZE(1..25)) - -National-HI2-ASN1parameters ::= SEQUENCE -{ - countryCode [1] PrintableString (SIZE (2)), - -- Country Code according to ISO 3166-1 [67], - -- the country to which the parameters inserted after the extension marker apply. - ... - -- In case a given country wants to use additional national parameters according to its law, - -- these national parameters should be defined using the ASN.1 syntax and added after the - -- extension marker (...). - -- It is recommended that "version parameter" and "vendor identification parameter" are - -- included in the national parameters definition. Vendor identifications can be - -- retrieved from the IANA web site (see annex K). Besides, it is recommended to avoid - -- using tags from 240 to 255 in a formal type definition. -} - -END -- end of HI2Operations +HI2Operations +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version17(18)} + + -- It is advised not to use version11(11) of this ASN.1 module since it contains a syntax error. + -- Version11(11) of HI2Operations is only defined in TS 101 671 v3.5.1 [81]. + +DEFINITIONS IMPLICIT TAGS ::= + +BEGIN + +IMPORTS OPERATION, + ERROR + FROM Remote-Operations-Information-Objects + {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} + + -- from 3GPP TS 33.108 [61] + UmtsQos, + IMSevent, + LDIevent, + CorrelationValues + FROM UmtsHI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi2(1) r11(11) version-0(0)} + + -- from TS 101 909-20-01 [69] + TARGETACTIVITYMONITOR-1 + FROM TS101909201 + {itu-t(0) identified-organization(4) etsi(0) ts101909(1909) part20(20) subpart1(1) interceptVersion(0)} + + -- from EN 301 040 [72] + TARGETACTIVITYMONITORind, + TARGETCOMMSMONITORind, + TTRAFFICind, + CTTRAFFICind + FROM EN301040 + {itu-t(0) identified-organization(4) etsi(0) en301040 (1040) interceptVersion (0)}; + +-- ============================= +-- Object Identifier Definitions +-- ============================= + +-- LawfulIntercept DomainId +lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2)} + +-- Security Subdomains +hi2DomainId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi2(1)} +hi2OperationId OBJECT IDENTIFIER ::= {hi2DomainId version18(18)} + +sending-of-IRI OPERATION ::= +{ + ARGUMENT IRIsContent + ERRORS {OperationErrors} + CODE global:{hi2DomainId sending-of-IRI(1) version1(1)} +} +-- Class 2 operation. The timer shall be set to a value between 3s and 240s. +-- The timer default value is 60s. +-- NOTE: The same note as for HI management operation applies. + +IRIsContent ::= CHOICE +{ + iRIContent IRIContent, + iRISequence IRISequence +} + +IRISequence ::= SEQUENCE OF IRIContent + -- Aggregation of IRIContent is an optional feature. + -- It may be applied in cases when at a given point in time several IRI records are + -- available for delivery to the same LEA destination. + -- As a general rule, records created at any event shall be sent immediately and shall + -- not held in the DF or MF in order to apply aggregation. + -- When aggregation is not to be applied, IRIContent needs to be chosen. + +IRIContent ::= CHOICE +{ + iRI-Begin-record [1] IRI-Parameters, + -- At least one optional parameter must be included within the iRI-Begin-Record. + iRI-End-record [2] IRI-Parameters, + iRI-Continue-record [3] IRI-Parameters, + -- At least one optional parameter must be included within the iRI-Continue-Record. + iRI-Report-record [4] IRI-Parameters, + -- At least one optional parameter must be included within the iRI-Report-Record. + ... +} + +unknown-version ERROR ::= {CODE local:0} +missing-parameter ERROR ::= {CODE local:1} +unknown-parameter-value ERROR ::= {CODE local:2} +unknown-parameter ERROR ::= {CODE local:3} + +OperationErrors ERROR ::= +{ + unknown-version | + missing-parameter | + unknown-parameter-value | + unknown-parameter +} +-- These values may be sent by the LEMF, when an operation or a parameter is misunderstood. + +IRI-Parameters ::= SEQUENCE +{ + domainID [0] OBJECT IDENTIFIER (hi2OperationId) OPTIONAL, + -- for the sending entity the inclusion of the Object Identifier is mandatory + iRIversion [23] ENUMERATED + { + version2(2), + ..., + version3(3), + version4(4), + version5(5), + version6(6), + version7(7), + lastVersion(8) + } OPTIONAL, + -- Optional parameter "iRIversion" (tag 23) is redundant starting + -- from TS 101 671 v2.5.1 [81] + -- where to the object identifier "domainID" was introduced into IRI-Parameters. + -- In order to keep backward compatibility, even when the version of the "domainID" + -- parameter will be incremented it is recommended to always send to LEMF the same: + -- enumeration value "lastVersion(8)". + -- if not present, it means version 1 is handled + lawfulInterceptionIdentifier [1] LawfulInterceptionIdentifier, + -- This identifier is associated to the target. + communicationIdentifier [2] CommunicationIdentifier, + -- used to uniquely identify an intercepted call. + -- Called "callIdentifier" in v1.1.1 of ES 201 671 [i.5]. + timeStamp [3] TimeStamp, + -- date and time of the event triggering the report. + intercepted-Call-Direct [4] ENUMERATED + { + not-Available(0), + originating-Target(1), + -- In case of GPRS, this indicates that the PDP context activation, modification + -- or deactivation is MS requested. + terminating-Target(2), + -- In case of GPRS, this indicates that the PDP context activation, modification + -- or deactivation is network initiated. + ... + } OPTIONAL, + intercepted-Call-State [5] Intercepted-Call-State OPTIONAL, + ringingDuration [6] OCTET STRING (SIZE (3)) OPTIONAL, + -- Duration in seconds. BCD coded: HHMMSS + conversationDuration [7] OCTET STRING (SIZE (3)) OPTIONAL, + -- Duration in seconds. BCD coded: HHMMSS + locationOfTheTarget [8] Location OPTIONAL, + -- location of the target subscriber + partyInformation [9] SET SIZE (1..10) OF PartyInformation OPTIONAL, + -- This parameter provides the concerned party (Originating, Terminating or forwarded + -- party), the identity(ies) of the party and all the information provided by the party. + callContentLinkInformation [10] SEQUENCE + { + cCLink1Characteristics [1] CallContentLinkCharacteristics OPTIONAL, + -- Information concerning the Content of Communication Link Tx channel established + -- toward the LEMF (or the sum signal channel, in case of mono mode). + cCLink2Characteristics [2] CallContentLinkCharacteristics OPTIONAL, + -- Information concerning the Content of Communication Link Rx channel established + -- toward the LEMF. + ... + } OPTIONAL, + release-Reason-Of-Intercepted-Call [11] OCTET STRING (SIZE (2)) OPTIONAL, + -- Release cause coded in ITU-T Q.850 [31] format. + -- This parameter indicates the reason why the intercepted call cannot be established or + -- why the intercepted call has been released after the active phase. + nature-Of-The-intercepted-call [12] ENUMERATED + { + -- Nature of the intercepted "call": + gSM-ISDN-PSTN-circuit-call(0), + -- the possible UUS content is sent through the HI2 or HI3 "data" interface + -- the possible call content call is established through the HI3 "circuit" interface + gSM-SMS-Message(1), + -- the SMS content is sent through the HI2 or HI3 "data" interface + uUS4-Messages(2), + -- the UUS content is sent through the HI2 or HI3 "data" interface + tETRA-circuit-call(3), + -- the possible call content call is established through the HI3 "circuit" interface + -- the possible data are sent through the HI3 "data" interface + teTRA-Packet-Data(4), + -- the data are sent through the HI3 "data" interface + gPRS-Packet-Data(5), + -- the data are sent through the HI3 "data" interface + ..., + uMTS-circuit-call(6), + -- the possible call content call is established through the HI3 "circuit" interface + -- the possible data are sent through the HI3 "data" interface + lTE-SMS-Message(7), + -- indicator for SMS from LTE handset + -- the SMS content is sent through the HI2 or HI3 "data" interface + lTE-circuit-call(8) + -- indicator for CS call from LTE handset +} OPTIONAL, + serverCenterAddress [13] PartyInformation OPTIONAL, + -- e.g. in case of SMS message this parameter provides the address of the relevant + -- server within the calling (if server is originating) or called + -- (if server is terminating) party address parameters + sMS [14] SMS-report OPTIONAL, + -- this parameter provides the SMS content and associated information + cC-Link-Identifier [15] CC-Link-Identifier OPTIONAL, + -- Depending on a network option, this parameter may be used to identify a CC link + -- in case of multiparty calls. + national-Parameters [16] National-Parameters OPTIONAL, + gPRSCorrelationNumber [18] GPRSCorrelationNumber OPTIONAL, + gPRSevent [20] GPRSEvent OPTIONAL, + -- This information is used to provide particular action of the target + -- such as attach/detach + sgsnAddress [21] DataNodeAddress OPTIONAL, + gPRSOperationErrorCode [22] GPRSOperationErrorCode OPTIONAL, + ..., + ggsnAddress [24] DataNodeAddress OPTIONAL, + qOS [25] UmtsQos OPTIONAL, + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + networkIdentifier [26] Network-Identifier OPTIONAL, + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + sMSOriginatingAddress [27] DataNodeAddress OPTIONAL, + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + sMSTerminatingAddress [28] DataNodeAddress OPTIONAL, + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + iMSevent [29] IMSevent OPTIONAL, + sIPMessage [30] OCTET STRING OPTIONAL, + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + servingSGSN-number [31] OCTET STRING (SIZE (1..20)) OPTIONAL, + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + servingSGSN-address [32] OCTET STRING (SIZE (5..17)) OPTIONAL, + -- Octets are coded according to 3GPP TS 23.003 [76] + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + tARGETACTIVITYMONITOR [33] TARGETACTIVITYMONITOR-1 OPTIONAL, + -- Parameter is used in TS 101 909-20-1 [69] + ldiEvent [34] LDIevent OPTIONAL, + -- The "Location Dependent Interception" parameter is duplicated from 3GPP TS 33.108 [61] + correlation [35] CorrelationValues OPTIONAL, + -- This parameter is duplicated from 3GPP TS 33.108 [61] + tARGETACTIVITYMONITORind [36] TARGETACTIVITYMONITORind OPTIONAL, + -- Parameter is used in EN 301 040 [72] + tARGETCOMMSMONITORind [37] TARGETCOMMSMONITORind OPTIONAL, + -- Parameter is used in EN 301 040 [72] + tTRAFFICind [38] TTRAFFICind OPTIONAL, + -- Parameter is used in EN 301 040 [72] + cTTRAFFICind [39] CTTRAFFICind OPTIONAL, + -- Parameter is used in EN 301 040 [72] + servingSystem [40] Network-Element-Identifier OPTIONAL, + -- Parameter identifies the visited network element + national-HI2-ASN1parameters [255] National-HI2-ASN1parameters OPTIONAL +} + +-- ================== +-- PARAMETERS FORMATS +-- ================== + +CommunicationIdentifier ::= SEQUENCE +{ + communication-Identity-Number [0] OCTET STRING (SIZE (1..8)) OPTIONAL, + -- Temporary Identifier of an intercepted call to uniquely identify an intercepted call + -- within the node. This parameter is mandatory if there is associated + -- information sent over HI3interface (CClink, data,..) or when + -- CommunicationIdentifier is used for IRI other than IRI-Report-record + -- This parameter was called "call-Identity-Number" in V1.1.1 of ES 201 671 [i.5] + -- The individual digits of the communication-Identity-Number shall be represented in + -- ASCII format, e.g. "12345678" = 8 octets 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38. + -- For subaddress option only "0"..."9" shall be used. + network-Identifier [1] Network-Identifier, + ... +} +-- NOTE: The same "CommunicationIdentifier" value is sent: +-- with the HI3 information for correlation purpose between the IRI and the information sent +-- on the HI3 interfaces (CCLink, data, ..) with each IRI associated to a same intercepted +-- call for correlation purpose between the different IRI. + +Network-Identifier ::= SEQUENCE +{ + operator-Identifier [0] OCTET STRING (SIZE (1..5)), + -- It is a notification of the NWO/AP/SvP in ASCII- characters. + -- For subaddress option only "0"..."9" shall be used. + -- The parameter is mandatory. + network-Element-Identifier [1] Network-Element-Identifier OPTIONAL, + ... +} + +Network-Element-Identifier ::= CHOICE +{ + e164-Format [1] OCTET STRING (SIZE (1..25)), + -- E164 address of the node in international format. Coded in the same format as the + -- calling party number parameter of the ISUP (parameter part: EN 300 356 [5]). + x25-Format [2] OCTET STRING (SIZE (1..25)), + -- X25 address + iP-Format [3] OCTET STRING (SIZE (1..25)), + -- IP address + dNS-Format [4] OCTET STRING (SIZE (1..25)), + -- DNS address + ..., + iP-Address [5] IPAddress +} + +CC-Link-Identifier ::= OCTET STRING (SIZE (1..8)) + -- Depending on a network option, this parameter may be used to identify a CClink + -- in case of multiparty calls. + -- The individual digits of the CC-Link-Identifier shall be represented in + -- ASCII format, e.g. "12345678" = 8 octets 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38. + -- For subaddress option only "0"..."9" shall be used. + +TimeStamp ::= CHOICE +{ +-- The minimum resolution required is one second. +-- "Resolution" is the smallest incremental change that can be measured for time and +-- is expressed with a definite number of decimal digits or bits. + localTime [0] LocalTimeStamp, + utcTime [1] UTCTime +} + +LocalTimeStamp ::= SEQUENCE +{ + generalizedTime [0] GeneralizedTime, + -- The minimum resolution required is one second. + -- "Resolution" is the smallest incremental change that can be measured for time and + -- is expressed with a definite number of decimal digits or bits. + winterSummerIndication [1] ENUMERATED + { + notProvided(0), + winterTime(1), + summerTime(2), + ... + } +} + +PartyInformation ::= SEQUENCE +{ + party-Qualifier [0] ENUMERATED + { + originating-Party(0), + -- In this case, the partyInformation parameter provides the identities related to + -- the originating party and all information provided by this party. + -- This parameter provides also all the information concerning the redirecting + -- party when a forwarded call reaches a target. + terminating-Party(1), + -- In this case, the partyInformation parameter provides the identities related to + -- the terminating party and all information provided by this party. + forwarded-to-Party(2), + -- In this case, the partyInformation parameter provides the identities related to + -- the forwarded to party and parties beyond this one and all information + -- provided by this parties, including the call forwarding reason. + gPRS-Target(3), + ... + }, + partyIdentity [1] SEQUENCE + { + imei [1] OCTET STRING (SIZE (8)) OPTIONAL, + -- See MAP format TS GSM 09.02 [32] + tei [2] OCTET STRING (SIZE (1..15)) OPTIONAL, + -- ISDN-based Terminal Equipment Identity + imsi [3] OCTET STRING (SIZE (3..8)) OPTIONAL, + -- See MAP format TS GSM 09.02 [32] International Mobile + -- Station Identity E.212 number beginning with Mobile Country Code + callingPartyNumber [4] CallingPartyNumber OPTIONAL, + -- The calling party format is used to transmit the identity of a calling party + calledPartyNumber [5] CalledPartyNumber OPTIONAL, + -- The called party format is used to transmit the identity of a called party or + -- a forwarded to party. + msISDN [6] OCTET STRING (SIZE (1..9)) OPTIONAL, + -- MSISDN of the target, encoded in the same format as the AddressString + -- parameters defined in MAP format TS GSM 09.02 [32] + ..., + e164-Format [7] OCTET STRING (SIZE (1..25)) OPTIONAL, + -- E164 address of the node in international format. Coded in the same format as + -- the calling party number parameter of the ISUP (parameter part: EN 300 356 [5]) + sip-uri [8] OCTET STRING OPTIONAL, + -- Session Initiation Protocol - Uniform Resource Identifier. See RFC 3261 [59]. + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + tel-url [9] OCTET STRING OPTIONAL, + -- See "URLs for Telephone Calls", RFC 3966 [68]. + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + party-Validity [10] ENUMERATED + { + trusted(0), + -- The operator has assured the party identity + untrusted(1), + -- The operator does not assure the party identity + operator-added(2), + -- The party identity is added by the operator, e.g. the roaming number + ... + } OPTIONAL, + alphanumeric [11] UTF8String OPTIONAL + -- see clause A.3.3 on usage of this parameter + }, + services-Information [2] Services-Information OPTIONAL, + -- This parameter is used to transmit all the information concerning the + -- complementary information associated to the basic call + supplementary-Services-Information [3] Supplementary-Services OPTIONAL, + -- This parameter is used to transmit all the information concerning the + -- activation/invocation of supplementary services during a call or out-of call not + -- provided by the previous parameters. + services-Data-Information [4] Services-Data-Information OPTIONAL, + -- This parameter is used to transmit all the information concerning the complementary + -- information associated to the basic data call. + ... +} + +CallingPartyNumber ::= CHOICE +{ + iSUP-Format [1] OCTET STRING (SIZE (1..25)), + -- Encoded in the same format as the calling party number (parameter field) + -- of the ISUP (see EN 300 356 [5]). + dSS1-Format [2] OCTET STRING (SIZE (1..25)), + -- Encoded in the format defined for the value part of the Calling party number + -- information element of DSS1 protocol EN 300 403-1 [6]. + -- The DSS1 Information element identifier and the DSS1 length are not included. + ..., + mAP-Format [3] OCTET STRING (SIZE (1..25)) + -- Encoded as AddressString of the MAP protocol TS GSM 09.02 [32]. +} + +CalledPartyNumber ::= CHOICE +{ + iSUP-Format [1] OCTET STRING (SIZE (1..25)), + -- Encoded in the same format as the called party number (parameter field) + -- of the ISUP (see EN 300 356 [5]). + mAP-Format [2] OCTET STRING (SIZE (1..25)), + -- Encoded as AddressString of the MAP protocol TS GSM 09.02 [32]. + dSS1-Format [3] OCTET STRING (SIZE (1..25)), + -- Encoded in the format defined for the value part of the Called party number information + -- element of DSS1 protocol EN 300 403-1 [6]. + -- The DSS1 Information element identifier and the DSS1 length are not included. + ... +} + +Location ::= SEQUENCE +{ + e164-Number [1] OCTET STRING (SIZE (1..25)) OPTIONAL, + -- Coded in the same format as the ISUP location number (parameter field) + -- of the ISUP (see EN 300 356 [5]). + globalCellID [2] OCTET STRING (SIZE (5..7)) OPTIONAL, + -- See MAP format (see TS GSM 09.02 [32]). + tetraLocation [3] TetraLocation OPTIONAL, + -- This optional parameter is not in use anymore, but is kept for backwards compatibility. + rAI [4] OCTET STRING (SIZE (6)) OPTIONAL, + -- The Routeing Area Identifier (RAI) in the current SGSN is coded in accordance with + -- 3GPP TS 24.008 [41] without the Routing Area Identification IEI (only the + -- last 6 octets are used). + gsmLocation [5] GSMLocation OPTIONAL, + umtsLocation [6] UMTSLocation OPTIONAL, + sAI [7] OCTET STRING (SIZE (7)) OPTIONAL, + -- format: PLMN-ID 3 octets (no. 1-3), + -- LAC 2 octets (no. 4-5), + -- SAC 2 octets (no. 6-7) + -- (according to 3GPP 25.413 [82]). + ..., + oldRAI [8] OCTET STRING (SIZE (6)) OPTIONAL, + -- the "Routeing Area Identifier" in the old SGSN is coded in accordance with + -- 3GPP TS 24.008 [41] without the Routing Area Identification IEI + -- (only the last 6 octets are used). + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + tAI [9] OCTET STRING (SIZE (6)) OPTIONAL, + -- The "Tracking Area Identity" (TAI) is coded in accordance with 3GPP TS 29.118 [83] + -- without the TAI IEI. + -- The tAI parameter is applicable only to the CS traffic cases where the available + -- location information is the one received from the Mobility Management Entity (MME). + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + eCGI [10] OCTET STRING (SIZE (8)) OPTIONAL + -- the "E-UTRAN Cell Global Identity" (E-CGI) is coded in accordance with + -- 3GPP TS 29.118 [83] without the E-CGI IEI. + -- The eCGI parameter is applicable only to the CS traffic cases where + -- the available location information is the one received from the MME. + -- This parameter is duplicated from 3GPP TS 33.108 [61]. +} + +TetraLocation ::= CHOICE + -- This optional parameter is not in use anymore, but is kept for backwards compatibility. +{ + ms-Loc [1] SEQUENCE + { + mcc [1] INTEGER (0..1023), + -- 10 bits EN 300 392-1 [40] + mnc [2] INTEGER (0..16383), + -- 14 bits EN 300 392-1 [40] + lai [3] INTEGER (0..65535), + -- 14 bits EN 300 392-1 [40] + ci [4] INTEGER OPTIONAL + }, + ls-Loc [2] INTEGER +} + +GSMLocation ::= CHOICE +{ + geoCoordinates [1] SEQUENCE + { + latitude [1] PrintableString (SIZE(7..10)), + -- format: XDDMMSS.SS + longitude [2] PrintableString (SIZE(8..11)), + -- format: XDDDMMSS.SS + mapDatum [3] MapDatum DEFAULT wGS84, + ..., + azimuth [4] INTEGER (0..359) OPTIONAL + -- The azimuth is the bearing, relative to true north + }, + -- format: XDDDMMSS.SS + -- X : N(orth), S(outh), E(ast), W(est) + -- DD or DDD : degrees (numeric characters) + -- MM : minutes (numeric characters) + -- SS.SS : seconds, the second part (.SS) is optional + -- Example: + -- latitude short form N502312 + -- longitude long form E1122312.18 + + utmCoordinates [2] SEQUENCE + { + utm-East [1] PrintableString (SIZE(10)), + utm-North [2] PrintableString (SIZE(7)), + -- Universal Transverse Mercator + -- example utm-East 32U0439955 + -- utm-North 5540736 + mapDatum [3] MapDatum DEFAULT wGS84, + ..., + azimuth [4] INTEGER (0..359) OPTIONAL + -- The azimuth is the bearing, relative to true north + }, + + utmRefCoordinates [3] SEQUENCE + { + utmref-string PrintableString (SIZE(13)), + mapDatum MapDatum DEFAULT wGS84, + ... + }, + -- example 32UPU91294045 + + wGS84Coordinates [4] OCTET STRING + -- format is as defined in 3GPP TS 03.32 [57] +} + +MapDatum ::= ENUMERATED +{ + wGS84, + -- World Geodetic System 1984 + wGS72, + eD50, + -- European Datum 50 + ... +} + +UMTSLocation ::= CHOICE +{ + point [1] GA-Point, + pointWithUnCertainty [2] GA-PointWithUnCertainty, + polygon [3] GA-Polygon, + ... +} + +GeographicalCoordinates ::= SEQUENCE +{ + latitudeSign ENUMERATED + { + north, + south + }, + latitude INTEGER (0..8388607), + longitude INTEGER (-8388608..8388607), + ... +} + +GA-Point ::= SEQUENCE +{ + geographicalCoordinates GeographicalCoordinates, + ... +} + +GA-PointWithUnCertainty ::=SEQUENCE +{ + geographicalCoordinates GeographicalCoordinates, + uncertaintyCode INTEGER (0..127) +} + +maxNrOfPoints INTEGER ::= 15 + +GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF + SEQUENCE + { + geographicalCoordinates GeographicalCoordinates, + ... + } + +CallContentLinkCharacteristics ::= SEQUENCE +{ + cCLink-State [1] CCLink-State OPTIONAL, + -- current state of the CCLink + release-Time [2] TimeStamp OPTIONAL, + -- date and time of the release of the Call Content Link. + release-Reason [3] OCTET STRING (SIZE(2)) OPTIONAL, + -- Release cause coded in Q.850 [31] format + lEMF-Address [4] CalledPartyNumber OPTIONAL, + -- Directory number used to route the call toward the LEMF + ... +} + +CCLink-State ::= ENUMERATED +{ + setUpInProcess(1), + -- The set-up of the call is in process + callActive(2), + callReleased(3), + lack-of-resource(4), + -- The lack-of-resource state is sent when a CC Link cannot + -- be established because of lack of resource at the MF level. + ... +} + +Intercepted-Call-State ::= ENUMERATED +{ + idle(1), + -- When the intercept call is released, the state is IDLE and the reason is provided + -- by the release-Reason-Of-Intercepted-Call parameter. + setUpInProcess(2), + -- The set-up of the call is in process + connected(3), + -- The answer has been received + ... +} + +Services-Information ::= SEQUENCE +{ + iSUP-parameters [1] ISUP-parameters OPTIONAL, + dSS1-parameters-codeset-0 [2] DSS1-parameters-codeset-0 OPTIONAL, + ..., + mAP-parameters [3] MAP-parameters OPTIONAL +} + +ISUP-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "OCTET STRING" contains one additional ISUP parameter TLV coded not already defined in + -- the previous parameters. The Tag value is the one given in EN 300 356 [5]. + + -- In version 1 of the present document "iSUP-parameters" is defined as mandatory. + -- It might occur that no ISUP parameter is available. In that case in a version 1 + -- implementation the value "zero" may be included in the first octet string of the SET. + + -- The Length and the Value are coded in accordance with the parameter definition in + -- EN 300 356 [5]. Hereafter are listed the main parameters. + -- However other parameters may be added: + + -- Transmission medium requirement: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the "calling party". + + -- Transmission medium requirement prime: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the "calling party". + +DSS1-parameters-codeset-0 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-0. The parameter is coded as + -- described in EN 300 403-1 [6] (The DSS1 Information element identifier and the DSS1 length + -- are included). Hereafter are listed the main parameters. + -- However other parameters may be added: + + -- Bearer capability: this parameter may be repeated. Format defined in EN 300 403-1 [6]. + -- This parameter can be provided with the "Party Information" of the "calling party", + -- "called party" or "forwarded to party". + + -- High Layer Compatibility: this parameter may be repeated. Format defined in EN 300 403-1 [6] + -- This parameter can be provided with the "Party Information" of the "calling party", + -- "called party" or "forwarded to party". + + -- Low Layer capability: this parameter may be repeated. Format defined in EN 300 403-1 [6]. + -- This parameter can be provided with the "Party Information" of the "calling party", + -- "called party" or "forwarded to party". + +MAP-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE(1..256)) + -- Each "OCTET STRING" contains one MAP parameter. The parameter is coded as described in + -- TS GSM 09.02 [32] (The map-TS-Code is included). + +Supplementary-Services ::= SEQUENCE +{ + standard-Supplementary-Services [1] Standard-Supplementary-Services OPTIONAL, + non-Standard-Supplementary-Services [2] Non-Standard-Supplementary-Services OPTIONAL, + other-Services [3] Other-Services OPTIONAL, + ... +} + +Standard-Supplementary-Services ::= SEQUENCE +{ + iSUP-SS-parameters [1] ISUP-SS-parameters OPTIONAL, + dSS1-SS-parameters-codeset-0 [2] DSS1-SS-parameters-codeset-0 OPTIONAL, + dSS1-SS-parameters-codeset-4 [3] DSS1-SS-parameters-codeset-4 OPTIONAL, + dSS1-SS-parameters-codeset-5 [4] DSS1-SS-parameters-codeset-5 OPTIONAL, + dSS1-SS-parameters-codeset-6 [5] DSS1-SS-parameters-codeset-6 OPTIONAL, + dSS1-SS-parameters-codeset-7 [6] DSS1-SS-parameters-codeset-7 OPTIONAL, + dSS1-SS-Invoke-components [7] DSS1-SS-Invoke-Components OPTIONAL, + mAP-SS-Parameters [8] MAP-SS-Parameters OPTIONAL, + mAP-SS-Invoke-Components [9] MAP-SS-Invoke-Components OPTIONAL, + ... +} + +Non-Standard-Supplementary-Services ::= SET SIZE (1..20) OF CHOICE +{ + simpleIndication [1] SimpleIndication, + sciData [2] SciDataMode, + ... +} + +Other-Services ::= SET SIZE (1..50) OF OCTET STRING (SIZE (1..256)) + -- Reference manufacturer manuals. + +ISUP-SS-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- It must be noticed this parameter is retained for compatibility reasons. + -- It is recommended not to use it in new work but to use ISUP-parameters parameter. + + -- Each "OCTET STRING" contains one additional ISUP parameter TLV coded not already defined in + -- the previous parameters. The Tag value is the one given in EN 300 356 [5]. + -- The Length and the Value are coded in accordance with the parameter definition in + -- EN 300 356 [5]. Hereafter are listed the main parameters. + -- However other parameters may be added: + + -- Connected Number: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the + -- "called party" or "forwarded to party". + + -- RedirectingNumber: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the "originating party" + -- or/and of the "terminating party". + + -- Original Called Party Number: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the "originating party". + + -- Redirection information: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the + -- "originating party", "forwarded to party" or/and "Terminating party". + + -- Redirection Number: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the + -- "forwarded to party" or "Terminating party". + + -- Call diversion information: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the + -- "forwarded to party" or "Terminating party". + + -- Generic Number: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the + -- "calling party", "called party" or "forwarded to party". + -- This parameters are used to transmit additional identities (additional, calling party + -- number, additional called number, etc.). + + -- Generic Notification: format defined in EN 300 356 [5]. + -- This parameter may be provided with the "Party Information" of the + -- "calling party", "called party" or "forwarded to party". + -- This parameters transmit the notification to the other part of the call of the supplementary + -- services activated or invoked by a subscriber during the call. + + -- CUG Interlock Code: format defined in EN 300 356 [5]. + -- This parameter can be provided with the "Party Information" of the "calling party". + +DSS1-SS-parameters-codeset-0 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-0. The parameter is coded as + -- described in EN 300 403-1 [6] (The DSS1 Information element identifier and the DSS1 length + -- are included). Hereafter are listed the main parameters. + -- However other parameters may be added: + + -- Calling Party Subaddress: format defined in EN 300 403-1 [6]. + -- This parameter can be provided with the "Party Information" of the "calling party". + + -- Called Party Subaddress: format defined in EN 300 403-1 [6]. + -- This parameter can be provided with the "Party Information" of the "calling party". + + -- Connected Subaddress: format defined in recommendation (see EN 300 097-1 [14]). + -- This parameter can be provided with the "Party Information" of the + -- "called party" or "forwarded to party". + + -- Connected Number: format defined in recommendation (see EN 300 097-1 [14]). + -- This parameter can be provided with the "Party Information" of the + -- "called party" or "forwarded to party". + + -- Keypad facility: format defined in EN 300 403-1 [6]. + -- This parameter can be provided with the "Party Information" of the + -- "calling party", "called party" or "forwarded to party". + + -- Called Party Number: format defined in EN 300 403-1 [6]. + -- This parameter could be provided with the "Party Information" of the "calling party" + -- when target is the originating party; it contains the dialled digits before modification + -- at network level (e.g. IN interaction, translation, etc ...). + + -- User-user: format defined in EN 300 286-1 [23]). + -- This parameter can be provided with the "Party Information" of the + -- "calling party", "called party" or "forwarded to party". + +DSS1-SS-parameters-codeset-4 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-4. The parameter is coded as + -- described in the relevant recommendation. + +DSS1-SS-parameters-codeset-5 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-5. The parameter is coded as + -- described in the relevant national recommendation. + +DSS1-SS-parameters-codeset-6 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-6. The parameter is coded as + -- described in the relevant local network recommendation. + +DSS1-SS-parameters-codeset-7 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "octet string" contains one DSS1 parameter of the codeset-7. The parameter is coded as + -- described in the relevant user specific recommendation. + +DSS1-SS-Invoke-Components ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "octet string" contains one DSS1 Invoke or Return Result component. + -- The invoke or return result component is coded as + -- described in the relevant DSS1 supplementary service recommendation. + + -- Invoke or Return Result component (BeginCONF): EN 300 185-1 [19] + -- Invoke or Return Result component (AddCONF): EN 300 185-1 [19] + -- Invoke or Return Result component (SplitCONF): EN 300 185-1 [19] + -- Invoke or Return Result component (DropCONF): EN 300 185-1 [19] + -- Invoke or Return Result component (IsolateCONF): EN 300 185-1 [19] + -- Invoke or Return Result component (ReattachCONF): EN 300 185-1 [19] + -- Invoke or Return Result component (PartyDISC): EN 300 185-1 [19] + -- Invoke or Return Result component (MCIDRequest): EN 300 130-1 [16] + -- Invoke or Return Result component (Begin3PTY): EN 300 188-1 [20] + -- Invoke or Return Result component (End3PTY): EN 300 188-1 [20] + -- Invoke or Return Result component (ECTExecute): EN 300 369-1 [25] + -- Invoke or Return Result component (ECTInform): EN 300 369-1 [25] + -- Invoke or Return Result component (ECTLinkIdRequest): EN 300 369-1 [25] + -- Invoke or Return Result component (ECTLoopTest): EN 300 369-1 [25] + -- Invoke or Return Result component (ExplicitECTExecute): EN 300 369-1 [25] + -- Invoke or Return Result component (ECT: RequestSubaddress): EN 300 369-1 [25] + -- Invoke or Return Result component (ECT: SubaddressTransfer): EN 300 369-1 [25] + -- Invoke or Return Result component (CF: ActivationDiversion): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: DeactivationDiversion): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: ActivationStatusNotification): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: DeactivationStatusNotification): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: InterrogationDiversion): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: InterrogationServedUserNumber): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: DiversionInformation): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: CallDeflection): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: CallRerouteing): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: DivertingLegInformation1): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: DivertingLegInformation2): EN 300 207-1 [21] + -- Invoke or Return Result component (CF: DivertingLegInformation3): EN 300 207-1 [21] + -- other invoke or return result components ... + +MAP-SS-Invoke-Components ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "octet string" contains one MAP Invoke or Return Result component. + -- The invoke or return result component is coded as + -- described in the relevant MAP supplementary service recommendation. + +MAP-SS-Parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) + -- Each "octet string" contains one MAP Parameter. The parameter is coded as + -- described in the relevant MAP supplementary service recommendation. + +SimpleIndication ::= ENUMERATED +{ + call-Waiting-Indication(0), + -- The target has received a call waiting indication for this call + add-conf-Indication(1), + -- this call has been added to a conference + call-on-hold-Indication(2), + -- indication that this call is on hold + retrieve-Indication(3), + -- indication that this call has been retrieved + suspend-Indication(4), + -- indication that this call has been suspended + resume-Indication(5), + -- indication that this call has been resumed + answer-Indication(6), + -- indication that this call has been answered + ... +} + +SciDataMode ::= OCTET STRING (SIZE (1..256)) + +SMS-report ::= SEQUENCE +{ + communicationIdentifier [1] CommunicationIdentifier, + -- used to uniquely identify an intercepted call: the same used for the + -- relevant IRI + -- Called "callIdentifier" in V1.1.1 of ES 201 671 [i.5] + timeStamp [2] TimeStamp, + -- date and time of the report. The format is + -- the one defined in case a) of the ASN.1 ITU-T Recommendation X.680 [33]. + -- (year month day hour minutes seconds) + sMS-Contents [3] SEQUENCE + { + initiator [1] ENUMERATED + { + -- party which sent the SMS + target(0), + server(1), + undefined-party(2), + ... + }, + transfer-status [2] ENUMERATED + { + succeed-transfer(0), + --the transfer of the SMS message succeeds + not-succeed-transfer(1), + undefined(2), + ... + } OPTIONAL, + other-message [3] ENUMERATED + { + -- In case of terminating call, indicates if the server will send other SMS. + yes(0), + no(1), + undefined(2), + ... + } OPTIONAL, + content [4] OCTET STRING (SIZE (1..270)) OPTIONAL, + -- Encoded in the format defined for the SMS mobile. + -- The content and enhancedContent fields are mutually exclusive. + -- The content field is dedicated for 3GPP purposes. + ..., + enhancedContent [5] SEQUENCE + { + content [1] OCTET STRING, + -- The character encoding used in the content field is specified in the + -- character-encoding field. + character-encoding [2] ENUMERATED + { + gsm-7-bit-ascii(0), + eight-bit-ascii(1), + eight-bit-binary(2), + ucs-2(3), + utf-8(4), + utf-16(5), + other(6), + ... + } + } OPTIONAL + } +} + +LawfulInterceptionIdentifier ::= OCTET STRING (SIZE (1..25)) + -- It is recommended to use ASCII characters in "a"..."z", "A"..."Z", "-", "_", ".", and "0"..."9". + -- For subaddress option only "0"..."9" shall be used. + +National-Parameters ::= SET SIZE (1..40) OF OCTET STRING (SIZE (1..256)) + -- Content defined by national law. + +GPRSCorrelationNumber ::= OCTET STRING (SIZE(8..20)) + +GPRSEvent ::= ENUMERATED + -- see 3GPP TS 03.33 [42] +{ + pDPContextActivation(1), + startOfInterceptionWithPDPContextActive(2), + pDPContextDeactivation(4), + gPRSAttach(5), + gPRSDetach(6), + cellOrRAUpdate(10), + sMS(11), + ..., + pDPContextModification(13), + endOfInterceptionWithPDPContextActive(14) +} + +Services-Data-Information ::= SEQUENCE +{ + gPRS-parameters [1] GPRS-parameters OPTIONAL, + ... +} + +GPRS-parameters ::= SEQUENCE +{ + pDP-address-allocated-to-the-target [1] DataNodeAddress OPTIONAL, + aPN [2] OCTET STRING (SIZE(1..100)) OPTIONAL, + -- The Access Point Name (APN) is coded in accordance with + -- 3GPP TS 24.008 [41] without the APN IEI (only the last 100 octets are used). + -- Octets are coded according to 3GPP TS 23.003 [76]. + -- This parameter is duplicated from 3GPP TS 33.108 [61]. + pDP-type [3] OCTET STRING (SIZE(2)) OPTIONAL, + -- when PDP-type is IPv4 or IPv6, the IP address is carried by parameter + -- pDP-address-allocated-to-the-target when PDP-type is IPv4v6, + -- the additional IP address is carried by parameter additionalIPaddress + ..., + nSAPI [4] OCTET STRING (SIZE (1)) OPTIONAL, + additionalIPaddress [5] DataNodeAddress OPTIONAL +} + +GPRSOperationErrorCode ::= OCTET STRING (SIZE(2)) + -- Refer to 3GPP TS 24.008 [41] for values (GMM cause or SM cause parameter). + +DataNodeAddress ::= CHOICE +{ + ipAddress [1] IPAddress, + x25Address [2] X25Address, + ... +} + +IPAddress ::= SEQUENCE +{ + iP-type [1] ENUMERATED + { + iPV4(0), + iPV6(1), + ... + }, + iP-value [2] IP-value, + iP-assignment [3] ENUMERATED + { + static(1), + -- The static coding shall be used to report a static address. + dynamic(2), + -- The dynamic coding shall be used to report a dynamically allocated address. + notKnown(3), + -- The notKnown coding shall be used to report other then static or dynamically + -- allocated IP addresses. + ... + } OPTIONAL, + ..., + iPv6PrefixLength [4] INTEGER (1..128) OPTIONAL, + -- Indicates the length of the prefix delegated by the CSP to the subscriber + -- example: 60 if IP address is "2001:db8:0:85a3::ac1f:8001/60" + -- Mandatory in case where the iP-value contains an IPv6 binary value + iPv4SubnetMask [5] OCTET STRING (SIZE(4)) OPTIONAL + -- For IPv4 addresses, this indicates the subnetmask to be applied to the iP-value field. + -- The subnet mask is intended to be presented as a binary value, e.g. "ff ff ff f8" to + -- represent the dotted-decimal subnet mask of "255.255.255.248" corresponding to + -- a /29 CIDR-format subnet mask +} + +IP-value ::= CHOICE +{ + iPBinaryAddress [1] OCTET STRING (SIZE(4..16)), + -- In case of IPv6, the Prefix Length is provided by the "iPv6PrefixLength" + -- In case of IPv4, the netmask is provided by the "iPv4SubnetMask" + iPTextAddress [2] IA5String (SIZE(7..45)), + -- In case of IPv6, the delivered iPTextAddress field could include a complete + -- single IPv6-Address or an IPv6-Prefix for a subnetwork on the target side. + -- In case of IPv4, the delivered iPTextAddress field could include a single + -- IPv4 address or an IPv4address/netmask, for example "192.168.1.1" or "192.168.1.1/24" + ... +} + +X25Address ::= OCTET STRING (SIZE(1..25)) + +National-HI2-ASN1parameters ::= SEQUENCE +{ + countryCode [1] PrintableString (SIZE (2)), + -- Country Code according to ISO 3166-1 [67], + -- the country to which the parameters inserted after the extension marker apply. + ... + -- In case a given country wants to use additional national parameters according to its law, + -- these national parameters should be defined using the ASN.1 syntax and added after the + -- extension marker (...). + -- It is recommended that "version parameter" and "vendor identification parameter" are + -- included in the national parameters definition. Vendor identifications can be + -- retrieved from the IANA web site (see annex K). Besides, it is recommended to avoid + -- using tags from 240 to 255 in a formal type definition. +} + +END -- end of HI2Operations -- GitLab From 2fb6584080d6008249f5fcb9b58dbc66e608371c Mon Sep 17 00:00:00 2001 From: Luke Mewburn Date: Tue, 17 Oct 2023 14:59:34 +1100 Subject: [PATCH 23/40] TS 102 232-1 CR0107 Fix references in TS 101 671 imports Update the references to use existing references from TS 102 232-1 (if already present), or a new [XX..] reference to be updated in sync with additions to TS 102 232-1 clause 2. The translation is shown below. In some cases, a newer document is used (e.g., 3GPP instead of GSM). If the document ID isn't shown for the New reference, the Old reference's document ID is implied. Old (in TS 101 671) New (in TS 102 232-1) ------------------- --------------------- TS 101 671 [81] [4] 3GPP TS 33.108 [61] [9] ISO 3166-1 [67] [10] ITU-T Recommendation X.680 [33] Recommendation ITU-T X.680 [11] TS 101 909-20-01 [69] TS 101 909-20-1 [33] ES 201 671 [i.5] [i.XX1] EN 301 040 [72] [XX2] ITU-T Q.850 [31] Recommendation ITU-T Q.850 [XX3] 3GPP TS 23.003 [76] [XX4] EN 300 356 [5] [XX5] TS GSM 09.02 [32] 3GPP TS 29.002 [XX6] RFC 3261 [59] IETF RFC 3261 [XX7] RFC 3966 [68] IETF RFC 3966 [XX8] EN 300 403-1 [6] [XX9] 3GPP TS 24.008 [41] [XX10] 3GPP 25.413 [82] 3GPP TS 25.413 [XX11] 3GPP TS 29.118 [83] [XX12] EN 300 392-1 [40] [XX13] 3GPP TS 03.32 [57] 3GPP TS 23.032 [XX14] EN 300 097-1 [14] [XX15] EN 300 286-1 [23] [XX16] EN 300 185-1 [19] [XX17] EN 300 130-1 [16] [XX18] EN 300 188-1 [20] [XX19] EN 300 369-1 [25] [XX20] EN 300 207-1 [21] [XX21] 3GPP TS 03.33 [42] [XX22] --- 102232-1/HI1NotificationOperations.asn | 7 +- 102232-1/HI2Operations.asn | 238 ++++++++++++------------- 2 files changed, 122 insertions(+), 123 deletions(-) diff --git a/102232-1/HI1NotificationOperations.asn b/102232-1/HI1NotificationOperations.asn index 4695167..5612d8d 100644 --- a/102232-1/HI1NotificationOperations.asn +++ b/102232-1/HI1NotificationOperations.asn @@ -10,7 +10,6 @@ IMPORTS FROM Remote-Operations-Information-Objects {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} - -- from clause D.5 CommunicationIdentifier, TimeStamp, LawfulInterceptionIdentifier @@ -77,7 +76,7 @@ Notification ::= SEQUENCE communicationIdentifier [2] CommunicationIdentifier OPTIONAL, -- Only the NWO/PA/SvPIdentifier is provided (the one provided with the Lawful -- authorization). - -- Called "callIdentifier" in V1.1.1 of ES 201 671 + -- Called "callIdentifier" in V1.1.1 of ES 201 671 [i.XX1] timeStamp [3] TimeStamp, -- date and time of the report. ..., @@ -98,7 +97,7 @@ Alarm-Indicator ::= SEQUENCE -- date and time of the report. alarm-information [3] OCTET STRING (SIZE (1..256)), -- Provides information about alarms (free format). - -- Until ASN.1 version 6 (document version v3.12.1) the octet string + -- Until ASN.1 version 6 (TS 101 671 V3.12.1 [4]) the octet string -- was limited to a size of 25 ..., lawfulInterceptionIdentifier [4] LawfulInterceptionIdentifier OPTIONAL, @@ -112,7 +111,7 @@ National-HI1-ASN1parameters ::= SEQUENCE domainID [0] OBJECT IDENTIFIER (hi1OperationId) OPTIONAL, -- Once using FTP delivery mechanism. countryCode [1] PrintableString (SIZE (2)), - -- Country Code according to ISO 3166-1 [67], + -- Country Code according to ISO 3166-1 [10], -- the country to which the parameters inserted after the extension marker apply. ... -- In case a given country wants to use additional national parameters according to its law, diff --git a/102232-1/HI2Operations.asn b/102232-1/HI2Operations.asn index 48f93ea..bf89f3f 100644 --- a/102232-1/HI2Operations.asn +++ b/102232-1/HI2Operations.asn @@ -2,7 +2,7 @@ HI2Operations {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version17(18)} -- It is advised not to use version11(11) of this ASN.1 module since it contains a syntax error. - -- Version11(11) of HI2Operations is only defined in TS 101 671 v3.5.1 [81]. + -- Version11(11) of HI2Operations is only defined in TS 101 671 v3.5.1 [4]. DEFINITIONS IMPLICIT TAGS ::= @@ -13,7 +13,7 @@ IMPORTS OPERATION, FROM Remote-Operations-Information-Objects {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} - -- from 3GPP TS 33.108 [61] + -- from 3GPP TS 33.108 [9] UmtsQos, IMSevent, LDIevent, @@ -21,12 +21,12 @@ IMPORTS OPERATION, FROM UmtsHI2Operations {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi2(1) r11(11) version-0(0)} - -- from TS 101 909-20-01 [69] + -- from TS 101 909-20-1 [33] TARGETACTIVITYMONITOR-1 FROM TS101909201 {itu-t(0) identified-organization(4) etsi(0) ts101909(1909) part20(20) subpart1(1) interceptVersion(0)} - -- from EN 301 040 [72] + -- from EN 301 040 [XX2] TARGETACTIVITYMONITORind, TARGETCOMMSMONITORind, TTRAFFICind, @@ -111,7 +111,7 @@ IRI-Parameters ::= SEQUENCE lastVersion(8) } OPTIONAL, -- Optional parameter "iRIversion" (tag 23) is redundant starting - -- from TS 101 671 v2.5.1 [81] + -- from TS 101 671 v2.5.1 [4] -- where to the object identifier "domainID" was introduced into IRI-Parameters. -- In order to keep backward compatibility, even when the version of the "domainID" -- parameter will be incremented it is recommended to always send to LEMF the same: @@ -121,7 +121,7 @@ IRI-Parameters ::= SEQUENCE -- This identifier is associated to the target. communicationIdentifier [2] CommunicationIdentifier, -- used to uniquely identify an intercepted call. - -- Called "callIdentifier" in v1.1.1 of ES 201 671 [i.5]. + -- Called "callIdentifier" in v1.1.1 of ES 201 671 [i.XX1]. timeStamp [3] TimeStamp, -- date and time of the event triggering the report. intercepted-Call-Direct [4] ENUMERATED @@ -156,7 +156,7 @@ IRI-Parameters ::= SEQUENCE ... } OPTIONAL, release-Reason-Of-Intercepted-Call [11] OCTET STRING (SIZE (2)) OPTIONAL, - -- Release cause coded in ITU-T Q.850 [31] format. + -- Release cause coded in Recommendation ITU-T Q.850 [XX3] format. -- This parameter indicates the reason why the intercepted call cannot be established or -- why the intercepted call has been released after the active phase. nature-Of-The-intercepted-call [12] ENUMERATED @@ -205,35 +205,35 @@ IRI-Parameters ::= SEQUENCE ..., ggsnAddress [24] DataNodeAddress OPTIONAL, qOS [25] UmtsQos OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [61]. + -- This parameter is duplicated from 3GPP TS 33.108 [9]. networkIdentifier [26] Network-Identifier OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [61]. + -- This parameter is duplicated from 3GPP TS 33.108 [9]. sMSOriginatingAddress [27] DataNodeAddress OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [61]. + -- This parameter is duplicated from 3GPP TS 33.108 [9]. sMSTerminatingAddress [28] DataNodeAddress OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [61]. + -- This parameter is duplicated from 3GPP TS 33.108 [9]. iMSevent [29] IMSevent OPTIONAL, sIPMessage [30] OCTET STRING OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [61]. + -- This parameter is duplicated from 3GPP TS 33.108 [9]. servingSGSN-number [31] OCTET STRING (SIZE (1..20)) OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [61]. + -- This parameter is duplicated from 3GPP TS 33.108 [9]. servingSGSN-address [32] OCTET STRING (SIZE (5..17)) OPTIONAL, - -- Octets are coded according to 3GPP TS 23.003 [76] - -- This parameter is duplicated from 3GPP TS 33.108 [61]. + -- Octets are coded according to 3GPP TS 23.003 [XX4] + -- This parameter is duplicated from 3GPP TS 33.108 [9]. tARGETACTIVITYMONITOR [33] TARGETACTIVITYMONITOR-1 OPTIONAL, - -- Parameter is used in TS 101 909-20-1 [69] + -- Parameter is used in TS 101 909-20-1 [33] ldiEvent [34] LDIevent OPTIONAL, - -- The "Location Dependent Interception" parameter is duplicated from 3GPP TS 33.108 [61] + -- The "Location Dependent Interception" parameter is duplicated from 3GPP TS 33.108 [9] correlation [35] CorrelationValues OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [61] + -- This parameter is duplicated from 3GPP TS 33.108 [9] tARGETACTIVITYMONITORind [36] TARGETACTIVITYMONITORind OPTIONAL, - -- Parameter is used in EN 301 040 [72] + -- Parameter is used in EN 301 040 [XX2] tARGETCOMMSMONITORind [37] TARGETCOMMSMONITORind OPTIONAL, - -- Parameter is used in EN 301 040 [72] + -- Parameter is used in EN 301 040 [XX2] tTRAFFICind [38] TTRAFFICind OPTIONAL, - -- Parameter is used in EN 301 040 [72] + -- Parameter is used in EN 301 040 [XX2] cTTRAFFICind [39] CTTRAFFICind OPTIONAL, - -- Parameter is used in EN 301 040 [72] + -- Parameter is used in EN 301 040 [XX2] servingSystem [40] Network-Element-Identifier OPTIONAL, -- Parameter identifies the visited network element national-HI2-ASN1parameters [255] National-HI2-ASN1parameters OPTIONAL @@ -250,7 +250,7 @@ CommunicationIdentifier ::= SEQUENCE -- within the node. This parameter is mandatory if there is associated -- information sent over HI3interface (CClink, data,..) or when -- CommunicationIdentifier is used for IRI other than IRI-Report-record - -- This parameter was called "call-Identity-Number" in V1.1.1 of ES 201 671 [i.5] + -- This parameter was called "call-Identity-Number" in V1.1.1 of ES 201 671 [i.XX1] -- The individual digits of the communication-Identity-Number shall be represented in -- ASCII format, e.g. "12345678" = 8 octets 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38. -- For subaddress option only "0"..."9" shall be used. @@ -276,7 +276,7 @@ Network-Element-Identifier ::= CHOICE { e164-Format [1] OCTET STRING (SIZE (1..25)), -- E164 address of the node in international format. Coded in the same format as the - -- calling party number parameter of the ISUP (parameter part: EN 300 356 [5]). + -- calling party number parameter of the ISUP (parameter part: EN 300 356 [XX5]). x25-Format [2] OCTET STRING (SIZE (1..25)), -- X25 address iP-Format [3] OCTET STRING (SIZE (1..25)), @@ -340,11 +340,11 @@ PartyInformation ::= SEQUENCE partyIdentity [1] SEQUENCE { imei [1] OCTET STRING (SIZE (8)) OPTIONAL, - -- See MAP format TS GSM 09.02 [32] + -- See MAP format 3GPP TS 29.002 [XX6] tei [2] OCTET STRING (SIZE (1..15)) OPTIONAL, -- ISDN-based Terminal Equipment Identity imsi [3] OCTET STRING (SIZE (3..8)) OPTIONAL, - -- See MAP format TS GSM 09.02 [32] International Mobile + -- See MAP format 3GPP TS 29.002 [XX6] International Mobile -- Station Identity E.212 number beginning with Mobile Country Code callingPartyNumber [4] CallingPartyNumber OPTIONAL, -- The calling party format is used to transmit the identity of a calling party @@ -353,17 +353,17 @@ PartyInformation ::= SEQUENCE -- a forwarded to party. msISDN [6] OCTET STRING (SIZE (1..9)) OPTIONAL, -- MSISDN of the target, encoded in the same format as the AddressString - -- parameters defined in MAP format TS GSM 09.02 [32] + -- parameters defined in MAP format 3GPP TS 29.002 [XX6] ..., e164-Format [7] OCTET STRING (SIZE (1..25)) OPTIONAL, -- E164 address of the node in international format. Coded in the same format as - -- the calling party number parameter of the ISUP (parameter part: EN 300 356 [5]) + -- the calling party number parameter of the ISUP (parameter part: EN 300 356 [XX5]) sip-uri [8] OCTET STRING OPTIONAL, - -- Session Initiation Protocol - Uniform Resource Identifier. See RFC 3261 [59]. - -- This parameter is duplicated from 3GPP TS 33.108 [61]. + -- Session Initiation Protocol - Uniform Resource Identifier. See IETF RFC 3261 [XX7]. + -- This parameter is duplicated from 3GPP TS 33.108 [9]. tel-url [9] OCTET STRING OPTIONAL, - -- See "URLs for Telephone Calls", RFC 3966 [68]. - -- This parameter is duplicated from 3GPP TS 33.108 [61]. + -- See "URLs for Telephone Calls", IETF RFC 3966 [XX8]. + -- This parameter is duplicated from 3GPP TS 33.108 [9]. party-Validity [10] ENUMERATED { trusted(0), @@ -375,7 +375,7 @@ PartyInformation ::= SEQUENCE ... } OPTIONAL, alphanumeric [11] UTF8String OPTIONAL - -- see clause A.3.3 on usage of this parameter + -- see TS 101 671 [4] clause A.3.3 on usage of this parameter }, services-Information [2] Services-Information OPTIONAL, -- This parameter is used to transmit all the information concerning the @@ -394,26 +394,26 @@ CallingPartyNumber ::= CHOICE { iSUP-Format [1] OCTET STRING (SIZE (1..25)), -- Encoded in the same format as the calling party number (parameter field) - -- of the ISUP (see EN 300 356 [5]). + -- of the ISUP (see EN 300 356 [XX5]). dSS1-Format [2] OCTET STRING (SIZE (1..25)), -- Encoded in the format defined for the value part of the Calling party number - -- information element of DSS1 protocol EN 300 403-1 [6]. + -- information element of DSS1 protocol EN 300 403-1 [XX9]. -- The DSS1 Information element identifier and the DSS1 length are not included. ..., mAP-Format [3] OCTET STRING (SIZE (1..25)) - -- Encoded as AddressString of the MAP protocol TS GSM 09.02 [32]. + -- Encoded as AddressString of the MAP protocol 3GPP TS 29.002 [XX6]. } CalledPartyNumber ::= CHOICE { iSUP-Format [1] OCTET STRING (SIZE (1..25)), -- Encoded in the same format as the called party number (parameter field) - -- of the ISUP (see EN 300 356 [5]). + -- of the ISUP (see EN 300 356 [XX5]). mAP-Format [2] OCTET STRING (SIZE (1..25)), - -- Encoded as AddressString of the MAP protocol TS GSM 09.02 [32]. + -- Encoded as AddressString of the MAP protocol 3GPP TS 29.002 [XX6]. dSS1-Format [3] OCTET STRING (SIZE (1..25)), -- Encoded in the format defined for the value part of the Called party number information - -- element of DSS1 protocol EN 300 403-1 [6]. + -- element of DSS1 protocol EN 300 403-1 [XX9]. -- The DSS1 Information element identifier and the DSS1 length are not included. ... } @@ -422,14 +422,14 @@ Location ::= SEQUENCE { e164-Number [1] OCTET STRING (SIZE (1..25)) OPTIONAL, -- Coded in the same format as the ISUP location number (parameter field) - -- of the ISUP (see EN 300 356 [5]). + -- of the ISUP (see EN 300 356 [XX5]). globalCellID [2] OCTET STRING (SIZE (5..7)) OPTIONAL, - -- See MAP format (see TS GSM 09.02 [32]). + -- See MAP format (see 3GPP TS 29.002 [XX6]). tetraLocation [3] TetraLocation OPTIONAL, -- This optional parameter is not in use anymore, but is kept for backwards compatibility. rAI [4] OCTET STRING (SIZE (6)) OPTIONAL, -- The Routeing Area Identifier (RAI) in the current SGSN is coded in accordance with - -- 3GPP TS 24.008 [41] without the Routing Area Identification IEI (only the + -- 3GPP TS 24.008 [XX10] without the Routing Area Identification IEI (only the -- last 6 octets are used). gsmLocation [5] GSMLocation OPTIONAL, umtsLocation [6] UMTSLocation OPTIONAL, @@ -437,25 +437,25 @@ Location ::= SEQUENCE -- format: PLMN-ID 3 octets (no. 1-3), -- LAC 2 octets (no. 4-5), -- SAC 2 octets (no. 6-7) - -- (according to 3GPP 25.413 [82]). + -- (according to 3GPP TS 25.413 [XX11]). ..., oldRAI [8] OCTET STRING (SIZE (6)) OPTIONAL, -- the "Routeing Area Identifier" in the old SGSN is coded in accordance with - -- 3GPP TS 24.008 [41] without the Routing Area Identification IEI + -- 3GPP TS 24.008 [XX10] without the Routing Area Identification IEI -- (only the last 6 octets are used). - -- This parameter is duplicated from 3GPP TS 33.108 [61]. + -- This parameter is duplicated from 3GPP TS 33.108 [9]. tAI [9] OCTET STRING (SIZE (6)) OPTIONAL, - -- The "Tracking Area Identity" (TAI) is coded in accordance with 3GPP TS 29.118 [83] + -- The "Tracking Area Identity" (TAI) is coded in accordance with 3GPP TS 29.118 [XX12] -- without the TAI IEI. -- The tAI parameter is applicable only to the CS traffic cases where the available -- location information is the one received from the Mobility Management Entity (MME). - -- This parameter is duplicated from 3GPP TS 33.108 [61]. + -- This parameter is duplicated from 3GPP TS 33.108 [9]. eCGI [10] OCTET STRING (SIZE (8)) OPTIONAL -- the "E-UTRAN Cell Global Identity" (E-CGI) is coded in accordance with - -- 3GPP TS 29.118 [83] without the E-CGI IEI. + -- 3GPP TS 29.118 [XX12] without the E-CGI IEI. -- The eCGI parameter is applicable only to the CS traffic cases where -- the available location information is the one received from the MME. - -- This parameter is duplicated from 3GPP TS 33.108 [61]. + -- This parameter is duplicated from 3GPP TS 33.108 [9]. } TetraLocation ::= CHOICE @@ -464,11 +464,11 @@ TetraLocation ::= CHOICE ms-Loc [1] SEQUENCE { mcc [1] INTEGER (0..1023), - -- 10 bits EN 300 392-1 [40] + -- 10 bits EN 300 392-1 [XX13] mnc [2] INTEGER (0..16383), - -- 14 bits EN 300 392-1 [40] + -- 14 bits EN 300 392-1 [XX13] lai [3] INTEGER (0..65535), - -- 14 bits EN 300 392-1 [40] + -- 14 bits EN 300 392-1 [XX13] ci [4] INTEGER OPTIONAL }, ls-Loc [2] INTEGER @@ -518,7 +518,7 @@ GSMLocation ::= CHOICE -- example 32UPU91294045 wGS84Coordinates [4] OCTET STRING - -- format is as defined in 3GPP TS 03.32 [57] + -- format is as defined in 3GPP TS 23.032 [XX14] } MapDatum ::= ENUMERATED @@ -579,7 +579,7 @@ CallContentLinkCharacteristics ::= SEQUENCE release-Time [2] TimeStamp OPTIONAL, -- date and time of the release of the Call Content Link. release-Reason [3] OCTET STRING (SIZE(2)) OPTIONAL, - -- Release cause coded in Q.850 [31] format + -- Release cause coded in Recommendation ITU-T Q.850 [XX3] format lEMF-Address [4] CalledPartyNumber OPTIONAL, -- Directory number used to route the call toward the LEMF ... @@ -619,43 +619,43 @@ Services-Information ::= SEQUENCE ISUP-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) -- Each "OCTET STRING" contains one additional ISUP parameter TLV coded not already defined in - -- the previous parameters. The Tag value is the one given in EN 300 356 [5]. + -- the previous parameters. The Tag value is the one given in EN 300 356 [XX5]. -- In version 1 of the present document "iSUP-parameters" is defined as mandatory. -- It might occur that no ISUP parameter is available. In that case in a version 1 -- implementation the value "zero" may be included in the first octet string of the SET. -- The Length and the Value are coded in accordance with the parameter definition in - -- EN 300 356 [5]. Hereafter are listed the main parameters. + -- EN 300 356 [XX5]. Hereafter are listed the main parameters. -- However other parameters may be added: - -- Transmission medium requirement: format defined in EN 300 356 [5]. + -- Transmission medium requirement: format defined in EN 300 356 [XX5]. -- This parameter can be provided with the "Party Information" of the "calling party". - -- Transmission medium requirement prime: format defined in EN 300 356 [5]. + -- Transmission medium requirement prime: format defined in EN 300 356 [XX5]. -- This parameter can be provided with the "Party Information" of the "calling party". DSS1-parameters-codeset-0 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-0. The parameter is coded as - -- described in EN 300 403-1 [6] (The DSS1 Information element identifier and the DSS1 length + -- described in EN 300 403-1 [XX9] (The DSS1 Information element identifier and the DSS1 length -- are included). Hereafter are listed the main parameters. -- However other parameters may be added: - -- Bearer capability: this parameter may be repeated. Format defined in EN 300 403-1 [6]. + -- Bearer capability: this parameter may be repeated. Format defined in EN 300 403-1 [XX9]. -- This parameter can be provided with the "Party Information" of the "calling party", -- "called party" or "forwarded to party". - -- High Layer Compatibility: this parameter may be repeated. Format defined in EN 300 403-1 [6] + -- High Layer Compatibility: this parameter may be repeated. Format defined in EN 300 403-1 [XX9] -- This parameter can be provided with the "Party Information" of the "calling party", -- "called party" or "forwarded to party". - -- Low Layer capability: this parameter may be repeated. Format defined in EN 300 403-1 [6]. + -- Low Layer capability: this parameter may be repeated. Format defined in EN 300 403-1 [XX9]. -- This parameter can be provided with the "Party Information" of the "calling party", -- "called party" or "forwarded to party". MAP-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE(1..256)) -- Each "OCTET STRING" contains one MAP parameter. The parameter is coded as described in - -- TS GSM 09.02 [32] (The map-TS-Code is included). + -- 3GPP TS 29.002 [XX6] (The map-TS-Code is included). Supplementary-Services ::= SEQUENCE { @@ -694,79 +694,79 @@ ISUP-SS-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) -- It is recommended not to use it in new work but to use ISUP-parameters parameter. -- Each "OCTET STRING" contains one additional ISUP parameter TLV coded not already defined in - -- the previous parameters. The Tag value is the one given in EN 300 356 [5]. + -- the previous parameters. The Tag value is the one given in EN 300 356 [XX5]. -- The Length and the Value are coded in accordance with the parameter definition in - -- EN 300 356 [5]. Hereafter are listed the main parameters. + -- EN 300 356 [XX5]. Hereafter are listed the main parameters. -- However other parameters may be added: - -- Connected Number: format defined in EN 300 356 [5]. + -- Connected Number: format defined in EN 300 356 [XX5]. -- This parameter can be provided with the "Party Information" of the -- "called party" or "forwarded to party". - -- RedirectingNumber: format defined in EN 300 356 [5]. + -- RedirectingNumber: format defined in EN 300 356 [XX5]. -- This parameter can be provided with the "Party Information" of the "originating party" -- or/and of the "terminating party". - -- Original Called Party Number: format defined in EN 300 356 [5]. + -- Original Called Party Number: format defined in EN 300 356 [XX5]. -- This parameter can be provided with the "Party Information" of the "originating party". - -- Redirection information: format defined in EN 300 356 [5]. + -- Redirection information: format defined in EN 300 356 [XX5]. -- This parameter can be provided with the "Party Information" of the -- "originating party", "forwarded to party" or/and "Terminating party". - -- Redirection Number: format defined in EN 300 356 [5]. + -- Redirection Number: format defined in EN 300 356 [XX5]. -- This parameter can be provided with the "Party Information" of the -- "forwarded to party" or "Terminating party". - -- Call diversion information: format defined in EN 300 356 [5]. + -- Call diversion information: format defined in EN 300 356 [XX5]. -- This parameter can be provided with the "Party Information" of the -- "forwarded to party" or "Terminating party". - -- Generic Number: format defined in EN 300 356 [5]. + -- Generic Number: format defined in EN 300 356 [XX5]. -- This parameter can be provided with the "Party Information" of the -- "calling party", "called party" or "forwarded to party". -- This parameters are used to transmit additional identities (additional, calling party -- number, additional called number, etc.). - -- Generic Notification: format defined in EN 300 356 [5]. + -- Generic Notification: format defined in EN 300 356 [XX5]. -- This parameter may be provided with the "Party Information" of the -- "calling party", "called party" or "forwarded to party". -- This parameters transmit the notification to the other part of the call of the supplementary -- services activated or invoked by a subscriber during the call. - -- CUG Interlock Code: format defined in EN 300 356 [5]. + -- CUG Interlock Code: format defined in EN 300 356 [XX5]. -- This parameter can be provided with the "Party Information" of the "calling party". DSS1-SS-parameters-codeset-0 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-0. The parameter is coded as - -- described in EN 300 403-1 [6] (The DSS1 Information element identifier and the DSS1 length + -- described in EN 300 403-1 [XX9] (The DSS1 Information element identifier and the DSS1 length -- are included). Hereafter are listed the main parameters. -- However other parameters may be added: - -- Calling Party Subaddress: format defined in EN 300 403-1 [6]. + -- Calling Party Subaddress: format defined in EN 300 403-1 [XX9]. -- This parameter can be provided with the "Party Information" of the "calling party". - -- Called Party Subaddress: format defined in EN 300 403-1 [6]. + -- Called Party Subaddress: format defined in EN 300 403-1 [XX9]. -- This parameter can be provided with the "Party Information" of the "calling party". - -- Connected Subaddress: format defined in recommendation (see EN 300 097-1 [14]). + -- Connected Subaddress: format defined in recommendation (see EN 300 097-1 [XX15]). -- This parameter can be provided with the "Party Information" of the -- "called party" or "forwarded to party". - -- Connected Number: format defined in recommendation (see EN 300 097-1 [14]). + -- Connected Number: format defined in recommendation (see EN 300 097-1 [XX15]). -- This parameter can be provided with the "Party Information" of the -- "called party" or "forwarded to party". - -- Keypad facility: format defined in EN 300 403-1 [6]. + -- Keypad facility: format defined in EN 300 403-1 [XX9]. -- This parameter can be provided with the "Party Information" of the -- "calling party", "called party" or "forwarded to party". - -- Called Party Number: format defined in EN 300 403-1 [6]. + -- Called Party Number: format defined in EN 300 403-1 [XX9]. -- This parameter could be provided with the "Party Information" of the "calling party" -- when target is the originating party; it contains the dialled digits before modification -- at network level (e.g. IN interaction, translation, etc ...). - -- User-user: format defined in EN 300 286-1 [23]). + -- User-user: format defined in EN 300 286-1 [XX16]). -- This parameter can be provided with the "Party Information" of the -- "calling party", "called party" or "forwarded to party". @@ -791,35 +791,35 @@ DSS1-SS-Invoke-Components ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) -- The invoke or return result component is coded as -- described in the relevant DSS1 supplementary service recommendation. - -- Invoke or Return Result component (BeginCONF): EN 300 185-1 [19] - -- Invoke or Return Result component (AddCONF): EN 300 185-1 [19] - -- Invoke or Return Result component (SplitCONF): EN 300 185-1 [19] - -- Invoke or Return Result component (DropCONF): EN 300 185-1 [19] - -- Invoke or Return Result component (IsolateCONF): EN 300 185-1 [19] - -- Invoke or Return Result component (ReattachCONF): EN 300 185-1 [19] - -- Invoke or Return Result component (PartyDISC): EN 300 185-1 [19] - -- Invoke or Return Result component (MCIDRequest): EN 300 130-1 [16] - -- Invoke or Return Result component (Begin3PTY): EN 300 188-1 [20] - -- Invoke or Return Result component (End3PTY): EN 300 188-1 [20] - -- Invoke or Return Result component (ECTExecute): EN 300 369-1 [25] - -- Invoke or Return Result component (ECTInform): EN 300 369-1 [25] - -- Invoke or Return Result component (ECTLinkIdRequest): EN 300 369-1 [25] - -- Invoke or Return Result component (ECTLoopTest): EN 300 369-1 [25] - -- Invoke or Return Result component (ExplicitECTExecute): EN 300 369-1 [25] - -- Invoke or Return Result component (ECT: RequestSubaddress): EN 300 369-1 [25] - -- Invoke or Return Result component (ECT: SubaddressTransfer): EN 300 369-1 [25] - -- Invoke or Return Result component (CF: ActivationDiversion): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: DeactivationDiversion): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: ActivationStatusNotification): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: DeactivationStatusNotification): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: InterrogationDiversion): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: InterrogationServedUserNumber): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: DiversionInformation): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: CallDeflection): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: CallRerouteing): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: DivertingLegInformation1): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: DivertingLegInformation2): EN 300 207-1 [21] - -- Invoke or Return Result component (CF: DivertingLegInformation3): EN 300 207-1 [21] + -- Invoke or Return Result component (BeginCONF): EN 300 185-1 [XX17] + -- Invoke or Return Result component (AddCONF): EN 300 185-1 [XX17] + -- Invoke or Return Result component (SplitCONF): EN 300 185-1 [XX17] + -- Invoke or Return Result component (DropCONF): EN 300 185-1 [XX17] + -- Invoke or Return Result component (IsolateCONF): EN 300 185-1 [XX17] + -- Invoke or Return Result component (ReattachCONF): EN 300 185-1 [XX17] + -- Invoke or Return Result component (PartyDISC): EN 300 185-1 [XX17] + -- Invoke or Return Result component (MCIDRequest): EN 300 130-1 [XX18] + -- Invoke or Return Result component (Begin3PTY): EN 300 188-1 [XX19] + -- Invoke or Return Result component (End3PTY): EN 300 188-1 [XX19] + -- Invoke or Return Result component (ECTExecute): EN 300 369-1 [XX20] + -- Invoke or Return Result component (ECTInform): EN 300 369-1 [XX20] + -- Invoke or Return Result component (ECTLinkIdRequest): EN 300 369-1 [XX20] + -- Invoke or Return Result component (ECTLoopTest): EN 300 369-1 [XX20] + -- Invoke or Return Result component (ExplicitECTExecute): EN 300 369-1 [XX20] + -- Invoke or Return Result component (ECT: RequestSubaddress): EN 300 369-1 [XX20] + -- Invoke or Return Result component (ECT: SubaddressTransfer): EN 300 369-1 [XX20] + -- Invoke or Return Result component (CF: ActivationDiversion): EN 300 207-1 [XX21] + -- Invoke or Return Result component (CF: DeactivationDiversion): EN 300 207-1 [XX21] + -- Invoke or Return Result component (CF: ActivationStatusNotification): EN 300 207-1 [XX21] + -- Invoke or Return Result component (CF: DeactivationStatusNotification): EN 300 207-1 [XX21] + -- Invoke or Return Result component (CF: InterrogationDiversion): EN 300 207-1 [XX21] + -- Invoke or Return Result component (CF: InterrogationServedUserNumber): EN 300 207-1 [XX21] + -- Invoke or Return Result component (CF: DiversionInformation): EN 300 207-1 [XX21] + -- Invoke or Return Result component (CF: CallDeflection): EN 300 207-1 [XX21] + -- Invoke or Return Result component (CF: CallRerouteing): EN 300 207-1 [XX21] + -- Invoke or Return Result component (CF: DivertingLegInformation1): EN 300 207-1 [XX21] + -- Invoke or Return Result component (CF: DivertingLegInformation2): EN 300 207-1 [XX21] + -- Invoke or Return Result component (CF: DivertingLegInformation3): EN 300 207-1 [XX21] -- other invoke or return result components ... MAP-SS-Invoke-Components ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) @@ -857,10 +857,10 @@ SMS-report ::= SEQUENCE communicationIdentifier [1] CommunicationIdentifier, -- used to uniquely identify an intercepted call: the same used for the -- relevant IRI - -- Called "callIdentifier" in V1.1.1 of ES 201 671 [i.5] + -- Called "callIdentifier" in V1.1.1 of ES 201 671 [i.XX1] timeStamp [2] TimeStamp, -- date and time of the report. The format is - -- the one defined in case a) of the ASN.1 ITU-T Recommendation X.680 [33]. + -- the one defined in case a) of the ASN.1 Recommendation ITU-T X.680 [11]. -- (year month day hour minutes seconds) sMS-Contents [3] SEQUENCE { @@ -923,7 +923,7 @@ National-Parameters ::= SET SIZE (1..40) OF OCTET STRING (SIZE (1..256)) GPRSCorrelationNumber ::= OCTET STRING (SIZE(8..20)) GPRSEvent ::= ENUMERATED - -- see 3GPP TS 03.33 [42] + -- see 3GPP TS 03.33 [XX22] { pDPContextActivation(1), startOfInterceptionWithPDPContextActive(2), @@ -948,9 +948,9 @@ GPRS-parameters ::= SEQUENCE pDP-address-allocated-to-the-target [1] DataNodeAddress OPTIONAL, aPN [2] OCTET STRING (SIZE(1..100)) OPTIONAL, -- The Access Point Name (APN) is coded in accordance with - -- 3GPP TS 24.008 [41] without the APN IEI (only the last 100 octets are used). - -- Octets are coded according to 3GPP TS 23.003 [76]. - -- This parameter is duplicated from 3GPP TS 33.108 [61]. + -- 3GPP TS 24.008 [XX10] without the APN IEI (only the last 100 octets are used). + -- Octets are coded according to 3GPP TS 23.003 [XX4]. + -- This parameter is duplicated from 3GPP TS 33.108 [9]. pDP-type [3] OCTET STRING (SIZE(2)) OPTIONAL, -- when PDP-type is IPv4 or IPv6, the IP address is carried by parameter -- pDP-address-allocated-to-the-target when PDP-type is IPv4v6, @@ -961,7 +961,7 @@ GPRS-parameters ::= SEQUENCE } GPRSOperationErrorCode ::= OCTET STRING (SIZE(2)) - -- Refer to 3GPP TS 24.008 [41] for values (GMM cause or SM cause parameter). + -- Refer to 3GPP TS 24.008 [XX10] for values (GMM cause or SM cause parameter). DataNodeAddress ::= CHOICE { @@ -1020,7 +1020,7 @@ X25Address ::= OCTET STRING (SIZE(1..25)) National-HI2-ASN1parameters ::= SEQUENCE { countryCode [1] PrintableString (SIZE (2)), - -- Country Code according to ISO 3166-1 [67], + -- Country Code according to ISO 3166-1 [10], -- the country to which the parameters inserted after the extension marker apply. ... -- In case a given country wants to use additional national parameters according to its law, -- GitLab From 1078bcee47021eb86091d9772c8db8361c252f23 Mon Sep 17 00:00:00 2001 From: Luke Mewburn Date: Tue, 17 Oct 2023 15:09:25 +1100 Subject: [PATCH 24/40] TS 102 232-1 CR0107 Remove ROSE from TS 101 671 imports The ASN.1 types imported from ITU-T X.880 ROSE by HI1NotificationOperations and HI2Operations are not used by LI-PS-PDU's IMPORT of specific types from HI1NotificationOperations and HI2Operations. Remove the ROSE IMPORTS; LI-PS-PDU and its IMPORTS still compile fine without them. --- 102232-1/HI1NotificationOperations.asn | 30 -------------------------- 102232-1/HI2Operations.asn | 30 +------------------------- 2 files changed, 1 insertion(+), 59 deletions(-) diff --git a/102232-1/HI1NotificationOperations.asn b/102232-1/HI1NotificationOperations.asn index 5612d8d..2babead 100644 --- a/102232-1/HI1NotificationOperations.asn +++ b/102232-1/HI1NotificationOperations.asn @@ -5,11 +5,6 @@ DEFINITIONS IMPLICIT TAGS ::= BEGIN IMPORTS - OPERATION, - ERROR - FROM Remote-Operations-Information-Objects - {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} - CommunicationIdentifier, TimeStamp, LawfulInterceptionIdentifier @@ -27,31 +22,6 @@ lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization( hi1NotificationOperationsId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi1(0) notificationOperations(1)} hi1OperationId OBJECT IDENTIFIER ::= {hi1NotificationOperationsId version6(6)} -sending-of-HI1-Notification OPERATION ::= -{ - ARGUMENT HI1-Operation - ERRORS {ErrorHI1Notifications} - CODE global:{hi1NotificationOperationsId version1(1)} -} --- Class 2 operation. The timer shall be set to a value between 3s and 240s. --- The timer default value is 60s. --- NOTE: The value for this timer is to be set on the equipment waiting for the returned message; --- its value shall be agreed between the NWO/AP/SvP and the LEA, depending on their equipment --- properties. - -other-failure-causes ERROR ::= {CODE local:0} -missing-parameter ERROR ::= {CODE local:1} -unknown-parameter ERROR ::= {CODE local:2} -erroneous-parameter ERROR ::= {CODE local:3} - -ErrorHI1Notifications ERROR ::= -{ - other-failure-causes | - missing-parameter | - unknown-parameter | - erroneous-parameter -} - HI1-Operation ::= CHOICE { liActivated [1] Notification, diff --git a/102232-1/HI2Operations.asn b/102232-1/HI2Operations.asn index bf89f3f..528b2de 100644 --- a/102232-1/HI2Operations.asn +++ b/102232-1/HI2Operations.asn @@ -8,11 +8,7 @@ DEFINITIONS IMPLICIT TAGS ::= BEGIN -IMPORTS OPERATION, - ERROR - FROM Remote-Operations-Information-Objects - {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} - +IMPORTS -- from 3GPP TS 33.108 [9] UmtsQos, IMSevent, @@ -45,16 +41,6 @@ lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization( hi2DomainId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi2(1)} hi2OperationId OBJECT IDENTIFIER ::= {hi2DomainId version18(18)} -sending-of-IRI OPERATION ::= -{ - ARGUMENT IRIsContent - ERRORS {OperationErrors} - CODE global:{hi2DomainId sending-of-IRI(1) version1(1)} -} --- Class 2 operation. The timer shall be set to a value between 3s and 240s. --- The timer default value is 60s. --- NOTE: The same note as for HI management operation applies. - IRIsContent ::= CHOICE { iRIContent IRIContent, @@ -81,20 +67,6 @@ IRIContent ::= CHOICE ... } -unknown-version ERROR ::= {CODE local:0} -missing-parameter ERROR ::= {CODE local:1} -unknown-parameter-value ERROR ::= {CODE local:2} -unknown-parameter ERROR ::= {CODE local:3} - -OperationErrors ERROR ::= -{ - unknown-version | - missing-parameter | - unknown-parameter-value | - unknown-parameter -} --- These values may be sent by the LEMF, when an operation or a parameter is misunderstood. - IRI-Parameters ::= SEQUENCE { domainID [0] OBJECT IDENTIFIER (hi2OperationId) OPTIONAL, -- GitLab From 05ce1caf0570e22f86b20ae45eaff5af451a3c54 Mon Sep 17 00:00:00 2001 From: Luke Mewburn Date: Tue, 17 Oct 2023 15:28:44 +1100 Subject: [PATCH 25/40] TS 102 232-1 CR0107 Update OIDs for TS 101 671 files Update HI1NotificationOperations to version8(8) Update HI2Operations to version19(19) Add comments describing the history of both modules, and advise against further changes. Clarify in the LI-PS-PDU comments that the HI1NotificationOperations and HI2Operations modules are now provided with TS 102 232-1, and not with TS 101 671 (historical). --- 102232-1/HI1NotificationOperations.asn | 16 +++++++++++++--- 102232-1/HI2Operations.asn | 20 +++++++++++++++----- 102232-1/LI-PS-PDU.asn | 10 +++++----- 3 files changed, 33 insertions(+), 13 deletions(-) diff --git a/102232-1/HI1NotificationOperations.asn b/102232-1/HI1NotificationOperations.asn index 2babead..97d7e52 100644 --- a/102232-1/HI1NotificationOperations.asn +++ b/102232-1/HI1NotificationOperations.asn @@ -1,5 +1,15 @@ HI1NotificationOperations -{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version7(7)} +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version8(8)} + +-- Prior to version8(8), this ASN.1 module was provided by TS 101 671 [4], +-- which was marked as historical in V3.15.1 (2018-06). +-- +-- This ASN.1 module has been copied from TS 101 671 V3.15.1 [4] to +-- TS 102 232-1 (the present document) to assist implementors of LI-PS-PDU. +-- The ASN.1 in this module shall be equivalent to that in TS 101 671 [4] +-- so that the ASN.1 encodes identically, except for hi1OperationId. +-- +-- It is not recommended to use or extend this module in future change requests. DEFINITIONS IMPLICIT TAGS ::= BEGIN @@ -9,7 +19,7 @@ IMPORTS TimeStamp, LawfulInterceptionIdentifier FROM HI2Operations - {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version10(10)}; + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version19(19)}; -- ============================= -- Object Identifier Definitions @@ -20,7 +30,7 @@ lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization( -- hi1 Domain hi1NotificationOperationsId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi1(0) notificationOperations(1)} -hi1OperationId OBJECT IDENTIFIER ::= {hi1NotificationOperationsId version6(6)} +hi1OperationId OBJECT IDENTIFIER ::= {hi1NotificationOperationsId version8(8)} HI1-Operation ::= CHOICE { diff --git a/102232-1/HI2Operations.asn b/102232-1/HI2Operations.asn index 528b2de..0663a64 100644 --- a/102232-1/HI2Operations.asn +++ b/102232-1/HI2Operations.asn @@ -1,8 +1,18 @@ HI2Operations -{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version17(18)} - - -- It is advised not to use version11(11) of this ASN.1 module since it contains a syntax error. - -- Version11(11) of HI2Operations is only defined in TS 101 671 v3.5.1 [4]. +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version19(19)} + +-- Prior to version19(19), this ASN.1 module was provided by TS 101 671 [4], +-- which was marked as historical in V3.15.1 (2018-06). +-- +-- This ASN.1 module has been copied from TS 101 671 V3.15.1 [4] to +-- TS 102 232-1 (the present document) to assist implementors of LI-PS-PDU. +-- The ASN.1 in this module shall be equivalent to that in TS 101 671 [4] +-- so that the ASN.1 encodes identically, except for hi2OperationId. +-- +-- It is not recommended to use or extend this module in future change requests. +-- +-- It is advised not to use version11(11) of this ASN.1 module since it contains a syntax error. +-- Version11(11) of HI2Operations is only defined in TS 101 671 v3.5.1 [4]. DEFINITIONS IMPLICIT TAGS ::= @@ -39,7 +49,7 @@ lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization( -- Security Subdomains hi2DomainId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi2(1)} -hi2OperationId OBJECT IDENTIFIER ::= {hi2DomainId version18(18)} +hi2OperationId OBJECT IDENTIFIER ::= {hi2DomainId version19(19)} IRIsContent ::= CHOICE { diff --git a/102232-1/LI-PS-PDU.asn b/102232-1/LI-PS-PDU.asn index 910729a..ca10951 100644 --- a/102232-1/LI-PS-PDU.asn +++ b/102232-1/LI-PS-PDU.asn @@ -14,18 +14,18 @@ IMPORTS {itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version241(241)} - -- from ETSI TS 101 671 [4] + -- previously from ETSI TS 101 671 [4]; now provided with this specification 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)} + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version19(19)} - -- from ETSI TS 101 671 [4] + -- previously from ETSI TS 101 671 [4]; now provided with this specification HI1-Operation FROM HI1NotificationOperations - {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version7(7)} + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version8(8)} -- from ETSI TS 102 232-2 [5] EmailCC, @@ -249,7 +249,7 @@ Payload ::= CHOICE hI1-Operation [3] HI1NotificationOperations.HI1-Operation, encryptionContainer [4] EncryptionContainer, threeGPP-HI1-Operation [5] ThreeGPP-HI1NotificationOperations.ThreeGPP-HI1-Operation, - -- This structure may be functionally redundant with hI1-Operation from ETSI TS 101 671 [4] + -- This structure may be functionally redundant with hI1-Operation previously from ETSI TS 101 671 [4] iLHIPayload [6] SEQUENCE OF ILHIPDU.ILHIPayload, -- For typical use cases see ETSI TS 103 462 [45] hI4Payload [7] SEQUENCE OF HI4Payload -- GitLab From 9de70f02a5f7f0999385eeba76547d0de1c06e1a Mon Sep 17 00:00:00 2001 From: Luke Mewburn Date: Tue, 31 Oct 2023 13:06:47 +1100 Subject: [PATCH 26/40] TS 102 232-1 CR0107 Replace reference [i.XX1] with [4] --- 102232-1/HI1NotificationOperations.asn | 2 +- 102232-1/HI2Operations.asn | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/102232-1/HI1NotificationOperations.asn b/102232-1/HI1NotificationOperations.asn index 97d7e52..4bc8515 100644 --- a/102232-1/HI1NotificationOperations.asn +++ b/102232-1/HI1NotificationOperations.asn @@ -56,7 +56,7 @@ Notification ::= SEQUENCE communicationIdentifier [2] CommunicationIdentifier OPTIONAL, -- Only the NWO/PA/SvPIdentifier is provided (the one provided with the Lawful -- authorization). - -- Called "callIdentifier" in V1.1.1 of ES 201 671 [i.XX1] + -- Called "callIdentifier" in V1.1.1 of TS 101 671 [4] timeStamp [3] TimeStamp, -- date and time of the report. ..., diff --git a/102232-1/HI2Operations.asn b/102232-1/HI2Operations.asn index 0663a64..6acebf4 100644 --- a/102232-1/HI2Operations.asn +++ b/102232-1/HI2Operations.asn @@ -103,7 +103,7 @@ IRI-Parameters ::= SEQUENCE -- This identifier is associated to the target. communicationIdentifier [2] CommunicationIdentifier, -- used to uniquely identify an intercepted call. - -- Called "callIdentifier" in v1.1.1 of ES 201 671 [i.XX1]. + -- Called "callIdentifier" in v1.1.1 of TS 101 671 [4] timeStamp [3] TimeStamp, -- date and time of the event triggering the report. intercepted-Call-Direct [4] ENUMERATED @@ -232,7 +232,7 @@ CommunicationIdentifier ::= SEQUENCE -- within the node. This parameter is mandatory if there is associated -- information sent over HI3interface (CClink, data,..) or when -- CommunicationIdentifier is used for IRI other than IRI-Report-record - -- This parameter was called "call-Identity-Number" in V1.1.1 of ES 201 671 [i.XX1] + -- This parameter was called "call-Identity-Number" in V1.1.1 of TS 101 671 [4] -- The individual digits of the communication-Identity-Number shall be represented in -- ASCII format, e.g. "12345678" = 8 octets 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38. -- For subaddress option only "0"..."9" shall be used. @@ -839,7 +839,7 @@ SMS-report ::= SEQUENCE communicationIdentifier [1] CommunicationIdentifier, -- used to uniquely identify an intercepted call: the same used for the -- relevant IRI - -- Called "callIdentifier" in V1.1.1 of ES 201 671 [i.XX1] + -- Called "callIdentifier" in V1.1.1 of TS 101 671 [4] timeStamp [2] TimeStamp, -- date and time of the report. The format is -- the one defined in case a) of the ASN.1 Recommendation ITU-T X.680 [11]. -- GitLab From ce9ce78392a64d994532924142dc1ba5843c6e66 Mon Sep 17 00:00:00 2001 From: Luke Mewburn Date: Wed, 1 Nov 2023 20:07:05 +1100 Subject: [PATCH 27/40] TS 102 232-1 CR0107 - remove [nnn] references in comments Remove the [nnn] references from comments in HI1NotificationOperations.asn and HI2Operations.asn. --- 102232-1/HI1NotificationOperations.asn | 12 +- 102232-1/HI2Operations.asn | 244 ++++++++++++------------- 2 files changed, 128 insertions(+), 128 deletions(-) diff --git a/102232-1/HI1NotificationOperations.asn b/102232-1/HI1NotificationOperations.asn index 4bc8515..a45ef68 100644 --- a/102232-1/HI1NotificationOperations.asn +++ b/102232-1/HI1NotificationOperations.asn @@ -1,12 +1,12 @@ HI1NotificationOperations {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version8(8)} --- Prior to version8(8), this ASN.1 module was provided by TS 101 671 [4], +-- Prior to version8(8), this ASN.1 module was provided by TS 101 671, -- which was marked as historical in V3.15.1 (2018-06). -- --- This ASN.1 module has been copied from TS 101 671 V3.15.1 [4] to +-- This ASN.1 module has been copied from TS 101 671 V3.15.1 to -- TS 102 232-1 (the present document) to assist implementors of LI-PS-PDU. --- The ASN.1 in this module shall be equivalent to that in TS 101 671 [4] +-- The ASN.1 in this module shall be equivalent to that in TS 101 671 -- so that the ASN.1 encodes identically, except for hi1OperationId. -- -- It is not recommended to use or extend this module in future change requests. @@ -56,7 +56,7 @@ Notification ::= SEQUENCE communicationIdentifier [2] CommunicationIdentifier OPTIONAL, -- Only the NWO/PA/SvPIdentifier is provided (the one provided with the Lawful -- authorization). - -- Called "callIdentifier" in V1.1.1 of TS 101 671 [4] + -- Called "callIdentifier" in V1.1.1 of TS 101 671 timeStamp [3] TimeStamp, -- date and time of the report. ..., @@ -77,7 +77,7 @@ Alarm-Indicator ::= SEQUENCE -- date and time of the report. alarm-information [3] OCTET STRING (SIZE (1..256)), -- Provides information about alarms (free format). - -- Until ASN.1 version 6 (TS 101 671 V3.12.1 [4]) the octet string + -- Until ASN.1 version 6 (TS 101 671 V3.12.1) the octet string -- was limited to a size of 25 ..., lawfulInterceptionIdentifier [4] LawfulInterceptionIdentifier OPTIONAL, @@ -91,7 +91,7 @@ National-HI1-ASN1parameters ::= SEQUENCE domainID [0] OBJECT IDENTIFIER (hi1OperationId) OPTIONAL, -- Once using FTP delivery mechanism. countryCode [1] PrintableString (SIZE (2)), - -- Country Code according to ISO 3166-1 [10], + -- Country Code according to ISO 3166-1, -- the country to which the parameters inserted after the extension marker apply. ... -- In case a given country wants to use additional national parameters according to its law, diff --git a/102232-1/HI2Operations.asn b/102232-1/HI2Operations.asn index 6acebf4..047ced6 100644 --- a/102232-1/HI2Operations.asn +++ b/102232-1/HI2Operations.asn @@ -1,25 +1,25 @@ HI2Operations {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version19(19)} --- Prior to version19(19), this ASN.1 module was provided by TS 101 671 [4], +-- Prior to version19(19), this ASN.1 module was provided by TS 101 671, -- which was marked as historical in V3.15.1 (2018-06). -- --- This ASN.1 module has been copied from TS 101 671 V3.15.1 [4] to +-- This ASN.1 module has been copied from TS 101 671 V3.15.1 to -- TS 102 232-1 (the present document) to assist implementors of LI-PS-PDU. --- The ASN.1 in this module shall be equivalent to that in TS 101 671 [4] +-- The ASN.1 in this module shall be equivalent to that in TS 101 671 -- so that the ASN.1 encodes identically, except for hi2OperationId. -- -- It is not recommended to use or extend this module in future change requests. -- -- It is advised not to use version11(11) of this ASN.1 module since it contains a syntax error. --- Version11(11) of HI2Operations is only defined in TS 101 671 v3.5.1 [4]. +-- Version11(11) of HI2Operations is only defined in TS 101 671 v3.5.1. DEFINITIONS IMPLICIT TAGS ::= BEGIN IMPORTS - -- from 3GPP TS 33.108 [9] + -- from 3GPP TS 33.108 UmtsQos, IMSevent, LDIevent, @@ -27,12 +27,12 @@ IMPORTS FROM UmtsHI2Operations {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi2(1) r11(11) version-0(0)} - -- from TS 101 909-20-1 [33] + -- from TS 101 909-20-1 TARGETACTIVITYMONITOR-1 FROM TS101909201 {itu-t(0) identified-organization(4) etsi(0) ts101909(1909) part20(20) subpart1(1) interceptVersion(0)} - -- from EN 301 040 [XX2] + -- from EN 301 040 TARGETACTIVITYMONITORind, TARGETCOMMSMONITORind, TTRAFFICind, @@ -93,7 +93,7 @@ IRI-Parameters ::= SEQUENCE lastVersion(8) } OPTIONAL, -- Optional parameter "iRIversion" (tag 23) is redundant starting - -- from TS 101 671 v2.5.1 [4] + -- from TS 101 671 v2.5.1 -- where to the object identifier "domainID" was introduced into IRI-Parameters. -- In order to keep backward compatibility, even when the version of the "domainID" -- parameter will be incremented it is recommended to always send to LEMF the same: @@ -103,7 +103,7 @@ IRI-Parameters ::= SEQUENCE -- This identifier is associated to the target. communicationIdentifier [2] CommunicationIdentifier, -- used to uniquely identify an intercepted call. - -- Called "callIdentifier" in v1.1.1 of TS 101 671 [4] + -- Called "callIdentifier" in v1.1.1 of TS 101 671 timeStamp [3] TimeStamp, -- date and time of the event triggering the report. intercepted-Call-Direct [4] ENUMERATED @@ -138,7 +138,7 @@ IRI-Parameters ::= SEQUENCE ... } OPTIONAL, release-Reason-Of-Intercepted-Call [11] OCTET STRING (SIZE (2)) OPTIONAL, - -- Release cause coded in Recommendation ITU-T Q.850 [XX3] format. + -- Release cause coded in Recommendation ITU-T Q.850 format. -- This parameter indicates the reason why the intercepted call cannot be established or -- why the intercepted call has been released after the active phase. nature-Of-The-intercepted-call [12] ENUMERATED @@ -187,35 +187,35 @@ IRI-Parameters ::= SEQUENCE ..., ggsnAddress [24] DataNodeAddress OPTIONAL, qOS [25] UmtsQos OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [9]. + -- This parameter is duplicated from 3GPP TS 33.108. networkIdentifier [26] Network-Identifier OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [9]. + -- This parameter is duplicated from 3GPP TS 33.108. sMSOriginatingAddress [27] DataNodeAddress OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [9]. + -- This parameter is duplicated from 3GPP TS 33.108. sMSTerminatingAddress [28] DataNodeAddress OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [9]. + -- This parameter is duplicated from 3GPP TS 33.108. iMSevent [29] IMSevent OPTIONAL, sIPMessage [30] OCTET STRING OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [9]. + -- This parameter is duplicated from 3GPP TS 33.108. servingSGSN-number [31] OCTET STRING (SIZE (1..20)) OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [9]. + -- This parameter is duplicated from 3GPP TS 33.108. servingSGSN-address [32] OCTET STRING (SIZE (5..17)) OPTIONAL, - -- Octets are coded according to 3GPP TS 23.003 [XX4] - -- This parameter is duplicated from 3GPP TS 33.108 [9]. + -- Octets are coded according to 3GPP TS 23.003 + -- This parameter is duplicated from 3GPP TS 33.108. tARGETACTIVITYMONITOR [33] TARGETACTIVITYMONITOR-1 OPTIONAL, - -- Parameter is used in TS 101 909-20-1 [33] + -- Parameter is used in TS 101 909-20-1 ldiEvent [34] LDIevent OPTIONAL, - -- The "Location Dependent Interception" parameter is duplicated from 3GPP TS 33.108 [9] + -- The "Location Dependent Interception" parameter is duplicated from 3GPP TS 33.108 correlation [35] CorrelationValues OPTIONAL, - -- This parameter is duplicated from 3GPP TS 33.108 [9] + -- This parameter is duplicated from 3GPP TS 33.108 tARGETACTIVITYMONITORind [36] TARGETACTIVITYMONITORind OPTIONAL, - -- Parameter is used in EN 301 040 [XX2] + -- Parameter is used in EN 301 040 tARGETCOMMSMONITORind [37] TARGETCOMMSMONITORind OPTIONAL, - -- Parameter is used in EN 301 040 [XX2] + -- Parameter is used in EN 301 040 tTRAFFICind [38] TTRAFFICind OPTIONAL, - -- Parameter is used in EN 301 040 [XX2] + -- Parameter is used in EN 301 040 cTTRAFFICind [39] CTTRAFFICind OPTIONAL, - -- Parameter is used in EN 301 040 [XX2] + -- Parameter is used in EN 301 040 servingSystem [40] Network-Element-Identifier OPTIONAL, -- Parameter identifies the visited network element national-HI2-ASN1parameters [255] National-HI2-ASN1parameters OPTIONAL @@ -232,7 +232,7 @@ CommunicationIdentifier ::= SEQUENCE -- within the node. This parameter is mandatory if there is associated -- information sent over HI3interface (CClink, data,..) or when -- CommunicationIdentifier is used for IRI other than IRI-Report-record - -- This parameter was called "call-Identity-Number" in V1.1.1 of TS 101 671 [4] + -- This parameter was called "call-Identity-Number" in V1.1.1 of TS 101 671 -- The individual digits of the communication-Identity-Number shall be represented in -- ASCII format, e.g. "12345678" = 8 octets 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38. -- For subaddress option only "0"..."9" shall be used. @@ -258,7 +258,7 @@ Network-Element-Identifier ::= CHOICE { e164-Format [1] OCTET STRING (SIZE (1..25)), -- E164 address of the node in international format. Coded in the same format as the - -- calling party number parameter of the ISUP (parameter part: EN 300 356 [XX5]). + -- calling party number parameter of the ISUP (parameter part: EN 300 356). x25-Format [2] OCTET STRING (SIZE (1..25)), -- X25 address iP-Format [3] OCTET STRING (SIZE (1..25)), @@ -322,11 +322,11 @@ PartyInformation ::= SEQUENCE partyIdentity [1] SEQUENCE { imei [1] OCTET STRING (SIZE (8)) OPTIONAL, - -- See MAP format 3GPP TS 29.002 [XX6] + -- See MAP format 3GPP TS 29.002 tei [2] OCTET STRING (SIZE (1..15)) OPTIONAL, -- ISDN-based Terminal Equipment Identity imsi [3] OCTET STRING (SIZE (3..8)) OPTIONAL, - -- See MAP format 3GPP TS 29.002 [XX6] International Mobile + -- See MAP format 3GPP TS 29.002 International Mobile -- Station Identity E.212 number beginning with Mobile Country Code callingPartyNumber [4] CallingPartyNumber OPTIONAL, -- The calling party format is used to transmit the identity of a calling party @@ -335,17 +335,17 @@ PartyInformation ::= SEQUENCE -- a forwarded to party. msISDN [6] OCTET STRING (SIZE (1..9)) OPTIONAL, -- MSISDN of the target, encoded in the same format as the AddressString - -- parameters defined in MAP format 3GPP TS 29.002 [XX6] + -- parameters defined in MAP format 3GPP TS 29.002 ..., e164-Format [7] OCTET STRING (SIZE (1..25)) OPTIONAL, -- E164 address of the node in international format. Coded in the same format as - -- the calling party number parameter of the ISUP (parameter part: EN 300 356 [XX5]) + -- the calling party number parameter of the ISUP (parameter part: EN 300 356) sip-uri [8] OCTET STRING OPTIONAL, - -- Session Initiation Protocol - Uniform Resource Identifier. See IETF RFC 3261 [XX7]. - -- This parameter is duplicated from 3GPP TS 33.108 [9]. + -- Session Initiation Protocol - Uniform Resource Identifier. See IETF RFC 3261. + -- This parameter is duplicated from 3GPP TS 33.108. tel-url [9] OCTET STRING OPTIONAL, - -- See "URLs for Telephone Calls", IETF RFC 3966 [XX8]. - -- This parameter is duplicated from 3GPP TS 33.108 [9]. + -- See "URLs for Telephone Calls", IETF RFC 3966. + -- This parameter is duplicated from 3GPP TS 33.108. party-Validity [10] ENUMERATED { trusted(0), @@ -357,7 +357,7 @@ PartyInformation ::= SEQUENCE ... } OPTIONAL, alphanumeric [11] UTF8String OPTIONAL - -- see TS 101 671 [4] clause A.3.3 on usage of this parameter + -- see TS 101 671 clause A.3.3 on usage of this parameter }, services-Information [2] Services-Information OPTIONAL, -- This parameter is used to transmit all the information concerning the @@ -376,26 +376,26 @@ CallingPartyNumber ::= CHOICE { iSUP-Format [1] OCTET STRING (SIZE (1..25)), -- Encoded in the same format as the calling party number (parameter field) - -- of the ISUP (see EN 300 356 [XX5]). + -- of the ISUP (see EN 300 356). dSS1-Format [2] OCTET STRING (SIZE (1..25)), -- Encoded in the format defined for the value part of the Calling party number - -- information element of DSS1 protocol EN 300 403-1 [XX9]. + -- information element of DSS1 protocol EN 300 403-1. -- The DSS1 Information element identifier and the DSS1 length are not included. ..., mAP-Format [3] OCTET STRING (SIZE (1..25)) - -- Encoded as AddressString of the MAP protocol 3GPP TS 29.002 [XX6]. + -- Encoded as AddressString of the MAP protocol 3GPP TS 29.002. } CalledPartyNumber ::= CHOICE { iSUP-Format [1] OCTET STRING (SIZE (1..25)), -- Encoded in the same format as the called party number (parameter field) - -- of the ISUP (see EN 300 356 [XX5]). + -- of the ISUP (see EN 300 356). mAP-Format [2] OCTET STRING (SIZE (1..25)), - -- Encoded as AddressString of the MAP protocol 3GPP TS 29.002 [XX6]. + -- Encoded as AddressString of the MAP protocol 3GPP TS 29.002. dSS1-Format [3] OCTET STRING (SIZE (1..25)), -- Encoded in the format defined for the value part of the Called party number information - -- element of DSS1 protocol EN 300 403-1 [XX9]. + -- element of DSS1 protocol EN 300 403-1. -- The DSS1 Information element identifier and the DSS1 length are not included. ... } @@ -404,14 +404,14 @@ Location ::= SEQUENCE { e164-Number [1] OCTET STRING (SIZE (1..25)) OPTIONAL, -- Coded in the same format as the ISUP location number (parameter field) - -- of the ISUP (see EN 300 356 [XX5]). + -- of the ISUP (see EN 300 356). globalCellID [2] OCTET STRING (SIZE (5..7)) OPTIONAL, - -- See MAP format (see 3GPP TS 29.002 [XX6]). + -- See MAP format (see 3GPP TS 29.002). tetraLocation [3] TetraLocation OPTIONAL, -- This optional parameter is not in use anymore, but is kept for backwards compatibility. rAI [4] OCTET STRING (SIZE (6)) OPTIONAL, -- The Routeing Area Identifier (RAI) in the current SGSN is coded in accordance with - -- 3GPP TS 24.008 [XX10] without the Routing Area Identification IEI (only the + -- 3GPP TS 24.008 without the Routing Area Identification IEI (only the -- last 6 octets are used). gsmLocation [5] GSMLocation OPTIONAL, umtsLocation [6] UMTSLocation OPTIONAL, @@ -419,25 +419,25 @@ Location ::= SEQUENCE -- format: PLMN-ID 3 octets (no. 1-3), -- LAC 2 octets (no. 4-5), -- SAC 2 octets (no. 6-7) - -- (according to 3GPP TS 25.413 [XX11]). + -- (according to 3GPP TS 25.413). ..., oldRAI [8] OCTET STRING (SIZE (6)) OPTIONAL, -- the "Routeing Area Identifier" in the old SGSN is coded in accordance with - -- 3GPP TS 24.008 [XX10] without the Routing Area Identification IEI + -- 3GPP TS 24.008 without the Routing Area Identification IEI -- (only the last 6 octets are used). - -- This parameter is duplicated from 3GPP TS 33.108 [9]. + -- This parameter is duplicated from 3GPP TS 33.108. tAI [9] OCTET STRING (SIZE (6)) OPTIONAL, - -- The "Tracking Area Identity" (TAI) is coded in accordance with 3GPP TS 29.118 [XX12] + -- The "Tracking Area Identity" (TAI) is coded in accordance with 3GPP TS 29.118 -- without the TAI IEI. -- The tAI parameter is applicable only to the CS traffic cases where the available -- location information is the one received from the Mobility Management Entity (MME). - -- This parameter is duplicated from 3GPP TS 33.108 [9]. + -- This parameter is duplicated from 3GPP TS 33.108. eCGI [10] OCTET STRING (SIZE (8)) OPTIONAL -- the "E-UTRAN Cell Global Identity" (E-CGI) is coded in accordance with - -- 3GPP TS 29.118 [XX12] without the E-CGI IEI. + -- 3GPP TS 29.118 without the E-CGI IEI. -- The eCGI parameter is applicable only to the CS traffic cases where -- the available location information is the one received from the MME. - -- This parameter is duplicated from 3GPP TS 33.108 [9]. + -- This parameter is duplicated from 3GPP TS 33.108. } TetraLocation ::= CHOICE @@ -446,11 +446,11 @@ TetraLocation ::= CHOICE ms-Loc [1] SEQUENCE { mcc [1] INTEGER (0..1023), - -- 10 bits EN 300 392-1 [XX13] + -- 10 bits EN 300 392-1 mnc [2] INTEGER (0..16383), - -- 14 bits EN 300 392-1 [XX13] + -- 14 bits EN 300 392-1 lai [3] INTEGER (0..65535), - -- 14 bits EN 300 392-1 [XX13] + -- 14 bits EN 300 392-1 ci [4] INTEGER OPTIONAL }, ls-Loc [2] INTEGER @@ -500,7 +500,7 @@ GSMLocation ::= CHOICE -- example 32UPU91294045 wGS84Coordinates [4] OCTET STRING - -- format is as defined in 3GPP TS 23.032 [XX14] + -- format is as defined in 3GPP TS 23.032 } MapDatum ::= ENUMERATED @@ -561,7 +561,7 @@ CallContentLinkCharacteristics ::= SEQUENCE release-Time [2] TimeStamp OPTIONAL, -- date and time of the release of the Call Content Link. release-Reason [3] OCTET STRING (SIZE(2)) OPTIONAL, - -- Release cause coded in Recommendation ITU-T Q.850 [XX3] format + -- Release cause coded in Recommendation ITU-T Q.850 format lEMF-Address [4] CalledPartyNumber OPTIONAL, -- Directory number used to route the call toward the LEMF ... @@ -601,43 +601,43 @@ Services-Information ::= SEQUENCE ISUP-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) -- Each "OCTET STRING" contains one additional ISUP parameter TLV coded not already defined in - -- the previous parameters. The Tag value is the one given in EN 300 356 [XX5]. + -- the previous parameters. The Tag value is the one given in EN 300 356. -- In version 1 of the present document "iSUP-parameters" is defined as mandatory. -- It might occur that no ISUP parameter is available. In that case in a version 1 -- implementation the value "zero" may be included in the first octet string of the SET. -- The Length and the Value are coded in accordance with the parameter definition in - -- EN 300 356 [XX5]. Hereafter are listed the main parameters. + -- EN 300 356. Hereafter are listed the main parameters. -- However other parameters may be added: - -- Transmission medium requirement: format defined in EN 300 356 [XX5]. + -- Transmission medium requirement: format defined in EN 300 356. -- This parameter can be provided with the "Party Information" of the "calling party". - -- Transmission medium requirement prime: format defined in EN 300 356 [XX5]. + -- Transmission medium requirement prime: format defined in EN 300 356. -- This parameter can be provided with the "Party Information" of the "calling party". DSS1-parameters-codeset-0 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-0. The parameter is coded as - -- described in EN 300 403-1 [XX9] (The DSS1 Information element identifier and the DSS1 length + -- described in EN 300 403-1 (The DSS1 Information element identifier and the DSS1 length -- are included). Hereafter are listed the main parameters. -- However other parameters may be added: - -- Bearer capability: this parameter may be repeated. Format defined in EN 300 403-1 [XX9]. + -- Bearer capability: this parameter may be repeated. Format defined in EN 300 403-1. -- This parameter can be provided with the "Party Information" of the "calling party", -- "called party" or "forwarded to party". - -- High Layer Compatibility: this parameter may be repeated. Format defined in EN 300 403-1 [XX9] + -- High Layer Compatibility: this parameter may be repeated. Format defined in EN 300 403-1 -- This parameter can be provided with the "Party Information" of the "calling party", -- "called party" or "forwarded to party". - -- Low Layer capability: this parameter may be repeated. Format defined in EN 300 403-1 [XX9]. + -- Low Layer capability: this parameter may be repeated. Format defined in EN 300 403-1. -- This parameter can be provided with the "Party Information" of the "calling party", -- "called party" or "forwarded to party". MAP-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE(1..256)) -- Each "OCTET STRING" contains one MAP parameter. The parameter is coded as described in - -- 3GPP TS 29.002 [XX6] (The map-TS-Code is included). + -- 3GPP TS 29.002 (The map-TS-Code is included). Supplementary-Services ::= SEQUENCE { @@ -676,79 +676,79 @@ ISUP-SS-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) -- It is recommended not to use it in new work but to use ISUP-parameters parameter. -- Each "OCTET STRING" contains one additional ISUP parameter TLV coded not already defined in - -- the previous parameters. The Tag value is the one given in EN 300 356 [XX5]. + -- the previous parameters. The Tag value is the one given in EN 300 356. -- The Length and the Value are coded in accordance with the parameter definition in - -- EN 300 356 [XX5]. Hereafter are listed the main parameters. + -- EN 300 356. Hereafter are listed the main parameters. -- However other parameters may be added: - -- Connected Number: format defined in EN 300 356 [XX5]. + -- Connected Number: format defined in EN 300 356. -- This parameter can be provided with the "Party Information" of the -- "called party" or "forwarded to party". - -- RedirectingNumber: format defined in EN 300 356 [XX5]. + -- RedirectingNumber: format defined in EN 300 356. -- This parameter can be provided with the "Party Information" of the "originating party" -- or/and of the "terminating party". - -- Original Called Party Number: format defined in EN 300 356 [XX5]. + -- Original Called Party Number: format defined in EN 300 356. -- This parameter can be provided with the "Party Information" of the "originating party". - -- Redirection information: format defined in EN 300 356 [XX5]. + -- Redirection information: format defined in EN 300 356. -- This parameter can be provided with the "Party Information" of the -- "originating party", "forwarded to party" or/and "Terminating party". - -- Redirection Number: format defined in EN 300 356 [XX5]. + -- Redirection Number: format defined in EN 300 356. -- This parameter can be provided with the "Party Information" of the -- "forwarded to party" or "Terminating party". - -- Call diversion information: format defined in EN 300 356 [XX5]. + -- Call diversion information: format defined in EN 300 356. -- This parameter can be provided with the "Party Information" of the -- "forwarded to party" or "Terminating party". - -- Generic Number: format defined in EN 300 356 [XX5]. + -- Generic Number: format defined in EN 300 356. -- This parameter can be provided with the "Party Information" of the -- "calling party", "called party" or "forwarded to party". -- This parameters are used to transmit additional identities (additional, calling party -- number, additional called number, etc.). - -- Generic Notification: format defined in EN 300 356 [XX5]. + -- Generic Notification: format defined in EN 300 356. -- This parameter may be provided with the "Party Information" of the -- "calling party", "called party" or "forwarded to party". -- This parameters transmit the notification to the other part of the call of the supplementary -- services activated or invoked by a subscriber during the call. - -- CUG Interlock Code: format defined in EN 300 356 [XX5]. + -- CUG Interlock Code: format defined in EN 300 356. -- This parameter can be provided with the "Party Information" of the "calling party". DSS1-SS-parameters-codeset-0 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-0. The parameter is coded as - -- described in EN 300 403-1 [XX9] (The DSS1 Information element identifier and the DSS1 length + -- described in EN 300 403-1 (The DSS1 Information element identifier and the DSS1 length -- are included). Hereafter are listed the main parameters. -- However other parameters may be added: - -- Calling Party Subaddress: format defined in EN 300 403-1 [XX9]. + -- Calling Party Subaddress: format defined in EN 300 403-1. -- This parameter can be provided with the "Party Information" of the "calling party". - -- Called Party Subaddress: format defined in EN 300 403-1 [XX9]. + -- Called Party Subaddress: format defined in EN 300 403-1. -- This parameter can be provided with the "Party Information" of the "calling party". - -- Connected Subaddress: format defined in recommendation (see EN 300 097-1 [XX15]). + -- Connected Subaddress: format defined in recommendation (see EN 300 097-1). -- This parameter can be provided with the "Party Information" of the -- "called party" or "forwarded to party". - -- Connected Number: format defined in recommendation (see EN 300 097-1 [XX15]). + -- Connected Number: format defined in recommendation (see EN 300 097-1). -- This parameter can be provided with the "Party Information" of the -- "called party" or "forwarded to party". - -- Keypad facility: format defined in EN 300 403-1 [XX9]. + -- Keypad facility: format defined in EN 300 403-1. -- This parameter can be provided with the "Party Information" of the -- "calling party", "called party" or "forwarded to party". - -- Called Party Number: format defined in EN 300 403-1 [XX9]. + -- Called Party Number: format defined in EN 300 403-1. -- This parameter could be provided with the "Party Information" of the "calling party" -- when target is the originating party; it contains the dialled digits before modification -- at network level (e.g. IN interaction, translation, etc ...). - -- User-user: format defined in EN 300 286-1 [XX16]). + -- User-user: format defined in EN 300 286-1). -- This parameter can be provided with the "Party Information" of the -- "calling party", "called party" or "forwarded to party". @@ -773,35 +773,35 @@ DSS1-SS-Invoke-Components ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) -- The invoke or return result component is coded as -- described in the relevant DSS1 supplementary service recommendation. - -- Invoke or Return Result component (BeginCONF): EN 300 185-1 [XX17] - -- Invoke or Return Result component (AddCONF): EN 300 185-1 [XX17] - -- Invoke or Return Result component (SplitCONF): EN 300 185-1 [XX17] - -- Invoke or Return Result component (DropCONF): EN 300 185-1 [XX17] - -- Invoke or Return Result component (IsolateCONF): EN 300 185-1 [XX17] - -- Invoke or Return Result component (ReattachCONF): EN 300 185-1 [XX17] - -- Invoke or Return Result component (PartyDISC): EN 300 185-1 [XX17] - -- Invoke or Return Result component (MCIDRequest): EN 300 130-1 [XX18] - -- Invoke or Return Result component (Begin3PTY): EN 300 188-1 [XX19] - -- Invoke or Return Result component (End3PTY): EN 300 188-1 [XX19] - -- Invoke or Return Result component (ECTExecute): EN 300 369-1 [XX20] - -- Invoke or Return Result component (ECTInform): EN 300 369-1 [XX20] - -- Invoke or Return Result component (ECTLinkIdRequest): EN 300 369-1 [XX20] - -- Invoke or Return Result component (ECTLoopTest): EN 300 369-1 [XX20] - -- Invoke or Return Result component (ExplicitECTExecute): EN 300 369-1 [XX20] - -- Invoke or Return Result component (ECT: RequestSubaddress): EN 300 369-1 [XX20] - -- Invoke or Return Result component (ECT: SubaddressTransfer): EN 300 369-1 [XX20] - -- Invoke or Return Result component (CF: ActivationDiversion): EN 300 207-1 [XX21] - -- Invoke or Return Result component (CF: DeactivationDiversion): EN 300 207-1 [XX21] - -- Invoke or Return Result component (CF: ActivationStatusNotification): EN 300 207-1 [XX21] - -- Invoke or Return Result component (CF: DeactivationStatusNotification): EN 300 207-1 [XX21] - -- Invoke or Return Result component (CF: InterrogationDiversion): EN 300 207-1 [XX21] - -- Invoke or Return Result component (CF: InterrogationServedUserNumber): EN 300 207-1 [XX21] - -- Invoke or Return Result component (CF: DiversionInformation): EN 300 207-1 [XX21] - -- Invoke or Return Result component (CF: CallDeflection): EN 300 207-1 [XX21] - -- Invoke or Return Result component (CF: CallRerouteing): EN 300 207-1 [XX21] - -- Invoke or Return Result component (CF: DivertingLegInformation1): EN 300 207-1 [XX21] - -- Invoke or Return Result component (CF: DivertingLegInformation2): EN 300 207-1 [XX21] - -- Invoke or Return Result component (CF: DivertingLegInformation3): EN 300 207-1 [XX21] + -- Invoke or Return Result component (BeginCONF): EN 300 185-1 + -- Invoke or Return Result component (AddCONF): EN 300 185-1 + -- Invoke or Return Result component (SplitCONF): EN 300 185-1 + -- Invoke or Return Result component (DropCONF): EN 300 185-1 + -- Invoke or Return Result component (IsolateCONF): EN 300 185-1 + -- Invoke or Return Result component (ReattachCONF): EN 300 185-1 + -- Invoke or Return Result component (PartyDISC): EN 300 185-1 + -- Invoke or Return Result component (MCIDRequest): EN 300 130-1 + -- Invoke or Return Result component (Begin3PTY): EN 300 188-1 + -- Invoke or Return Result component (End3PTY): EN 300 188-1 + -- Invoke or Return Result component (ECTExecute): EN 300 369-1 + -- Invoke or Return Result component (ECTInform): EN 300 369-1 + -- Invoke or Return Result component (ECTLinkIdRequest): EN 300 369-1 + -- Invoke or Return Result component (ECTLoopTest): EN 300 369-1 + -- Invoke or Return Result component (ExplicitECTExecute): EN 300 369-1 + -- Invoke or Return Result component (ECT: RequestSubaddress): EN 300 369-1 + -- Invoke or Return Result component (ECT: SubaddressTransfer): EN 300 369-1 + -- Invoke or Return Result component (CF: ActivationDiversion): EN 300 207-1 + -- Invoke or Return Result component (CF: DeactivationDiversion): EN 300 207-1 + -- Invoke or Return Result component (CF: ActivationStatusNotification): EN 300 207-1 + -- Invoke or Return Result component (CF: DeactivationStatusNotification): EN 300 207-1 + -- Invoke or Return Result component (CF: InterrogationDiversion): EN 300 207-1 + -- Invoke or Return Result component (CF: InterrogationServedUserNumber): EN 300 207-1 + -- Invoke or Return Result component (CF: DiversionInformation): EN 300 207-1 + -- Invoke or Return Result component (CF: CallDeflection): EN 300 207-1 + -- Invoke or Return Result component (CF: CallRerouteing): EN 300 207-1 + -- Invoke or Return Result component (CF: DivertingLegInformation1): EN 300 207-1 + -- Invoke or Return Result component (CF: DivertingLegInformation2): EN 300 207-1 + -- Invoke or Return Result component (CF: DivertingLegInformation3): EN 300 207-1 -- other invoke or return result components ... MAP-SS-Invoke-Components ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256)) @@ -839,10 +839,10 @@ SMS-report ::= SEQUENCE communicationIdentifier [1] CommunicationIdentifier, -- used to uniquely identify an intercepted call: the same used for the -- relevant IRI - -- Called "callIdentifier" in V1.1.1 of TS 101 671 [4] + -- Called "callIdentifier" in V1.1.1 of TS 101 671 timeStamp [2] TimeStamp, -- date and time of the report. The format is - -- the one defined in case a) of the ASN.1 Recommendation ITU-T X.680 [11]. + -- the one defined in case a) of the ASN.1 Recommendation ITU-T X.680. -- (year month day hour minutes seconds) sMS-Contents [3] SEQUENCE { @@ -905,7 +905,7 @@ National-Parameters ::= SET SIZE (1..40) OF OCTET STRING (SIZE (1..256)) GPRSCorrelationNumber ::= OCTET STRING (SIZE(8..20)) GPRSEvent ::= ENUMERATED - -- see 3GPP TS 03.33 [XX22] + -- see 3GPP TS 03.33 { pDPContextActivation(1), startOfInterceptionWithPDPContextActive(2), @@ -930,9 +930,9 @@ GPRS-parameters ::= SEQUENCE pDP-address-allocated-to-the-target [1] DataNodeAddress OPTIONAL, aPN [2] OCTET STRING (SIZE(1..100)) OPTIONAL, -- The Access Point Name (APN) is coded in accordance with - -- 3GPP TS 24.008 [XX10] without the APN IEI (only the last 100 octets are used). - -- Octets are coded according to 3GPP TS 23.003 [XX4]. - -- This parameter is duplicated from 3GPP TS 33.108 [9]. + -- 3GPP TS 24.008 without the APN IEI (only the last 100 octets are used). + -- Octets are coded according to 3GPP TS 23.003. + -- This parameter is duplicated from 3GPP TS 33.108. pDP-type [3] OCTET STRING (SIZE(2)) OPTIONAL, -- when PDP-type is IPv4 or IPv6, the IP address is carried by parameter -- pDP-address-allocated-to-the-target when PDP-type is IPv4v6, @@ -943,7 +943,7 @@ GPRS-parameters ::= SEQUENCE } GPRSOperationErrorCode ::= OCTET STRING (SIZE(2)) - -- Refer to 3GPP TS 24.008 [XX10] for values (GMM cause or SM cause parameter). + -- Refer to 3GPP TS 24.008 for values (GMM cause or SM cause parameter). DataNodeAddress ::= CHOICE { @@ -1002,7 +1002,7 @@ X25Address ::= OCTET STRING (SIZE(1..25)) National-HI2-ASN1parameters ::= SEQUENCE { countryCode [1] PrintableString (SIZE (2)), - -- Country Code according to ISO 3166-1 [10], + -- Country Code according to ISO 3166-1, -- the country to which the parameters inserted after the extension marker apply. ... -- In case a given country wants to use additional national parameters according to its law, -- GitLab From 092eee728fd07763d35ed16fcb803981a16eaabc Mon Sep 17 00:00:00 2001 From: Luke Mewburn Date: Wed, 1 Nov 2023 20:10:24 +1100 Subject: [PATCH 28/40] TS 102 232-1 CR0107 - strengthen language in 101 671 files --- 102232-1/HI1NotificationOperations.asn | 6 +++--- 102232-1/HI2Operations.asn | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/102232-1/HI1NotificationOperations.asn b/102232-1/HI1NotificationOperations.asn index a45ef68..ef78f4c 100644 --- a/102232-1/HI1NotificationOperations.asn +++ b/102232-1/HI1NotificationOperations.asn @@ -1,15 +1,15 @@ HI1NotificationOperations {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version8(8)} --- Prior to version8(8), this ASN.1 module was provided by TS 101 671, +-- This ASN.1 module was previously provided by TS 101 671, -- which was marked as historical in V3.15.1 (2018-06). -- -- This ASN.1 module has been copied from TS 101 671 V3.15.1 to -- TS 102 232-1 (the present document) to assist implementors of LI-PS-PDU. -- The ASN.1 in this module shall be equivalent to that in TS 101 671 --- so that the ASN.1 encodes identically, except for hi1OperationId. +-- so that the ASN.1 encodes identically. -- --- It is not recommended to use or extend this module in future change requests. +-- Do not use or extend this module in future change requests. DEFINITIONS IMPLICIT TAGS ::= BEGIN diff --git a/102232-1/HI2Operations.asn b/102232-1/HI2Operations.asn index 047ced6..dc9e652 100644 --- a/102232-1/HI2Operations.asn +++ b/102232-1/HI2Operations.asn @@ -1,16 +1,16 @@ HI2Operations {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version19(19)} --- Prior to version19(19), this ASN.1 module was provided by TS 101 671, +-- This ASN.1 module was previously provided by TS 101 671, -- which was marked as historical in V3.15.1 (2018-06). -- -- This ASN.1 module has been copied from TS 101 671 V3.15.1 to -- TS 102 232-1 (the present document) to assist implementors of LI-PS-PDU. -- The ASN.1 in this module shall be equivalent to that in TS 101 671 --- so that the ASN.1 encodes identically, except for hi2OperationId. --- --- It is not recommended to use or extend this module in future change requests. +-- so that the ASN.1 encodes identically. -- +-- Do not use or extend this module in future change requests. + -- It is advised not to use version11(11) of this ASN.1 module since it contains a syntax error. -- Version11(11) of HI2Operations is only defined in TS 101 671 v3.5.1. -- GitLab From 04ad7f343218f8e1f29377789efde412bd4bc8b1 Mon Sep 17 00:00:00 2001 From: Luke Mewburn Date: Wed, 1 Nov 2023 20:20:38 +1100 Subject: [PATCH 29/40] TS 102 232-1 CR0107 - disable ROSE by comments not deletion Restore the previous ITU-T X.880 ROSE types and then use comments to disable. This makes it easier to see what is changed from the files originally from TS 101 671. --- 102232-1/HI1NotificationOperations.asn | 44 +++++++++++++++++++++++ 102232-1/HI2Operations.asn | 49 ++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) diff --git a/102232-1/HI1NotificationOperations.asn b/102232-1/HI1NotificationOperations.asn index ef78f4c..720b3db 100644 --- a/102232-1/HI1NotificationOperations.asn +++ b/102232-1/HI1NotificationOperations.asn @@ -9,12 +9,25 @@ HI1NotificationOperations -- The ASN.1 in this module shall be equivalent to that in TS 101 671 -- so that the ASN.1 encodes identically. -- +-- The types based on ITU-T X.880 ROSE have been disabled because they're not +-- required by LI-PS-PDU or modules imported by LI-PS-PDU. +-- -- Do not use or extend this module in future change requests. DEFINITIONS IMPLICIT TAGS ::= BEGIN IMPORTS + +-- Start of disable of ITU-T X.880 ROSE +-- +-- OPERATION, +-- ERROR +-- FROM Remote-Operations-Information-Objects +-- {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} +-- +-- End of disable of ITU-T X.880 ROSE + CommunicationIdentifier, TimeStamp, LawfulInterceptionIdentifier @@ -32,6 +45,37 @@ lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization( hi1NotificationOperationsId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi1(0) notificationOperations(1)} hi1OperationId OBJECT IDENTIFIER ::= {hi1NotificationOperationsId version8(8)} + +-- Start of disable of ITU-T X.880 ROSE +-- +-- sending-of-HI1-Notification OPERATION ::= +-- { +-- ARGUMENT HI1-Operation +-- ERRORS {ErrorHI1Notifications} +-- CODE global:{hi1NotificationOperationsId version1(1)} +-- } +-- Class 2 operation. The timer shall be set to a value between 3s and 240s. +-- The timer default value is 60s. +-- NOTE: The value for this timer is to be set on the equipment waiting for the returned message; +-- its value shall be agreed between the NWO/AP/SvP and the LEA, depending on their equipment +-- properties. +-- +-- other-failure-causes ERROR ::= {CODE local:0} +-- missing-parameter ERROR ::= {CODE local:1} +-- unknown-parameter ERROR ::= {CODE local:2} +-- erroneous-parameter ERROR ::= {CODE local:3} +-- +-- ErrorHI1Notifications ERROR ::= +-- { +-- other-failure-causes | +-- missing-parameter | +-- unknown-parameter | +-- erroneous-parameter +-- } +-- +-- End of disable of ITU-T X.880 ROSE + + HI1-Operation ::= CHOICE { liActivated [1] Notification, diff --git a/102232-1/HI2Operations.asn b/102232-1/HI2Operations.asn index dc9e652..732a904 100644 --- a/102232-1/HI2Operations.asn +++ b/102232-1/HI2Operations.asn @@ -9,6 +9,9 @@ HI2Operations -- The ASN.1 in this module shall be equivalent to that in TS 101 671 -- so that the ASN.1 encodes identically. -- +-- The types based on ITU-T X.880 ROSE have been disabled because they're not +-- required by LI-PS-PDU or modules imported by LI-PS-PDU. +-- -- Do not use or extend this module in future change requests. -- It is advised not to use version11(11) of this ASN.1 module since it contains a syntax error. @@ -19,6 +22,16 @@ DEFINITIONS IMPLICIT TAGS ::= BEGIN IMPORTS + +-- Start of disable of ITU-T X.880 ROSE +-- +-- OPERATION, +-- ERROR +-- FROM Remote-Operations-Information-Objects +-- {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} +-- +-- End of disable of ITU-T X.880 ROSE + -- from 3GPP TS 33.108 UmtsQos, IMSevent, @@ -51,6 +64,22 @@ lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization( hi2DomainId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi2(1)} hi2OperationId OBJECT IDENTIFIER ::= {hi2DomainId version19(19)} + +-- Start of disable of ITU-T X.880 ROSE +-- +-- sending-of-IRI OPERATION ::= +-- { +-- ARGUMENT IRIsContent +-- ERRORS {OperationErrors} +-- CODE global:{hi2DomainId sending-of-IRI(1) version1(1)} +-- } +-- Class 2 operation. The timer shall be set to a value between 3s and 240s. +-- The timer default value is 60s. +-- NOTE: The same note as for HI management operation applies. +-- +-- End of disable of ITU-T X.880 ROSE + + IRIsContent ::= CHOICE { iRIContent IRIContent, @@ -77,6 +106,26 @@ IRIContent ::= CHOICE ... } + +-- Start of disable of ITU-T X.880 ROSE +-- +-- unknown-version ERROR ::= {CODE local:0} +-- missing-parameter ERROR ::= {CODE local:1} +-- unknown-parameter-value ERROR ::= {CODE local:2} +-- unknown-parameter ERROR ::= {CODE local:3} +-- +-- OperationErrors ERROR ::= +-- { +-- unknown-version | +-- missing-parameter | +-- unknown-parameter-value | +-- unknown-parameter +-- } +-- These values may be sent by the LEMF, when an operation or a parameter is misunderstood. +-- +-- End of disable of ITU-T X.880 ROSE + + IRI-Parameters ::= SEQUENCE { domainID [0] OBJECT IDENTIFIER (hi2OperationId) OPTIONAL, -- GitLab From c5d8050ca63f573f925229ecde90156a1dfdbdbd Mon Sep 17 00:00:00 2001 From: Luke Mewburn Date: Wed, 1 Nov 2023 20:41:28 +1100 Subject: [PATCH 30/40] TS 102 232-1 CR0107 Revert update OIDs for TS 101 671 files Don't change the OIDs for the files copied from TS 101 671. --- 102232-1/HI1NotificationOperations.asn | 6 +++--- 102232-1/HI2Operations.asn | 4 ++-- 102232-1/LI-PS-PDU.asn | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/102232-1/HI1NotificationOperations.asn b/102232-1/HI1NotificationOperations.asn index 720b3db..aa35b4e 100644 --- a/102232-1/HI1NotificationOperations.asn +++ b/102232-1/HI1NotificationOperations.asn @@ -1,5 +1,5 @@ HI1NotificationOperations -{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version8(8)} +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version7(7)} -- This ASN.1 module was previously provided by TS 101 671, -- which was marked as historical in V3.15.1 (2018-06). @@ -32,7 +32,7 @@ IMPORTS TimeStamp, LawfulInterceptionIdentifier FROM HI2Operations - {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version19(19)}; + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version10(10)}; -- ============================= -- Object Identifier Definitions @@ -43,7 +43,7 @@ lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization( -- hi1 Domain hi1NotificationOperationsId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi1(0) notificationOperations(1)} -hi1OperationId OBJECT IDENTIFIER ::= {hi1NotificationOperationsId version8(8)} +hi1OperationId OBJECT IDENTIFIER ::= {hi1NotificationOperationsId version6(6)} -- Start of disable of ITU-T X.880 ROSE diff --git a/102232-1/HI2Operations.asn b/102232-1/HI2Operations.asn index 732a904..b7e2637 100644 --- a/102232-1/HI2Operations.asn +++ b/102232-1/HI2Operations.asn @@ -1,5 +1,5 @@ HI2Operations -{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version19(19)} +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version17(18)} -- This ASN.1 module was previously provided by TS 101 671, -- which was marked as historical in V3.15.1 (2018-06). @@ -62,7 +62,7 @@ lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization( -- Security Subdomains hi2DomainId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi2(1)} -hi2OperationId OBJECT IDENTIFIER ::= {hi2DomainId version19(19)} +hi2OperationId OBJECT IDENTIFIER ::= {hi2DomainId version18(18)} -- Start of disable of ITU-T X.880 ROSE diff --git a/102232-1/LI-PS-PDU.asn b/102232-1/LI-PS-PDU.asn index ca10951..65fbe91 100644 --- a/102232-1/LI-PS-PDU.asn +++ b/102232-1/LI-PS-PDU.asn @@ -20,12 +20,12 @@ IMPORTS Location, Network-Element-Identifier FROM HI2Operations - {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version19(19)} + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version18(18)} -- previously from ETSI TS 101 671 [4]; now provided with this specification HI1-Operation FROM HI1NotificationOperations - {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version8(8)} + {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, -- GitLab From 776535ddfbb95333790aef9349a32a432c095b7e Mon Sep 17 00:00:00 2001 From: vanschelts Date: Thu, 2 Nov 2023 10:22:28 +1100 Subject: [PATCH 31/40] Editorial improvement --- 102232-1/HI1NotificationOperations.asn | 3 ++- 102232-1/HI2Operations.asn | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/102232-1/HI1NotificationOperations.asn b/102232-1/HI1NotificationOperations.asn index aa35b4e..c17136d 100644 --- a/102232-1/HI1NotificationOperations.asn +++ b/102232-1/HI1NotificationOperations.asn @@ -12,7 +12,8 @@ HI1NotificationOperations -- The types based on ITU-T X.880 ROSE have been disabled because they're not -- required by LI-PS-PDU or modules imported by LI-PS-PDU. -- --- Do not use or extend this module in future change requests. +-- Due to the historical status of ETSI TS 101 671 it is not possible to update +-- this module. Do not use it in future change requests. DEFINITIONS IMPLICIT TAGS ::= BEGIN diff --git a/102232-1/HI2Operations.asn b/102232-1/HI2Operations.asn index b7e2637..4dcf260 100644 --- a/102232-1/HI2Operations.asn +++ b/102232-1/HI2Operations.asn @@ -12,7 +12,8 @@ HI2Operations -- The types based on ITU-T X.880 ROSE have been disabled because they're not -- required by LI-PS-PDU or modules imported by LI-PS-PDU. -- --- Do not use or extend this module in future change requests. +-- Due to the historical status of ETSI TS 101 671 it is not possible to update +-- this module. Do not use it in future change requests. -- It is advised not to use version11(11) of this ASN.1 module since it contains a syntax error. -- Version11(11) of HI2Operations is only defined in TS 101 671 v3.5.1. -- GitLab From 1df88c411e17dc333b989aefa1fffc7c13129b3d Mon Sep 17 00:00:00 2001 From: mark Date: Tue, 14 Nov 2023 17:20:09 +0000 Subject: [PATCH 32/40] Fixing merge conflict --- 103120/schema/xsd/ts_103120_TrafficPolicy.xsd | 3 --- 1 file changed, 3 deletions(-) diff --git a/103120/schema/xsd/ts_103120_TrafficPolicy.xsd b/103120/schema/xsd/ts_103120_TrafficPolicy.xsd index 065addd..0ef2631 100644 --- a/103120/schema/xsd/ts_103120_TrafficPolicy.xsd +++ b/103120/schema/xsd/ts_103120_TrafficPolicy.xsd @@ -53,11 +53,8 @@ -<<<<<<< HEAD -======= ->>>>>>> cr/103120/055 -- GitLab From e8bf7a8c805f72986c0add841939658d1f438b07 Mon Sep 17 00:00:00 2001 From: mark Date: Wed, 15 Nov 2023 14:38:50 +0000 Subject: [PATCH 33/40] Removing extra files --- ...al_in_xsd_as_required_for_P2T_queries.docx | Bin 37810 -> 0 bytes TS_103_120_CR_054__Add_Ethernet_Scoping.docx | Bin 37572 -> 0 bytes presigned.json | 100 ------------------ 3 files changed, 100 deletions(-) delete mode 100644 Draft_TS_33128__CR_0598___ObservedTime_parameter_to_be_optional_in_xsd_as_required_for_P2T_queries.docx delete mode 100644 TS_103_120_CR_054__Add_Ethernet_Scoping.docx delete mode 100644 presigned.json diff --git a/Draft_TS_33128__CR_0598___ObservedTime_parameter_to_be_optional_in_xsd_as_required_for_P2T_queries.docx b/Draft_TS_33128__CR_0598___ObservedTime_parameter_to_be_optional_in_xsd_as_required_for_P2T_queries.docx deleted file mode 100644 index f05170557d0bff39dd324d3d5869b384a1aac1a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37810 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%0DYZ6j4~wyC=Yi^~`qbqg2qg#wCFDEW>c0 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 diff --git a/TS_103_120_CR_054__Add_Ethernet_Scoping.docx b/TS_103_120_CR_054__Add_Ethernet_Scoping.docx deleted file mode 100644 index 62d9603a4da28032b8ed001fb39eff0dbce9f9fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37572 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 Date: Fri, 17 Nov 2023 11:25:17 +0000 Subject: [PATCH 34/40] Bumping version numbers and OIDs --- 102232-1/LI-PS-PDU.asn | 10 +++++----- 102232-3/IPAccessPDU.asn | 6 +++--- 102232-4/L2AccessPDU.asn | 4 ++-- 102657/RDMessage.asn | 4 ++-- 103221-1/TS_103_221_01.xsd | 4 ++-- 103280/TS_103_280.asn1 | 2 +- 103280/TS_103_280.xsd | 2 +- 103707/TS_103_707.xsd | 2 +- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/102232-1/LI-PS-PDU.asn b/102232-1/LI-PS-PDU.asn index 65fbe91..f3b2329 100644 --- a/102232-1/LI-PS-PDU.asn +++ b/102232-1/LI-PS-PDU.asn @@ -1,5 +1,5 @@ LI-PS-PDU -{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version36(36)} +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version37(37)} DEFINITIONS IMPLICIT TAGS ::= @@ -11,7 +11,7 @@ IMPORTS -- from ETSI TS 103 280 [44] LIID FROM Common-Parameters - {itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version241(241)} + {itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version251(251)} -- previously from ETSI TS 101 671 [4]; now provided with this specification @@ -41,14 +41,14 @@ IMPORTS IPIRI, IPIRIOnly FROM IPAccessPDU - {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPAccess(3) version16(16)} + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPAccess(3) version17(17)} -- 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) version8(8)} + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) l2Access(4) version9(9)} -- from ETSI TS 102 232-5 [37] IPMMCC, @@ -205,7 +205,7 @@ IMPORTS 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) version36(36)} +li-psDomainId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId li-ps(5) genHeader(1) version37(37)} -- ==================== -- Top-level definition diff --git a/102232-3/IPAccessPDU.asn b/102232-3/IPAccessPDU.asn index f13a317..f418ce5 100644 --- a/102232-3/IPAccessPDU.asn +++ b/102232-3/IPAccessPDU.asn @@ -1,5 +1,5 @@ IPAccessPDU -{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPAccess(3) version16(16)} +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPAccess(3) version17(17)} DEFINITIONS IMPLICIT TAGS ::= BEGIN @@ -9,14 +9,14 @@ IMPORTS IPAddress, Location FROM LI-PS-PDU - {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version36(36)}; + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version37(37)}; -- ============================ -- Object Identifier Definition -- ============================ -iPAccessPDUObjId RELATIVE-OID ::= {li-ps(5) iPAccess(3) version16(16)} +iPAccessPDUObjId RELATIVE-OID ::= {li-ps(5) iPAccess(3) version17(17)} iPIRIObjId RELATIVE-OID ::= {iPAccessPDUObjId iRI(1)} iPCCObjId RELATIVE-OID ::= {iPAccessPDUObjId cC(2)} iPIRIOnlyObjId RELATIVE-OID ::= {iPAccessPDUObjId iRIOnly(3)} diff --git a/102232-4/L2AccessPDU.asn b/102232-4/L2AccessPDU.asn index 93ec063..eaf7cc8 100644 --- a/102232-4/L2AccessPDU.asn +++ b/102232-4/L2AccessPDU.asn @@ -1,6 +1,6 @@ L2AccessPDU {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) -li-ps(5) l2Access(4) version8(8)} +li-ps(5) l2Access(4) version9(9)} DEFINITIONS IMPLICIT TAGS ::= BEGIN @@ -9,7 +9,7 @@ BEGIN -- Object Identifier Definition -- ============================ -l2AccessPDUObjId RELATIVE-OID ::= {li-ps(5) l2Access(4) version8(8)} +l2AccessPDUObjId RELATIVE-OID ::= {li-ps(5) l2Access(4) version9(9)} l2IRIObjId RELATIVE-OID ::= {l2AccessPDUObjId iRI(1)} l2CCObjId RELATIVE-OID ::= {l2AccessPDUObjId cC(2)} l2IRIOnlyObjId RELATIVE-OID ::= {l2AccessPDUObjId iRIOnly(3)} diff --git a/102657/RDMessage.asn b/102657/RDMessage.asn index 04cc8ce..7d312ce 100644 --- a/102657/RDMessage.asn +++ b/102657/RDMessage.asn @@ -1,4 +1,4 @@ -RDMessage {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3) rdHeader(0) version28(28)} +RDMessage {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3) rdHeader(0) version29(29)} DEFINITIONS IMPLICIT TAGS ::= @@ -12,7 +12,7 @@ BEGIN retainedDataDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3)} -- rdHeader -rdHeaderId OBJECT IDENTIFIER ::= {retainedDataDomainId rdHeader(0) version28(28)} +rdHeaderId OBJECT IDENTIFIER ::= {retainedDataDomainId rdHeader(0) version29(29)} -- ====================================== -- Top level definitions for RDHI wrapper diff --git a/103221-1/TS_103_221_01.xsd b/103221-1/TS_103_221_01.xsd index 0c13e8d..48288ee 100644 --- a/103221-1/TS_103_221_01.xsd +++ b/103221-1/TS_103_221_01.xsd @@ -1,5 +1,5 @@ - + @@ -844,7 +844,7 @@ - + diff --git a/103280/TS_103_280.asn1 b/103280/TS_103_280.asn1 index 1bdad3b..bf02492 100644 --- a/103280/TS_103_280.asn1 +++ b/103280/TS_103_280.asn1 @@ -1,5 +1,5 @@ Common-Parameters -{itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version241(241)} +{itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version2101(2101)} DEFINITIONS IMPLICIT TAGS EXTENSIBILITY IMPLIED ::= BEGIN diff --git a/103280/TS_103_280.xsd b/103280/TS_103_280.xsd index dd4a683..04ac189 100644 --- a/103280/TS_103_280.xsd +++ b/103280/TS_103_280.xsd @@ -1,5 +1,5 @@ - + diff --git a/103707/TS_103_707.xsd b/103707/TS_103_707.xsd index 9656aec..9d4b86a 100644 --- a/103707/TS_103_707.xsd +++ b/103707/TS_103_707.xsd @@ -1,5 +1,5 @@ - + -- GitLab From e9e9aeedbf2f7be1f8e10d77cb37065b6d3b7643 Mon Sep 17 00:00:00 2001 From: mark Date: Fri, 17 Nov 2023 12:04:36 +0000 Subject: [PATCH 35/40] Repairing translate_spec.py --- utils/translate_spec.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/utils/translate_spec.py b/utils/translate_spec.py index dc5829f..ce7a055 100644 --- a/utils/translate_spec.py +++ b/utils/translate_spec.py @@ -87,10 +87,7 @@ if __name__ == "__main__": if schema_tuple[0] == 'http://uri.etsi.org/03120/common/2019/10/Core': logging.info ("Modifying signature elements") js['$defs']['HI1Message']['properties'].pop('xmldsig:Signature') -<<<<<<< HEAD js['$defs']['HI1Message']['properties']['Signature'] = json_signature_struct -======= ->>>>>>> cr/103120/053 js_path = output_path / convert_xsd_to_filename(schema_tuple[1]) -- GitLab From d0b8cc2fbd7e9a5b3c1a7341cd07e78d101c6900 Mon Sep 17 00:00:00 2001 From: mark Date: Fri, 17 Nov 2023 12:43:13 +0000 Subject: [PATCH 36/40] Updating version in 102 657 XSD namespace --- 102657/RDMessage.xsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/102657/RDMessage.xsd b/102657/RDMessage.xsd index 5dd3111..9d42338 100644 --- a/102657/RDMessage.xsd +++ b/102657/RDMessage.xsd @@ -1,5 +1,5 @@ - + XSD translated from ASN.1 derived from outcome of TS 102 657 v2.1.1 -- GitLab From e748f19b75716ea510813d59208720c191cb1ef4 Mon Sep 17 00:00:00 2001 From: mark Date: Fri, 17 Nov 2023 12:47:09 +0000 Subject: [PATCH 37/40] Updating version in 102 657 XSD namespace (correction) --- 102657/RDMessage.xsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/102657/RDMessage.xsd b/102657/RDMessage.xsd index 9d42338..f3b0e77 100644 --- a/102657/RDMessage.xsd +++ b/102657/RDMessage.xsd @@ -1,5 +1,5 @@ - + XSD translated from ASN.1 derived from outcome of TS 102 657 v2.1.1 -- GitLab From 2fa7b62ae0c68dfe238b317004d3a266c00b9df2 Mon Sep 17 00:00:00 2001 From: mark Date: Fri, 17 Nov 2023 14:01:59 +0000 Subject: [PATCH 38/40] Regenerated JSON --- .../json/ts_103120_TrafficPolicy.schema.json | 74 ++++++++++++++++++- 103280/TS_103_280.schema.json | 7 +- utils/ts103280_config.json | 8 ++ 3 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 utils/ts103280_config.json diff --git a/103120/schema/json/ts_103120_TrafficPolicy.schema.json b/103120/schema/json/ts_103120_TrafficPolicy.schema.json index e2eaad2..013e0a7 100644 --- a/103120/schema/json/ts_103120_TrafficPolicy.schema.json +++ b/103120/schema/json/ts_103120_TrafficPolicy.schema.json @@ -154,6 +154,28 @@ "required": [ "tp:MobileAccessPolicyCriteria" ] + }, + { + "type": "object", + "properties": { + "tp:EthernetPolicyCriteria": { + "$ref": "#/$defs/EthernetPolicyCriteria" + } + }, + "required": [ + "tp:EthernetPolicyCriteria" + ] + }, + { + "type": "object", + "properties": { + "tp:RCSPolicyCriteria": { + "$ref": "#/$defs/RCSPolicyCriteria" + } + }, + "required": [ + "tp:RCSPolicyCriteria" + ] } ] }, @@ -194,6 +216,52 @@ }, "required": [] }, + "EthernetPolicyCriteria": { + "type": "object", + "properties": { + "tp:SourceMACAddress": { + "$ref": "ts_103280_2017_07#/$defs/MACAddress" + }, + "tp:DestinationMACAddress": { + "$ref": "ts_103280_2017_07#/$defs/MACAddress" + }, + "tp:BothDirections": { + "type": "boolean" + }, + "tp:VLANCriteria": { + "$ref": "#/$defs/VLANCriteria" + } + }, + "required": [] + }, + "VLANCriteria": { + "oneOf": [ + { + "type": "object", + "properties": { + "tp:OuterVLANs": { + "$ref": "#/$defs/VLANIDList" + } + }, + "required": [ + "tp:OuterVLANs" + ] + } + ] + }, + "VLANIDList": { + "type": "object", + "properties": { + "tp:VLANID": { + "type": "array", + "items": { + "$ref": "ts_103280_2017_07#/$defs/VLANID" + }, + "minItems": 1 + } + }, + "required": [] + }, "RCSPolicyCriteria": { "type": "object", "properties": { @@ -201,7 +269,9 @@ "$ref": "ts_103280_2017_07#/$defs/ShortString" } }, - "required": [] + "required": [ + "tp:CommunicationServiceID" + ] } } -} \ No newline at end of file +} diff --git a/103280/TS_103_280.schema.json b/103280/TS_103_280.schema.json index 17d0136..29293b8 100644 --- a/103280/TS_103_280.schema.json +++ b/103280/TS_103_280.schema.json @@ -191,6 +191,11 @@ "minimum": 0, "maximum": 255 }, + "VLANID": { + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 4095 + }, "IPAddress": { "oneOf": [ { @@ -386,4 +391,4 @@ ] } } -} +} \ No newline at end of file diff --git a/utils/ts103280_config.json b/utils/ts103280_config.json new file mode 100644 index 0000000..d36a86e --- /dev/null +++ b/utils/ts103280_config.json @@ -0,0 +1,8 @@ +{ + "schemas" : { + "./103280/TS_103_280.xsd" : { + "prefix" : "etsi280" + } + }, + "output" : "./103280/" +} -- GitLab From dcb619a38c38eca02d42cbfe2a7f559b7de9a0ef Mon Sep 17 00:00:00 2001 From: vanschelts Date: Thu, 14 Dec 2023 07:44:25 +0100 Subject: [PATCH 39/40] Correct OID version in ETSI TS 103 280 ASN.1 module --- 103280/TS_103_280.asn1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/103280/TS_103_280.asn1 b/103280/TS_103_280.asn1 index bf02492..d384ec8 100644 --- a/103280/TS_103_280.asn1 +++ b/103280/TS_103_280.asn1 @@ -1,11 +1,11 @@ Common-Parameters -{itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version2101(2101)} +{itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version251(251)} DEFINITIONS IMPLICIT TAGS EXTENSIBILITY IMPLIED ::= BEGIN -- Object Identifier definitions -commonParameterDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version241(241)} +commonParameterDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version251(251)} -- Common Parameters (below are as defined in clause 6) -- GitLab From 8dce52c53e35c5e761966cb0dea775094d34dc7a Mon Sep 17 00:00:00 2001 From: vanschelts Date: Thu, 14 Dec 2023 07:57:03 +0100 Subject: [PATCH 40/40] Align minimum VLAN ID with ASN.1 definition --- 103280/TS_103_280.schema.json | 4 ++-- 103280/TS_103_280.xsd | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/103280/TS_103_280.schema.json b/103280/TS_103_280.schema.json index 29293b8..1d1e0c0 100644 --- a/103280/TS_103_280.schema.json +++ b/103280/TS_103_280.schema.json @@ -193,7 +193,7 @@ }, "VLANID": { "type": "integer", - "exclusiveMinimum": 0, + "minimum": 0, "maximum": 4095 }, "IPAddress": { @@ -391,4 +391,4 @@ ] } } -} \ No newline at end of file +} diff --git a/103280/TS_103_280.xsd b/103280/TS_103_280.xsd index 04ac189..1eb1228 100644 --- a/103280/TS_103_280.xsd +++ b/103280/TS_103_280.xsd @@ -274,7 +274,7 @@ - + -- GitLab