Newer
Older
// TODO
f_mtc_userCheckCallTerminated(v_ueA); // Event 33
f_mtc_userCheckCallCancelled(v_ueB); // Event 34
// Postamble
f_PO_user_home_deregistration(v_ueA);
f_PO_user_home_deregistration(v_ueB);
//unmap/disconnect component ports
f_cf_user_down ( v_ueB );
f_cf_user_down ( v_ueA );
f_cf_VxLteMonitor_Down();
f_cf_adapter_down ( );
}else{
//log...
setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
}
f_cf_adapter_down ( );
} // End of TC TD_VoLTE_ECO_INT_REJ_01_01
group f_TD_VoLTE_ECO_INT_REJ_01_01 {
function f_mtc_check_precond_TD_VoLTE_ECO_INT_REJ_01_01() runs on ImsTestCoordinator {
log("If the test case fails, please check the preconditions");
// TODO Add real code to check pre-conditions
} // End of function f_mtc_check_precond_TD_VoLTE_ECO_INT_REJ_01_01
} // End of group f_TD_VoLTE_ECO_INT_REJ_01_01
* @desc To demonstrate interaction between UE A and PSAP when an emergency session is rejected.
* @see ETSI TS 103 795-2 5.3.4.3 Emergency Session Reject
* @remark This is option 1: PSAP is not in IMA A network
testcase TD_VoLTE_ECO_INT_REJ_01_02() runs on ImsTestCoordinator system IotSystemInterface {
var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency );
var IotEquipmentUser v_psap := f_cf_create_IotEquipmentUser ( c_psap );
var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A_EMERGENCY );
var ImsUserInfo v_infoPsap := f_getImUser ( PX_PSAP );
f_setVxLteMonIterfacesAvailability();
//Check required monitor interfaces due to TD
if (f_checkVxLteRequiredMonitorInterface({PX_SIP_GMA_INTERFACENAME,
PX_DIAMETER_GX_INTERFACENAME,
PX_DIAMETER_RX_INTERFACENAME,
PX_SIP_MW_PE_INTERFACENAME,
PX_SIP_EB_INTERFACENAME, // E-CSCF -> IBCF
PX_SIP_IC_INTERFACENAME // IBCF -> IMS -> PSAP
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
}))
{
var SipMessage v_sip;
f_cf_createVxLteMonitor();
// map/connect component ports
f_cf_adapter_up ( );
f_cf_user_up ( v_ueA );
f_cf_user_up ( v_psap );
f_cf_VxLteMonitor_Up();
// Preamble
f_mtc_userRegistration(v_ueA, v_userInfoA);
f_mtc_userRegistration(v_psap, v_infoPsap);
f_mtc_userInitiateCall (v_ueA, v_infoPsap);
f_mtc_userCheckRinging(v_psap);
f_mtc_userCheckPeerIsRinging(v_ueA);
f_mtc_userAnswerCall(v_psap);
f_mtc_userCheckCallEstablished(v_ueA); // Event 1
f_mtc_userCheckCallEstablished(v_psap); // Event 1
f_mtc_check_precond_TD_VoLTE_ECO_INT_REJ_01_02();
// Test body
//f_mtc_userInitiateCall (v_ueA, v_userTelInfoB);
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
// TODO
f_mtc_userCheckCallTerminated(v_ueA); // Event 33
f_mtc_userCheckCallCancelled(v_ueB); // Event 34
// Postamble
f_PO_user_home_deregistration(v_ueA);
f_PO_user_home_deregistration(v_ueB);
//unmap/disconnect component ports
f_cf_user_down ( v_ueB );
f_cf_user_down ( v_ueA );
f_cf_VxLteMonitor_Down();
f_cf_adapter_down ( );
}else{
//log...
setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
}
f_cf_adapter_down ( );
} // End of TC TD_VoLTE_ECO_INT_REJ_01_02
group f_TD_VoLTE_ECO_INT_REJ_01_02 {
function f_mtc_check_precond_TD_VoLTE_ECO_INT_REJ_01_02() runs on ImsTestCoordinator {
log("If the test case fails, please check the preconditions");
// TODO Add real code to check pre-conditions
} // End of function f_mtc_check_precond_TD_VoLTE_ECO_INT_REJ_01_02
} // End of group f_TD_VoLTE_ECO_INT_REJ_01_02
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
/**
* @desc To demonstrate interaction between UE A and PSAP when an emergency session is rejected.
* @see ETSI TS 103 795-2 5.3.4.3 Emergency Session Reject
* @remark This is option 1: PSAP is in PSTN network
*/
testcase TD_VoLTE_ECO_INT_REJ_01_03() runs on ImsTestCoordinator system IotSystemInterface {
var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency );
var IotEquipmentUser v_psap := f_cf_create_IotEquipmentUser ( c_psap );
var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A_EMERGENCY );
var ImsUserInfo v_infoPsap := f_getImUser ( PX_PSAP );
f_setVxLteMonIterfacesAvailability();
//Check required monitor interfaces due to TD
if (f_checkVxLteRequiredMonitorInterface({PX_SIP_GMA_INTERFACENAME,
PX_DIAMETER_GX_INTERFACENAME,
PX_DIAMETER_RX_INTERFACENAME,
PX_SIP_MW_PE_INTERFACENAME,
PX_SIP_EB_INTERFACENAME, // E-CSCF -> IBCF
PX_SIP_IC_INTERFACENAME // IBCF -> IMS -> PSAP
}))
{
var SipMessage v_sip;
f_cf_createVxLteMonitor();
// map/connect component ports
f_cf_adapter_up ( );
f_cf_user_up ( v_ueA );
f_cf_user_up ( v_psap );
f_cf_VxLteMonitor_Up();
// Preamble
f_mtc_userRegistration(v_ueA, v_userInfoA);
f_mtc_userRegistration(v_psap, v_infoPsap);
f_mtc_userInitiateCall (v_ueA, v_infoPsap);
f_mtc_userCheckRinging(v_psap);
f_mtc_userCheckPeerIsRinging(v_ueA);
f_mtc_userAnswerCall(v_psap);
f_mtc_userCheckCallEstablished(v_ueA); // Event 1
f_mtc_userCheckCallEstablished(v_psap); // Event 1
f_mtc_check_precond_TD_VoLTE_ECO_INT_REJ_01_03();
// Test body
//f_mtc_userInitiateCall (v_ueA, v_userTelInfoB);
// TODO
f_mtc_userCheckCallTerminated(v_ueA); // Event 33
f_mtc_userCheckCallCancelled(v_ueB); // Event 34
// Postamble
f_PO_user_home_deregistration(v_ueA);
f_PO_user_home_deregistration(v_ueB);
//unmap/disconnect component ports
f_cf_user_down ( v_ueB );
f_cf_user_down ( v_ueA );
f_cf_VxLteMonitor_Down();
f_cf_adapter_down ( );
}else{
//log...
setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
}
f_cf_adapter_down ( );
} // End of TC TD_VoLTE_ECO_INT_REJ_01_03
group f_TD_VoLTE_ECO_INT_REJ_01_03 {
function f_mtc_check_precond_TD_VoLTE_ECO_INT_REJ_01_03() runs on ImsTestCoordinator {
log("If the test case fails, please check the preconditions");
// TODO Add real code to check pre-conditions
} // End of function f_mtc_check_precond_TD_VoLTE_ECO_INT_REJ_01_03
} // End of group f_TD_VoLTE_ECO_INT_REJ_01_03
/**
* @desc To demonstrate interaction between UE A and P-CSCF when an emergency session is rejected.
* @see ETSI TS 103 795-2 Clause 5.3.4.3 Emergency Session Reject
testcase TD_VoLTE_ECO_INT_REJ_02() runs on ImsTestCoordinator system IotSystemInterface {
var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency );
var IotEquipmentUser v_psap := f_cf_create_IotEquipmentUser ( c_psap );
var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A_EMERGENCY );
var ImsUserInfo v_infoPsap := f_getImUser ( PX_PSAP );
f_setVxLteMonIterfacesAvailability();
//Check required monitor interfaces due to TD
if (f_checkVxLteRequiredMonitorInterface({PX_SIP_GMA_INTERFACENAME,
PX_DIAMETER_GX_INTERFACENAME,
PX_DIAMETER_RX_INTERFACENAME,
PX_SIP_MW_PE_INTERFACENAME,
PX_SIP_EB_INTERFACENAME, // E-CSCF -> IBCF
PX_SIP_MM_PSAP_INTERFACENAME // IBCF -> PSAP
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
}))
{
var SipMessage v_sip;
f_cf_createVxLteMonitor();
// map/connect component ports
f_cf_adapter_up ( );
f_cf_user_up ( v_ueA );
f_cf_user_up ( v_psap );
f_cf_VxLteMonitor_Up();
// Preamble
f_mtc_userRegistration(v_ueA, v_userInfoA);
f_mtc_userRegistration(v_psap, v_infoPsap);
f_mtc_userInitiateCall (v_ueA, v_infoPsap);
f_mtc_userCheckRinging(v_psap);
f_mtc_userCheckPeerIsRinging(v_ueA);
f_mtc_userAnswerCall(v_psap);
f_mtc_userCheckCallEstablished(v_ueA); // Event 1
f_mtc_userCheckCallEstablished(v_psap); // Event 1
f_mtc_check_precond_TD_VoLTE_ECO_INT_REJ_02();
// Test body
//f_mtc_userInitiateCall (v_ueA, v_userTelInfoB);
// TODO
f_mtc_userCheckCallTerminated(v_ueA); // Event 33
f_mtc_userCheckCallCancelled(v_ueB); // Event 34
// Postamble
f_PO_user_home_deregistration(v_ueA);
f_PO_user_home_deregistration(v_ueB);
//unmap/disconnect component ports
f_cf_user_down ( v_ueB );
f_cf_user_down ( v_ueA );
f_cf_VxLteMonitor_Down();
f_cf_adapter_down ( );
}else{
//log...
setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
}
f_cf_adapter_down ( );
} // End of TC TD_VoLTE_ECO_INT_REJ_02
group f_TD_VoLTE_ECO_INT_REJ_02 {
function f_mtc_check_precond_TD_VoLTE_ECO_INT_REJ_02() runs on ImsTestCoordinator {
log("If the test case fails, please check the preconditions");
// TODO Add real code to check pre-conditions
} // End of function f_mtc_check_precond_TD_VoLTE_ECO_INT_REJ_02
} // End of group f_TD_VoLTE_ECO_INT_REJ_02
} // End of group EmergencySessionAbortOrReject
} // End of group EmergencySessionEmergencyBearerOperations
/**
* @see ETSI TS 103 795-2 Clause 5.5 Emergency Network Detachment
*/
group EmergencyNetworkDetachment {
group EmergencySessionDetachment {
* @desc To demonstrate UE initiated network emergency detachment (IP-CAN session termination) for a UE that has not yet emergency registered to the IMS or for UE that has been emergency registered to the IMS
* @see ETSI TS 103 795-2 Clause 5.5.1 UE Emergency Network Detachment (with/without Emergency Registration)
*/
testcase TC_VoLTE_ECO_INT_DTC_01 ( ) runs on ImsTestCoordinator system IotSystemInterface {
var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A );
var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A );
f_setVxLteMonIterfacesAvailability();
//Check required monitor interfaces due to TD
if (f_checkVxLteRequiredMonitorInterface({PX_DIAMETER_GX_INTERFACENAME})){
f_cf_createVxLteMonitor();
// map/connect component ports
f_cf_adapter_up ( );
f_cf_user_up ( v_ueA );
f_cf_VxLteMonitor_Up();
//preamble
f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile
f_mtc_userRadioEnabled ( v_ueA, false, true );
// test body
// Check that user A starts initial network attachment
f_mtc_check_TP_GX_PCRF_ECO_CCA_02 ( vc_vxlte_monitor_components.gx, false ); // Check (CCA – Event 3)
//postamble
//unmap/disconnect component ports
f_cf_user_down ( v_ueA );
f_cf_VxLteMonitor_Down();
f_cf_adapter_down ( );
}else{
//log...
setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
}
} // End of TC TC_VoLTE_ECO_INT_DTC_01
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
/**
* @desc To demonstrate UE initiated emergency network detachment (emergency IP-CAN session termination) for a UE that is emergency registered to IMS and also has active emergency session
* @see ETSI TS 103 795-2 Clause 5.5.2 UE Emergency Network Detachment with Previously Established Emergency Registration & Emergency Session
*/
testcase TC_VoLTE_ECO_INT_DTC_02 ( ) runs on ImsTestCoordinator system IotSystemInterface {
var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency );
var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A_EMERGENCY );
f_setVxLteMonIterfacesAvailability();
//Check required monitor interfaces due to TD
if (f_checkVxLteRequiredMonitorInterface({PX_DIAMETER_GX_INTERFACENAME})){
f_cf_createVxLteMonitor();
// map/connect component ports
f_cf_adapter_up ( );
f_cf_user_up ( v_ueA );
f_cf_VxLteMonitor_Up();
//preamble
f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile
f_mtc_userRadioEnabled ( v_ueA, false, true );
// test body
// TODO
//postamble
//unmap/disconnect component ports
f_cf_user_down ( v_ueA );
f_cf_VxLteMonitor_Down();
f_cf_adapter_down ( );
}else{
//log...
setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
}
} // End of TC TC_VoLTE_ECO_INT_DTC_02
} // End of group EmergencySessionDetachment
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
} // End of group EmergencyNetworkDetachment
} // End of group Interoperability
/**
* @see ETSI TS 103 795-2 Clause 6 Test Descriptions (Roaming)
*/
group Roaming {
/**
* @see ETSI TS 103 795-2 6.1 Network Attachment
*/
group NetworkAttachment {
} // End of group NetworkAttachment
/**
* @see ETSI TS 103 795-2 Clause 6.2 IMS Emergency Registration in a visited network
*/
group IMSEmergencyRegistration {
} // End of group IMSEmergencyRegistration
} // End of group Roaming
} // End of module AtsImsIot_Emergency