Loading DiameterS6a/ttcn/DiameterS6a_HSS_TCFunctions.ttcn3 +8 −8 Original line number Diff line number Diff line Loading @@ -1170,7 +1170,7 @@ module DiameterS6a_HSS_TCFunctions { // Test Body // Clause 'when': the IUT receives a PU-Request f_triggerPurMessage( md_PUR_TCs( md_PUER_TCs( vc_sessionId, // containing a Session-ID AVP md_purBodyAvps_TC_01( md_auth_Session_State_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED Loading Loading @@ -1227,7 +1227,7 @@ module DiameterS6a_HSS_TCFunctions { // Test Body // Clause 'when': the IUT receives a PU-Request f_triggerPurMessage( md_PUR_TCs( md_PUER_TCs( vc_sessionId, // containing a Session-ID AVP md_purBodyAvps_TC_01( md_auth_Session_State_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED Loading Loading @@ -1323,7 +1323,7 @@ module DiameterS6a_HSS_TCFunctions { log("*** " & __SCOPE__ & ": INFO: Expected UL-Answer message was received. ***"); // Trigger a PU-Request f_triggerPurMessage( // and, the IUT receives a PU-Request md_PUR_TCs( md_PUER_TCs( vc_sessionId, // containing a Session-ID AVP md_purBodyAvps_TC_03( md_auth_Session_State_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED Loading Loading @@ -1416,7 +1416,7 @@ module DiameterS6a_HSS_TCFunctions { log("*** " & __SCOPE__ & ": INFO: Expected UL-Answer message was received. ***"); // Trigger a PU-Request f_triggerPurMessage( // and, the IUT receives a PU-Request md_PUR_TCs( md_PUER_TCs( vc_sessionId, // containing a Session-ID AVP md_purBodyAvps_TC_03( md_auth_Session_State_noStateMaintained, Loading Loading @@ -1473,7 +1473,7 @@ module DiameterS6a_HSS_TCFunctions { // Test Body // Clause 'when': the IUT receives a PU-Request f_triggerPurMessage( md_PUR_TCs( md_PUER_TCs( vc_sessionId, md_purBodyAvps_TC_04( md_auth_Session_State_noStateMaintained, Loading Loading @@ -1532,7 +1532,7 @@ module DiameterS6a_HSS_TCFunctions { // Test Body // Clause 'when': the IUT receives a PU-Request f_triggerPurMessage( md_PUR_TCs( md_PUER_TCs( vc_sessionId, md_purBodyAvps_TC_04( md_auth_Session_State_noStateMaintained, Loading Loading @@ -1590,7 +1590,7 @@ module DiameterS6a_HSS_TCFunctions { // Test Body // Clause 'when': the IUT receives a PU-Request f_triggerPurMessage( md_PUR_TCs( md_PUER_TCs( vc_sessionId, md_purBodyAvps_TC_04( md_auth_Session_State_noStateMaintained, Loading Loading @@ -1648,7 +1648,7 @@ module DiameterS6a_HSS_TCFunctions { // Test Body // Clause 'when': the IUT receives a PU-Request f_triggerPurMessage( md_PUR_TCs( md_PUER_TCs( vc_sessionId, md_purBodyAvps_TC_04( md_auth_Session_State_noStateMaintained, Loading DiameterS6a/ttcn/DiameterS6a_MME_TCFunctions.ttcn3 +108 −12 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ module DiameterS6a_MME_TCFunctions { type all }; import from LibDiameter_Templates { template m_resultCode_diameterSuccess, m_resultCode template m_resultCode_diameterSuccess, m_resultCode, m_supportedFeatures, m_featureList, m_featureListId }; // DiameterS6a import from DiameterS6a_TypesAndValues { Loading @@ -47,6 +47,8 @@ module DiameterS6a_MME_TCFunctions { type TestAdapter }; import from LibDiameter_Templates {template m_vendorId}; import from LibDiameter_TypesAndValues {const c_vendId3gpp}; // 5.2.1.1 Update Location group updateLocation { Loading Loading @@ -83,7 +85,7 @@ module DiameterS6a_MME_TCFunctions { md_ulr_Flags_AVP(PX_ULR_FLAGS_S6a_IND_SET), // containing a ULR-Flags AVP with S6a-indicator bit set m_visitedPLMNId_dummy // containing a Visited-PLMN-ID AVP )))) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { Loading Loading @@ -125,7 +127,7 @@ module DiameterS6a_MME_TCFunctions { PX_ULR_FLAGS_S6a_IND_SET + // S6a-indicator bit set PX_ULR_FLAGS_S6a_SINGLE_REG // Single-Registration-Indication bit set ))))) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { Loading Loading @@ -175,7 +177,7 @@ module DiameterS6a_MME_TCFunctions { ), m_visitedPLMNId_dummy // containing a Visited-PLMN-ID AVP )))) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { Loading Loading @@ -443,7 +445,7 @@ module DiameterS6a_MME_TCFunctions { ? //mw_supportedFeatures // containing a Supported-Features AVP // FIXME How to check this constraint? complement() // not containing any SGSN specific features )))) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { Loading Loading @@ -568,13 +570,32 @@ module DiameterS6a_MME_TCFunctions { function f_TC_MME_PUE_01() runs on TestAdapter { // Local variables var Auth_Session_State_AVP v_noStateMaintained := md_auth_Session_State_noStateMaintained; // Preamble // Test Body // Clause 'when' action("initiate purge UE request"); // Clause 'then' tc_ac.start; alt { [] HSS_S6a.receive ( m_mmePurgeUeRequest ( mdw_PUER_TCs ( vc_sessionId, mdw_purBodyAvps ( v_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP ?, // containing an Destination_Realm_AVP ?, // containing an User_Name_AVP * )))) { // containing an PUR_Flags_AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_success); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); } } // End of alt // Postamble Loading @@ -583,13 +604,33 @@ module DiameterS6a_MME_TCFunctions { function f_TC_MME_PUE_02() runs on TestAdapter { // Local variables var Auth_Session_State_AVP v_noStateMaintained := md_auth_Session_State_noStateMaintained; // Preamble // Test Body // Clause 'when' action("initiate purge UE request in MME"); // Clause 'then' tc_ac.start; alt { [] HSS_S6a.receive ( m_mmePurgeUeRequest ( mdw_PUER_TCs ( vc_sessionId, mdw_purBodyAvps ( v_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP ?, // containing an Destination_Realm_AVP ?, // containing an User_Name_AVP mdw_pURFlags(bit2int('01'B)) // containing an PUR_Flags_AVP )))) { f_selfOrClientSyncAndVerdict(c_tbDone, e_success); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); } } // End of alt // Postamble Loading @@ -598,13 +639,33 @@ module DiameterS6a_MME_TCFunctions { function f_TC_MME_PUE_03() runs on TestAdapter { // Local variables var Auth_Session_State_AVP v_noStateMaintained := md_auth_Session_State_noStateMaintained; // Preamble // Test Body // Clause 'when' action("initiate purge UE request in MME and SGSN"); // Clause 'then' tc_ac.start; alt { [] HSS_S6a.receive ( m_mmePurgeUeRequest ( mdw_PUER_TCs ( vc_sessionId, mdw_purBodyAvps ( v_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP ?, // containing an Destination_Realm_AVP ?, // containing an User_Name_AVP mdw_pURFlags(bit2int('11'B)) // containing an PUR_Flags_AVP )))) { f_selfOrClientSyncAndVerdict(c_tbDone, e_success); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); } } // End of alt // Postamble Loading @@ -613,13 +674,50 @@ module DiameterS6a_MME_TCFunctions { function f_TC_MME_PUE_04() runs on TestAdapter { // Local variables var Auth_Session_State_AVP v_noStateMaintained := md_auth_Session_State_noStateMaintained; const bitstring c_partialPurgeFeature := '10000000000000000000000000000'B; // Preamble action("initiate update location request"); tc_ac.start; alt { [] HSS_S6a.receive( mw_hssUpdateLocationRequest( mdw_ULR_TCs( vc_sessionId, // containing a Session-ID AVP mw_S6a_ULR_Body_dummy))) { log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); } }; // End of 'altstep' statement // Test Body // Clause 'when' HSS_S6a.send(m_hssUpdateLocationAnswer(m_S6a_ULA(m_S6a_ULA_Body ( {m_supportedFeatures ( m_vendorId(c_vendId3gpp), m_featureListId(0), m_featureList(bit2int(c_partialPurgeFeature)), omit)} ) ))); // Clause 'then' tc_ac.start; alt { [] HSS_S6a.receive ( m_mmePurgeUeRequest ( mdw_PUER_TCs ( vc_sessionId, mdw_purBodyAvps ( v_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP ?, // containing an Destination_Realm_AVP ?, // containing an User_Name_AVP mdw_pURFlags((bit2int('01'B),bit2int('10'B))) // containing an PUR_Flags_AVP )))) { f_selfOrClientSyncAndVerdict(c_tbDone, e_success); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); } } // End of alt // Postamble Loading Loading @@ -1437,9 +1535,7 @@ module DiameterS6a_MME_TCFunctions { v_user_Name, // containing a User-Name AVP v_dSR_Flags )))); // Clause 'then' tc_ac.start; alt { [] HSS_S6a.receive ( mw_hssDeleteSubscriberDataAnswer ( mdw_DSA_TCs ( vc_sessionId, mdw_dsaBodyAvps_Result ( Loading DiameterS6a/ttcn/DiameterS6a_Steps.ttcn3 +3 −2 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ type TestAdapter }; import from LibDiameter_Types_S6a_AVPs all; group GlobalSteps { Loading Loading @@ -189,10 +190,10 @@ * @param p_purMSG * @verdict Unchanged */ function f_triggerPurMessage ( template (value) PUR_MSG p_purMSG ) function f_triggerPurMessage ( template (value) PUER_MSG p_purMSG ) runs on TestAdapter { MME_S6a.send( DIAMETER_MSG : { pUR_MSG := p_purMSG } DIAMETER_MSG : { pUER_MSG := p_purMSG } ); } // End of function f_triggerPurMessage Loading DiameterS6a/ttcn/DiameterS6a_Templates.ttcn +123 −30 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
DiameterS6a/ttcn/DiameterS6a_HSS_TCFunctions.ttcn3 +8 −8 Original line number Diff line number Diff line Loading @@ -1170,7 +1170,7 @@ module DiameterS6a_HSS_TCFunctions { // Test Body // Clause 'when': the IUT receives a PU-Request f_triggerPurMessage( md_PUR_TCs( md_PUER_TCs( vc_sessionId, // containing a Session-ID AVP md_purBodyAvps_TC_01( md_auth_Session_State_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED Loading Loading @@ -1227,7 +1227,7 @@ module DiameterS6a_HSS_TCFunctions { // Test Body // Clause 'when': the IUT receives a PU-Request f_triggerPurMessage( md_PUR_TCs( md_PUER_TCs( vc_sessionId, // containing a Session-ID AVP md_purBodyAvps_TC_01( md_auth_Session_State_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED Loading Loading @@ -1323,7 +1323,7 @@ module DiameterS6a_HSS_TCFunctions { log("*** " & __SCOPE__ & ": INFO: Expected UL-Answer message was received. ***"); // Trigger a PU-Request f_triggerPurMessage( // and, the IUT receives a PU-Request md_PUR_TCs( md_PUER_TCs( vc_sessionId, // containing a Session-ID AVP md_purBodyAvps_TC_03( md_auth_Session_State_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED Loading Loading @@ -1416,7 +1416,7 @@ module DiameterS6a_HSS_TCFunctions { log("*** " & __SCOPE__ & ": INFO: Expected UL-Answer message was received. ***"); // Trigger a PU-Request f_triggerPurMessage( // and, the IUT receives a PU-Request md_PUR_TCs( md_PUER_TCs( vc_sessionId, // containing a Session-ID AVP md_purBodyAvps_TC_03( md_auth_Session_State_noStateMaintained, Loading Loading @@ -1473,7 +1473,7 @@ module DiameterS6a_HSS_TCFunctions { // Test Body // Clause 'when': the IUT receives a PU-Request f_triggerPurMessage( md_PUR_TCs( md_PUER_TCs( vc_sessionId, md_purBodyAvps_TC_04( md_auth_Session_State_noStateMaintained, Loading Loading @@ -1532,7 +1532,7 @@ module DiameterS6a_HSS_TCFunctions { // Test Body // Clause 'when': the IUT receives a PU-Request f_triggerPurMessage( md_PUR_TCs( md_PUER_TCs( vc_sessionId, md_purBodyAvps_TC_04( md_auth_Session_State_noStateMaintained, Loading Loading @@ -1590,7 +1590,7 @@ module DiameterS6a_HSS_TCFunctions { // Test Body // Clause 'when': the IUT receives a PU-Request f_triggerPurMessage( md_PUR_TCs( md_PUER_TCs( vc_sessionId, md_purBodyAvps_TC_04( md_auth_Session_State_noStateMaintained, Loading Loading @@ -1648,7 +1648,7 @@ module DiameterS6a_HSS_TCFunctions { // Test Body // Clause 'when': the IUT receives a PU-Request f_triggerPurMessage( md_PUR_TCs( md_PUER_TCs( vc_sessionId, md_purBodyAvps_TC_04( md_auth_Session_State_noStateMaintained, Loading
DiameterS6a/ttcn/DiameterS6a_MME_TCFunctions.ttcn3 +108 −12 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ module DiameterS6a_MME_TCFunctions { type all }; import from LibDiameter_Templates { template m_resultCode_diameterSuccess, m_resultCode template m_resultCode_diameterSuccess, m_resultCode, m_supportedFeatures, m_featureList, m_featureListId }; // DiameterS6a import from DiameterS6a_TypesAndValues { Loading @@ -47,6 +47,8 @@ module DiameterS6a_MME_TCFunctions { type TestAdapter }; import from LibDiameter_Templates {template m_vendorId}; import from LibDiameter_TypesAndValues {const c_vendId3gpp}; // 5.2.1.1 Update Location group updateLocation { Loading Loading @@ -83,7 +85,7 @@ module DiameterS6a_MME_TCFunctions { md_ulr_Flags_AVP(PX_ULR_FLAGS_S6a_IND_SET), // containing a ULR-Flags AVP with S6a-indicator bit set m_visitedPLMNId_dummy // containing a Visited-PLMN-ID AVP )))) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { Loading Loading @@ -125,7 +127,7 @@ module DiameterS6a_MME_TCFunctions { PX_ULR_FLAGS_S6a_IND_SET + // S6a-indicator bit set PX_ULR_FLAGS_S6a_SINGLE_REG // Single-Registration-Indication bit set ))))) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { Loading Loading @@ -175,7 +177,7 @@ module DiameterS6a_MME_TCFunctions { ), m_visitedPLMNId_dummy // containing a Visited-PLMN-ID AVP )))) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { Loading Loading @@ -443,7 +445,7 @@ module DiameterS6a_MME_TCFunctions { ? //mw_supportedFeatures // containing a Supported-Features AVP // FIXME How to check this constraint? complement() // not containing any SGSN specific features )))) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { Loading Loading @@ -568,13 +570,32 @@ module DiameterS6a_MME_TCFunctions { function f_TC_MME_PUE_01() runs on TestAdapter { // Local variables var Auth_Session_State_AVP v_noStateMaintained := md_auth_Session_State_noStateMaintained; // Preamble // Test Body // Clause 'when' action("initiate purge UE request"); // Clause 'then' tc_ac.start; alt { [] HSS_S6a.receive ( m_mmePurgeUeRequest ( mdw_PUER_TCs ( vc_sessionId, mdw_purBodyAvps ( v_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP ?, // containing an Destination_Realm_AVP ?, // containing an User_Name_AVP * )))) { // containing an PUR_Flags_AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_success); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); } } // End of alt // Postamble Loading @@ -583,13 +604,33 @@ module DiameterS6a_MME_TCFunctions { function f_TC_MME_PUE_02() runs on TestAdapter { // Local variables var Auth_Session_State_AVP v_noStateMaintained := md_auth_Session_State_noStateMaintained; // Preamble // Test Body // Clause 'when' action("initiate purge UE request in MME"); // Clause 'then' tc_ac.start; alt { [] HSS_S6a.receive ( m_mmePurgeUeRequest ( mdw_PUER_TCs ( vc_sessionId, mdw_purBodyAvps ( v_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP ?, // containing an Destination_Realm_AVP ?, // containing an User_Name_AVP mdw_pURFlags(bit2int('01'B)) // containing an PUR_Flags_AVP )))) { f_selfOrClientSyncAndVerdict(c_tbDone, e_success); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); } } // End of alt // Postamble Loading @@ -598,13 +639,33 @@ module DiameterS6a_MME_TCFunctions { function f_TC_MME_PUE_03() runs on TestAdapter { // Local variables var Auth_Session_State_AVP v_noStateMaintained := md_auth_Session_State_noStateMaintained; // Preamble // Test Body // Clause 'when' action("initiate purge UE request in MME and SGSN"); // Clause 'then' tc_ac.start; alt { [] HSS_S6a.receive ( m_mmePurgeUeRequest ( mdw_PUER_TCs ( vc_sessionId, mdw_purBodyAvps ( v_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP ?, // containing an Destination_Realm_AVP ?, // containing an User_Name_AVP mdw_pURFlags(bit2int('11'B)) // containing an PUR_Flags_AVP )))) { f_selfOrClientSyncAndVerdict(c_tbDone, e_success); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); } } // End of alt // Postamble Loading @@ -613,13 +674,50 @@ module DiameterS6a_MME_TCFunctions { function f_TC_MME_PUE_04() runs on TestAdapter { // Local variables var Auth_Session_State_AVP v_noStateMaintained := md_auth_Session_State_noStateMaintained; const bitstring c_partialPurgeFeature := '10000000000000000000000000000'B; // Preamble action("initiate update location request"); tc_ac.start; alt { [] HSS_S6a.receive( mw_hssUpdateLocationRequest( mdw_ULR_TCs( vc_sessionId, // containing a Session-ID AVP mw_S6a_ULR_Body_dummy))) { log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); } }; // End of 'altstep' statement // Test Body // Clause 'when' HSS_S6a.send(m_hssUpdateLocationAnswer(m_S6a_ULA(m_S6a_ULA_Body ( {m_supportedFeatures ( m_vendorId(c_vendId3gpp), m_featureListId(0), m_featureList(bit2int(c_partialPurgeFeature)), omit)} ) ))); // Clause 'then' tc_ac.start; alt { [] HSS_S6a.receive ( m_mmePurgeUeRequest ( mdw_PUER_TCs ( vc_sessionId, mdw_purBodyAvps ( v_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP ?, // containing an Destination_Realm_AVP ?, // containing an User_Name_AVP mdw_pURFlags((bit2int('01'B),bit2int('10'B))) // containing an PUR_Flags_AVP )))) { f_selfOrClientSyncAndVerdict(c_tbDone, e_success); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); } } // End of alt // Postamble Loading Loading @@ -1437,9 +1535,7 @@ module DiameterS6a_MME_TCFunctions { v_user_Name, // containing a User-Name AVP v_dSR_Flags )))); // Clause 'then' tc_ac.start; alt { [] HSS_S6a.receive ( mw_hssDeleteSubscriberDataAnswer ( mdw_DSA_TCs ( vc_sessionId, mdw_dsaBodyAvps_Result ( Loading
DiameterS6a/ttcn/DiameterS6a_Steps.ttcn3 +3 −2 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ type TestAdapter }; import from LibDiameter_Types_S6a_AVPs all; group GlobalSteps { Loading Loading @@ -189,10 +190,10 @@ * @param p_purMSG * @verdict Unchanged */ function f_triggerPurMessage ( template (value) PUR_MSG p_purMSG ) function f_triggerPurMessage ( template (value) PUER_MSG p_purMSG ) runs on TestAdapter { MME_S6a.send( DIAMETER_MSG : { pUR_MSG := p_purMSG } DIAMETER_MSG : { pUER_MSG := p_purMSG } ); } // End of function f_triggerPurMessage Loading
DiameterS6a/ttcn/DiameterS6a_Templates.ttcn +123 −30 File changed.Preview size limit exceeded, changes collapsed. Show changes