diff --git a/103705/config.json b/103705/config.json index 6d4bac9703d396adc0b9d8c421bfa314d370e169..b4d534c9afe8189201532591f11f021b56220747 100644 --- a/103705/config.json +++ b/103705/config.json @@ -1,58 +1,60 @@ -[{ - "coreSchema" : "schema/response.schema.json", - "supportingSchemas" : [ - "../103280/TS_103_280.schema.json", - "examples/example1/csp_records.schema.json", - "schema/etsi_types.schema.json" +[ + { + "coreSchema": "schema/response.schema.json", + "supportingSchemas": [ + "../103280/TS_103_280.schema.json", + "examples/example1/csp_records.schema.json", + "schema/etsi_types.schema.json" ], - "exampleFiles" : [ - "examples/example1/csp_results.json" + "exampleFiles": [ + "examples/example1/csp_results.json" ] -}, -{ - "coreSchema" : "schema/response.schema.json", - "supportingSchemas" : [ - "../103280/TS_103_280.schema.json", - "examples/example2/csp_records.schema.json", - "examples/example2/csp_types.schema.json", - "schema/etsi_types.schema.json" + }, + { + "coreSchema": "schema/response.schema.json", + "supportingSchemas": [ + "../103280/TS_103_280.schema.json", + "examples/example2/csp_records.schema.json", + "examples/example2/csp_types.schema.json", + "schema/etsi_types.schema.json" ], - "exampleFiles" : [ - "examples/example2/csp_results.json" + "exampleFiles": [ + "examples/example2/csp_results.json" ] -}, -{ - "coreSchema" : "schema/response.schema.json", - "supportingSchemas" : [ - "../103280/TS_103_280.schema.json", - "examples/example3/csp_records.schema.json", - "examples/example3/csp_types.schema.json", - "schema/etsi_types.schema.json" + }, + { + "coreSchema": "schema/response.schema.json", + "supportingSchemas": [ + "../103280/TS_103_280.schema.json", + "examples/example3/csp_records.schema.json", + "examples/example3/csp_types.schema.json", + "schema/etsi_types.schema.json" ], - "exampleFiles" : [ - "examples/example3/csp_results.json" + "exampleFiles": [ + "examples/example3/csp_results.json" ] -}, -{ - "coreSchema" : "schema/response.schema.json", - "supportingSchemas" : [ - "../103280/TS_103_280.schema.json", - "examples/example4/csp_records.schema.json", - "examples/example4/csp_types.schema.json", - "schema/etsi_types.schema.json" + }, + { + "coreSchema": "schema/response.schema.json", + "supportingSchemas": [ + "../103280/TS_103_280.schema.json", + "examples/example4/csp_records.schema.json", + "examples/example4/csp_types.schema.json", + "schema/etsi_types.schema.json" ], - "exampleFiles" : [ - "examples/example4/csp_results.json" + "exampleFiles": [ + "examples/example4/csp_results.json" ] -}, -{ - "coreSchema" : "schema/response.schema.json", - "supportingSchemas" : [ - "../103280/TS_103_280.schema.json", - "examples/example5/csp_records.schema.json", - "schema/etsi_types.schema.json" + }, + { + "coreSchema": "schema/response.schema.json", + "supportingSchemas": [ + "../103280/TS_103_280.schema.json", + "examples/example5/csp_records.schema.json", + "schema/etsi_types.schema.json" ], - "exampleFiles" : [ - "examples/example5/csp_results.json" + "exampleFiles": [ + "examples/example5/csp_results.json" ] -}] \ No newline at end of file + } +] diff --git a/103705/examples/example1/csp_records.schema.json b/103705/examples/example1/csp_records.schema.json index 344b4e39147a078eff78a10c72d521cd3680b01b..e68458c71a5a7852f577f6f49dd1678e7ed99e30 100644 --- a/103705/examples/example1/csp_records.schema.json +++ b/103705/examples/example1/csp_records.schema.json @@ -3,23 +3,42 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "CSP Record Schema", "description": "Defines the valid set of Records that may appear in a RecordSet (see ETSI TS 103 705 clause 6.2.4)", - "cspSchemaID" : "csp.example_1", - "cspName" : "csp.example.com", - "dateIssued" : "2024-04-024T09:00:01Z", - "version" : "1.1.1", + "cspSchemaID": "csp.example_1", + "cspName": "csp.example.com", + "dateIssued": "2024-04-024T09:00:01Z", + "version": "1.1.1", "$defs": { - "record" : { - "oneOf" : [{ - "allOf" : [ - { "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" }, - { "properties" : { "type" : { "const" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord"}}} - ]}, - { - "allOf" : [ - { "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord" }, - { "properties" : { "type" : { "const" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord"}}} - ]} + "record": { + "oneOf": [ + { + "allOf": [ + { + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + }, + { + "properties": { + "type": { + "const": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + } + } + } ] - } + }, + { + "allOf": [ + { + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord" + }, + { + "properties": { + "type": { + "const": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord" + } + } + } + ] + } + ] + } } -} \ No newline at end of file +} diff --git a/103705/examples/example1/csp_results.json b/103705/examples/example1/csp_results.json index 52dbe6fa744b1061b2c61b9d72bfbdf5bdde4f31..cc407fe5bfae99b6f8f3ae18928ee97729f3fe73 100644 --- a/103705/examples/example1/csp_results.json +++ b/103705/examples/example1/csp_results.json @@ -1,47 +1,55 @@ { - "recordSetDescription": { - "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", - "etsiSpecificationVersion": "0.3.0", - "cspName" : "csp.example.com", - "cspSchemaId" : "csp.example_1", - "cspSchemaVersion" : "1.0.0", - "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", - "requestReference": "LDID", - "created": "2024-04-25T09:31:56.000000Z" + "recordSetDescription": { + "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", + "etsiSpecificationVersion": "0.3.0", + "cspName": "csp.example.com", + "cspSchemaId": "csp.example_1", + "cspSchemaVersion": "1.0.0", + "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", + "requestReference": "LDID", + "created": "2024-04-25T09:31:56.000000Z" + }, + "recordSet": [ + { + "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", + "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", + "timeBegin": "2024-04-20T10:04:00.000000Z", + "timeEnd": "2024-04-20T10:05:00.000000Z", + "endReason": 16, + "parties": [ + { + "identity": { + "phoneNumber": "491713920067" + }, + "role": "originating", + "initialAccessTechnology": "5G" + }, + { + "identity": { + "phoneNumber": "441632960123" + }, + "role": "terminating" + } + ] }, - "recordSet": [ + { + "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", + "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord", + "eventTime": "2024-04-18T10:04:00.000000Z", + "parties": [ { - "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", - "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", - "timeBegin": "2024-04-20T10:04:00.000000Z", - "timeEnd": "2024-04-20T10:05:00.000000Z", - "endReason": 16, - "parties": [ - { - "identity": {"phoneNumber": "491713920067"}, - "role": "originating", - "initialAccessTechnology" : "5G" - }, - { - "identity": {"phoneNumber": "441632960123"}, - "role": "terminating" - } - ] + "identity": { + "phoneNumber": "441632960123" + }, + "role": "sender" }, { - "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", - "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord", - "eventTime": "2024-04-18T10:04:00.000000Z", - "parties": [ - { - "identity": {"phoneNumber": "441632960123"}, - "role": "sender" - }, - { - "identity": {"phoneNumber": "491713920067"}, - "role": "receiver" - } - ] + "identity": { + "phoneNumber": "491713920067" + }, + "role": "receiver" } - ] -} \ No newline at end of file + ] + } + ] +} diff --git a/103705/examples/example2/csp_records.schema.json b/103705/examples/example2/csp_records.schema.json index e5082c754250db03968366e6d0980c3575173819..5807a2867135a20714576d4f73559257a2747a24 100644 --- a/103705/examples/example2/csp_records.schema.json +++ b/103705/examples/example2/csp_records.schema.json @@ -3,23 +3,42 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "CSP Record Schema", "description": "Defines the valid set of Records that may appear in a RecordSet (see ETSI TS 103 705 clause 6.2.4)", - "cspSchemaID" : "csp.example_2", - "cspName" : "csp.example.com", - "dateIssued" : "2024-04-024T09:00:01Z", - "version" : "1.1.1", + "cspSchemaID": "csp.example_2", + "cspName": "csp.example.com", + "dateIssued": "2024-04-024T09:00:01Z", + "version": "1.1.1", "$defs": { - "record" : { - "oneOf" : [{ - "allOf" : [ - { "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" }, - { "properties" : { "type" : { "const" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord"}}} - ]}, + "record": { + "oneOf": [ + { + "allOf": [ { - "allOf" : [ - { "$ref" : "csp_example_types#/$defs/CSPMessagingRecord" }, - { "properties" : { "type" : { "const" : "csp_example_types#/$defs/CSPMessagingRecord"}}} - ]} - ] + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + }, + { + "properties": { + "type": { + "const": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + } + } + } + ] + }, + { + "allOf": [ + { + "$ref": "csp_example_types#/$defs/CSPMessagingRecord" + }, + { + "properties": { + "type": { + "const": "csp_example_types#/$defs/CSPMessagingRecord" + } + } + } + ] } + ] } -} \ No newline at end of file + } +} diff --git a/103705/examples/example2/csp_results.json b/103705/examples/example2/csp_results.json index c4ff7c003080f2e33b344c7fb3d6d20e486a6c5f..c50ca26cd0d27f399b93ad21eba1a4c344ed965e 100644 --- a/103705/examples/example2/csp_results.json +++ b/103705/examples/example2/csp_results.json @@ -1,47 +1,55 @@ { - "recordSetDescription": { - "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", - "etsiSpecificationVersion": "0.3.0", - "cspName" : "csp.example.com", - "cspSchemaId" : "csp.example_2", - "cspSchemaVersion" : "1.0.0", - "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", - "requestReference": "LDID", - "created": "2024-04-25T09:31:56.000000Z" + "recordSetDescription": { + "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", + "etsiSpecificationVersion": "0.3.0", + "cspName": "csp.example.com", + "cspSchemaId": "csp.example_2", + "cspSchemaVersion": "1.0.0", + "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", + "requestReference": "LDID", + "created": "2024-04-25T09:31:56.000000Z" + }, + "recordSet": [ + { + "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", + "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", + "timeBegin": "2024-04-20T10:04:00.000000Z", + "timeEnd": "2024-04-20T10:05:00.000000Z", + "endReason": 16, + "parties": [ + { + "identity": { + "phoneNumber": "491713920067" + }, + "role": "originating" + }, + { + "identity": { + "phoneNumber": "441632960123" + }, + "role": "terminating" + } + ] }, - "recordSet": [ + { + "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", + "type": "csp_example_types#/$defs/CSPMessagingRecord", + "eventTime": "2024-04-18T10:04:00.000000Z", + "parties": [ { - "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", - "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", - "timeBegin": "2024-04-20T10:04:00.000000Z", - "timeEnd": "2024-04-20T10:05:00.000000Z", - "endReason": 16, - "parties": [ - { - "identity": {"phoneNumber": "491713920067"}, - "role": "originating" - }, - { - "identity": {"phoneNumber": "441632960123"}, - "role": "terminating" - } - ] + "identity": { + "phoneNumber": "441632960123" + }, + "role": "sender" }, { - "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", - "type": "csp_example_types#/$defs/CSPMessagingRecord", - "eventTime": "2024-04-18T10:04:00.000000Z", - "parties": [ - { - "identity": {"phoneNumber": "441632960123"}, - "role": "sender" - }, - { - "identity": {"phoneNumber": "491713920067"}, - "role": "receiver" - } - ], - "CSPMessagingReference" : "0608972c-9080-4bb1-bc30-35b7cb731bbf" + "identity": { + "phoneNumber": "491713920067" + }, + "role": "receiver" } - ] -} \ No newline at end of file + ], + "CSPMessagingReference": "0608972c-9080-4bb1-bc30-35b7cb731bbf" + } + ] +} diff --git a/103705/examples/example2/csp_types.schema.json b/103705/examples/example2/csp_types.schema.json index 4cf437d4ab5b4de387e17e58df0996866abcceb5..9e70a51f2397023f4e3df2e29132fda54cb57e51 100644 --- a/103705/examples/example2/csp_types.schema.json +++ b/103705/examples/example2/csp_types.schema.json @@ -1,14 +1,20 @@ { - "$id": "csp_example_types", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "ETSI TS 103 705 Types schema", - "description": "JSON schema for ETSI-defined types (see clause 6.1 and Annex A)", - "$defs": { - "CSPMessagingRecord" : { - "allOf" : [{ "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord"}], - "properties" : { - "CSPMessagingReference" : { "$ref" : "ts_103280_2017_07#/$defs/UUID"} - } + "$id": "csp_example_types", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "ETSI TS 103 705 Types schema", + "description": "JSON schema for ETSI-defined types (see clause 6.1 and Annex A)", + "$defs": { + "CSPMessagingRecord": { + "allOf": [ + { + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord" } + ], + "properties": { + "CSPMessagingReference": { + "$ref": "ts_103280_2017_07#/$defs/UUID" + } + } } -} \ No newline at end of file + } +} diff --git a/103705/examples/example3/csp_records.schema.json b/103705/examples/example3/csp_records.schema.json index fca8fa5fdee56486697f186203b1da4eaaf4a95f..35c2613d99a173656ebc0037cadcf1642303200b 100644 --- a/103705/examples/example3/csp_records.schema.json +++ b/103705/examples/example3/csp_records.schema.json @@ -3,23 +3,42 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "CSP Record Schema", "description": "Defines the valid set of Records that may appear in a RecordSet (see ETSI TS 103 705 clause 6.2.4)", - "cspSchemaID" : "csp.example_3", - "cspName" : "csp.example.com", - "dateIssued" : "2024-04-024T09:00:01Z", - "version" : "1.1.1", + "cspSchemaID": "csp.example_3", + "cspName": "csp.example.com", + "dateIssued": "2024-04-024T09:00:01Z", + "version": "1.1.1", "$defs": { - "record" : { - "oneOf" : [{ - "allOf" : [ - { "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" }, - { "properties" : { "type" : { "const" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord"}}} - ]}, + "record": { + "oneOf": [ + { + "allOf": [ { - "allOf" : [ - { "$ref" : "csp_example_types#/$defs/CSPServiceRecord" }, - { "properties" : { "type" : { "const" : "csp_example_types#/$defs/CSPServiceRecord"}}} - ]} - ] + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + }, + { + "properties": { + "type": { + "const": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + } + } + } + ] + }, + { + "allOf": [ + { + "$ref": "csp_example_types#/$defs/CSPServiceRecord" + }, + { + "properties": { + "type": { + "const": "csp_example_types#/$defs/CSPServiceRecord" + } + } + } + ] } + ] } -} \ No newline at end of file + } +} diff --git a/103705/examples/example3/csp_results.json b/103705/examples/example3/csp_results.json index 8f2f9edb52f81aec15eb2c3d37eeb1837c5cbca3..32317a99a66723bc2fdf40d7407f3e044f505ab1 100644 --- a/103705/examples/example3/csp_results.json +++ b/103705/examples/example3/csp_results.json @@ -1,38 +1,42 @@ { - "recordSetDescription": { - "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", - "etsiSpecificationVersion": "0.3.0", - "cspName" : "csp.example.com", - "cspSchemaId" : "csp.example_3", - "cspSchemaVersion" : "1.0.0", - "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", - "requestReference": "LDID", - "created": "2024-04-25T09:31:56.000000Z" - }, - "recordSet": [ + "recordSetDescription": { + "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", + "etsiSpecificationVersion": "0.3.0", + "cspName": "csp.example.com", + "cspSchemaId": "csp.example_3", + "cspSchemaVersion": "1.0.0", + "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", + "requestReference": "LDID", + "created": "2024-04-25T09:31:56.000000Z" + }, + "recordSet": [ + { + "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", + "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", + "timeBegin": "2024-04-20T10:04:00.000000Z", + "timeEnd": "2024-04-20T10:05:00.000000Z", + "endReason": 16, + "parties": [ { - "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", - "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", - "timeBegin": "2024-04-20T10:04:00.000000Z", - "timeEnd": "2024-04-20T10:05:00.000000Z", - "endReason": 16, - "parties": [ - { - "identity": {"phoneNumber": "491713920067"}, - "role": "originating" - }, - { - "identity": {"phoneNumber": "441632960123"}, - "role": "terminating" - } - ] + "identity": { + "phoneNumber": "491713920067" + }, + "role": "originating" }, { - "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", - "type": "csp_example_types#/$defs/CSPServiceRecord", - "timeOfService": "2024-04-18T10:04:00.000000Z", - "numberOfService" : 7, - "serviceEnum" : "Foo" + "identity": { + "phoneNumber": "441632960123" + }, + "role": "terminating" } - ] -} \ No newline at end of file + ] + }, + { + "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", + "type": "csp_example_types#/$defs/CSPServiceRecord", + "timeOfService": "2024-04-18T10:04:00.000000Z", + "numberOfService": 7, + "serviceEnum": "Foo" + } + ] +} diff --git a/103705/examples/example3/csp_types.schema.json b/103705/examples/example3/csp_types.schema.json index fde0bf8c21b806d885bb9f77c28445a50cd080e3..17ff73f8ef99aaf936249b87e8cea801f48548b4 100644 --- a/103705/examples/example3/csp_types.schema.json +++ b/103705/examples/example3/csp_types.schema.json @@ -1,38 +1,38 @@ { - "$id": "csp_example_types", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "ETSI TS 103 705 Types schema", - "description": "JSON schema for ETSI-defined types (see clause 6.1 and Annex A)", - "$defs": { - "CSPServiceRecord" : { - "type" : "object", - "title" : "CSP Service Record", - "description" : "Information about some new fictional service that this CSP provides", - "properties" : { - "timeOfService" : { - "description" : "Time at which something happened (using an ETSI TS 103 280 type)", - "$ref" : "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime" - }, - "dataVolumeUsed" : { - "description" : "A data volume associated with this service record (using an ETSI TS 103 705 type) ", - "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/DataVolume" - }, - "numberOfService" : { - "description" : "Some number associated with this service record (using a native JSON type)", - "type" : "integer" - }, - "serviceEnum" : { - "description" : "A field using a type defined elsewhere in this schema", - "$ref" : "#/$defs/CSPDefinedEnum" - } - } + "$id": "csp_example_types", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "ETSI TS 103 705 Types schema", + "description": "JSON schema for ETSI-defined types (see clause 6.1 and Annex A)", + "$defs": { + "CSPServiceRecord": { + "type": "object", + "title": "CSP Service Record", + "description": "Information about some new fictional service that this CSP provides", + "properties": { + "timeOfService": { + "description": "Time at which something happened (using an ETSI TS 103 280 type)", + "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime" }, - "CSPDefinedEnum" : { - "enum" : [ - "Foo", - "Bar", - "Baz" - ] + "dataVolumeUsed": { + "description": "A data volume associated with this service record (using an ETSI TS 103 705 type) ", + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/DataVolume" + }, + "numberOfService": { + "description": "Some number associated with this service record (using a native JSON type)", + "type": "integer" + }, + "serviceEnum": { + "description": "A field using a type defined elsewhere in this schema", + "$ref": "#/$defs/CSPDefinedEnum" } - } -} \ No newline at end of file + } + }, + "CSPDefinedEnum": { + "enum": [ + "Foo", + "Bar", + "Baz" + ] + } + } +} diff --git a/103705/examples/example4/csp_records.schema.json b/103705/examples/example4/csp_records.schema.json index a17867055747a328e128fa6093540d0529cd3ba6..f25e384090be3c89ea40de859cecd3f3df2fbca9 100644 --- a/103705/examples/example4/csp_records.schema.json +++ b/103705/examples/example4/csp_records.schema.json @@ -3,22 +3,42 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "CSP Record Schema", "description": "Defines the valid set of Records that may appear in a RecordSet (see ETSI TS 103 705 clause 6.2.4)", - "cspSchemaID" : "csp.example_4", - "cspName" : "csp.example.com", - "dateIssued" : "2024-04-024T09:00:01Z", - "version" : "1.1.1", + "cspSchemaID": "csp.example_4", + "cspName": "csp.example.com", + "dateIssued": "2024-04-024T09:00:01Z", + "version": "1.1.1", "$defs": { - "record" : { - "oneOf" : [{ - "allOf" : [ - { "$ref" : "csp_example_types#/$defs/CSPSubscriberRecord" }, - { "properties" : { "type" : { "const" : "csp_example_types#/$defs/CSPSubscriberRecord"}}} - ]},{ - "allOf" : [ - { "$ref" : "csp_example_types#/$defs/CSPAddressRecord" }, - { "properties" : { "type" : { "const" : "csp_example_types#/$defs/CSPAddressRecord"}}} - ]} + "record": { + "oneOf": [ + { + "allOf": [ + { + "$ref": "csp_example_types#/$defs/CSPSubscriberRecord" + }, + { + "properties": { + "type": { + "const": "csp_example_types#/$defs/CSPSubscriberRecord" + } + } + } + ] + }, + { + "allOf": [ + { + "$ref": "csp_example_types#/$defs/CSPAddressRecord" + }, + { + "properties": { + "type": { + "const": "csp_example_types#/$defs/CSPAddressRecord" + } + } + } ] } + ] } -} \ No newline at end of file + } +} diff --git a/103705/examples/example4/csp_results.json b/103705/examples/example4/csp_results.json index fd290b155bc18ab7a33f9e1a2a32160e2ea2ceb3..ec0678328ce7f431b36addbf6534bad06996391b 100644 --- a/103705/examples/example4/csp_results.json +++ b/103705/examples/example4/csp_results.json @@ -1,31 +1,39 @@ { - "recordSetDescription": { - "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", - "etsiSpecificationVersion": "0.3.0", - "cspName" : "csp.example.com", - "cspSchemaId" : "csp.example_4", - "cspSchemaVersion" : "1.0.0", - "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", - "requestReference": "LDID", - "created": "2024-04-25T09:31:56.000000Z" + "recordSetDescription": { + "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", + "etsiSpecificationVersion": "0.3.0", + "cspName": "csp.example.com", + "cspSchemaId": "csp.example_4", + "cspSchemaVersion": "1.0.0", + "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", + "requestReference": "LDID", + "created": "2024-04-25T09:31:56.000000Z" + }, + "recordSet": [ + { + "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", + "type": "csp_example_types#/$defs/CSPSubscriberRecord", + "subscriberName": "Max Mustermann", + "registeredAddress": { + "destination": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" + }, + "deliveryAddress": { + "destination": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" + }, + "billingAddress": { + "destination": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" + }, + "contactAddress": { + "destination": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" + } }, - "recordSet": [ - { - "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", - "type": "csp_example_types#/$defs/CSPSubscriberRecord", - "subscriberName" : "Max Mustermann", - "registeredAddress" : { "destination" : "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" }, - "deliveryAddress" : { "destination" : "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" }, - "billingAddress" : { "destination" : "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" }, - "contactAddress" : { "destination" : "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" } - }, - { - "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", - "type": "csp_example_types#/$defs/CSPAddressRecord", - "line1" : "First Line Of Address", - "line2" : "Secoond Line Of Address", - "postalCode" : "postal code", - "country" : "country code" - } - ] -} \ No newline at end of file + { + "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", + "type": "csp_example_types#/$defs/CSPAddressRecord", + "line1": "First Line Of Address", + "line2": "Secoond Line Of Address", + "postalCode": "postal code", + "country": "country code" + } + ] +} diff --git a/103705/examples/example4/csp_types.schema.json b/103705/examples/example4/csp_types.schema.json index 8fee961b7654929e0f25df7277a02cf26bc00c41..74b7bdc1163aa26a62876323dcab6cc2391c7bad 100644 --- a/103705/examples/example4/csp_types.schema.json +++ b/103705/examples/example4/csp_types.schema.json @@ -1,46 +1,54 @@ { - "$id": "csp_example_types", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "ETSI TS 103 705 Types schema", - "description": "JSON schema for ETSI-defined types (see clause 6.1 and Annex A)", - "$defs": { - "CSPSubscriberRecord" : { - "type" : "object", - "title" : "CSP Subscriber Record", - "description" : "A CSP's subscriber record. May contain four different addresses, which are often set to the same value", - "properties" : { - "subscriberName" : { - "description" : "Name of subscriber (obviously a real definition would be more complex", - "type" : "string" - }, - "registeredAddress" : { - "description" : "Points to the address registered as part of the service", - "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" - }, - "deliveryAddress" : { - "description" : "Points to the address used for delivery", - "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" - }, - "billingAddress" : { - "description" : "Points to the address used for billing", - "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" - }, - "contactAddress" : { - "description" : "Points to the address used for mailing purposes", - "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" - } - } + "$id": "csp_example_types", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "ETSI TS 103 705 Types schema", + "description": "JSON schema for ETSI-defined types (see clause 6.1 and Annex A)", + "$defs": { + "CSPSubscriberRecord": { + "type": "object", + "title": "CSP Subscriber Record", + "description": "A CSP's subscriber record. May contain four different addresses, which are often set to the same value", + "properties": { + "subscriberName": { + "description": "Name of subscriber (obviously a real definition would be more complex", + "type": "string" }, - "CSPAddressRecord" : { - "type" : "object", - "title" : "CSP Address Record", - "description" : "A simple address structure (for example purporses - a standard ETSI one is needed, FFS)", - "properties" : { - "line1" : { "type" : "string"}, - "line2" : { "type" : "string"}, - "postalCode" : { "type" : "string"}, - "country" : { "type" : "string"} - } + "registeredAddress": { + "description": "Points to the address registered as part of the service", + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" + }, + "deliveryAddress": { + "description": "Points to the address used for delivery", + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" + }, + "billingAddress": { + "description": "Points to the address used for billing", + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" + }, + "contactAddress": { + "description": "Points to the address used for mailing purposes", + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" + } + } + }, + "CSPAddressRecord": { + "type": "object", + "title": "CSP Address Record", + "description": "A simple address structure (for example purporses - a standard ETSI one is needed, FFS)", + "properties": { + "line1": { + "type": "string" + }, + "line2": { + "type": "string" + }, + "postalCode": { + "type": "string" + }, + "country": { + "type": "string" } - } -} \ No newline at end of file + } + } + } +} diff --git a/103705/examples/example5/csp_records.schema.json b/103705/examples/example5/csp_records.schema.json index 0e8ffaf20f665a2b51a72d610dc672d35ff98313..bcbfc87e7462e1257ab28c3bdb80b25bae5559c2 100644 --- a/103705/examples/example5/csp_records.schema.json +++ b/103705/examples/example5/csp_records.schema.json @@ -3,23 +3,42 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "CSP Record Schema", "description": "Defines the valid set of Records that may appear in a RecordSet (see ETSI TS 103 705 clause 6.2.4)", - "cspSchemaID" : "csp.example_5", - "cspName" : "csp.example.com", - "dateIssued" : "2024-06-20 09:42:37", - "version" : "1.1.1", + "cspSchemaID": "csp.example_5", + "cspName": "csp.example.com", + "dateIssued": "2024-06-20 09:42:37", + "version": "1.1.1", "$defs": { - "record" : { - "oneOf" : [{ - "allOf" : [ - { "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" }, - { "properties" : { "type" : { "const" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord"}}} - ]}, - { - "allOf" : [ - { "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord" }, - { "properties" : { "type" : { "const" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord"}}} - ]} + "record": { + "oneOf": [ + { + "allOf": [ + { + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + }, + { + "properties": { + "type": { + "const": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + } + } + } ] - } + }, + { + "allOf": [ + { + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord" + }, + { + "properties": { + "type": { + "const": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord" + } + } + } + ] + } + ] + } } -} \ No newline at end of file +} diff --git a/103705/examples/example5/csp_results.json b/103705/examples/example5/csp_results.json index f8c81d9aaa76e0281bef317fca2cd437475e4292..9bbedcf53bf53bef0ebf1d5bcefc6ccd413bb2c8 100644 --- a/103705/examples/example5/csp_results.json +++ b/103705/examples/example5/csp_results.json @@ -1 +1,58 @@ -{"recordSetDescription": {"etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", "etsiSpecificationVersion": "0.3.0", "cspName" : "csp.example.com", "cspSchemaId": "csp.example_1", "cspSchemaVersion": "1.0.0", "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", "requestReference": "LDID", "created": "2024-04-25T09:31:56.000000Z"}, "recordSet": [{"id": "3da91ade-f526-4e55-b5da-0c8178f25c24", "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", "timeBegin": "2024-04-20T10:04:00.000000Z", "timeEnd": "2024-04-20T10:05:00.000000Z", "endReason": 16, "parties": [{"identity": {"phoneNumber": "491713920067"}, "role": "originating"}, {"identity": {"phoneNumber": "441632960123"}, "role": "terminating"}]}, {"id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord", "eventTime": "2024-04-18T10:04:00.000000Z", "parties": [{"identity": {"phoneNumber": "441632960123"}, "role": "sender"}, {"identity": {"phoneNumber": "491713920067"}, "role": "receiver"}]}], "Signature": {"protected": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9", "signature": "yvPyjRDAS7dSld9inyVfLpz02En47_AMq0J8cP82BCU"}} +{ + "recordSetDescription": { + "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", + "etsiSpecificationVersion": "0.3.0", + "cspName": "csp.example.com", + "cspSchemaId": "csp.example_1", + "cspSchemaVersion": "1.0.0", + "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", + "requestReference": "LDID", + "created": "2024-04-25T09:31:56.000000Z" + }, + "recordSet": [ + { + "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", + "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", + "timeBegin": "2024-04-20T10:04:00.000000Z", + "timeEnd": "2024-04-20T10:05:00.000000Z", + "endReason": 16, + "parties": [ + { + "identity": { + "phoneNumber": "491713920067" + }, + "role": "originating" + }, + { + "identity": { + "phoneNumber": "441632960123" + }, + "role": "terminating" + } + ] + }, + { + "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", + "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord", + "eventTime": "2024-04-18T10:04:00.000000Z", + "parties": [ + { + "identity": { + "phoneNumber": "441632960123" + }, + "role": "sender" + }, + { + "identity": { + "phoneNumber": "491713920067" + }, + "role": "receiver" + } + ] + } + ], + "Signature": { + "protected": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9", + "signature": "yvPyjRDAS7dSld9inyVfLpz02En47_AMq0J8cP82BCU" + } +} diff --git a/103705/schema/etsi_types.schema.json b/103705/schema/etsi_types.schema.json index 1854183d6941dd2888dd27a9f88cad1a8197b0c9..b0b8491f6cffd544ff404183c6fb583424a8edb9 100644 --- a/103705/schema/etsi_types.schema.json +++ b/103705/schema/etsi_types.schema.json @@ -19,7 +19,7 @@ "title": "Relationship", "description": "Indicates the nature of the relationship. Valid values and their meaning should be provided by the CSP" } - }, + }, "required": [ "destination" ] @@ -29,7 +29,8 @@ "title": "Information about call details", "description": "Details about a record or event related to a call", "required": [ - "timeBegin", "parties" + "timeBegin", + "parties" ], "properties": { "sessionRefId": { @@ -69,7 +70,8 @@ "title": "Information about messaging details", "description": "Details about a record or event related to a message", "required": [ - "eventTime", "parties" + "eventTime", + "parties" ], "properties": { "sessionRefId": { @@ -93,7 +95,8 @@ "title": "Information about email details", "description": "Details about a record or event related to an email", "required": [ - "eventTime", "parties" + "eventTime", + "parties" ], "properties": { "sessionRefId": { @@ -117,7 +120,8 @@ "title": "Data Record", "description": "Information about a data access session (e.g. a mobile data session)", "required": [ - "timeBegin", "parties" + "timeBegin", + "parties" ], "properties": { "sessionRefId": { @@ -145,7 +149,7 @@ }, "CallPartyInformation": { "type": "object", - "description" : "Information about the participants and technologies related to the call", + "description": "Information about the participants and technologies related to the call", "properties": { "identity": { "$ref": "#/$defs/CallPartyId" @@ -228,7 +232,7 @@ "$ref": "#/$defs/DataAccessPartyId" }, "aPNDNN": { - "description" : "APN or DNN associated with the data access", + "description": "APN or DNN associated with the data access", "$ref": "ts_103280_2017_07#/$defs/DNN" }, "initialAccessTechnology": { @@ -406,6 +410,250 @@ } } } + }, + "ValidityPeriod": { + "type": "object", + "description": "Validity time period, inclusive", + "properties": { + "begin": { + "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime", + "description": "Start of the validity period" + }, + "end": { + "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime", + "description": "End of the validity period" + } + } + }, + "Person": { + "type": "object", + "description": "Natural person", + "properties": { + "surname": { + "type": "string", + "description": "Surname, family name, maiden name, married name, main name, or the entire name, in cases where the name cannot be divided into two parts" + }, + "givenNames": { + "type": "string", + "description": "Given names, forenames, familiar names and any other secondary names" + }, + "initials": { + "type": "string", + "description": "Initials of the person" + }, + "salutation": { + "type": "string", + "description": "Salutation of the person" + }, + "sex": { + "enum": [ + "F", + "M", + "X" + ], + "description": "F = female; M = male; X = unspecified; according to e.g. ICAO Document 9303 part 4 clause 4.1.1" + }, + "dateOfBirth": { + "$ref": "#/$defs/Date", + "description": "Date of birth of the person" + } + } + }, + "Date": { + "type": "string", + "pattern": "[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])", + "description": "Date in format YYYY-MM-DD according to ISO 8601" + }, + "Organisation": { + "type": "object", + "description": "Organisation, e.g. a company", + "properties": { + "name": { + "type": "string", + "description": "Name of the organisation" + }, + "vATNumber": { + "type": "string", + "pattern": "[A-Z]{2}.*", + "description": "Value Added Tax number, typically starting with a two letter country code according to ISO code 3166 - alpha 2 - that identifies the country of issue" + } + } + }, + "BankAccount": { + "type": "object", + "description": "Bank account information", + "properties": { + "iBAN": { + "$ref": "#/$defs/IBAN", + "description": "International Bank Account Number of the bank account" + }, + "accountHolder": { + "type": "string", + "description": "Holder of the bank account" + } + } + }, + "IBAN": { + "type": "string", + "pattern": "[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}", + "description": "International Bank Account Number according to ISO 13616-1:2020" + }, + "PaymentCard": { + "type": "object", + "description": "Payment card information", + "properties": { + "cardNumber": { + "type": "string", + "description": "Number of the payment card, e.g. credit card number" + }, + "cardHolder": { + "type": "string", + "description": "Holder of the payment card" + }, + "cardType": { + "type": "string", + "description": "Type of the payment card, e.g. issuing company/brand" + }, + "dateOfExpiry": { + "$ref": "#/$defs/Date", + "description": "Date of expiry of the payment card" + } + } + }, + "Contract": { + "type": "object", + "description": "Contract information", + "properties": { + "id": { + "type": "string", + "description": "Contract number" + }, + "begin": { + "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime", + "description": "Start of the contract" + }, + "end": { + "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime", + "description": "End of the contract" + }, + "natureOfContract": { + "type": "string", + "description": "Nature of the contract, i.e. product or service name" + } + } + }, + "ContactDetail": { + "type": "object", + "description": "Contact detail information", + "properties": { + "emailAddresses": { + "type": "array", + "items": { + "$ref": "ts_103280_2017_07#/$defs/InternationalizedEmailAddress" + }, + "description": "Email addresses of the contact" + }, + "phoneNumbers": { + "type": "array", + "items": { + "$ref": "ts_103280_2017_07#/$defs/InternationalE164" + }, + "description": "Phone numbers of the contact" + }, + "addresses": { + "type": "array", + "items": { + "$ref": "#/$defs/Address" + }, + "description": "Addresses of the contact" + } + } + }, + "Address": { + "type": "object", + "description": "Address information", + "properties": { + "street": { + "type": "string", + "description": "Street of the address" + }, + "houseNumber": { + "type": "string", + "description": "House number of the street and other specific extensions" + }, + "city": { + "type": "string", + "description": "City of the address" + }, + "postalCode": { + "type": "string", + "description": "Postal code of the address" + }, + "countryCode": { + "$ref": "ts_103280_2017_07#/$defs/ISOCountryCode", + "description": "Country code of the address" + } + } + }, + "IdentityVerification": { + "type": "object", + "description": "Identity verification information", + "properties": { + "typeOfDocument": { + "type": "string", + "description": "Type of the identity verification document, e.g. identity card" + }, + "documentFile": { + "$ref": "#/$defs/DocumentFile", + "description": "Document file, e.g. copy of the identity card" + }, + "documentNumber": { + "type": "string", + "description": "Document number of the document used for identity verification, e.g. identity card number" + }, + "issuingAuthority": { + "type": "string", + "description": "Issuing authority of the document used for identity verification, e.g. of the identity card" + }, + "dateOfExpiry": { + "$ref": "#/$defs/Date", + "description": "Date of expiry of the document used for identity verification, e.g. of the identity card" + }, + "countryCode": { + "$ref": "ts_103280_2017_07#/$defs/ISOCountryCode", + "description": "Country code where the document used for identify verification (e.g. the identity card) is issued" + } + } + }, + "DocumentFile": { + "type": "object", + "description": "Document file", + "properties": { + "natureOfDocument": { + "type": "string", + "description": "Nature of the document, e.g. invoice" + }, + "fileName": { + "type": "string", + "description": "File name of the document" + }, + "mimeType": { + "type": "string", + "description": "Mime type of the document" + }, + "content": { + "type": "string", + "description": "Content of the file base64 encoded" + }, + "checksum": { + "$ref": "ts_103280_2017_07#/$defs/ShortString", + "description": "Checksum computed for the document using the algorithm provided in checksumType" + }, + "checksumType": { + "$ref": "ts_103280_2017_07#/$defs/ShortString", + "description": "Algorithm used to compute the checksum" + } + } } } } diff --git a/103705/schema/records.schema.json b/103705/schema/records.schema.json index ab5970117df471170162867931cda99cffad9e03..0ae439406665e0d6925bfaab21c4a18277d5330d 100644 --- a/103705/schema/records.schema.json +++ b/103705/schema/records.schema.json @@ -1,23 +1,31 @@ { - "$id": "urn:etsi:li:103705:record-schema-id:v1.1.1", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "CSP Record Schema", - "description": "Defines the valid set of Records that may appear in a RecordSet (see ETSI TS 103 705 clause 6.2.4)", - "cspName" : "{replace with assigned CSP name - see ETSI TS 103 705 Table 6.2.4-1", - "cspSchemaID" : "{replace with assigned ID - see ETSI TS 103 705 Table 6.2.4-1}", - "dateIssued" : "{replace with date issued - see ETSI TS 103 705 Table 6.2.4-1}", - "cspSchemaVersion" : "{Replace with version - see ETSI TS 103 705 Table 6.2.4-1}", - "$defs": { - "record" : { - "oneOf" : [ - { - "$comment" : "This is an example", - "allOf" : [ - { "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" }, - { "properties" : { "type" : { "const" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord"}}} - ] + "$id": "urn:etsi:li:103705:record-schema-id:v1.1.1", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "CSP Record Schema", + "description": "Defines the valid set of Records that may appear in a RecordSet (see ETSI TS 103 705 clause 6.2.4)", + "cspName": "{replace with assigned CSP name - see ETSI TS 103 705 Table 6.2.4-1", + "cspSchemaID": "{replace with assigned ID - see ETSI TS 103 705 Table 6.2.4-1}", + "dateIssued": "{replace with date issued - see ETSI TS 103 705 Table 6.2.4-1}", + "cspSchemaVersion": "{Replace with version - see ETSI TS 103 705 Table 6.2.4-1}", + "$defs": { + "record": { + "oneOf": [ + { + "$comment": "This is an example", + "allOf": [ + { + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + }, + { + "properties": { + "type": { + "const": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" } - ] + } + } + ] } + ] } -} \ No newline at end of file + } +} diff --git a/103705/schema/response.schema.json b/103705/schema/response.schema.json index 2d6f8a0e0d4507cda3d9a589c55c5e14addb2440..0fd4ab3c6ed118e4b43a08703d54b131e663e57d 100644 --- a/103705/schema/response.schema.json +++ b/103705/schema/response.schema.json @@ -12,7 +12,7 @@ "$ref": "#/$defs/recordSet" }, "Signature": { - "$ref" : "#/$defs/Signature" + "$ref": "#/$defs/Signature" } }, "required": [ @@ -26,35 +26,35 @@ "description": "Provides metadata about the records being delivered (see clause 5.2)", "properties": { "etsiSchemaId": { - "description" : "ID of the ETSI JSON schema used by the Response (see clause 5.2.2)", + "description": "ID of the ETSI JSON schema used by the Response (see clause 5.2.2)", "$ref": "#/$defs/schemaId" }, "etsiSpecificationVersion": { - "description" : "Version of ETSI TS 103 705 used by the Response (see clause 5.2.3)", + "description": "Version of ETSI TS 103 705 used by the Response (see clause 5.2.3)", "$ref": "#/$defs/version" }, - "cspName" : { - "description" : "Identifies the CSP generating the Response (see clause 5.2.4)", + "cspName": { + "description": "Identifies the CSP generating the Response (see clause 5.2.4)", "$ref": "#/$defs/schemaId" - }, - "cspSchemaId" : { - "description" : "ID of CSP Record Schema used by the Response (see clause 5.2.5)", + }, + "cspSchemaId": { + "description": "ID of CSP Record Schema used by the Response (see clause 5.2.5)", "$ref": "#/$defs/schemaId" }, - "cspSchemaVersion" : { - "description" : "Version number assigned by the CSP to the CSP Record Schema identified by the cspSchemaId (see clause 5.2.6)", + "cspSchemaVersion": { + "description": "Version number assigned by the CSP to the CSP Record Schema identified by the cspSchemaId (see clause 5.2.6)", "$ref": "#/$defs/version" }, "resultSetId": { - "description" : "Unique identifier for this result set (see clause 5.2.7)", + "description": "Unique identifier for this result set (see clause 5.2.7)", "$ref": "#/$defs/resultSetId" }, "requestReference": { - "description" : "Reference to the original request (see clause 5.2.8)", + "description": "Reference to the original request (see clause 5.2.8)", "$ref": "#/$defs/requestReference" }, "created": { - "description" : "Timestamp showing the creation time of the Response (see clause 5.2.9)", + "description": "Timestamp showing the creation time of the Response (see clause 5.2.9)", "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime" } }, @@ -73,8 +73,8 @@ "type": "string" }, "version": { - "type" : "string", - "pattern" : "^[0-9]+\\.[0-9]+\\.[0-9]+$" + "type": "string", + "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$" }, "resultSetId": { "type": "string" @@ -91,7 +91,11 @@ } }, "record": { - "allOf" : [{ "$ref" : "urn:etsi:li:103705:record-schema-id:v1.1.1#/$defs/record"}], + "allOf": [ + { + "$ref": "urn:etsi:li:103705:record-schema-id:v1.1.1#/$defs/record" + } + ], "type": "object", "title": "Record", "description": "Response record (see clause 5.3)",