Nnrf_NFDiscovery

The Nnrf_NFDiscovery service allows a Network Function Instance to discover services offered by other Network Function Instances, by querying the local NRF.

It also allows an NRF in a PLMN to re-issue a discovery request towards an NRF in another PLMN (e.g., the HPLMN of a certain UE).

Reference: 3GPP TS 29.510 version 15.0.0 Release 15

OpenAPI

OpenAPI Version: 3.0.0

Info


Version: '1.0.0' 
Title: 'NRF NFDiscovery Service' 
Description: 'NRF NFDiscovery  Service' 

Servers


  URL: '{apiRoot}/nnrf-disc/v1' 
  Variables: 
    API Root: 
      Default: https://example.com 
      Description: apiRoot as defined in subclause subclause 4.4 of 3GPP TS 29.501 

Security


- {} 
- oAuth2ClientCredentials: 
    - nnrf-disc 

Paths

/nf-instances


  get: 
    Summary: Search a collection of NF Instances 
    Operation ID: SearchNFInstances 
 
    Tags: 
      - NF Instances (Store) 
 
    Parameters: 
      - Name: target-nf-type 
        In: query 
        Description: Type of the target NF 
        Required/Optional: true 
        Schema: 
          Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' 
      - Name: requester-nf-type 
        In: query 
        Description: Type of the requester NF 
        Required/Optional: true 
        Schema: 
          Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' 
      - Name: service-names 
        In: query 
        Description: Name of the service offered by the NF 
        Schema: 
          Type: array 
          Items: 
            Type: string 
          Min Items: 1 
        Style: form 
        Explode: false 
      - Name: requester-nf-instance-fqdn 
        In: query 
        Description: FQDN of the requester NF 
        Schema: 
          Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' 
      - Name: target-plmn-list 
        In: query 
        Description: Id of the PLMN where the target NF is located 
        Content: 
          Application/JSON: 
            Schema: 
              Type: array 
              Items: 
                Reference: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' 
              Min Items: 1 
      - Name: requester-plmn-list 
        In: query 
        Description: Id of the PLMN where the NF issuing the Discovery request is located 
        Content: 
          Application/JSON: 
            Schema: 
              Type: array 
              Items: 
                Reference: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' 
              Min Items: 1 
      - Name: target-nf-instance-id 
        In: query 
        Description: Identity of the NF instance being discovered 
        Schema: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' 
      - Name: target-nf-fqdn 
        In: query 
        Description: FQDN of the NF instance being discovered 
        Schema: 
          Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' 
      - Name: hnrf-uri 
        In: query 
        Description: Uri of the home NRF 
        Schema: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/Uri' 
      - Name: snssais 
        In: query 
        Description: Slice info of the target NF 
        Content: 
          Application/JSON: 
            Schema: 
              Type: array 
              Items: 
                Reference: 'TS29571_CommonData.yaml#/components/schemas/Snssai' 
              Min Items: 1 
      - Name: dnn 
        In: query 
        Description: Dnn supported by the BSF, SMF or UPF 
        Schema: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/Dnn' 
      - Name: nsi-list 
        In: query 
        Description: NSI IDs that are served by the services being discovered 
        Schema: 
          Type: array 
          Items: 
            Type: string 
          Min Items: 1 
        Style: form 
        Explode: false 
      - Name: smf-serving-area 
        In: query 
        Schema: 
          Type: string 
      - Name: tai 
        In: query 
        Description: Tracking Area Identity 
        Content: 
          Application/JSON: 
            Schema: 
              Reference: 'TS29571_CommonData.yaml#/components/schemas/Tai' 
      - Name: amf-region-id 
        In: query 
        Description: AMF Region Identity 
        Schema: 
          Type: string 
      - Name: amf-set-id 
        In: query 
        Description: AMF Set Identity 
        Schema: 
          Type: string 
      - Name: guami 
        In: query 
        Description: Guami used to search for an appropriate AMF 
        Schema: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/Guami' 
      - Name: supi 
        In: query 
        Description: SUPI of the user 
        Schema: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/Supi' 
      - Name: ue-ipv4-address 
        In: query 
        Description: IPv4 address of the UE 
        Schema: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' 
      - Name: ip-domain 
        In: query 
        Description: IP domain of the UE, which supported by BSF 
        Schema: 
          Type: string 
      - Name: ue-ipv6-prefix 
        In: query 
        Description: IPv6 prefix of the UE 
        Schema: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' 
      - Name: pgw-ind 
        In: query 
        Description: Combined PGW-C and SMF or a standalone SMF 
        Schema: 
          Type: boolean 
      - Name: pgw 
        In: query 
        Description: PGW FQDN of a combined PGW-C and SMF 
        Schema: 
          Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' 
      - Name: gpsi 
        In: query 
        Description: GPSI of the user 
        Schema: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' 
      - Name: external-group-identity 
        In: query 
        Description: external group identifier of the user 
        Schema: 
          Type: string 
      - Name: data-set 
        In: query 
        Description: data set supported by the NF 
        Schema: 
          Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DataSetId' 
      - Name: routing-indicator 
        In: query 
        Description: routing indicator in SUCI 
        Schema: 
          Type: string 
          pattern: '^[0-9]{1,4}$' 
      - Name: group-id-list 
        In: query 
        Description: Group IDs of the NFs being discovered 
        Schema: 
          Type: array 
          Items: 
            Reference: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' 
          Min Items: 1 
        Style: form 
        Explode: false 
      - Name: dnai-list 
        In: query 
        Description: Data network access identifiers of the NFs being discovered 
        Schema: 
          Type: array 
          Items: 
            Reference: 'TS29571_CommonData.yaml#/components/schemas/Dnai' 
          Min Items: 1 
        Style: form 
        Explode: false 
      - Name: supported-features 
        In: query 
        Description: Features required to be supported by the target NF 
        Schema: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' 
      - Name: upf-iwk-eps-ind 
        In: query 
        Description: UPF supporting interworking with EPS or not 
        Schema: 
          Type: boolean 
      - Name: chf-supported-plmn 
        In: query 
        Description: PLMN ID supported by a CHF 
        Content: 
          Application/JSON: 
            Schema: 
              Reference: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' 
      - Name: preferred-locality 
        In: query 
        Description: preferred target NF location 
        Schema: 
          Type: string 
      - Name: access-type 
        In: query 
        Description: AccessType supported by the target NF 
        Schema: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/AccessType' 
      - Name: If-None-Match 
        In: header 
        Description: Validator for conditional requests, as described in IETF RFC 7232, 3.2 
        Schema: 
          Type: string 
 
    Responses: 
      '200': 
        Description: Expected response to a valid request 
        Content: 
          Application/JSON: 
            Schema: 
              Reference: '#/components/schemas/SearchResult' 
        Headers: 
          Cache-Control: 
            Description: Cache-Control containing max-age, described in IETF RFC 7234, 5.2 
            Schema: 
              Type: string 
          ETag: 
            Description: Entity Tag containing a strong validator, described in IETF RFC 7232, 2.3 
            Schema: 
              Type: string 
      '307': 
        Description: Temporary Redirect 
      '400': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/400' 
      '403': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/403' 
      '404': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/404' 
      '411': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/411' 
      '413': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/413' 
      '415': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/415' 
      '500': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/500' 
      '501': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/501' 
      '503': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/503' 
      Default: 
        Reference: 'TS29571_CommonData.yaml#/components/responses/default' 

Components


securitySchemes: 
  oAuth2ClientCredentials: 
    Type: oauth2 
    Flows: 
      clientCredentials: 
        tokenUrl: '/oauth2/token' 
        scopes: 
          nnrf-disc: Access to the Nnrf_NFDiscovery API 
 
schemas: 
  SearchResult: 
    Type: object 
    Required: 
      - nfInstances 
    Properties: 
      validityPeriod: 
        Type: integer 
      nfInstances: 
        Type: array 
        Items: 
          Reference: '#/components/schemas/NFProfile' 
  NFProfile: 
    Type: object 
    Required: 
      - nfInstanceId 
      - nfType 
      - nfStatus 
    Properties: 
      nfInstanceId: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' 
      nfType: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' 
      nfStatus: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFStatus' 
      plmnList: 
        Type: array 
        Items: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' 
        minItems: 1 
      sNssais: 
        Type: array 
        Items: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/Snssai' 
        minItems: 1 
      nsiList: 
        Type: array 
        Items: 
          Type: string 
        minItems: 1 
      fqdn: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' 
      ipv4Addresses: 
        Type: array 
        Items: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' 
        minItems: 1 
      ipv6Addresses: 
        Type: array 
        Items: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' 
        minItems: 1 
      capacity: 
        Type: integer 
        Minimum: 0 
        Maximum: 65535 
      load: 
        Type: integer 
        Minimum: 0 
        Maximum: 100 
      locality: 
        Type: string 
      priority: 
        Type: integer 
        Minimum: 0 
        Maximum: 65535 
      udrInfo: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdrInfo' 
      udmInfo: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdmInfo' 
      ausfInfo: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AusfInfo' 
      amfInfo: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AmfInfo' 
      smfInfo: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SmfInfo' 
      upfInfo: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UpfInfo' 
      pcfInfo: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PcfInfo' 
      bsfInfo: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/BsfInfo' 
      chfInfo: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ChfInfo' 
      customInfo: 
        Type: object 
      recoveryTime: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/DateTime' 
      nfServicePersistence: 
        Type: boolean 
        Default: false 
      nfServices: 
        Type: array 
        Items: 
          Reference: '#/components/schemas/NFService' 
        minItems: 1 
  NFService: 
    Type: object 
    Required: 
      - serviceInstanceId 
      - serviceName 
      - versions 
      - scheme 
      - nfServiceStatus 
    Properties: 
      serviceInstanceId: 
        Type: string 
      serviceName: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' 
      versions: 
        Type: array 
        Items: 
          Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFServiceVersion' 
        minItems: 1 
      scheme: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/UriScheme' 
      nfServiceStatus: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFServiceStatus' 
      fqdn: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' 
      ipEndPoints: 
        Type: array 
        Items: 
          Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' 
        minItems: 1 
      apiPrefix: 
        Type: string 
      defaultNotificationSubscriptions: 
        Type: array 
        Items: 
          Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DefaultNotificationSubscription' 
        minItems: 1 
      capacity: 
        Type: integer 
        Minimum: 0 
        Maximum: 65535 
      load: 
        Type: integer 
        Minimum: 0 
        Maximum: 100 
      priority: 
        Type: integer 
        Minimum: 0 
        Maximum: 65535 
      recoveryTime: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/DateTime' 
      chfServiceInfo: 
        Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ChfServiceInfo' 
      supportedFeatures: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' 

External Docs


Description: 3GPP TS 29.510 V15.2.0; 5G System; Network Function Repository Services; Stage 3 
URL: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.510/'