Loading DiameterCxDx/ttcn/DiameterCxDx_Cx_TCFunctions.ttcn3 +72 −74 Original line number Diff line number Diff line Loading @@ -2306,7 +2306,6 @@ module DiameterCxDx_Cx_TCFunctions { *, mw_restoration_Info_AVP_dummy // containing an SCSCF-Restoration-Info AVP // indicating information related with Public User Identity // TODO To be enhanced ))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); Loading Loading @@ -2384,6 +2383,10 @@ module DiameterCxDx_Cx_TCFunctions { // Preamble // Clause 'Initial conditions' f_preamble_ICSCF(); f_hssRegistrationCx(vc_sessionId, PX_UserName, PX_PublicIdentity ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body Loading Loading @@ -2420,16 +2423,15 @@ module DiameterCxDx_Cx_TCFunctions { ); // Check Result Code in vc_recvDiamMsg if (ischosen(vc_recvDiamMsg.sAA_MSG)) { if ( // containing a Result-Code AVP // indicating DIAMETER_SUCCESS ispresent(vc_recvDiamMsg.sAA_MSG.sAA_Body.result_Code) and (vc_recvDiamMsg.sAA_MSG.sAA_Body.result_Code.aVP_Data == DIAMETER_SUCCESS_E) match(vc_recvDiamMsg.sAA_MSG.sAA_Body.result_Code, mw_resultCode(DIAMETER_SUCCESS_E)) ) { f_setVerdict(e_success); } else if ( ispresent(vc_recvDiamMsg.sAA_MSG.sAA_Body.experimental_Result) and (vc_recvDiamMsg.sAA_MSG.sAA_Body.experimental_Result.experimental_Result_Code.aVP_Data == DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED_E) match(vc_recvDiamMsg.sAA_MSG.sAA_Body.experimental_Result.experimental_Result_Code, mw_experimentalResultCode(?, DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED_E)) ) { // OR containing an Experimental-Result AVP // containing an Experimental-Result-Code AVP // indicating DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED Loading @@ -2443,7 +2445,7 @@ module DiameterCxDx_Cx_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // Postamble f_s_SAR_SAA(vc_sessionId, USER_DEREGISTRATION_E); f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } // End of function f_TC_CX_HSS_SA_15_I Loading @@ -2458,7 +2460,10 @@ module DiameterCxDx_Cx_TCFunctions { // Preamble // Clause 'Initial conditions' f_preamble_ICSCF(); f_s_SAR_SAA(vc_sessionId); f_hssRegistrationCx(vc_sessionId, PX_UserName, PX_PublicIdentity ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body Loading Loading @@ -2500,7 +2505,7 @@ module DiameterCxDx_Cx_TCFunctions { // Postamble vc_serverName := m_serverName(PX_ServerName); f_s_SAR_SAA(vc_sessionId, USER_DEREGISTRATION_E); f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } // End of function f_TC_CX_HSS_SA_16_I Loading @@ -2515,7 +2520,10 @@ module DiameterCxDx_Cx_TCFunctions { // Preamble // Clause 'Initial conditions' f_preamble_ICSCF(); f_s_SAR_SAA(vc_sessionId); f_hssRegistrationCx(vc_sessionId, PX_UserName, PX_PublicIdentity ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body Loading Loading @@ -2556,9 +2564,8 @@ module DiameterCxDx_Cx_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // Postamble f_s_SAR_SAA(vc_sessionId, USER_DEREGISTRATION_E); vc_serverName := m_serverName(PX_ServerName); f_s_SAR_SAA(vc_sessionId, USER_DEREGISTRATION_E); f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } // End of function f_TC_CX_HSS_SA_17_I Loading Loading @@ -2854,9 +2861,9 @@ module DiameterCxDx_Cx_TCFunctions { if (ispresent(vc_recvDiamMsg.rTR_MSG.rTR_Body.public_Identity)) { // not containing a list of Public-Identity AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else if ( (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != PERMANENT_TERMINATION_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != SERVER_CHANGE_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != REMOVE_S_CSCF_E) (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, PERMANENT_TERMINATION_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, SERVER_CHANGE_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, REMOVE_S_CSCF_E)) ) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { Loading Loading @@ -2926,9 +2933,9 @@ module DiameterCxDx_Cx_TCFunctions { if (ispresent(vc_recvDiamMsg.rTR_MSG.rTR_Body.public_Identity)) { // not containing a list of Public-Identity AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else if ( (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != PERMANENT_TERMINATION_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != SERVER_CHANGE_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != REMOVE_S_CSCF_E) (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, PERMANENT_TERMINATION_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, SERVER_CHANGE_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, REMOVE_S_CSCF_E)) ) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { Loading Loading @@ -2998,9 +3005,9 @@ module DiameterCxDx_Cx_TCFunctions { } ))); if ( (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != PERMANENT_TERMINATION_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != SERVER_CHANGE_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != REMOVE_S_CSCF_E) (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, PERMANENT_TERMINATION_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, SERVER_CHANGE_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, REMOVE_S_CSCF_E)) ) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { Loading @@ -3014,7 +3021,8 @@ module DiameterCxDx_Cx_TCFunctions { m_resultCode (DIAMETER_SUCCESS_E), omit))); vc_sessionId := v_sessionId; f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); Loading @@ -3026,15 +3034,17 @@ module DiameterCxDx_Cx_TCFunctions { function f_TC_CX_HSS_RT_07_I_S() runs on DiameterCx { // Local variables var Session_Id_AVP v_sessionId; // Preamble // Clause 'Initial conditions' f_preamble_ICSCF(); f_hssRegistrationCx(vc_sessionId, // Public Service Identities PX_UserName, PX_ServiceIdentity, PX_WildcardIdentity, // indicating wildcarded public user identity m_uar_Flags_Cx ); v_sessionId := valueof(vc_sessionId); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body Loading @@ -3044,7 +3054,7 @@ module DiameterCxDx_Cx_TCFunctions { // Clause 'then': the IUT sends an RT-Request and receives an RT-Answer f_awaiting_RTR( mw_RTR_Msg( vc_sessionId, // containing a Session-ID AVP ?, // containing a Session-ID AVP mw_RTR_publicIdentity( vc_originHost, vc_originRealm, Loading @@ -3061,24 +3071,24 @@ module DiameterCxDx_Cx_TCFunctions { valueof(vc_publicIdentity) } ))); if (ispresent(vc_recvDiamMsg.rTR_MSG.rTR_Body.public_Identity)) { // not containing a list of Public-Identity AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else if ( (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != PERMANENT_TERMINATION_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != SERVER_CHANGE_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != REMOVE_S_CSCF_E) if ( (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, PERMANENT_TERMINATION_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, SERVER_CHANGE_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, REMOVE_S_CSCF_E)) ) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); }; // Postamble f_send_RTA(m_RTA_Msg(vc_sessionId, m_RTA_basic(vc_originHost, vc_originRealm, m_resultCode (DIAMETER_SUCCESS_E), omit))); // Postamble vc_sessionId := v_sessionId; f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); Loading @@ -3090,6 +3100,7 @@ module DiameterCxDx_Cx_TCFunctions { function f_TC_CX_HSS_RT_08_I_S2() runs on DiameterCx { // Local variables var Session_Id_AVP v_sessionId; // Preamble // Clause 'Initial conditions' Loading @@ -3099,6 +3110,7 @@ module DiameterCxDx_Cx_TCFunctions { PX_ServiceIdentity, m_uar_Flags_Cx ); v_sessionId := valueof(vc_sessionId); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body Loading @@ -3108,7 +3120,7 @@ module DiameterCxDx_Cx_TCFunctions { // Clause 'then': the IUT sends an RT-Request and receives an RT-Answer f_awaiting_RTR( mw_RTR_Msg( vc_sessionId, // containing a Session-ID AVP ?, // containing a Session-ID AVP mw_RTR_publicIdentity( vc_originHost, vc_originRealm, Loading @@ -3117,23 +3129,16 @@ module DiameterCxDx_Cx_TCFunctions { vc_userName, // containing a User-Name AVP // indicating the private user identity mw_deregistration_Reason_AVP( // containing a Deregistration-Reason AVP // indicating any deregistration reason mw_reason_Code_AVP mw_reason_Code_AVP( NEW_SERVER_ASSIGNED_E // indicating NEW_SERVER_ASSIGNED ) ), { // containing more than one Public-Identity AVP // indicating a public service identity matching the wildcarded public service identity provided by the SA-Request message valueof(vc_publicIdentity) } ))); if (ispresent(vc_recvDiamMsg.rTR_MSG.rTR_Body.public_Identity)) { // not containing a list of Public-Identity AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else if ( vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != NEW_SERVER_ASSIGNED_E ) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); } // Postamble f_send_RTA(m_RTA_Msg(vc_sessionId, Loading @@ -3142,7 +3147,8 @@ module DiameterCxDx_Cx_TCFunctions { m_resultCode (DIAMETER_SUCCESS_E), omit))); vc_sessionId := v_sessionId; f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); Loading @@ -3154,6 +3160,7 @@ module DiameterCxDx_Cx_TCFunctions { function f_TC_CX_HSS_RT_09_I_S2() runs on DiameterCx { // Local variables var Session_Id_AVP v_sessionId; // Preamble // Clause 'Initial conditions' Loading @@ -3163,6 +3170,7 @@ module DiameterCxDx_Cx_TCFunctions { PX_ServiceIdentity, m_uar_Flags_Cx ); v_sessionId := valueof(vc_sessionId); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body Loading @@ -3172,7 +3180,7 @@ module DiameterCxDx_Cx_TCFunctions { // Clause 'then': the IUT sends an RT-Request and receives an RT-Answer f_awaiting_RTR( mw_RTR_Msg( vc_sessionId, // containing a Session-ID AVP ?, // containing a Session-ID AVP mw_RTR_publicIdentity( vc_originHost, vc_originRealm, Loading @@ -3181,23 +3189,16 @@ module DiameterCxDx_Cx_TCFunctions { vc_userName, // containing a User-Name AVP // indicating the private user identity mw_deregistration_Reason_AVP( // containing a Deregistration-Reason AVP // indicating any deregistration reason mw_reason_Code_AVP mw_reason_Code_AVP( NEW_SERVER_ASSIGNED_E // indicating NEW_SERVER_ASSIGNED ) ), { // containing more than one Public-Identity AVP // indicating a public service identity matching the wildcarded public service identity provided by the SA-Request message valueof(vc_publicIdentity) } ))); if (ispresent(vc_recvDiamMsg.rTR_MSG.rTR_Body.public_Identity)) { // not containing a list of Public-Identity AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else if ( vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != SERVER_CHANGE_E ) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); } // Postamble f_send_RTA(m_RTA_Msg(vc_sessionId, Loading @@ -3206,7 +3207,8 @@ module DiameterCxDx_Cx_TCFunctions { m_resultCode (DIAMETER_SUCCESS_E), omit))); vc_sessionId := v_sessionId; f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); Loading @@ -3218,6 +3220,7 @@ module DiameterCxDx_Cx_TCFunctions { function f_TC_CX_HSS_RT_10_I_S() runs on DiameterCx { // Local variables var Session_Id_AVP v_sessionId; // Preamble // Clause 'Initial conditions' Loading @@ -3227,6 +3230,7 @@ module DiameterCxDx_Cx_TCFunctions { PX_ServiceIdentity, m_uar_Flags_Cx ); v_sessionId := valueof(vc_sessionId); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body Loading @@ -3236,7 +3240,7 @@ module DiameterCxDx_Cx_TCFunctions { // Clause 'then': the IUT sends an RT-Request and receives an RT-Answer f_awaiting_RTR( mw_RTR_Msg( vc_sessionId, // containing a Session-ID AVP ?, // containing a Session-ID AVP mw_RTR_publicIdentity( vc_originHost, vc_originRealm, Loading @@ -3245,23 +3249,16 @@ module DiameterCxDx_Cx_TCFunctions { vc_userName, // containing a User-Name AVP // indicating the private user identity mw_deregistration_Reason_AVP( // containing a Deregistration-Reason AVP // indicating any deregistration reason mw_reason_Code_AVP mw_reason_Code_AVP( REMOVE_S_CSCF_E // indicating REMOVE_S CSCF ) ), { // containing more than one Public-Identity AVP // indicating a public service identity matching the wildcarded public service identity provided by the SA-Request message valueof(vc_publicIdentity) } ))); if (ispresent(vc_recvDiamMsg.rTR_MSG.rTR_Body.public_Identity)) { // not containing a list of Public-Identity AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else if ( vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != REMOVE_S_CSCF_E ) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); } // Postamble f_send_RTA(m_RTA_Msg(vc_sessionId, Loading @@ -3270,6 +3267,7 @@ module DiameterCxDx_Cx_TCFunctions { m_resultCode (DIAMETER_SUCCESS_E), omit))); vc_sessionId := v_sessionId; f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); Loading DiameterCxDx/ttcn/DiameterCxDx_PIXITS.ttcn +8 −0 Original line number Diff line number Diff line Loading @@ -276,6 +276,14 @@ module DiameterCxDx_PIXITS modulepar UTF8String PX_ServiceIdentity := "service_identity@etsi.org"; /** @desc UTF8String, PIXIT item A.7/33 * the wildcard-Identity value. * @see 3GPP TS 29.229 6.3.2 Public-Identity AVP */ modulepar UTF8String PX_WildcardIdentity := "public_identity!.*!@etsi.org"; /** @desc UTF8String, PIXIT item A.7/34 * the application server URL. * @see 3GPP TS 29.229 6.3.2 Public-Identity AVP Loading DiameterCxDx/ttcn/DiameterCxDx_Templates.ttcn +5 −4 Original line number Diff line number Diff line Loading @@ -1699,7 +1699,8 @@ module DiameterCxDx_Templates { server_Capabilities := p_serverCapabilities } template SAA_Body_AVP mw_SAA_ResulExpre (template Result_Code_AVP p_resultCode, template SAA_Body_AVP mw_SAA_ResulExpre ( template Result_Code_AVP p_resultCode, template Experimental_Result_AVP p_experimentalResult) modifies mw_SAA_basic := { result_Code := p_resultCode, Loading Loading
DiameterCxDx/ttcn/DiameterCxDx_Cx_TCFunctions.ttcn3 +72 −74 Original line number Diff line number Diff line Loading @@ -2306,7 +2306,6 @@ module DiameterCxDx_Cx_TCFunctions { *, mw_restoration_Info_AVP_dummy // containing an SCSCF-Restoration-Info AVP // indicating information related with Public User Identity // TODO To be enhanced ))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); Loading Loading @@ -2384,6 +2383,10 @@ module DiameterCxDx_Cx_TCFunctions { // Preamble // Clause 'Initial conditions' f_preamble_ICSCF(); f_hssRegistrationCx(vc_sessionId, PX_UserName, PX_PublicIdentity ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body Loading Loading @@ -2420,16 +2423,15 @@ module DiameterCxDx_Cx_TCFunctions { ); // Check Result Code in vc_recvDiamMsg if (ischosen(vc_recvDiamMsg.sAA_MSG)) { if ( // containing a Result-Code AVP // indicating DIAMETER_SUCCESS ispresent(vc_recvDiamMsg.sAA_MSG.sAA_Body.result_Code) and (vc_recvDiamMsg.sAA_MSG.sAA_Body.result_Code.aVP_Data == DIAMETER_SUCCESS_E) match(vc_recvDiamMsg.sAA_MSG.sAA_Body.result_Code, mw_resultCode(DIAMETER_SUCCESS_E)) ) { f_setVerdict(e_success); } else if ( ispresent(vc_recvDiamMsg.sAA_MSG.sAA_Body.experimental_Result) and (vc_recvDiamMsg.sAA_MSG.sAA_Body.experimental_Result.experimental_Result_Code.aVP_Data == DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED_E) match(vc_recvDiamMsg.sAA_MSG.sAA_Body.experimental_Result.experimental_Result_Code, mw_experimentalResultCode(?, DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED_E)) ) { // OR containing an Experimental-Result AVP // containing an Experimental-Result-Code AVP // indicating DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED Loading @@ -2443,7 +2445,7 @@ module DiameterCxDx_Cx_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // Postamble f_s_SAR_SAA(vc_sessionId, USER_DEREGISTRATION_E); f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } // End of function f_TC_CX_HSS_SA_15_I Loading @@ -2458,7 +2460,10 @@ module DiameterCxDx_Cx_TCFunctions { // Preamble // Clause 'Initial conditions' f_preamble_ICSCF(); f_s_SAR_SAA(vc_sessionId); f_hssRegistrationCx(vc_sessionId, PX_UserName, PX_PublicIdentity ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body Loading Loading @@ -2500,7 +2505,7 @@ module DiameterCxDx_Cx_TCFunctions { // Postamble vc_serverName := m_serverName(PX_ServerName); f_s_SAR_SAA(vc_sessionId, USER_DEREGISTRATION_E); f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } // End of function f_TC_CX_HSS_SA_16_I Loading @@ -2515,7 +2520,10 @@ module DiameterCxDx_Cx_TCFunctions { // Preamble // Clause 'Initial conditions' f_preamble_ICSCF(); f_s_SAR_SAA(vc_sessionId); f_hssRegistrationCx(vc_sessionId, PX_UserName, PX_PublicIdentity ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body Loading Loading @@ -2556,9 +2564,8 @@ module DiameterCxDx_Cx_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // Postamble f_s_SAR_SAA(vc_sessionId, USER_DEREGISTRATION_E); vc_serverName := m_serverName(PX_ServerName); f_s_SAR_SAA(vc_sessionId, USER_DEREGISTRATION_E); f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } // End of function f_TC_CX_HSS_SA_17_I Loading Loading @@ -2854,9 +2861,9 @@ module DiameterCxDx_Cx_TCFunctions { if (ispresent(vc_recvDiamMsg.rTR_MSG.rTR_Body.public_Identity)) { // not containing a list of Public-Identity AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else if ( (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != PERMANENT_TERMINATION_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != SERVER_CHANGE_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != REMOVE_S_CSCF_E) (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, PERMANENT_TERMINATION_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, SERVER_CHANGE_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, REMOVE_S_CSCF_E)) ) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { Loading Loading @@ -2926,9 +2933,9 @@ module DiameterCxDx_Cx_TCFunctions { if (ispresent(vc_recvDiamMsg.rTR_MSG.rTR_Body.public_Identity)) { // not containing a list of Public-Identity AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else if ( (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != PERMANENT_TERMINATION_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != SERVER_CHANGE_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != REMOVE_S_CSCF_E) (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, PERMANENT_TERMINATION_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, SERVER_CHANGE_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, REMOVE_S_CSCF_E)) ) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { Loading Loading @@ -2998,9 +3005,9 @@ module DiameterCxDx_Cx_TCFunctions { } ))); if ( (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != PERMANENT_TERMINATION_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != SERVER_CHANGE_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != REMOVE_S_CSCF_E) (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, PERMANENT_TERMINATION_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, SERVER_CHANGE_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, REMOVE_S_CSCF_E)) ) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { Loading @@ -3014,7 +3021,8 @@ module DiameterCxDx_Cx_TCFunctions { m_resultCode (DIAMETER_SUCCESS_E), omit))); vc_sessionId := v_sessionId; f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); Loading @@ -3026,15 +3034,17 @@ module DiameterCxDx_Cx_TCFunctions { function f_TC_CX_HSS_RT_07_I_S() runs on DiameterCx { // Local variables var Session_Id_AVP v_sessionId; // Preamble // Clause 'Initial conditions' f_preamble_ICSCF(); f_hssRegistrationCx(vc_sessionId, // Public Service Identities PX_UserName, PX_ServiceIdentity, PX_WildcardIdentity, // indicating wildcarded public user identity m_uar_Flags_Cx ); v_sessionId := valueof(vc_sessionId); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body Loading @@ -3044,7 +3054,7 @@ module DiameterCxDx_Cx_TCFunctions { // Clause 'then': the IUT sends an RT-Request and receives an RT-Answer f_awaiting_RTR( mw_RTR_Msg( vc_sessionId, // containing a Session-ID AVP ?, // containing a Session-ID AVP mw_RTR_publicIdentity( vc_originHost, vc_originRealm, Loading @@ -3061,24 +3071,24 @@ module DiameterCxDx_Cx_TCFunctions { valueof(vc_publicIdentity) } ))); if (ispresent(vc_recvDiamMsg.rTR_MSG.rTR_Body.public_Identity)) { // not containing a list of Public-Identity AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else if ( (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != PERMANENT_TERMINATION_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != SERVER_CHANGE_E) and (vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != REMOVE_S_CSCF_E) if ( (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, PERMANENT_TERMINATION_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, SERVER_CHANGE_E)) and (not match(vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data, REMOVE_S_CSCF_E)) ) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); }; // Postamble f_send_RTA(m_RTA_Msg(vc_sessionId, m_RTA_basic(vc_originHost, vc_originRealm, m_resultCode (DIAMETER_SUCCESS_E), omit))); // Postamble vc_sessionId := v_sessionId; f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); Loading @@ -3090,6 +3100,7 @@ module DiameterCxDx_Cx_TCFunctions { function f_TC_CX_HSS_RT_08_I_S2() runs on DiameterCx { // Local variables var Session_Id_AVP v_sessionId; // Preamble // Clause 'Initial conditions' Loading @@ -3099,6 +3110,7 @@ module DiameterCxDx_Cx_TCFunctions { PX_ServiceIdentity, m_uar_Flags_Cx ); v_sessionId := valueof(vc_sessionId); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body Loading @@ -3108,7 +3120,7 @@ module DiameterCxDx_Cx_TCFunctions { // Clause 'then': the IUT sends an RT-Request and receives an RT-Answer f_awaiting_RTR( mw_RTR_Msg( vc_sessionId, // containing a Session-ID AVP ?, // containing a Session-ID AVP mw_RTR_publicIdentity( vc_originHost, vc_originRealm, Loading @@ -3117,23 +3129,16 @@ module DiameterCxDx_Cx_TCFunctions { vc_userName, // containing a User-Name AVP // indicating the private user identity mw_deregistration_Reason_AVP( // containing a Deregistration-Reason AVP // indicating any deregistration reason mw_reason_Code_AVP mw_reason_Code_AVP( NEW_SERVER_ASSIGNED_E // indicating NEW_SERVER_ASSIGNED ) ), { // containing more than one Public-Identity AVP // indicating a public service identity matching the wildcarded public service identity provided by the SA-Request message valueof(vc_publicIdentity) } ))); if (ispresent(vc_recvDiamMsg.rTR_MSG.rTR_Body.public_Identity)) { // not containing a list of Public-Identity AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else if ( vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != NEW_SERVER_ASSIGNED_E ) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); } // Postamble f_send_RTA(m_RTA_Msg(vc_sessionId, Loading @@ -3142,7 +3147,8 @@ module DiameterCxDx_Cx_TCFunctions { m_resultCode (DIAMETER_SUCCESS_E), omit))); vc_sessionId := v_sessionId; f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); Loading @@ -3154,6 +3160,7 @@ module DiameterCxDx_Cx_TCFunctions { function f_TC_CX_HSS_RT_09_I_S2() runs on DiameterCx { // Local variables var Session_Id_AVP v_sessionId; // Preamble // Clause 'Initial conditions' Loading @@ -3163,6 +3170,7 @@ module DiameterCxDx_Cx_TCFunctions { PX_ServiceIdentity, m_uar_Flags_Cx ); v_sessionId := valueof(vc_sessionId); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body Loading @@ -3172,7 +3180,7 @@ module DiameterCxDx_Cx_TCFunctions { // Clause 'then': the IUT sends an RT-Request and receives an RT-Answer f_awaiting_RTR( mw_RTR_Msg( vc_sessionId, // containing a Session-ID AVP ?, // containing a Session-ID AVP mw_RTR_publicIdentity( vc_originHost, vc_originRealm, Loading @@ -3181,23 +3189,16 @@ module DiameterCxDx_Cx_TCFunctions { vc_userName, // containing a User-Name AVP // indicating the private user identity mw_deregistration_Reason_AVP( // containing a Deregistration-Reason AVP // indicating any deregistration reason mw_reason_Code_AVP mw_reason_Code_AVP( NEW_SERVER_ASSIGNED_E // indicating NEW_SERVER_ASSIGNED ) ), { // containing more than one Public-Identity AVP // indicating a public service identity matching the wildcarded public service identity provided by the SA-Request message valueof(vc_publicIdentity) } ))); if (ispresent(vc_recvDiamMsg.rTR_MSG.rTR_Body.public_Identity)) { // not containing a list of Public-Identity AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else if ( vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != SERVER_CHANGE_E ) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); } // Postamble f_send_RTA(m_RTA_Msg(vc_sessionId, Loading @@ -3206,7 +3207,8 @@ module DiameterCxDx_Cx_TCFunctions { m_resultCode (DIAMETER_SUCCESS_E), omit))); vc_sessionId := v_sessionId; f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); Loading @@ -3218,6 +3220,7 @@ module DiameterCxDx_Cx_TCFunctions { function f_TC_CX_HSS_RT_10_I_S() runs on DiameterCx { // Local variables var Session_Id_AVP v_sessionId; // Preamble // Clause 'Initial conditions' Loading @@ -3227,6 +3230,7 @@ module DiameterCxDx_Cx_TCFunctions { PX_ServiceIdentity, m_uar_Flags_Cx ); v_sessionId := valueof(vc_sessionId); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Test Body Loading @@ -3236,7 +3240,7 @@ module DiameterCxDx_Cx_TCFunctions { // Clause 'then': the IUT sends an RT-Request and receives an RT-Answer f_awaiting_RTR( mw_RTR_Msg( vc_sessionId, // containing a Session-ID AVP ?, // containing a Session-ID AVP mw_RTR_publicIdentity( vc_originHost, vc_originRealm, Loading @@ -3245,23 +3249,16 @@ module DiameterCxDx_Cx_TCFunctions { vc_userName, // containing a User-Name AVP // indicating the private user identity mw_deregistration_Reason_AVP( // containing a Deregistration-Reason AVP // indicating any deregistration reason mw_reason_Code_AVP mw_reason_Code_AVP( REMOVE_S_CSCF_E // indicating REMOVE_S CSCF ) ), { // containing more than one Public-Identity AVP // indicating a public service identity matching the wildcarded public service identity provided by the SA-Request message valueof(vc_publicIdentity) } ))); if (ispresent(vc_recvDiamMsg.rTR_MSG.rTR_Body.public_Identity)) { // not containing a list of Public-Identity AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else if ( vc_recvDiamMsg.rTR_MSG.rTR_Body.deregistration_Reason.reason_Code.aVP_Data != REMOVE_S_CSCF_E ) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); } // Postamble f_send_RTA(m_RTA_Msg(vc_sessionId, Loading @@ -3270,6 +3267,7 @@ module DiameterCxDx_Cx_TCFunctions { m_resultCode (DIAMETER_SUCCESS_E), omit))); vc_sessionId := v_sessionId; f_hssDeregistrationCx(vc_sessionId); f_postamble_HSS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); Loading
DiameterCxDx/ttcn/DiameterCxDx_PIXITS.ttcn +8 −0 Original line number Diff line number Diff line Loading @@ -276,6 +276,14 @@ module DiameterCxDx_PIXITS modulepar UTF8String PX_ServiceIdentity := "service_identity@etsi.org"; /** @desc UTF8String, PIXIT item A.7/33 * the wildcard-Identity value. * @see 3GPP TS 29.229 6.3.2 Public-Identity AVP */ modulepar UTF8String PX_WildcardIdentity := "public_identity!.*!@etsi.org"; /** @desc UTF8String, PIXIT item A.7/34 * the application server URL. * @see 3GPP TS 29.229 6.3.2 Public-Identity AVP Loading
DiameterCxDx/ttcn/DiameterCxDx_Templates.ttcn +5 −4 Original line number Diff line number Diff line Loading @@ -1699,7 +1699,8 @@ module DiameterCxDx_Templates { server_Capabilities := p_serverCapabilities } template SAA_Body_AVP mw_SAA_ResulExpre (template Result_Code_AVP p_resultCode, template SAA_Body_AVP mw_SAA_ResulExpre ( template Result_Code_AVP p_resultCode, template Experimental_Result_AVP p_experimentalResult) modifies mw_SAA_basic := { result_Code := p_resultCode, Loading