# 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 ```