Loading LibDiameter @ 082d98d6 Original line number Original line Diff line number Diff line Subproject commit d0520a15a2b12d917a2b966755150a268718d882 Subproject commit 082d98d6983d3f0a0ccc75425e8536a37c086bdc ttcn/DiameterShDh_PIXITS.ttcn3 +2 −0 Original line number Original line Diff line number Diff line Loading @@ -167,6 +167,8 @@ module DiameterShDh_PIXITS { modulepar octetstring PX_DSAI_TAG := '00'O; modulepar octetstring PX_DSAI_TAG := '00'O; modulepar LibDiameter_Types_Base_AVPs.Diameter_Identity PX_HSS_IDENTITY := "hss.etsi.org"; } // End of group DiameterCommonShDhData } // End of group DiameterCommonShDhData group SipParameters { group SipParameters { Loading ttcn/DiameterShDh_TCFunctions.ttcn3 +49 −4 Original line number Original line Diff line number Diff line Loading @@ -2254,8 +2254,9 @@ module DiameterShDh_TCFunctions { vc_originRealm_IUT, // containing an Origin-Realm AVP vc_originRealm_IUT, // containing an Origin-Realm AVP // containing a User-Identity AVP // containing a User-Identity AVP // containing a Data-Reference AVP // containing a Data-Reference AVP mw_redirect_host mw_redirect_host( // containing a Redirect-Host AVP ))); PX_HSS_IDENTITY// indicating the HSS identity to be used )))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); Loading Loading @@ -2349,10 +2350,54 @@ module DiameterShDh_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); //TODO TestBody // TestBody // to indicate a user data handling procedure action("The IUT is requested to indicate a user data handling procedure"); // Clause 'then': the IUT sends an UD-Request to the SLF f_awaiting_UDR( mdw_uDR_Header_UDRBody( ?, ?, // containing a Session-ID AVP mdw_udrBodyAvps( vc_originHost_IUT, // containing an Origin-Host AVP vc_originRealm_IUT, // containing an Origin-Realm AVP vc_destinationRealm_IUT // containing a Destination-Realm AVP ))); // on receipt of a UD-Answer from the SLF f_send_UDA( md_uDA( vc_sessionId, // Set in f_awaiting_UDR md_udaBodyAvps_redirect( m_resultCode(DIAMETER_REDIRECT_INDICATION_E), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_redirect_host( // containing a Redirect-Host AVP PX_HSS_IDENTITY// indicating the HSS identity to be used ) ))); f_awaiting_UDR( mdw_uDR_Header_UDRBody( ?, ?, // containing a Session-ID AVP mdw_udrBodyAvps( vc_originHost_IUT, // containing an Origin-Host AVP vc_originRealm_IUT, // containing an Origin-Realm AVP vc_destinationRealm_IUT, // containing a Destination-Realm AVP // containing a User-Identity AVP m_data_Reference_dummy // containing a Data-Reference AVP // indicating RepositoryData (0) ))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_send_UDA( md_uDA( vc_sessionId, // Set in f_awaiting_UDR md_udaBodyAvps( m_resultCode(DIAMETER_SUCCESS_E), vc_originHost, vc_originRealm ))); f_postamble_Dh_SLF(); f_postamble_Dh_SLF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); Loading ttcn/DiameterShDh_Templates.ttcn3 +20 −1 Original line number Original line Diff line number Diff line Loading @@ -141,6 +141,13 @@ module DiameterShDh_Templates { aVP_Data := p_aVP_Data aVP_Data := p_aVP_Data } } template (value) Redirect_Host_AVP m_redirect_host( in template (value) Diameter_Identity p_aVP_Data ) := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_redirect_Host_AVP_Code, ?, ?), aVP_Data := p_aVP_Data } } // End of group sendingTemplatesForAVPs } // End of group sendingTemplatesForAVPs group receivingTemplatesForAVPs{ group receivingTemplatesForAVPs{ Loading Loading @@ -557,6 +564,18 @@ module DiameterShDh_Templates { origin_Realm := p_originRealm origin_Realm := p_originRealm } // End of template md_udaBodyAvps } // End of template md_udaBodyAvps template (omit) UDA_Body_AVP md_udaBodyAvps_redirect( in template (value) Result_Code_AVP p_resultCode, in template (value) Origin_Host_AVP p_originHost, in template (value) Origin_Realm_AVP p_originRealm, in template (value) Redirect_Host_AVP p_redirect_host ) modifies md_udaBodyAvps := { result_Code := p_resultCode, origin_Host := p_originHost, origin_Realm := p_originRealm, aVP_Type := { AVP_Type: {p_redirect_Host_AVP.aVP_Header, { cHARSTRING := p_redirect_Host_AVP.aVP_Data } } } } // End of template md_udaBodyAvps } // End of group uda_msg } // End of group uda_msg group pna_msg { group pna_msg { Loading Loading @@ -665,7 +684,7 @@ module DiameterShDh_Templates { experimental_Result := omit, experimental_Result := omit, origin_Host := p_originHost, origin_Host := p_originHost, origin_Realm := p_originRealm, origin_Realm := p_originRealm, aVP_Type := superset(AVP_Type: {p_redirect_Host_AVP.aVP_Header, ?}) aVP_Type := superset(AVP_Type: {p_redirect_Host_AVP.aVP_Header, { cHARSTRING := p_redirect_Host_AVP.aVP_Data }}) } // End of template mdw_udaBodyAvps_redirect } // End of template mdw_udaBodyAvps_redirect template (present) Experimental_Result_AVP mw_experimentalResult( template (present) Experimental_Result_AVP mw_experimentalResult( Loading ttcn/DiameterShDh_TestCases.ttcn3 +60 −4 Original line number Original line Diff line number Diff line Loading @@ -3023,7 +3023,7 @@ module DiameterShDh_TestCases { */ */ testcase TC_DH_SLF_UD_01() runs on DiameterShDh system TestAdapter { testcase TC_DH_SLF_UD_01() runs on DiameterShDh system TestAdapter { // Local variables // Local variables var DiameterShDh v_diameterSh_slf; var DiameterShDh v_diameterSh_as; // Test control // Test control if (not PICS_SLF_IUT) { if (not PICS_SLF_IUT) { Loading @@ -3032,15 +3032,15 @@ module DiameterShDh_TestCases { } } // Test component configuration // Test component configuration f_cf_1Dh_slfUp(v_diameterSh_slf); f_cf_1Dh_asUp(v_diameterSh_as); // Start // Start v_diameterSh_slf.start(f_TC_DH_SLF_UD_01()); v_diameterSh_as.start(f_TC_DH_SLF_UD_01()); // synchronize PTC on 1 sychronization points // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Dh_slfDown(v_diameterSh_slf); f_cf_1Dh_asDown(v_diameterSh_as); } // End of testcase TC_DH_SLF_UD_01 } // End of testcase TC_DH_SLF_UD_01 Loading @@ -3064,6 +3064,62 @@ module DiameterShDh_TestCases { //} // End of group TP_ASRole_MessageSyntax //} // End of group TP_ASRole_MessageSyntax group TP_ASRole_UserData{ group TP_ASRole_UserData{ /** * @desc Verify that the IUT for user data handling procedure sends a UD-Request to the SLF and after reception of a UD-Answer forwards a UD-Request to the HSS. * <pre> * Pics Selection: PICS_AS_IUT * Initial conditions: * with { * * } * Expected behaviour: * ensure that { * when { * to indicate a user data handling procedure * } * then { * the IUT sends a UD-Request to the SLF * on receipt of a UD-Answer from the SLF * containing a Redirect-Host AVP * indicating the HSS identity to be used * not containing an Experimental-Result AVP * containing a Result-Code AVP * indicating DIAMETER_REDIRECT_INDICATION (3006) * sends a UD-Request to the HSS * containing a Destination-Host AVP * containing a Destination-Realm AVP. * } * } * </pre> * * @version 0.0.6 * @see ETSI TS 103 571-2 TP_DH_AS_UD_01 */ testcase TC_DH_AS_UD_01() runs on DiameterShDh system TestAdapter { // Local variables var DiameterShDh v_diameterSh_slf; // Test control if (not PICS_AS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_AS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Dh_slfUp(v_diameterSh_slf); // Start v_diameterSh_slf.start(f_TC_DH_AS_UD_01()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Dh_slfDown(v_diameterSh_slf); } // End of testcase TC_DH_AS_UD_01 } // End of group TP_ASRole_UserData } // End of group TP_ASRole_UserData group TP_ASRole_ProfileUpdate{ group TP_ASRole_ProfileUpdate{ Loading Loading
LibDiameter @ 082d98d6 Original line number Original line Diff line number Diff line Subproject commit d0520a15a2b12d917a2b966755150a268718d882 Subproject commit 082d98d6983d3f0a0ccc75425e8536a37c086bdc
ttcn/DiameterShDh_PIXITS.ttcn3 +2 −0 Original line number Original line Diff line number Diff line Loading @@ -167,6 +167,8 @@ module DiameterShDh_PIXITS { modulepar octetstring PX_DSAI_TAG := '00'O; modulepar octetstring PX_DSAI_TAG := '00'O; modulepar LibDiameter_Types_Base_AVPs.Diameter_Identity PX_HSS_IDENTITY := "hss.etsi.org"; } // End of group DiameterCommonShDhData } // End of group DiameterCommonShDhData group SipParameters { group SipParameters { Loading
ttcn/DiameterShDh_TCFunctions.ttcn3 +49 −4 Original line number Original line Diff line number Diff line Loading @@ -2254,8 +2254,9 @@ module DiameterShDh_TCFunctions { vc_originRealm_IUT, // containing an Origin-Realm AVP vc_originRealm_IUT, // containing an Origin-Realm AVP // containing a User-Identity AVP // containing a User-Identity AVP // containing a Data-Reference AVP // containing a Data-Reference AVP mw_redirect_host mw_redirect_host( // containing a Redirect-Host AVP ))); PX_HSS_IDENTITY// indicating the HSS identity to be used )))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); Loading Loading @@ -2349,10 +2350,54 @@ module DiameterShDh_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); //TODO TestBody // TestBody // to indicate a user data handling procedure action("The IUT is requested to indicate a user data handling procedure"); // Clause 'then': the IUT sends an UD-Request to the SLF f_awaiting_UDR( mdw_uDR_Header_UDRBody( ?, ?, // containing a Session-ID AVP mdw_udrBodyAvps( vc_originHost_IUT, // containing an Origin-Host AVP vc_originRealm_IUT, // containing an Origin-Realm AVP vc_destinationRealm_IUT // containing a Destination-Realm AVP ))); // on receipt of a UD-Answer from the SLF f_send_UDA( md_uDA( vc_sessionId, // Set in f_awaiting_UDR md_udaBodyAvps_redirect( m_resultCode(DIAMETER_REDIRECT_INDICATION_E), vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP m_redirect_host( // containing a Redirect-Host AVP PX_HSS_IDENTITY// indicating the HSS identity to be used ) ))); f_awaiting_UDR( mdw_uDR_Header_UDRBody( ?, ?, // containing a Session-ID AVP mdw_udrBodyAvps( vc_originHost_IUT, // containing an Origin-Host AVP vc_originRealm_IUT, // containing an Origin-Realm AVP vc_destinationRealm_IUT, // containing a Destination-Realm AVP // containing a User-Identity AVP m_data_Reference_dummy // containing a Data-Reference AVP // indicating RepositoryData (0) ))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_send_UDA( md_uDA( vc_sessionId, // Set in f_awaiting_UDR md_udaBodyAvps( m_resultCode(DIAMETER_SUCCESS_E), vc_originHost, vc_originRealm ))); f_postamble_Dh_SLF(); f_postamble_Dh_SLF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); Loading
ttcn/DiameterShDh_Templates.ttcn3 +20 −1 Original line number Original line Diff line number Diff line Loading @@ -141,6 +141,13 @@ module DiameterShDh_Templates { aVP_Data := p_aVP_Data aVP_Data := p_aVP_Data } } template (value) Redirect_Host_AVP m_redirect_host( in template (value) Diameter_Identity p_aVP_Data ) := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_redirect_Host_AVP_Code, ?, ?), aVP_Data := p_aVP_Data } } // End of group sendingTemplatesForAVPs } // End of group sendingTemplatesForAVPs group receivingTemplatesForAVPs{ group receivingTemplatesForAVPs{ Loading Loading @@ -557,6 +564,18 @@ module DiameterShDh_Templates { origin_Realm := p_originRealm origin_Realm := p_originRealm } // End of template md_udaBodyAvps } // End of template md_udaBodyAvps template (omit) UDA_Body_AVP md_udaBodyAvps_redirect( in template (value) Result_Code_AVP p_resultCode, in template (value) Origin_Host_AVP p_originHost, in template (value) Origin_Realm_AVP p_originRealm, in template (value) Redirect_Host_AVP p_redirect_host ) modifies md_udaBodyAvps := { result_Code := p_resultCode, origin_Host := p_originHost, origin_Realm := p_originRealm, aVP_Type := { AVP_Type: {p_redirect_Host_AVP.aVP_Header, { cHARSTRING := p_redirect_Host_AVP.aVP_Data } } } } // End of template md_udaBodyAvps } // End of group uda_msg } // End of group uda_msg group pna_msg { group pna_msg { Loading Loading @@ -665,7 +684,7 @@ module DiameterShDh_Templates { experimental_Result := omit, experimental_Result := omit, origin_Host := p_originHost, origin_Host := p_originHost, origin_Realm := p_originRealm, origin_Realm := p_originRealm, aVP_Type := superset(AVP_Type: {p_redirect_Host_AVP.aVP_Header, ?}) aVP_Type := superset(AVP_Type: {p_redirect_Host_AVP.aVP_Header, { cHARSTRING := p_redirect_Host_AVP.aVP_Data }}) } // End of template mdw_udaBodyAvps_redirect } // End of template mdw_udaBodyAvps_redirect template (present) Experimental_Result_AVP mw_experimentalResult( template (present) Experimental_Result_AVP mw_experimentalResult( Loading
ttcn/DiameterShDh_TestCases.ttcn3 +60 −4 Original line number Original line Diff line number Diff line Loading @@ -3023,7 +3023,7 @@ module DiameterShDh_TestCases { */ */ testcase TC_DH_SLF_UD_01() runs on DiameterShDh system TestAdapter { testcase TC_DH_SLF_UD_01() runs on DiameterShDh system TestAdapter { // Local variables // Local variables var DiameterShDh v_diameterSh_slf; var DiameterShDh v_diameterSh_as; // Test control // Test control if (not PICS_SLF_IUT) { if (not PICS_SLF_IUT) { Loading @@ -3032,15 +3032,15 @@ module DiameterShDh_TestCases { } } // Test component configuration // Test component configuration f_cf_1Dh_slfUp(v_diameterSh_slf); f_cf_1Dh_asUp(v_diameterSh_as); // Start // Start v_diameterSh_slf.start(f_TC_DH_SLF_UD_01()); v_diameterSh_as.start(f_TC_DH_SLF_UD_01()); // synchronize PTC on 1 sychronization points // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Dh_slfDown(v_diameterSh_slf); f_cf_1Dh_asDown(v_diameterSh_as); } // End of testcase TC_DH_SLF_UD_01 } // End of testcase TC_DH_SLF_UD_01 Loading @@ -3064,6 +3064,62 @@ module DiameterShDh_TestCases { //} // End of group TP_ASRole_MessageSyntax //} // End of group TP_ASRole_MessageSyntax group TP_ASRole_UserData{ group TP_ASRole_UserData{ /** * @desc Verify that the IUT for user data handling procedure sends a UD-Request to the SLF and after reception of a UD-Answer forwards a UD-Request to the HSS. * <pre> * Pics Selection: PICS_AS_IUT * Initial conditions: * with { * * } * Expected behaviour: * ensure that { * when { * to indicate a user data handling procedure * } * then { * the IUT sends a UD-Request to the SLF * on receipt of a UD-Answer from the SLF * containing a Redirect-Host AVP * indicating the HSS identity to be used * not containing an Experimental-Result AVP * containing a Result-Code AVP * indicating DIAMETER_REDIRECT_INDICATION (3006) * sends a UD-Request to the HSS * containing a Destination-Host AVP * containing a Destination-Realm AVP. * } * } * </pre> * * @version 0.0.6 * @see ETSI TS 103 571-2 TP_DH_AS_UD_01 */ testcase TC_DH_AS_UD_01() runs on DiameterShDh system TestAdapter { // Local variables var DiameterShDh v_diameterSh_slf; // Test control if (not PICS_AS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_AS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Dh_slfUp(v_diameterSh_slf); // Start v_diameterSh_slf.start(f_TC_DH_AS_UD_01()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Dh_slfDown(v_diameterSh_slf); } // End of testcase TC_DH_AS_UD_01 } // End of group TP_ASRole_UserData } // End of group TP_ASRole_UserData group TP_ASRole_ProfileUpdate{ group TP_ASRole_ProfileUpdate{ Loading