Loading ttcn/DiameterShDh_TCFunctions.ttcn3 +32 −1 Original line number Diff line number Diff line Loading @@ -1927,7 +1927,38 @@ module DiameterShDh_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); //TODO TestBody timer t1; f_send_SNR( md_sNR( vc_sessionId, md_snrBodyAvps_Expiry_Time( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP m_msisdn_user_Identity ( m_MSISDN_user_identity(char2oct(PX_PublicUserIdentity)) ), m_data_Reference(DSAI_E), // containing a Data-Reference AVP m_expiry_Time_AVP(120) // indicating not matching DSAI )) ); t1.start (120.0); f_awaiting_SNA( mdw_sNA( vc_sessionId, // containing a Session-ID AVP mdw_snaBodyExpiryTimeAvps( mw_resultCode(DIAMETER_SUCCESS_E), vc_originHost_IUT, // containing an Origin-Host AVP vc_originRealm_IUT, mw_expiry_Time_AVP(120) )) ); t1.timeout; f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); Loading ttcn/DiameterShDh_Templates.ttcn3 +47 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,13 @@ module DiameterShDh_Templates { aVP_Data := p_aVP_Data } template (value) Expiry_Time_AVP m_expiry_Time_AVP( in template (value) Time p_aVP_Data ) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_expiry_Time_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_aVP_Data } template (value) Redirect_Host_AVP m_redirect_host( in template (value) Diameter_Identity p_aVP_Data ) := { Loading Loading @@ -178,6 +185,13 @@ module DiameterShDh_Templates { aVP_Type := * } template (value) Expiry_Time_AVP mw_expiry_Time_AVP( in template (present) Time p_aVP_Data ) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_expiry_Time_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_aVP_Data } } // End of group receivingTemplatesForAVPs } // End of group SpecificAVPHeaders Loading Loading @@ -399,6 +413,26 @@ module DiameterShDh_Templates { } // End of template md_snrBodyAvps_DSAI_Tag template (value) SNR_Body_AVP md_snrBodyAvps_Expiry_Time( template (value) Origin_Host_AVP p_origin_Host, template (value) Origin_Realm_AVP p_origin_Realm, template (value) Destination_Realm_AVP p_destination_Realm, template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy, template (value) Data_Reference_AVP p_data_Reference := m_data_Reference_dummy, template (value) Expiry_Time_AVP p_expiry_Time ) modifies m_SNR_Body_dummy := { vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Sh,//required only in TS129 229 auth_Session_State := m_auth_Session_State, origin_Host := p_origin_Host, origin_Realm := p_origin_Realm, destination_Realm := p_destination_Realm, user_Identity := p_user_Identity, data_Reference := {p_data_Reference}, expiry_Time := p_expiry_Time } // End of template md_snrBodyAvps_DSAI_Tag } // End of group snr_msg } // End of group Sh_request_message_templates_send Loading Loading @@ -971,6 +1005,19 @@ module DiameterShDh_Templates { origin_Realm := p_originRealm } // End of template mdw_snaBodyAvps template (present) SNA_Body_AVP mdw_snaBodyExpiryTimeAvps( template Result_Code_AVP p_resultCode, template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template (present) Expiry_Time_AVP p_expiry_Time ) modifies mw_SNA_Body_dummy := { result_Code := p_resultCode, origin_Host := p_originHost, origin_Realm := p_originRealm, expiry_Time := p_expiry_Time } // End of template mdw_snaBodyExpiryTimeAvps template (present) SNA_Body_AVP mdw_snaBodyAvps_experimental_result( template Experimental_Result_AVP p_experimentalResult ) modifies mw_SNA_Body_dummy := { Loading ttcn/DiameterShDh_TestCases.ttcn3 +52 −1 Original line number Diff line number Diff line Loading @@ -2835,6 +2835,57 @@ module DiameterShDh_TestCases { } // End of testcase TP_SH_HSS_SN_06 /** * @desc Verify that the IUT, if the Data-Reference is DSAI (19) for the Public Identity and * there is no instance of DSAI matching the DSAI-Tag contained in the Sh-Subs-Notif command, * returns an SN-Answer with the appropriate experimental result code. * * <pre> * Pics Selection: PICS_HSS_IUT * Initial conditions: * with { * * } * Expected behaviour: * Ensure that the IUT * on receipt of an SN-Request * containing an Expiry-Time AVP * sends an SN-Answer * containing an Expiry-Time AVP * indicating absolute expiration time * not send a PN-Request after time expiration. * </pre> * * @version 0.0.7 * @see ETSI TS 103 571-2 TP_SH_HSS_SN_07 */ testcase TP_SH_HSS_SN_07() runs on DiameterShDh system TestAdapter { // Local variables var DiameterShDh v_diameterSh_as; // Test control if (not PICS_AS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); // Start v_diameterSh_as.start(f_TC_SH_HSS_SN_07()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Sh_asDown(v_diameterSh_as); } // End of testcase TP_SH_HSS_SN_07 } // End of group TP_HSSRole_SubscriptionNofification group TP_HSSRole_PushNofification { Loading Loading
ttcn/DiameterShDh_TCFunctions.ttcn3 +32 −1 Original line number Diff line number Diff line Loading @@ -1927,7 +1927,38 @@ module DiameterShDh_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); //TODO TestBody timer t1; f_send_SNR( md_sNR( vc_sessionId, md_snrBodyAvps_Expiry_Time( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm, // containing a Destination-Realm AVP m_msisdn_user_Identity ( m_MSISDN_user_identity(char2oct(PX_PublicUserIdentity)) ), m_data_Reference(DSAI_E), // containing a Data-Reference AVP m_expiry_Time_AVP(120) // indicating not matching DSAI )) ); t1.start (120.0); f_awaiting_SNA( mdw_sNA( vc_sessionId, // containing a Session-ID AVP mdw_snaBodyExpiryTimeAvps( mw_resultCode(DIAMETER_SUCCESS_E), vc_originHost_IUT, // containing an Origin-Host AVP vc_originRealm_IUT, mw_expiry_Time_AVP(120) )) ); t1.timeout; f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); Loading
ttcn/DiameterShDh_Templates.ttcn3 +47 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,13 @@ module DiameterShDh_Templates { aVP_Data := p_aVP_Data } template (value) Expiry_Time_AVP m_expiry_Time_AVP( in template (value) Time p_aVP_Data ) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_expiry_Time_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_aVP_Data } template (value) Redirect_Host_AVP m_redirect_host( in template (value) Diameter_Identity p_aVP_Data ) := { Loading Loading @@ -178,6 +185,13 @@ module DiameterShDh_Templates { aVP_Type := * } template (value) Expiry_Time_AVP mw_expiry_Time_AVP( in template (present) Time p_aVP_Data ) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_expiry_Time_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_aVP_Data } } // End of group receivingTemplatesForAVPs } // End of group SpecificAVPHeaders Loading Loading @@ -399,6 +413,26 @@ module DiameterShDh_Templates { } // End of template md_snrBodyAvps_DSAI_Tag template (value) SNR_Body_AVP md_snrBodyAvps_Expiry_Time( template (value) Origin_Host_AVP p_origin_Host, template (value) Origin_Realm_AVP p_origin_Realm, template (value) Destination_Realm_AVP p_destination_Realm, template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy, template (value) Data_Reference_AVP p_data_Reference := m_data_Reference_dummy, template (value) Expiry_Time_AVP p_expiry_Time ) modifies m_SNR_Body_dummy := { vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Sh,//required only in TS129 229 auth_Session_State := m_auth_Session_State, origin_Host := p_origin_Host, origin_Realm := p_origin_Realm, destination_Realm := p_destination_Realm, user_Identity := p_user_Identity, data_Reference := {p_data_Reference}, expiry_Time := p_expiry_Time } // End of template md_snrBodyAvps_DSAI_Tag } // End of group snr_msg } // End of group Sh_request_message_templates_send Loading Loading @@ -971,6 +1005,19 @@ module DiameterShDh_Templates { origin_Realm := p_originRealm } // End of template mdw_snaBodyAvps template (present) SNA_Body_AVP mdw_snaBodyExpiryTimeAvps( template Result_Code_AVP p_resultCode, template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template (present) Expiry_Time_AVP p_expiry_Time ) modifies mw_SNA_Body_dummy := { result_Code := p_resultCode, origin_Host := p_originHost, origin_Realm := p_originRealm, expiry_Time := p_expiry_Time } // End of template mdw_snaBodyExpiryTimeAvps template (present) SNA_Body_AVP mdw_snaBodyAvps_experimental_result( template Experimental_Result_AVP p_experimentalResult ) modifies mw_SNA_Body_dummy := { Loading
ttcn/DiameterShDh_TestCases.ttcn3 +52 −1 Original line number Diff line number Diff line Loading @@ -2835,6 +2835,57 @@ module DiameterShDh_TestCases { } // End of testcase TP_SH_HSS_SN_06 /** * @desc Verify that the IUT, if the Data-Reference is DSAI (19) for the Public Identity and * there is no instance of DSAI matching the DSAI-Tag contained in the Sh-Subs-Notif command, * returns an SN-Answer with the appropriate experimental result code. * * <pre> * Pics Selection: PICS_HSS_IUT * Initial conditions: * with { * * } * Expected behaviour: * Ensure that the IUT * on receipt of an SN-Request * containing an Expiry-Time AVP * sends an SN-Answer * containing an Expiry-Time AVP * indicating absolute expiration time * not send a PN-Request after time expiration. * </pre> * * @version 0.0.7 * @see ETSI TS 103 571-2 TP_SH_HSS_SN_07 */ testcase TP_SH_HSS_SN_07() runs on DiameterShDh system TestAdapter { // Local variables var DiameterShDh v_diameterSh_as; // Test control if (not PICS_AS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); // Start v_diameterSh_as.start(f_TC_SH_HSS_SN_07()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Sh_asDown(v_diameterSh_as); } // End of testcase TP_SH_HSS_SN_07 } // End of group TP_HSSRole_SubscriptionNofification group TP_HSSRole_PushNofification { Loading