/* Copyright (c) ETSI 2023. This software is subject to copyrights owned by ETSI. Non-exclusive permission is hereby granted, free of charge, to copy, reproduce and amend this file under the following conditions: It is provided "as is", without warranty of any kind, expressed or implied. ETSI shall never be liable for any claim, damages, or other liability arising from its use or inability of use.This permission does not apply to any documentation associated with this file for which ETSI keeps all rights reserved. The present copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. */ /* Gm interface at UE/P-CSCF */ Package TP_GM { import all from Sip_Common; Test Purpose { TP Id TP_GM_PCSCF_ECO_REGISTER_01 Test objective "Verify that the P-CSCF successfully processes initial emergency registration (Successful)." Reference "ETSI TS 124 229 [1], Clauses 5.1.6.2, 5.2.10.1, 5.1.1.1, 6.1.1 and 6.1.2" Config Id CF_VoLTE_INT_ES PICS Selection NONE Initial conditions with { the UE_A entity isEmergencyAttachedTo the EPC_A and the UE_A entity not isRegisteredTo the IMS_A } Expected behaviour ensure that { when { the IMS_P_CSCF_A entity receives a REGISTER containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_UE_A_SIP_URI, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Authorization containing Authentication_Schema indicating value PX_TO_BE_DEFINED, Authentication_URI indicating value PX_TO_BE_DEFINED, Username indicating value PX_UE_A_USERNAME, Realm indicating value PX_UE_A_REALM, Algorithm indicating value PX_UE_A_AUTH_ALG, Nonce indicating value "", not term_ioi, not SecurityClient, Contact indicating value "sos";; from the UE_A entity } then { the IMS_P_CSCF_A entity sends a 401_Unauthorized containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_UE_A_SIP_URI, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Path, Warning, PAccessNetworkInfo, WwwAuthenticate containing Digest, Realm indicating value PX_UE_A_REALM, Algorithm indicating value PX_UE_A_AUTH_ALG, Nonce indicating value "not empty", qop indicating value "auth";; from the UE_A entity } } } // End of TP_GM_PCSCF_ECO_REGISTER_01 Test Purpose { TP Id TP_GM_PCSCF_ECO_REGISTER_02 Test objective "Verify that the P-CSCF successfully processes a full emergency registration (Successful)." Reference "ETSI TS 124 229 [1], Clauses 5.1.6.2, 5.2.10.1, 5.1.1.1, 6.1.1 and 6.1.3" Config Id CF_VoLTE_INT_ES PICS Selection NONE Initial conditions with { the UE_A entity isEmergencyAttachedTo the EPC_A and the UE_A entity not isRegisteredTo the IMS_A and the UE_A entity hasAchievedFirstRegistration } Expected behaviour ensure that { when { the IMS_P_CSCF_A entity receives a REGISTER containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_UE_A_SIP_URI, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Authorization containing Authentication_Schema indicating value PX_TO_BE_DEFINED, Authentication_URI indicating value PX_TO_BE_DEFINED, Username indicating value PX_UE_A_USERNAME, Realm indicating value PX_UE_A_REALM, Algorithm indicating value PX_UE_A_AUTH_ALG, Nonce indicating value "not empty", qop indicating value "auth", not SecurityClient, Contact indicating value "sos";; from the UE_A entity } then { the IMS_P_CSCF_A entity sends an 200_Ok containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_UE_A_SIP_URI, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, AuthenticationInfo, PAccessNetworkInfo, PAssociatedURI indicating value PX_UE_A_SIP_URI, //ListOfImplicitelyRegisteredPublicUserIdentities; PChargingVector, orig_ioi_parameter indicating value "Operator Identifier Of ImsA" Path, ServiceRoute; to the UE_A entity } } } // End of TP_GM_PCSCF_ECO_REGISTER_02 Test Purpose { TP Id TP_GM_PCSCF_ECO_REGISTER_03 Test objective "Verify that the emergency registration is rejected with 403 (Forbidden) in case invalid credentials sent from UE. (Unsuccessful emergency registration)." Reference "ETSI TS 124 229 [1], Clauses 5.1.6.2 and 5.2.10.5" Config Id CF_VoLTE_INT_ES PICS Selection NONE Initial conditions with { the UE_A entity isEmergencyAttachedTo the EPC_A and the UE_A entity not isRegisteredTo the IMS_A } Expected behaviour ensure that { when { the IMS_P_CSCF_A entity receives a REGISTER containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_UE_A_SIP_URI, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Authorization indicating value "Invalid credentials", Contact indicating value "sos"; from the UE_A entity } then { the IMS_P_CSCF_A entity sends a 403_Forbiden containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_UE_A_SIP_URI, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA; to the UE_A entity } } } // End of TP_GM_PCSCF_ECO_REGISTER_03 Test Purpose { TP Id TP_GM_PCSCF_ECO_REGISTER_04 Test objective "Verify that the emergency registration is rejected with 403 (Forbidden) in case the UE and P-CSCF does not support GPRS-IMS-Bundled authentication. (Unsuccessful emergency registration)." Reference "ETSI TS 124 229 [1], Clauses 5.1.6.2 and 5.2.10.5" Config Id CF_VxLTE_RMI PICS Selection NONE Initial conditions with { the UE_A entity isEmergencyAttachedTo the EPC_B and the UE_A entity not isRegisteredTo the IMS_B } Expected behaviour ensure that { when { the IMS_P_CSCF_B entity receives a REGISTER containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_UE_A_SIP_URI, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Authorization not indicating value GPRS_IMS_Bundled_authentication, Contact indicating value "sos"; from the UE_A entity } then { the IMS_P_CSCF_B entity sends a 403_Forbidden containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_UE_A_SIP_URI, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, MessageBody containing XML containing ims_3gpp_element indicating value anonymous_emergencycall;;; to the UE_A entity } } } // End of TP_GM_PCSCF_ECO_REGISTER_04 Test Purpose { TP Id TP_GM_PCSCF_ECO_REGISTER_05 Test objective "Verify that the emergency registration is rejected with 420 (Bad Extension) in case the UE does not support GPRS-IMS-Bundled authentication while the P-CSCF supports it. (Unsuccessful emergency registration)." Reference "ETSI TS 124 229 [1], Clauses 5.1.6.2 and 5.2.10.5" Config Id CF_VxLTE_RMI PICS Selection NONE Initial conditions with { the UE_A entity isEmergencyAttachedTo the EPC_B and the UE_A entity not isRegisteredTo the IMS_B } Expected behaviour ensure that { when { the IMS_P_CSCF_B entity receives a REGISTER containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_UE_A_SIP_URI, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Authorization not indicating value GPRS_IMS_Bundled_authentication, Contact indicating value "sos"; to the UE_A entity } then { the IMS_P_CSCF_B entity sends a 420_BadExtension containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_UE_A_SIP_URI, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Unsupported indicating value sec_agree, MessageBody containing XML containing ims_3gpp_element indicating value anonymous_emergencycall;;; from the UE_A entity } } } // End of TP_GM_PCSCF_ECO_REGISTER_05 Test Purpose { TP Id TP_GM_PCSCF_ECO_INVITE_01 Test objective "Verify that the P-CSCF successfully receives an initial emergency INVITE from an unregistered UE." Reference "ETSI TS 124 229 [1], Clauses 5.1.6.8.2" Config Id CF_VoLTE_INT_ES PICS Selection NONE Initial conditions with { the UE_A entity isAttachedTo the EPC_A and the UE_A entity not isRegisteredTo the IMS_A and the UE_A entity not isEmergencyRegisteredTo the IMS_A } Expected behaviour ensure that { when { the UE_A entity isRequestedToEstablishEmergencyCall } then { the IMS_P_CSCF_A entity receives an INVITE containing From indicating value "Anonymous", To indicating value PX_SIP_EMERGENCY_SERVICE_URN, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, // see 5.1.6.8.2 7) Route indicating value PX_UE_A_SERVICE_ROUTE, MessageBody; from the UE_A entity } } } // End of TP_GM_PCSCF_ECO_INVITE_01 Test Purpose { TP Id TP_GM_PCSCF_ECO_INVITE_02 Test objective "Verify that the P-CSCF successfully receives an initial emergency INVITE from an emergency registered UE." Reference "ETSI TS 124 229 [1], Clauses 5.1.6.8.3" Config Id CF_VoLTE_INT_ES PICS Selection NONE Initial conditions with { the UE_A entity isEmergencyAttachedTo the EPC_A and the UE_A entity isEmergencyRegisteredTo the IMS_A } Expected behaviour ensure that { when { the UE_A entity isRequestedToEstablishEmergencyCall } then { the IMS_P_CSCF_A entity receives an INVITE containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_SIP_EMERGENCY_SERVICE_URN, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Route indicating value PX_UE_A_SERVICE_ROUTE, PPreferredIdentity, // one or two instances // TODO Geolocation header maybe added later, check! MessageBody; from the UE_A entity } } } // End of TP_GM_PCSCF_ECO_INVITE_02 Test Purpose { TP Id TP_GM_PCSCF_ECO_INVITE_03 Test objective "Verify that the P-CSCF successfully receives an initial emergency INVITE from a registered but not emergency registered UE." Reference "ETSI TS 124 229 [1], Clauses 5.1.6.8.4" Config Id CF_VoLTE_INT_ES PICS Selection NONE Initial conditions with { the UE_A entity isAttachedTo the EPC_A and the UE_A entity isRegisteredTo the IMS_A and the UE_A entity not isEmergencyRegisteredTo the IMS_A /* This implies that the UE is currently attached and registered to its home operator's network and the IP-CAN does not define emergency bearers see 5.1.6.1 3rd paragraph */ } Expected behaviour ensure that { when { the UE_A entity isRequestedToEstablishEmergencyCall } then { the IMS_P_CSCF_A entity receives an INVITE containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_SIP_EMERGENCY_SERVICE_URN, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Route indicating value PX_UE_A_SERVICE_ROUTE, PPreferredIdentity, // one or two instances MessageBody; from the UE_A entity } } } // End of TP_GM_PCSCF_ECO_INVITE_03 Test Purpose { TP Id TP_GM_PCSCF_ECO_INVITE_04 Test objective "Verify that the P-CSCF successfully receives an initial eCall type INVITE from an emergency registered UE." Reference "ETSI TS 124 229 [1], Clauses 5.1.6.11" Config Id CF_VoLTE_INT_ES PICS Selection NONE Initial conditions with { the UE_A entity isEmergencyAttachedTo the EPC_A and the UE_A entity isEmergencyRegisteredTo the IMS_A } Expected behaviour ensure that { when { the UE_A entity isRequestedToEstablisheCallTypeEmergencyCall } then { the IMS_P_CSCF_A entity receives an INVITE containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_SIP_ECALL_EMERGENCY_SERVICE_URN, // "urn:service:sos.ecall.manual" or "urn:service:sos.ecall.automatic" CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Route indicating value PX_UE_A_SERVICE_ROUTE, Accept indicating value "application/EmergencyCallData.Control+xml", RecvInfo indicating value "EmergencyCallData.eCall.MSD", PPreferredIdentity, // one or two instances // TODO Geolocation header maybe added later, check! MessageBody containing MIME containing MSD;;; // MIME may contain additional parts e.g., sdp, xml from the UE_A entity } } } // End of TP_GM_PCSCF_ECO_INVITE_04 Test Purpose { TP Id TP_GM_PCSCF_ECO_BYE_01 Test objective "Verify that the P-CSCF successfully processes a BYE for an emergency call." Reference "ETSI TS 124 229 [2] Clauses 5.1.6.9" Config Id CF_VoLTE_INT_ES PICS Selection NONE Initial conditions with { the UE_A entity isEmergencyAttachedTo the EPC_A and the UE_A entity isEmergencyRegisteredTo the IMS_A and the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP } Expected behaviour ensure that { when { the UE_A entity isRequestedToSend a BYE } then { the IMS_P_CSCF_A entity receives a BYE containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_SIP_EMERGENCY_SERVICE_URN, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Route indicating value PX_UE_A_SERVICE_ROUTE; from the UE_A entity } } } // End of TP_GM_PCSCF_ECO_BYE_01 Test Purpose { TP Id TP_GM_PCSCF_EMC_CANCEL_01 Test objective "Verify that the P-CSCF successfully processes a CANCEL during Emergency Call establishment." Reference "ETSI TS 124 229 [1], Clauses 5.1.3 and 6.1" Config Id CF_VoLTE_INT_ES PICS Selection NONE Initial conditions with { the UE_A entity isEmergencyAttachedTo the EPC_A and the UE_A entity isEmergencyRegisteredTo the IMS_A and the UE_A entity hasAchievedInitialEmergencyINVITE } Expected behaviour ensure that { when { the UE_A entity isRequestedToSend a CANCEL } then { the IMS_P_CSCF_A entity receives a CANCEL containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_SIP_EMERGENCY_SERVICE_URN, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Route indicating value PX_UE_A_SERVICE_ROUTE; from the UE_A entity } } } // End of TP_GM_PCSCF_EMC_CANCEL_01 Test Purpose { TP Id TP_GM_PCSCF_ECO_200OK_BYE_01 Test objective "Verify that the P-CSCF successfully processes a 200 (OK) BYE (Originating Leg)." Reference "ETSI TS 124 229 [1], Clauses 5.1.5 and 6.1" Config Id CF_VoLTE_INT_ES PICS Selection NONE Initial conditions with { the UE_A entity isEmergencyAttachedTo the EPC_A and the UE_A entity isEmergencyRegisteredTo the IMS_A } Expected behaviour ensure that { when { the IMS_P_CSCF_A entity sends a 200_Ok containing From indicating value PX_PSAP_SIP_URI, To indicating value PX_UE_A_SIP_URI, CallId indicating value PX_PSAP_CALLID, Via indicating value PX_PSAP_VIA, Route indicating value PX_PSAP_SERVICE_ROUTE; from the IMS_E_CSCF entity } then { the IMS_P_CSCF_A entity sends a 200_Ok containing From indicating value PX_PSAP_SIP_URI, To indicating value PX_UE_A_SIP_URI, CallId indicating value PX_PSAP_CALLID, Via indicating value PX_PSAP_VIA, Route indicating value PX_PSAP_SERVICE_ROUTE, not PChargingVector, not PChargingFunctionAddresses, not PPreferredIdentity; to the UE_A entity } } } // End of TP_GM_PCSCF_ECO_200OK_01 Test Purpose { TP Id TP_GM_PCSCF_ECO_200OK_BYE_02 Test objective "Verify that the P-CSCF successfully processes a 200 (OK) BYE (Terminating Leg)." Reference "ETSI TS 124 229 [1], Clauses 5.1.5 and 6.1" Config Id CF_VoLTE_INT_ES PICS Selection NONE Initial conditions with { the UE_A entity isEmergencyAttachedTo the EPC_A and the UE_A entity isEmergencyRegisteredTo the IMS_A } Expected behaviour ensure that { when { the IMS_P_CSCF_A entity receives a 200_Ok containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_PSAP_SIP_URI, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Route indicating value PX_UE_A_SERVICE_ROUTE, not PChargingVector, not PChargingFunctionAddresses, not PPreferredIdentity; from the UE_A entity } then { the IMS_P_CSCF_A entity sends a 200_Ok containing From indicating value PX_UE_A_SIP_URI, To indicating value PX_PSAP_SIP_URI, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Route indicating value PX_UE_A_SERVICE_ROUTE; to the IMS_E_CSCF entity } } } // End of TP_GM_PCSCF_ECO_200OK_02 Test Purpose { TP Id TP_GM_PCSCF_EMS_200OK_CANCEL_01 // TP_GM_PCSCF_200OK_CANCEL_01 from ETSI TS 103 653-1 Test objective "Verify that the P-CSCF successfully processes a 200 (OK) CANCEL (Originating Leg)." Reference "ETSI TS 124 229 [1], Clauses 5.1.3 and 6.1" Config Id CF_VoLTE_INT_ES PICS Selection NONE Initial conditions with { the UE_A entity isAttachedTo the EPC_A and the UE_A entity isRegisteredTo the IMS_A } Expected behaviour ensure that { when { the UE_A entity isRequestedToSend a CANCEL } then { the IMS_P_CSCF_A entity receives a 200_Ok containing not PChargingVector, not PChargingFunctionAddresses, not PPreferredIdentity; from the IMS_E_CSCF entity } } } // End of TP_GM_PCSCF_EMS_200OK_CANCEL_01 Test Purpose { TP Id TP_GM_PCSCF_EMC_487INVITE_01 // TP_GM_PCSCF_487INVITE_01 from ETSI TS 103 653-1 Test objective "Verify that the P-CSCF successfully processes a 487 INVITE (Request Terminated) (Originating Leg)." Reference "ETSI TS 124 229 [1], Clauses 5.1.3 and 6.1" Config Id CF_VoLTE_INT_ES PICS Selection NONE Initial conditions with { the UE_A entity isAttachedTo the EPC_A and the UE_A entity isRegisteredTo the IMS_A } Expected behaviour ensure that { when { the UE_A entity isRequestedToSend an CANCEL } then { the IMS_P_CSCF_A entity sends a 487_INVITE containing From indicating value PX_PSAP_SIP_URI, To indicating value PX_UE_A_SIP_URI, CallId indicating value PX_PSAP_CALLID, Via indicating value PX_PSAP_VIA, Route indicating value PX_PSAP_SERVICE_ROUTE; to the UE_A entity } } } // End of TP_GM_PCSCF_EMC_487INVITE_01 } // End of Package TP_GM