OpenAPI
OpenAPI Version: 3.0.0
The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
The N32 handshake procedure is used between the SEPPs in two PLMNs to mutually authenticate each other and negotiate the security mechanism to use over N32-f along with associated security configuration parameters.
A HTTP/2 connection shall be established between the initiating SEPP and the responding SEPP end to end over TLS. The following N32 handshake procedures are specified in the subclauses below:
Security Capability Negotiation Procedure
Parameter Exchange Procedure
N32-f Context Termination Procedure
N32-f Error Reporting Procedure
N32-c connection: A TLS based connection between a SEPP in one PLMN and a SEPP in another PLMN.
Note |
This is a long-lived connection that is used between the SEPPs for cipher suite and protection policy exchange, and error notifications. |
N32-f connection: Logical connection that exists between a SEPP in one PLMN and a SEPP in another PLMN for exchange of protected HTTP messages.
Note |
When IPX providers are present in the path between the two SEPPs, an N32-f HTTP connection is setup on each hop towards the other SEPP. |
OpenAPI Version: 3.0.0
Version: '1.0.0'
Title: 'N32 Handshake API'
Description: 'N32-c Handshake'
Description: 3GPP TS 29.573 V15.1.0; 5G System; Public Land Mobile Network (PLMN) Interconnection; Stage 3
URL: http://www.3gpp.org/ftp/Specs/archive/29_series/29.573/
URL: '{apiRoot}/n32c-handshake/v1'
Variables:
API Root:
Default: https://example.com
Description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501.
Method: Post
Summary: Security Capability Negotiation
Tags:
- Security Capability Negotiation
Operation ID: PostExchangeCapability
Request Body:
Description: Custom operation for security capability negotiation
Required/Optional: true
Content:
Application/JSON:
Schema:
Reference: '#/components/schemas/SecNegotiateReqData'
Responses:
'200' OK (Successful negitiation of security capabilities)
Content:
Application/JSON:
Schema:
Reference: '#/components/schemas/SecNegotiateRspData'
'400': Reference 'TS29571_CommonData.yaml#/components/responses/400'
'411': Reference 'TS29571_CommonData.yaml#/components/responses/411'
'413': Reference 'TS29571_CommonData.yaml#/components/responses/413'
'415': Reference 'TS29571_CommonData.yaml#/components/responses/415'
'429': Reference 'TS29571_CommonData.yaml#/components/responses/429'
'500': Reference 'TS29571_CommonData.yaml#/components/responses/500'
'503': Reference 'TS29571_CommonData.yaml#/components/responses/503'
default:
Description: Unexpected error
Method: Post
Summary: Parameter Exchange
Tags:
- Parameter Exchange
Operation ID: PostExchangeParams
Request Body:
Description: Custom operation for parameter exchange
Required/Optional: true
Content:
Application/JSON:
Schema:
Reference: '#/components/schemas/SecParamExchReqData'
Responses:
'200' OK (Successful exchange of parameters)
Content:
Application/JSON:
Schema:
Reference: '#/components/schemas/SecParamExchRspData'
'400': Reference 'TS29571_CommonData.yaml#/components/responses/400'
'411': Reference 'TS29571_CommonData.yaml#/components/responses/411'
'413': Reference 'TS29571_CommonData.yaml#/components/responses/413'
'415': Reference 'TS29571_CommonData.yaml#/components/responses/415'
'429': Reference 'TS29571_CommonData.yaml#/components/responses/429'
'500': Reference 'TS29571_CommonData.yaml#/components/responses/500'
'503': Reference 'TS29571_CommonData.yaml#/components/responses/503'
default:
Description: Unexpected error
Method: Post
Summary: N32-f Context Terminate
Tags:
- N32-f Context Terminate
Operation ID: PostN32fTerminate
Request Body:
Description: Custom operation for n32-f context termination
Required/Optional: true
Content:
Application/JSON:
Schema:
Reference: '#/components/schemas/N32fContextInfo'
Responses:
'200' OK (Successful exchange of parameters)
Content:
Application/JSON:
Schema:
Reference: '#/components/schemas/N32fContextInfo'
'400': Reference 'TS29571_CommonData.yaml#/components/responses/400'
'411': Reference 'TS29571_CommonData.yaml#/components/responses/411'
'413': Reference 'TS29571_CommonData.yaml#/components/responses/413'
'415': Reference 'TS29571_CommonData.yaml#/components/responses/415'
'429': Reference 'TS29571_CommonData.yaml#/components/responses/429'
'500': Reference 'TS29571_CommonData.yaml#/components/responses/500'
'503': Reference 'TS29571_CommonData.yaml#/components/responses/503'
default:
Description: Unexpected error
Method: Post
Summary: N32-f Error Reporting Procedure
Tags:
- N32-f Error Report
Operation ID: PostN32fError
Request Body:
Description: Custom operation for n32-f error reporting procedure
Required/Optional: true
Content:
Application/JSON:
Schema:
Reference: '#/components/schemas/N32fErrorInfo'
Responses:
'204' successful error reporting
'400': Reference 'TS29571_CommonData.yaml#/components/responses/400'
'411': Reference 'TS29571_CommonData.yaml#/components/responses/411'
'413': Reference 'TS29571_CommonData.yaml#/components/responses/413'
'415': Reference 'TS29571_CommonData.yaml#/components/responses/415'
'429': Reference 'TS29571_CommonData.yaml#/components/responses/429'
'500': Reference 'TS29571_CommonData.yaml#/components/responses/500'
'503': Reference 'TS29571_CommonData.yaml#/components/responses/503'
default:
Description: Unexpected error
anyOf:
- type: string
enum:
- TLS
- ALS
- type: string
oneOf:
- $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
- $ref: '#/components/schemas/CallbackName'
anyOf:
- type: string
enum:
- GET
- PUT
- POST
- DELETE
- PATCH
- HEAD
- OPTIONS
- CONNECT
- TRACE
- type: string
anyOf:
- type: string
enum:
- UEID
- LOCATION
- KEY_MATERIAL
- AUTHENTICATION_MATERIAL
- AUTHORIZATION_TOKEN
- OTHER
- NONSENSITIVE
- type: string
anyOf:
- type: string
enum:
- URI_PARAM
- HEADER
- BODY
- MULTIPART_BINARY
- type: string
Type: object
Required:
- ieLoc
- ieType
Properties:
ieLoc:
Reference: '#/components/schemas/IeLocation'
ieType:
Reference: '#/components/schemas/IeType'
reqIe:
Type: string
rspIe:
Type: string
isModifiable:
Type: boolean
Type: object
Required:
- apiSignature
- apiMethod
- IeList
Properties:
apiSignature:
Reference: '#/components/schemas/ApiSignature'
apiMethod:
Reference: '#/components/schemas/HttpMethod'
IeList:
Type: array
Items:
Reference: '#/components/schemas/IeInfo'
minItems: 1
Type: object
Required:
- apiIeMappingList
Properties:
apiIeMappingList:
Type: array
Items:
Reference: '#/components/schemas/ApiIeMapping'
minItems: 1
dataTypeEncPolicy:
Type: array
Items:
Reference: '#/components/schemas/IeType'
minItems: 1
Type: object
Required:
- sender
- supportedSecCapabilityList
Properties:
sender:
Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn'
supportedSecCapabilityList:
Type: array
Items:
Reference: '#/components/schemas/SecurityCapability'
minItems: 1
Type: object
Required:
- sender
- selectedSecCapability
Properties:
sender:
Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn'
selectedSecCapability:
Reference: '#/components/schemas/SecurityCapability'
Type: object
Required:
- n32fContextId
Properties:
n32fContextId:
Type: string
jweCipherSuiteList:
Type: array
Items:
Type: string
minItems: 1
jwsCipherSuiteList:
Type: array
Items:
Type: string
minItems: 1
protectionPolicyInfo:
Reference: '#/components/schemas/ProtectionPolicy'
Type: object
Required:
- n32fContextId
Properties:
n32fContextId:
Type: string
selectedJweCipherSuite:
Type: string
selectedJwsCipherSuite:
Type: string
selProtectionPolicyInfo:
Reference: '#/components/schemas/ProtectionPolicy'
Type: object
Required:
- n32fContextId
Properties:
n32fContextId:
Type: string
Type: object
Required:
- callbackType
Properties:
callbackType:
Type: string
Type: object
Required:
- n32fMessageId
- n32fErrorType
Properties:
n32fMessageId:
Type: string
n32fErrorType:
Reference: '#/components/schemas/N32fErrorType'
failedModificationList:
Type: array
Items:
Reference: '#/components/schemas/FailedModificationInfo'
minItems: 1
errorDetailsList:
Type: array
Items:
Reference: '#/components/schemas/N32fErrorDetail'
minItems: 1
Type: object
Required:
- ipxId
- n32fErrorType
Properties:
ipxId:
Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn'
n32fErrorType:
Reference: '#/components/schemas/N32fErrorType'
Type: object
Required:
- attribute
- msgReconstructFailReason
Properties:
attribute:
Type: string
msgReconstructFailReason:
Reference: '#/components/schemas/FailureReason'
anyOf:
- type: string
enum:
- INTEGRITY_CHECK_FAILED
- INTEGRITY_CHECK_ON_MODIFICATIONS_FAILED
- MODIFICATIONS_INSTRUCTIONS_FAILED
- DECIPHERING_FAILED
- MESSAGE_RECONSTRUCTION_FAILED
- type: string
anyOf:
- type: string
enum:
- INVALID_JSON_POINTER
- INVALID_INDEX_TO_ENCRYPTED_BLOCK
- INVALID_HTTP_HEADER
- type: string