{
  "informationService": {
    "descriptionInformation": {
      "abbreviations": [
        {
          "name": "ACC",
          "description": "Area Control Centre"
        },
        {
          "name": "ADSP",
          "description": "ATM Data Service Provider"
        },
        {
          "name": "AIRM",
          "description": "ATM Information Reference Model"
        },
        {
          "name": "AMQP",
          "description": "Advanced Message Queuing Protocol"
        },
        {
          "name": "ANSP",
          "description": "Air Navigation Service Provider"
        },
        {
          "name": "ATC",
          "description": "Air Traffic Control"
        },
        {
          "name": "ATCS",
          "description": "Air Traffic Control Services"
        },
        {
          "name": "ATM",
          "description": "Air Traffic Management"
        },
        {
          "name": "ATSU",
          "description": "Air Traffic Service Unit"
        },
        {
          "name": "CCS",
          "description": "Coflight Cloud Services"
        },
        {
          "name": "CWP",
          "description": "Controller Working Position"
        },
        {
          "name": "DSNA",
          "description": "Direction des Services de la Navigation A0xC3 0xA9rienne (French ANSP)"
        },
        {
          "name": "ENAV",
          "description": "Ente Nazionale Assistenza al Volo (Italian ANSP)"
        },
        {
          "name": "FDO",
          "description": "Flight Data Operator"
        },
        {
          "name": "FDPS",
          "description": "Flight Data Processing System"
        },
        {
          "name": "ICAO",
          "description": "International Civil Aviation Organization"
        },
        {
          "name": "ID",
          "description": "Identifier"
        },
        {
          "name": "IKE",
          "description": "Internet Key Exchange"
        },
        {
          "name": "IP",
          "description": "Internet Protocol"
        },
        {
          "name": "IPSEC",
          "description": "Internet Protocol Security protocol"
        },
        {
          "name": "JU",
          "description": "Joint Undertaking"
        },
        {
          "name": "KPI",
          "description": "Key Performance Indicator"
        },
        {
          "name": "MB",
          "description": "MegaByte"
        },
        {
          "name": "NTP",
          "description": "Network Time Protocol"
        },
        {
          "name": "OCSP",
          "description": "Online Certificate Status Protocol"
        },
        {
          "name": "PKCS",
          "description": "Public Key Cryptography Standards"
        },
        {
          "name": "SDD",
          "description": "Service Definition Document"
        },
        {
          "name": "SESAR",
          "description": "Single European Sky Air Traffic Management Research"
        },
        {
          "name": "SFPL",
          "description": "System Flight Plan"
        },
        {
          "name": "SLA",
          "description": "Service Level Agreement"
        },
        {
          "name": "SSD",
          "description": "SWIM Service Description"
        },
        {
          "name": "SSI",
          "description": "Synchronous Serial Interface"
        },
        {
          "name": "SSR",
          "description": "Secondary Surveillance Radar"
        },
        {
          "name": "SWIM",
          "description": "System Wide Information Management"
        },
        {
          "name": "TCP",
          "description": "Transfer Control Protocol"
        },
        {
          "name": "TI",
          "description": "Technical Infrastructure"
        },
        {
          "name": "TLS",
          "description": "Transport Level Security"
        },
        {
          "name": "UTC",
          "description": "Coordinated Universal Time"
        }
      ],
      "serviceDescriptionIdentification": {
        "serviceDescriptionTitle": "CCS SSR Code Management Service Description",
        "serviceDescriptionEdition": "1.0.0.4",
        "serviceDescriptionReferenceDate": "14/06/2022"
      }
    },
    "name": "CCS SSRCodeManagement",
    "serviceAbstract": "This Service is part of Coflight Cloud Services (CCS), which are primarily designed to support the Virtual Centre concept. As such, these CCS Services support the interactions between the CCS ATM Data Service Provider (ADSP) and Virtual Centre Air Traffic Service Units (ATSUs). \r\nThe CCS SSRCodeManagement service is consistent with the other CCS services.\r\nIt addresses the assignment of SSR codes to eligible flights and release of SSR codes assigned to flights when requested to do so. Normally, to reduce controller workload, the assignment and release processes are triggered automatically by a timer or event. However, if the automatic process fails, operations are provided for controllers and other authorised users, e.g. FDO, to manually request the assignment or release of a code.\r\n\r\nThis version of the service is intended to be used in \u0027test mission\u0027, which aims at providing services and support to the Customer(s) to enable them to test any version of their ATM system during development.\r\n",
    "serviceCategorisation": {
      "serviceType": "SWIM_COMPLIANT",
      "lifeCycleStage": "OPERATIONAL",
      "businessActivityType": [
        "INFORMATION_MANAGEMENT"
      ],
      "informationCategory": [
        "FLIGHT_INFORMATION_EXCHANGE"
      ],
      "intendedConsumer": [
        "CIVIL_AIR_NAVIGATION_SERVICE_PROVIDER"
      ],
      "applicationMessageExchangePattern": [
        "BROKERED_PUBLISH_SUBSCRIBE_WITH_PUSH_MECHANISM",
        "SYNCHRONOUS_REQUEST_REPLY"
      ]
    },
    "serviceDescriptionReferences": {
      "implementedStandard": [
        {
          "conformanceStatement": "Description of Service according to EUROCONTROL specifications",
          "description": "This specification contains requirements for describing information services in the context ofInitial System Wide Information Management (iSWIM). The requirements prescribe the minimum set of elements a service descriptionhas to contain",
          "isConformant": true,
          "reference": "https://confluenceccs.se-dmf.eu/display/CDFSR/Applicable+documents\r\n\r\nNote: to request access to Confluence, please refer to the point of contact section.",
          "standardType": "EUROCONTROL_SPECIFICATION_FOR_SWIM_SERVICE_DESCRIPTION",
          "title": "EUROCONTROL Specification for SWIM - Service Description ",
          "version": "2.0"
        },
        {
          "conformanceStatement": "Information definition according to EUROCONTROL specifications",
          "description": "This specification contains requirements forinformation definitions, meaning the formal descriptions of exchanged information, in the context of Initial System Wide Information Management (iSWIM). This contributes to semantic interoperability of information. ",
          "isConformant": true,
          "reference": "https://confluenceccs.se-dmf.eu/display/CDFSR/Applicable+documents\r\n\r\nNote: to request access to Confluence, please refer to the point of contact section.",
          "standardType": "EUROCONTROL_SPECIFICATION_FOR_SWIM_INFORMATION_DEFINITION",
          "title": "EUROCONTROL Specification for SWIM - Information Definition",
          "version": "1.0"
        },
        {
          "conformanceStatement": "Implementation of service and network bindings",
          "description": "This specification contains requirements for system interfaces (e.g. protocols) and for IT infrastructure capabilities required to enable a reliable, secure and efficient exchange of information in the context of Initial System Wide Information Management (iSWIM).This contributes to technical interoperability",
          "isConformant": true,
          "reference": "https://confluenceccs.se-dmf.eu/display/CDFSR/Applicable+documents\r\n\r\nNote: to request access to Confluence, please refer to the point of contact section.",
          "standardType": "EUROCONTROL_SPECIFICATION_FOR_SWIM_TECHNICAL_INFRASTRUCTURE",
          "title": "EUROCONTROL Specification for SWIM - Technical Infrastructure (TI) Yellow Profile",
          "version": "1.0"
        }
      ],
      "serviceDocument": [
        {
          "description": "AIRM traceability for CCS SSR Code Management service payload",
          "documentType": "AIRM_TRACE",
          "reference": "https://confluenceccs.se-dmf.eu/display/CDFSR/CCS+SSR+Code+Management+Service \nNote: to request access to Confluence, please refer to the point of contact section",
          "title": "CCS AIRM mapping SSRM service",
          "version": "1.0"
        },
        {
          "description": "Validation evidence for CCS SSR Code Management service",
          "documentType": "SERVICE_VALIDATION_REPORT",
          "reference": "https://confluenceccs.se-dmf.eu/display/CDFSR/CCS+SSR+Code+Management+Service \nNote: to request access to Confluence, please refer to the point of contact section",
          "title": "CCS Validation evidence document - SSRCodeManagement",
          "version": "1.0"
        },
        {
          "description": "Protobuf files describing the exchanged information",
          "documentType": "MACHINE_READABLE_SERVICE_DESCRIPTION",
          "reference": "https://confluenceccs.se-dmf.eu/display/CDFSR/CCS+SSR+Code+Management+Service",
          "title": "CCS_ssrCodeManagement.proto",
          "version": "1.0.0.2"
        },
        {
          "description": "Protobuf file describing the exchanged information common to two or more CCS Services",
          "documentType": "MACHINE_READABLE_SERVICE_DESCRIPTION",
          "reference": "https://confluenceccs.se-dmf.eu/display/CDFSR/CCS+SSR+Code+Management+Service",
          "title": "CCS_common.proto",
          "version": "5.5.1.2"
        },
        {
          "description": "Protobuf file describing the metadata used by the CCS Services",
          "documentType": "MACHINE_READABLE_SERVICE_DESCRIPTION",
          "reference": "https://confluenceccs.se-dmf.eu/display/CDFSR/CCS+SSR+Code+Management+Service",
          "title": "metadata.proto",
          "version": "v1.2.0.0"
        },
        {
          "description": "Complete service specification",
          "documentType": "SERVICE_SPECIFICATION",
          "reference": "https://confluenceccs.se-dmf.eu/display/CDFSR/CCS+SSR+Code+Management+Service",
          "title": "CCS SSR Code Management Service Description",
          "version": "1.0.0.4"
        },
        {
          "description": "Document that includes the list of all applicable error messages for CCS services",
          "documentType": "SERVICE_SPECIFICATION",
          "reference": "https://confluenceccs.se-dmf.eu/display/CDFSR/Applicable+Documents",
          "title": "CCS Errors Management Document",
          "version": "2.0"
        }
      ]
    },
    "serviceProvision": {
      "dateInOperation": "2022-06-24",
      "provider": "DSNA\u0026ENAV",
      "providerDescription": "DSNA (Direction des Services de la Navigation Aerienne) is the national air navigation services provider of France. DSNA is entrusted with the provision of air traffic services, associated communication, navigation and surveillance services and aeronautical information services in all airspace under French responsibility and at designated airports. DSNA is member of A6, FABEC and SESAR JU.\r\nParis ACC : At the crossroads of the biggest European platforms, Paris ACC manage one of the most dense airspace in Europe. Paris ACC act to develop Paris airports capacity. The traffic handled by Paris ACC consists of 72% of flights departing or arriving at Parisian airports. With its 1.3 million controlled flights in 2018, Paris ACC is one the most important ACC in Europe.\r\n\r\nENAV S.p.A. (ENAV) is the Italian AIR Navigation Service Provider \r\nENAV\u0027s core business is to manage the regulated Air Traffic Control Services (ATCS), for which it is entrusted, allowing aircraft to fly within the assigned airspace with constantly enhanced levels of safety, optimizing the effectiveness of the service provided and the efficiency of the company",
      "providerType": [
        "CIVIL_AIR_NAVIGATION_SERVICE_PROVIDER"
      ],
      "pointOfContact": [
        {
          "name": "Andrea Quaresima",
          "description": "CCS Collaborative tools administrator - To request access to the CCS documentation",
          "email": "andrea.quaresima@enav.it",
          "phoneNumber": ""
        },
        {
          "name": "Guillaume Ramonet",
          "description": "Coflight Cloud Services Program Director - To request access to the CCS service",
          "email": "Guillaume.Ramonet@aviation-civile.gouv.fr",
          "phoneNumber": ""
        },
        {
          "name": "Service Desk",
          "description": "For Incidents on services in operation, contact the Service desk [working hours/opening days] as described in the related support service (incident management) supplied by CCS provider to CCS customer during the procurement phase\r\n",
          "email": "",
          "phoneNumber": ""
        }
      ]
    },
    "serviceGeneralDescription": {
      "operationalNeed": [
        {
          "name": " 1 General operational need",
          "description": "CCS SSRCodeManagement Service addresses the assignment of SSR codes to eligible flights and release of SSR codes assigned to flights.\r\nIt addresses operations such as:\r\n-\treleaseSSRCode,\r\n-\trequestSSRCode,\r\n-\tsetModeSEligible."
        }
      ],
      "functionality": [
        {
          "name": "To release an SSRCode assigned to a flight",
          "description": "To release an SSRCode assigned to a flight",
          "realWorldEffect": "To manually release an assigned SSRCode that is not used for correlation purpose, in order to make this code available again"
        },
        {
          "name": "To request an assigned SSRCode for a flight",
          "description": "To request an assigned SSRCode for a flight",
          "realWorldEffect": "To manually assign a SSRCode given in the input, or to request an automatic SSRCode assignment"
        },
        {
          "name": "To set a flight as mode S eligible",
          "description": "To set a flight as mode S eligible",
          "realWorldEffect": "To change a mode S eligibility of a flight from TRUE to FALSE or from FALSE to TRUE"
        }
      ],
      "accessAndUseCondition": [
        {
          "description": "\u003cbold\u003eIPR\u003c/bold\u003e\r\nIn accordance with their internal contractual rules on IPRs, DSNA, ENAV and skyguide retain exclusive ownership of the information contained in this document, which is to be deemed as foreground of the Coflight Cloud Services project (aiming at delivering remote flight data processing).\r\n\r\n\u003cbold\u003eAccess to the Service\u003c/bold\u003e\r\nThis service is provided to Service Consumers under a contractual basis signed between the CCS Service Provider and the Service Consumer.",
          "name": "Information ownership",
          "type": "LEGAL_CONSTRAINT"
        },
        {
          "description": "If the service consumer also consumes other CCS services, this Service shall be consumed simultaneously with the other CCS SWIM Services that are part of the contractual agreement between the service consumer and CCS service provider.",
          "name": "Dependencies with other CCS Services",
          "type": "SERVICE_CONSUMPTION_CONSTRAINT"
        },
        {
          "description": "This service will be updated to be as much as possible in line with the Service Definition produced by SESAR Virtual Centre activities",
          "name": "Alignment to SESAR Virtual Centre activity",
          "type": "SERVICE_POLICY"
        },
        {
          "description": "Both the SWIM Service Description documents / Protobuf files and the CCS Services are versioned.\r\nThe version assigned to SSDs and to Protobuf files is composed by four digits in the form x.y.z.w.\r\nNew releases are numbered according to the following rule (compared to the previous version): \r\n-\tw increased by one: means that some content that could be ignored by the developers changed and the changes do not affect the protobuf files generation. For example, changes in the comments or in the descriptions of services, fields and data structures.\r\n-\tz increased by one: means that some content is changed by adding (but not changing or removing) some messages and/or data types. The generated protobuf files are expected to be an extension of the previous one and as result they are backward compatible.\r\n-\ty increased by one: means that the file is changed by changing or removing some operations. The generated protobuf files are not expected to be compatible with the previous one.\r\n-\tx increased by one: means that the file contains a new baseline. Major changes are expected to be present.\r\n\r\nThe service version is composed by 3 digits a.b.c assigned according to the following rule:\r\n- a could be 0,1,2 depending on the status of the service with respect to the SWIM registration phase:\r\n0: before the service application (as candidate)\r\n1: if candidate\r\n2: if compliant\r\n- b Increments if major changes have been done with respect to the previous version (modify/remove). No backward compatibility.\r\n- c Increments if minor changes have been done with respect to the previous version (addition/description modified). Full backward compatibility.\r\n",
          "name": "Service versioning",
          "type": "SERVICE_POLICY"
        },
        {
          "description": "Services management review are regularly organized with CCS customers to monitor the usability of the services and the KPI related to the quality of service described in the SLA.",
          "name": "KPIs monitoring",
          "type": "SERVICE_POLICY"
        },
        {
          "description": "The interface of CCS business services is accessible from outside DSNA premises through Internet using IPV4. An IPSEC link (IKE v1 or IKE v2) is used between CCS provider and CCS customer terminal network equipment.",
          "name": "Confidentiality and integrity",
          "type": "SECURITY_CONSTRAINT"
        },
        {
          "description": "The CCS provider acts as a certificate authority to provide and validate X.509 certificates. Before service operation, a package including X509 certificate and private key, will be delivered to the customer using the PKCS#12 archive file format. \r\nMutual authentication with X509 certificates is used between the AMQP broker and its client. Prior to any exchanges of AMQP Messages, the CCS customer shall establish with CCS Provider a TLS session using TLS 1.2 version. \r\n-\tCCS customer shall provide its certificates when establishing the connection. The certificates shall be valid (nor corrupted, nor revoked). The certificates of the CCS customer allow its identification for the use of the different CCS services (CCS business services at lower level).\r\n-\tThe CCS provider transmit its complete certificate during the connection phase and allow OCSP stapling to allow the CCS customer to check if it is valid or not.\r\n-\tFor the cryptographic algorithms, the authorized cipher suites must be agreed between the CCS provider and the customer based on the standards.\r\nAs an ATSU, the CCS business services customer, once identified, has access to all CCS services.\r\nIn the case of a Customer that would fail to authenticate 3 times in less than 3 minutes, the IP address would be ban and has to trigger the incident management procedure.\r\n",
          "name": "Authentication and authorisation",
          "type": "SECURITY_CONSTRAINT"
        }
      ],
      "qualityOfService": [
        {
          "name": "Services level objectives",
          "description": "The service level objectives regarding the availability, response time, throughput and recoverability of CCS Services depend on the purpose (mission) for which the Customer intend to use them (e.g. integration, test, training, operational purpose).\r\nThese service level objectives are therefore negotiated with the Customers, based on their safety analysis, and are detailed in the specific Service Level Agreement established with each CCS Customer."
        },
        {
          "name": "Network performance",
          "description": "The minimum Bandwidth required to consume CCS services (hypothesis for the technical integration service of 300 simultaneous flight managed by the system) is 10MB/s."
        },
        {
          "name": "Rate limitation",
          "description": "Customer ATSU shall restrict the overall rate of requests to a maximum of 720 request/minutes. The detailed rate limitation per services is detailed in the associated swim service description of each service."
        }
      ],
      "validation": [
        {
          "description": "Prior to any Service publication in the European SWIM Registry, CCS partners organise a joint validation that involve both CCS Providers and the first CCS Customer. \r\nTest Cases dealing with several test topics are run using a happy flow of few flights to check that the services are consistent, compliant with the actual service description and meet the acceptance criteria formulated by the first CCS Customer.\r\nAny anomaly raised by the test case execution is conveyed into the CCS bug management process. For each anomaly, a criticality level is assigned:\r\n-\tCritical: blocking issue that prevents the usage of a service functionality\r\n-\tMajor: issue that prevents the usage of a service functionality for which a workaround has been identified\r\n-\tMinor: other anomalies neither Critical nor Major \r\nDepending on the impacts, the issue is addressed to the specific team(s) in charge of the resolution (specification team, software team, dataset team...).\r\nOnce fixed, the issue is verified during one of the next validation sessions and closed if the resolution is confirmed by the validation team.\r\n\r\nIn addition to the functional validation, CCS partners also organise performance validations. The objectives of such sessions are:\r\n-\tto measure the CCS system response times according to several Key Performance Indicators (KPI) and Non-Functional Requirements (NFR) agreed among parties\r\n-\tto indicate if the KPI target values are reached or not\r\nThe following KPI are evaluated:\r\n-\tMaximum Provider response time for receiving the related to a short process request triggered from the CCS Client\r\n-\tMaximum Provider response time for receiving the result related to a long process request triggered from the CCS Client\r\n-\tMaximum Provider response time for receiving the result Provider related to a SFPL external event processing\r\nWhile the following KPI is just monitored for information:\r\n-\tMaximum Provider response time for receiving an Acknowledge (or Reject) related to a request triggered from the CCS Client.\r\nIt is worth noting that the performance test cases involve only the operations from a subset of CCS services.\r\nThe response times from end to end are computed by costumer equipments. CCS reference platform internal traversal times are measured on provider side.\r\nThe details about executed test cases and related results are provided in the CCS Validation evidence document of this service.\r\n",
          "type": "COLLABORATIVE_VALIDATION"
        }
      ]
    },
    "serviceInformationDescription": {
      "exchangeSchema": [
        {
          "name": "releaseSSRCode Exchange schema",
          "reference": "CCS_ssrCodeManagement.proto 1.0.0.2",
          "schemaLanguage": "Protocol buffer"
        },
        {
          "name": "requestSSRCode Exchange schema",
          "reference": "CCS_ssrCodeManagement.proto 1.0.0.2",
          "schemaLanguage": "Protocol buffer"
        },
        {
          "name": "setModeSEligible Exchange schema",
          "reference": "CCS_ssrCodeManagement.proto 1.0.0.2",
          "schemaLanguage": "Protocol buffer"
        }
      ],
      "informationDefinition": [
        {
          "airmConformant": true,
          "airmVersion": "1.0.0",
          "description": "For the exchanged data model, please refer to the SWIM Service Description document (sections 2.1 and 2.2)",
          "name": "Service Information Definition"
        }
      ]
    },
    "serviceTechnicalDescription": {
      "securityMechanism": [
        {
          "description": "Mutual authentication with X509 certificates is used between the AMQP broker and its client established within a TLS session",
          "name": "Mutual authentication with X509 certificates",
          "type": [
            "AUTHENTICATION"
          ]
        },
        {
          "description": "TLS 1.2 is used to provide confidentiality and integrity at transport layer.",
          "name": "TLS 1.2",
          "type": [
            "CONFIDENTIALITY",
            "INTEGRITY"
          ]
        },
        {
          "description": "IPsec is used to provide confidentiality, authentication and integrity at network (internet) layer",
          "name": "IPsec v4",
          "type": [
            "CONFIDENTIALITY",
            "INTEGRITY",
            "AUTHENTICATION"
          ]
        }
      ],
      "serviceMonitoring": {
        "monitoringDescription": "CCS services are supervised in real time by trained and licensed ATSEPS. A dedicated service to supervise the complete CCS swim services portfolio is available to the customer.\r\nFor more information, please refer to the swim service description of the CCS technical supervision distribution service\r\n"
      },
      "technicalConstraint": [
        {
          "name": "Time synchronisation",
          "description": "CCS provider and CCS customer use the date and time for the operation of each service and they must be able to date the traces and the information passed to the SSI log collector. \r\nNTP is the standard solution to synchronize time accurately. So, CCS Provider and CCS Customer should use, each of them, at least one NTP server (stratum N), integrated in a NTP network containing a stratum 0 reference time clock.\r\n"
        },
        {
          "name": "Provider-Customer interface-Exchange patterns",
          "description": "Each services interface of the CCS business services relies on the concept of AMQP queues and topics. \r\n-\tThe CCS customer shall use an implementation of the AMQP 1.0 specification to connect to the CCS provider AMQP 1.0 endpoint. \r\n-\tThe CCS provider endpoint is an AMQP 1.0 broker managing queue and topics. \r\nThe message payloads are encoded following a protobuf format. \r\nThe message exchange patterns used by the CCS services are request/reply and publish/subscribe. The CCS customer acts as requester and subscriber. The CCS provider acts as responder and publisher.\r\nConcerning publish-subscribe, the CCS customer subscribes to a CCS distribution service by directly listening to an appropriate AMQP topic, which name follows the CCS derivation rules.\r\nThe subscription to CCS Distribution Services is not performed via subscription operations, but by connecting to the appropriate AMQP Topic described in the .protobuf files as topic://\u003cNameSpaceName\u003e.\u003cServiceInterfaceName\u003e.\u003cLogicalOperation\u003e\r\nThe subscribers can filter the messages they want to receive by using the filter parameters defined for each subscription operation.\r\nPlease note that, after subscribing to a CCS Distribution Service, the current repository of messages needs to be obtained from CCS via the get\u003cMessageRepository\u003e operation defined for each CCS Distribution Service (see \"Subscription\" section of the distribution operation of the service).\r\nN.B:\r\n- If the CCS platform restarts while the Customer is connected to the AMQP Broker, the current repository of messages is published again.\r\n- The acknowledgement that a Customer receives to his request (\"RequestReport\") may be received after the data distribution that this request has triggered, as these two messages are managed asynchronously by AMQP Queues and Topics\r\n\r\nConcerning request-reply the CCS customer sends a request by sending a message to an appropriate AMQP queue, which name follows the CCS derivation rules, to make a request. The request message contains the name of the queue into the CCS customer listens and in which the reply from the CCS provider is expected.\r\n"
        },
        {
          "name": "Provider-Customer interface-Connection management",
          "description": "The Customer is the one that initiates the TCP connection and in case of a Network / Connection failure, it is the responsibility of the CCS customer to try to reconnect regularly."
        },
        {
          "name": "Provider-Customer interface-Queue management",
          "description": "The AMQP broker creates the physical resources associated with a destination (queue, topic) on demand when messages are actually sent to them.\r\nPermissions on queues and topics (read/write access) are granted based on intended usage. The CCS customer will have: \r\n-\tWrite access on the request queue\r\n-\tRead access on the reply queue \r\n-\tRead access on the topic for distribution service\r\n"
        }
      ]
    },
    "serviceInterface": [
      {
        "behaviour": [
          {
            "name": "Service behaviour",
            "description": "The detailed behavior of the service is provided in each operation dedicated section"
          }
        ],
        "description": "This Service Interface exposes the set of basic operations needed for SSR Code Management.",
        "endPoint": [
          {
            "address": "For security reasons, the addresses will be communicated only to Customers",
            "addressableResource": [
              {
                "description": "Name of the queue",
                "name": "queue://ccs.protobuf.ssrCodeManagement.SSRCodeManagementProvider.releaseSSRCode",
                "type": "QUEUE"
              },
              {
                "description": "Name of the queue",
                "name": "queue://ccs.protobuf.ssrCodeManagement.SSRCodeManagementProvider.requestSSRCode",
                "type": "QUEUE"
              }
            ],
            "name": "SSRCodeManagementProvider"
          }
        ],
        "interfaceBindingDescription": "Information is exchanged in Protobuf format. Protocol buffers or Protobuf are Google\u0027s language-neutral, platform-neutral, extensible mechanism for serializing structured data similar to XML, but smaller, faster, and simpler. ",
        "interfaceProvisionSide": "PROVIDER_SIDE_INTERFACE",
        "name": "SSRCodeManagementProvider",
        "networkInterfaceBinding": "IPV4_SECURE_UNICAST",
        "operation": [
          {
            "description": "The operation allows to release an assigned SSR code if it is not used for correlation purpose.\r\nDue to the limited number of Mode 3/A SSR codes it is necessary to release assigned codes back into the pool of available codes when possible. Normally this would be handled automatically with the Flight Data Manager or other service monitoring the status of a flight and requesting the release of a code when a flight lands, leaves the Area of Responsibility of an ATSU or is cancelled.. ",
            "idempotency": "NON_IDEMPOTENT",
            "name": "releaseSSRCode",
            "operationMessage": [
              {
                "description": "The SSRCodeReleaseRequest message is used to release the SSR code assigned to a flight back to the pool of available codes making it available for assignment to another flight.",
                "direction": "IN",
                "isFault": false,
                "name": "SSRCodeReleaseRequest"
              },
              {
                "description": "",
                "direction": "OUT",
                "isFault": false,
                "name": "SSRCMResponse"
              }
            ],
            "processingConsideration": [
              {
                "name": "Successful request",
                "description": "If the request is successful, the SSR code assigned to the segment is updated.\r\nThen the updated SFPL is published using the FlightDataDistributionSubscriber Service Interface in order to be displayed in the Controller HMIs."
              }
            ],
            "synchronicity": "SYNCHRONOUS",
            "tiProtocolMethod": [
              "transfer"
            ]
          },
          {
            "description": "The operation allows to manually assign a code given in the input, or to request an automatic code assignment.\r\nThe manual assignment is allowed if there is no code assigned, as well as if there is one already assigned to the flight, in order to modify it.\r\nIf ssrCode is provided in the input (i.e. manual assignment), the operation allows changing either the code assigned to the segment given in the input, the code assigned to the previous segment, or the one assigned to the next.\r\n-\tfor the assignment of the code to the given segment: If the controlled SFPL internal segment is correlated on the current assigned SSR code, or if the flight is not yet correlated and previousSSRCode is empty, the system shall push the currently assigned SSR code in the previousSSRCode and the new assigned one in the assignedSSRCode. Otherwise the system shall overwrite the currently assigned SSR code by the new one.\r\n-\tfor the assignment of the code to the previous or next segment: the input is accepted if the code to modify is not currently used for correlation purpose. ",
            "idempotency": "NON_IDEMPOTENT",
            "name": "requestSSRCode",
            "operationMessage": [
              {
                "description": "The CWP or other service can requestSSRCode if a SSR code needs to be assigned.",
                "direction": "IN",
                "isFault": false,
                "name": "SSRCodeAssignmentRequest"
              },
              {
                "description": "",
                "direction": "OUT",
                "isFault": false,
                "name": "SSRCMResponse "
              }
            ],
            "processingConsideration": [
              {
                "name": "Successful request",
                "description": "If the request is successful, the SSR code(s) assigned to the segment is (are) updated.\r\nThen the updated SFPL is published using the FlightDataDistributionSubscriber Service Interface in order to be displayed in the Controller HMIs."
              }
            ],
            "synchronicity": "SYNCHRONOUS",
            "tiProtocolMethod": [
              "transfer"
            ]
          }
        ],
        "serviceInterfaceBinding": "SWIM_TI_YP_1_0_AMQP_MESSAGING",
        "tiPrimitiveMessageExchangePattern": "SYNCHRONOUS_REQUEST_RESPONSE"
      },
      {
        "behaviour": [
          {
            "name": "Service behaviour ",
            "description": "The detailed behavior of the service is provided in each operation dedicated section"
          }
        ],
        "description": "This Service Interface exposes the set of operations related to SSR Code Management that are not necessarily required to achieve a usual/basic interoperability level.",
        "endPoint": [
          {
            "address": "For security reasons, the addresses will be communicated only to Customers",
            "addressableResource": [
              {
                "description": "Name of the queue",
                "name": "queue://ccs.protobuf.ssrCodeManagement.AdvancedSSRCodeManagementProvider.setModeSEligible",
                "type": "QUEUE"
              }
            ],
            "name": "AdvancedSSRCodeManagementProvider"
          }
        ],
        "interfaceBindingDescription": "Information is exchanged in Protobuf format. Protocol buffers or Protobuf are Google\u0027s language-neutral, platform-neutral, extensible mechanism for serializing structured data similar to XML, but smaller, faster, and simpler. ",
        "interfaceProvisionSide": "PROVIDER_SIDE_INTERFACE",
        "name": "AdvancedSSRCodeManagementProvider",
        "networkInterfaceBinding": "IPV4_SECURE_UNICAST",
        "operation": [
          {
            "description": "The operation allows to reset the isEligibleForModeSCode indicator (i.e. change it from TRUE to FALSE) or, if manually reset, to enable again its automatic reassessment (i.e. enable its automatic change from FALSE to TRUE, if previously manually changed from TRUE to FALSE).\r\nThe setModeSEligible attribute is ignored by CCS.\r\n\r\nWhen the system will have to automatically assign a SSR code to the flight, the system will take this status (indicator set or not) into account to determine the proper code to use (discrete or conspicuity).\r\nBy default, automatic reassessment is allowed.\r\nOn reset of the \"Eligible for Mode S Code\" indicator in the SFPL, the system shall:\r\n-\ttrigger a new discrete SSR code automatic assignment to the controlled SFPL internal segments that had the conspicuity code automatically assigned and are not in left status, if any, and\r\n-\tstore the conspicuity code in the PSSR of these internal segments, if any, and\r\n-\tremove the Mode S address stored in the SFPL, if the SFPL was correlated on the conspicuity code.\r\n-\tdisable the automatic reassessment of the indicator.\r\nIf automatic reassessment is allowed, the indicator is TRUE if :\r\n-\tthe flight is Mode S equipped\r\n-\tthe entire remaining route is included in a Mode S declared Airspace\r\n-\tthe flight belongs to a Mode S flagged directional flow.\r\nFor an inbound flight, if the SSR code received from the upstream segment is the Mode S conspicuity code, the system forces the Mode S capability of the flight and considers it as a Mode S flight.. ",
            "idempotency": "NON_IDEMPOTENT",
            "name": "setModeSEligible",
            "operationMessage": [
              {
                "description": "The SSRSetModeSEligibleRequest message is used to change the eligibility status of the flight to conspicuity SSR code assignment.",
                "direction": "IN",
                "isFault": false,
                "name": "SSRSetModeSEligibleRequest"
              },
              {
                "description": "",
                "direction": "OUT",
                "isFault": false,
                "name": "SSRCMResponse "
              }
            ],
            "processingConsideration": [
              {
                "name": "Successful request",
                "description": "If the request is successful, the isEligibleForModeSCode indicator:\r\n-\tis updated in the \"reset\" case,\r\n-\tmight be updated in the \"enable automatic reassessment\" case.\r\nIf the indicator is modified, the updated SFPL is published using the FlightDataDistributionSubscriber Service Interface in order to be displayed in the Controller HMIs."
              }
            ],
            "synchronicity": "SYNCHRONOUS",
            "tiProtocolMethod": [
              "transfer"
            ]
          }
        ],
        "serviceInterfaceBinding": "SWIM_TI_YP_1_0_AMQP_MESSAGING",
        "tiPrimitiveMessageExchangePattern": "SYNCHRONOUS_REQUEST_RESPONSE"
      }
    ],
    "version": "2.0.0"
  }
}