Hello,
In case you are interested in detailed procedures of the 3GPP specification, I have copied them at the end of this mail. > > I am confused. Is this a notify of the server to the client, or a > > configuration item by the server instructing client behaviour? > > It is notify from the server to client. I.e. client sends empty > TIMEOUT_PERIOD_FOR_LIVENESS_CHECK in the CFG_REQUEST and > server will send value in seconds inside its > TIMEOUT_PERIOD_FOR_LIVENESS_CHECK in CFG_REPLY. I.e. the server asks client > to use following livenss timeout period. 3GPP spec expects that if the client (User Equipment) supports the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK configuration attribute, then the client (User Equipment) *enforces* the timer value indicated in the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK configuration attribute in CFG_REPLY sent by server (Evolved Packet Data Gateway). I.e. it is an intruction, not a suggestion. It is supposed to work as follows: first request --> IDi, [N(INITIAL_CONTACT)], [[N(HTTP_CERT_LOOKUP_SUPPORTED)], CERTREQ+], [IDr], [CP(CFG_REQUEST (*TIMEOUT_PERIOD_FOR_LIVENESS_CHECK with empty value*) )], [N(IPCOMP_SUPPORTED)+], [N(USE_TRANSPORT_MODE)], [N(ESP_TFC_PADDING_NOT_SUPPORTED)], [N(NON_FIRST_FRAGMENTS_ALSO)], SA, TSi, TSr, [V+][N+] first response <-- IDr, [CERT+], AUTH, EAP, [V+][N+] / --> EAP repeat 1..N times | \ <-- EAP last request --> AUTH last response <-- AUTH, [CP(CFG_REPLY(*TIMEOUT_PERIOD_FOR_LIVENESS_CHECK with a value selected by server*))], [N(IPCOMP_SUPPORTED)], [N(USE_TRANSPORT_MODE)], [N(ESP_TFC_PADDING_NOT_SUPPORTED)], [N(NON_FIRST_FRAGMENTS_ALSO)], SA, TSi, TSr, [N(ADDITIONAL_TS_POSSIBLE)], [V+][N+] If the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK with a value selected by server is received as shown above, the client (user equipment) must perform the liveness check procedure with the timeout indicated by the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK configuration attribute. Detailed TS 24.302 client procedures related to the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK attribute are: ------------- 7.2.2 Tunnel establishment 7.2.2.1 Tunnel establishment accepted by the network ..... The UE may support the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK attribute as specified in subclause 8.2.4.2. If the UE supports the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK attribute, the UE shall include the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK attribute indicating support of receiving timeout period for liveness check in the CFG_REQUEST configuration payload. If the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK attribute as specified in subclause 8.2.4.2 indicating the timeout period for the liveness check is included in the CFG_REPLY configuration payload or if the UE has a pre-configured timeout period, the UE shall perform the tunnel liveness checks as described in subclause 7.2.2A. NOTE: The timeout period for liveness check is pre-configured in the UE in implementation-specific way. ..... 7.2.2A Liveness check If the UE supports the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK attribute as specified in subclause 8.2.4.2 and the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK attribute as specified in subclause 8.2.4.2 was included in the CFG_REPLY configuration payload received in subclause 7.2.2 the UE shall set the timeout period for the liveness check to the value of the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK attribute. If the UE does not support the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK attribute as specified in subclause 8.2.4.2 or the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK attribute as specified in subclause 8.2.4.2 was not included in the CFG_REPLY configuration payload received in subclause 7.2.2 then the UE shall use the pre-configured value of the timeout period for liveness check. NOTE: The timeout period is pre-configured in the UE in implementation-specific way. If the UE has not received any cryptographically protected IKEv2 or IPSec message for the duration of the timeout period for liveness check, the UE shall send an INFORMATIONAL request with no payloads as per IETF RFC 5996 [28]. If an INFORMATIONAL response is not received, the UE shall deem the IKEv2 security association to have failed. ------------- Detailed TS 24.302 server procedures related to the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK attribute are: ------------- The ePDG shall proceed with IPsec tunnel setup completion and shall relay in the IKEv2 Configuration Payload (CFG_REPLY) of the final IKE_AUTH response message: ... - The ePDG may include the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK attribute as specified in subclause 8.2.4.2 indicating the timeout period for liveness check in the CFG_REPLY configuration payload. Presence of the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK attribute in the IKE_AUTH request can be used as input for decision on whether to include the TIMEOUT_PERIOD_FOR_LIVENESS_CHECK attribute. ... ------------- Kind regards Ivo Sedlacek
_______________________________________________ IPsec mailing list IPsec@ietf.org https://www.ietf.org/mailman/listinfo/ipsec