# n3iwf
```plantuml
skinparam wrapWidth 150
skinparam defaultFontSize 14
box UE
participant "Telephony/\nIwlanDataService"
participant NetAgent
participant NAS
participant N3AS
participant IKE
end box
box 5GS
participant N3IWF
participant SMF
end box
autonumber
"Telephony/\nIwlanDataService"-->NAS: SetupDataCall Request
NAS->SMF: PDU SESSION ESTABLISHMENT REQUEST
loop
N3IWF->IKE: CREATE_CHILD_SA Request:
note left #aqua
N(5G_QOS_INFO), N(UP_IP4_ADDRESS), N(UP_IP6_ADDRESS), SA, TSi, TSr CP(INTERNAL_IP4_ADDRESS), CP(INTERNAL_IP6_ADDRESS)
end note
note over IKE: set up IPsec tunnel
IKE->N3IWF: CREATE_CHILD_SA Response
IKE-->N3AS: notify Child SA is opened
note over GRE: set up GRE tunnel
N3AS-->NetAgent: provide GRE tunnel and associated QFI and PSI
end
SMF->NAS: PDU SESSION ESTABLISHMENT ACCEPT
note left #aqua
PDU address, Authorized QoS rules, [Reflective QoS Timer]
end note
NAS-->NetAgent: provide traffic filter, 5QI and QFI
Note over NetAgent: set up packet filter for GRE tunnel
NAS-->"Telephony/\nIwlanDataService": SetupDataCall Response
Note over "Telephony/\nIwlanDataService": set up network interface of PDU session
```
```plantuml
skinparam wrapWidth 150
skinparam defaultFontSize 14
box UE
participant "Telephony/\nIwlanDataService"
participant NetAgent
participant NAS
participant N3AS
participant IKE
end box
box 5GS
participant N3IWF
participant SMF
end box
autonumber
opt
"Telephony/\nIwlanDataService"-->NAS: DeactDataCall Request
NAS->SMF: PDU SESSION RELEASE REQUEST
end
loop
N3IWF->IKE: INFORMATION \n DELETE(SPI)
Note over IKE: remove IPsec tunnel
IKE->N3IWF: INFORMATION
IKE-->N3AS: Notify Child SA is closed
Note over N3AS: remove GRE tunnel
N3AS-->NetAgent: Provide GRE tunnel and associated QFI and PSI
end
SMF->NAS: PDU SESSION RELEASE COMMAND
NAS->SMF: PDU SESSION RELEASE ACK
NAS-->NetAgent: provide traffic filter, 5QI and QFI
Note over NetAgent: remove packet filters for GRE tunnel
NAS-->"Telephony/\nIwlanDataService": DeactDataCall Response
```
```plantuml
skinparam wrapWidth 150
skinparam defaultFontSize 14
box UE
participant "Telephony/\nIwlanDataService"
participant NetAgent
participant NAS
participant N3AS
participant IKE
end box
box 5GS
participant N3IWF
participant SMF
end box
autonumber
opt
NAS->SMF: PDU SESSION MODIFICATION REQUEST
end
loop
alt
N3IWF->IKE: CREATE_CHILD_SA Request
note left #aqua
N(5G_QOS_INFO), N(UP_IP4_ADDRESS), N(UP_IP6_ADDRESS), SA, TSi, TSr CP(INTERNAL_IP4_ADDRESS), CP(INTERNAL_IP6_ADDRESS)
end note
Note over IKE: add IPsec tunnel
IKE->N3IWF: CREATE_CHILD_SA Respnse
IKE-->N3AS: notify Child SA is closed
Note over N3AS: set up GRE tunnel
N3AS-->NetAgent: provide GRE tunnel and associated QFI and PSI
Note over NetAgent: set up packet filters for GRE tunnel
else
N3IWF->IKE: INFORMATION
note left #aqua
DELETE(SPI)
end note
Note over IKE: remove IPsec tunnel
IKE->N3IWF: INFORMATION
IKE-->N3AS: motify Child SA is closed
Note over N3AS: remove GRE tunnel
N3AS-->NetAgent: Provide GRE tunnel and associated QFI and PSI
Note over NetAgent: remove packet filters for GRE tunnel
else
N3IWF->IKE: INFORMATION
note left #aqua
N(5G_QOS_INFO)
end note
IKE->N3IWF: INFORMATION
IKE-->N3AS: update the information in N(5G_QOS_INFO)
Note over N3AS: update GRE tunnel
N3AS-->NetAgent: provide GRE tunnel and associated QFI and PSI
Note over NetAgent: update packet filters for GRE tunnel
end
end
SMF->NAS: PDU SESSION MODIFICATION COMMAND
NAS->SMF: PDU SESSION MODIFICATION ACK
NAS-->NetAgent: provide traffic filter, 5QI and QFI
Note over NetAgent: remove packet filter rule for GRE tunnel
NAS-->"Telephony/\nIwlanDataService": DeactDataCall Response
```
```plantuml
skinparam wrapWidth 150
skinparam defaultFontSize 14
box UE
participant NAS
participant NetAgent
participant GRE
end box
box 5GS
participant N3IWF
participant SMF
end box
autonumber
NAS->SMF: PDU SESSION ESTABLISHMENT REQUEST
SMF->NAS: PDU SESSION ESTABLISHMENT ACCEPT
note left #aqua
PDU address, Authorized QoS rules, [Reflective QoS Timer]
end note
N3IWF->GRE: with RQI indicator
GRE->NetAgent: derive traffic filter and install
NetAgent->NetAgent: remove traffic filter after Reflective QoS Timer expires
```
```plantuml
skinparam wrapWidth 150
skinparam defaultFontSize 14
box UE
participant NetAgent
participant PacketRoute
participant NAS
participant N3AS
participant IKE
end box
box 5GS
participant N3IWF
participant AMF
end box
autonumber
alt UE-Triggered Service Request
PacketRoute->PacketRoute: No GRE tunnel assoicated to the QFI
Note over PacketRoute: Pend the traffic until getting the response of SERVICE REQUEST
PacketRoute->NAS: initiate SERVICE REQUEST to establish Data Child SA and GRE
else NW-Triggered Service Request
AMF->NAS: NAS NOTIFICATION
end
NAS->AMF: SERVICE REQUEST
loop
N3IWF->IKE: CREATE_CHILD_SA Request:
note left #aqua
N(5G_QOS_INFO), N(UP_IP4_ADDRESS), N(UP_IP6_ADDRESS), SA, TSi, TSr CP(INTERNAL_IP4_ADDRESS), CP(INTERNAL_IP6_ADDRESS)
end note
Note over IKE: set up IPsec tunnel
IKE->N3IWF: CREATE_CHILD_SA Response
IKE-->N3AS: notify Child SA is opened
Note over N3AS: set up GRE tunnel
N3AS-->NetAgent: provide GRE tunnel and associated QFI and PSI
end
opt UE-Triggered Service Request
PacketRoute->NAS: reply SERVICE REQUEST result
Note over PacketRoute: resume the pending traffic
end
AMF->NAS: SERVICE ACCEPT
```