Loading DiameterCxDx/ttcn/DiameterCxDx_Cx_TCFunctions.ttcn3 +175 −17 Original line number Diff line number Diff line Loading @@ -3529,7 +3529,13 @@ module DiameterCxDx_Cx_TCFunctions { f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_postamble_HSS(); //de-registration? //de-registration f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading Loading @@ -3597,7 +3603,13 @@ module DiameterCxDx_Cx_TCFunctions { f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); // de-registration? //de-registration f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading Loading @@ -3724,7 +3736,13 @@ module DiameterCxDx_Cx_TCFunctions { f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); // de-registration? //de-registration f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); Loading @@ -3733,49 +3751,189 @@ module DiameterCxDx_Cx_TCFunctions { } // group TP_CSCFRole_UA group TP_CSCFRole_SA {//Cx SA function f_TC_CX_CSCF_SA_01_UA(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_CX_CSCF_UA_01_UA(p_cSeq_s) } function f_TC_CX_CSCF_SA_01_HSS() runs on DiameterCx { // Local variables // Preamble //Registration f_preamble_UE_registration(p_cSeq_s); // Clause 'Initial conditions' f_preamble_HSS(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Send registration message to I-CSCF // NOTE: internal behaviour of SUT // Test Body // the IUT sends a UA-Request f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_MAR(mw_MAR_Msg(?, mw_MAR_basic)); f_send_MAA(m_MAA_Msg(vc_sessionId, m_MAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR(?,?,?,omit,mw_authSessionState(NO_STATE_MAINTAINED_E),{?},?,mw_serverAssignmentType(REGISTRATION_E),?))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // Postamble f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); //de-registration f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CX_CSCF_SA_01_HSS() runs on DiameterCx { function f_TC_CX_CSCF_SA_02_UA(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_CX_CSCF_UA_02_UA(p_cSeq_s) } function f_TC_CX_CSCF_SA_02_HSS() runs on DiameterCx { // Local variables // Preamble: first complete registration f_preamble_HSS(); f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_MAR(mw_MAR_Msg(?, mw_MAR_basic)); f_send_MAA(m_MAA_Msg(vc_sessionId, m_MAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body // the IUT sends a UA-Request due to re-registration f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR(?,?,?,omit,mw_authSessionState(NO_STATE_MAINTAINED_E),{?},?,mw_serverAssignmentType(RE_REGISTRATION_E),?))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // Postamble f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); //de-registration f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CX_CSCF_SA_03_UA(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_CX_CSCF_UA_03_UA(p_cSeq_s) } function f_TC_CX_CSCF_SA_03_HSS() runs on DiameterCx { // Local variables // Preamble // Clause 'Initial conditions' f_preamble_HSS(); //waiting for the first registration message f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_MAR(mw_MAR_Msg(?, mw_MAR_basic)); f_send_UAA(m_MAA_Msg(vc_sessionId, m_MAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); //waiting for the first (authorized) registration message f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body // the IUT sends a UA-Request // the IUT sends a UA-Request (de-registration) f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR(?,?,?,omit,mw_authSessionState(NO_STATE_MAINTAINED_E),{?},?,mw_serverAssignmentType(USER_DEREGISTRATION_E),?))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // Postamble f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CX_CSCF_SA_04_UA(in CSeq p_cSeq_s) runs on ImsComponent { // Preamble f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Send the IMS emergency registration f_preamble_UE_emergencyRegistration(p_cSeq_s); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // Postamble // network-initiated de-registration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CX_CSCF_SA_04_HSS() runs on DiameterCx { // Local variables // Preamble // Clause 'Initial conditions' f_preamble_HSS(); //waiting for the first registration message f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_MAR(mw_MAR_Msg(?, mw_MAR_basic)); f_send_MAA(m_MAA_Msg(vc_sessionId, m_MAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_send_UAA(m_MAA_Msg(vc_sessionId, m_MAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); //waiting for the first (authorized) registration message f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR(?,?,?,omit,mw_authSessionState(NO_STATE_MAINTAINED_E),{?},?,?,?))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body // the IUT sends a SA-Request (network initiated de-registration) f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR(?,?,?,omit,mw_authSessionState(NO_STATE_MAINTAINED_E),{?},?,mw_serverAssignmentType(TIMEOUT_DEREGISTRATION_E),?))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // Postamble f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); // de-registration? f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } } // group TP_CSCFRole_SA group TP_CSCFRole_RT {//Cx RT } // group TP_CSCFRole_RT Loading DiameterCxDx/ttcn/DiameterCxDx_Templates.ttcn +1 −1 Original line number Diff line number Diff line Loading @@ -275,7 +275,7 @@ module DiameterCxDx_Templates { aVP_Type := * } template Server_Assignment_Type_AVP mw_serverAssignmentType(template (value) Srv_Assgmt_Type_Code p_avpData) := { template Server_Assignment_Type_AVP mw_serverAssignmentType(template Srv_Assgmt_Type_Code p_avpData) := { aVP_Header := mw_aVP_Header_VMbit1(c_server_Assignment_Type_AVP_Code), aVP_Data := p_avpData } Loading Loading
DiameterCxDx/ttcn/DiameterCxDx_Cx_TCFunctions.ttcn3 +175 −17 Original line number Diff line number Diff line Loading @@ -3529,7 +3529,13 @@ module DiameterCxDx_Cx_TCFunctions { f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_postamble_HSS(); //de-registration? //de-registration f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading Loading @@ -3597,7 +3603,13 @@ module DiameterCxDx_Cx_TCFunctions { f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); // de-registration? //de-registration f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading Loading @@ -3724,7 +3736,13 @@ module DiameterCxDx_Cx_TCFunctions { f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); // de-registration? //de-registration f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); Loading @@ -3733,49 +3751,189 @@ module DiameterCxDx_Cx_TCFunctions { } // group TP_CSCFRole_UA group TP_CSCFRole_SA {//Cx SA function f_TC_CX_CSCF_SA_01_UA(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_CX_CSCF_UA_01_UA(p_cSeq_s) } function f_TC_CX_CSCF_SA_01_HSS() runs on DiameterCx { // Local variables // Preamble //Registration f_preamble_UE_registration(p_cSeq_s); // Clause 'Initial conditions' f_preamble_HSS(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Send registration message to I-CSCF // NOTE: internal behaviour of SUT // Test Body // the IUT sends a UA-Request f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_MAR(mw_MAR_Msg(?, mw_MAR_basic)); f_send_MAA(m_MAA_Msg(vc_sessionId, m_MAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR(?,?,?,omit,mw_authSessionState(NO_STATE_MAINTAINED_E),{?},?,mw_serverAssignmentType(REGISTRATION_E),?))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // Postamble f_RemoveRegistration(vc_cSeq); // deregistration in SUT f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); //de-registration f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CX_CSCF_SA_01_HSS() runs on DiameterCx { function f_TC_CX_CSCF_SA_02_UA(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_CX_CSCF_UA_02_UA(p_cSeq_s) } function f_TC_CX_CSCF_SA_02_HSS() runs on DiameterCx { // Local variables // Preamble: first complete registration f_preamble_HSS(); f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_MAR(mw_MAR_Msg(?, mw_MAR_basic)); f_send_MAA(m_MAA_Msg(vc_sessionId, m_MAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body // the IUT sends a UA-Request due to re-registration f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR(?,?,?,omit,mw_authSessionState(NO_STATE_MAINTAINED_E),{?},?,mw_serverAssignmentType(RE_REGISTRATION_E),?))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // Postamble f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); //de-registration f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CX_CSCF_SA_03_UA(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_CX_CSCF_UA_03_UA(p_cSeq_s) } function f_TC_CX_CSCF_SA_03_HSS() runs on DiameterCx { // Local variables // Preamble // Clause 'Initial conditions' f_preamble_HSS(); //waiting for the first registration message f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_MAR(mw_MAR_Msg(?, mw_MAR_basic)); f_send_UAA(m_MAA_Msg(vc_sessionId, m_MAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); //waiting for the first (authorized) registration message f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body // the IUT sends a UA-Request // the IUT sends a UA-Request (de-registration) f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR(?,?,?,omit,mw_authSessionState(NO_STATE_MAINTAINED_E),{?},?,mw_serverAssignmentType(USER_DEREGISTRATION_E),?))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // Postamble f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CX_CSCF_SA_04_UA(in CSeq p_cSeq_s) runs on ImsComponent { // Preamble f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Send the IMS emergency registration f_preamble_UE_emergencyRegistration(p_cSeq_s); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // Postamble // network-initiated de-registration in SUT f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CX_CSCF_SA_04_HSS() runs on DiameterCx { // Local variables // Preamble // Clause 'Initial conditions' f_preamble_HSS(); //waiting for the first registration message f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_MAR(mw_MAR_Msg(?, mw_MAR_basic)); f_send_MAA(m_MAA_Msg(vc_sessionId, m_MAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_send_UAA(m_MAA_Msg(vc_sessionId, m_MAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR)); //waiting for the first (authorized) registration message f_awaiting_UAR(mw_UAR_Msg(?, mw_UAR())); f_send_UAA(m_UAA_Msg(vc_sessionId, m_UAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR(?,?,?,omit,mw_authSessionState(NO_STATE_MAINTAINED_E),{?},?,?,?))); f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR_basic)); f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body // the IUT sends a SA-Request (network initiated de-registration) f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR(?,?,?,omit,mw_authSessionState(NO_STATE_MAINTAINED_E),{?},?,mw_serverAssignmentType(TIMEOUT_DEREGISTRATION_E),?))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // Postamble f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E)))); // de-registration? f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } } // group TP_CSCFRole_SA group TP_CSCFRole_RT {//Cx RT } // group TP_CSCFRole_RT Loading
DiameterCxDx/ttcn/DiameterCxDx_Templates.ttcn +1 −1 Original line number Diff line number Diff line Loading @@ -275,7 +275,7 @@ module DiameterCxDx_Templates { aVP_Type := * } template Server_Assignment_Type_AVP mw_serverAssignmentType(template (value) Srv_Assgmt_Type_Code p_avpData) := { template Server_Assignment_Type_AVP mw_serverAssignmentType(template Srv_Assgmt_Type_Code p_avpData) := { aVP_Header := mw_aVP_Header_VMbit1(c_server_Assignment_Type_AVP_Code), aVP_Data := p_avpData } Loading