Loading DiameterS6a/ttcn/DiameterS6a_MME_TCFunctions.ttcn3 +48 −0 Original line number Diff line number Diff line Loading @@ -1397,6 +1397,29 @@ module DiameterS6a_MME_TCFunctions { function f_TC_MME_DSD_01() runs on TestAdapter { // Local variables var User_Name_AVP v_user_Name := md_user_Name ( PX_USR_NAME ); var Auth_Session_State_AVP v_noStateMaintained := md_auth_Session_State_noStateMaintained; var MIP_Home_Agent_Address_AVP v_mipHomeAgentAddress := md_mipHomeAgentAddress ( PX_MIP6_AGENT_IP_ADDRESS ); var Destination_Realm_AVP v_mIP6Destination_Realm := m_destinationRealm ( PX_MIP6_AGENT_DEST_REALM ); var Destination_Host_AVP v_mip6Destination_Host := m_destinationHost ( PX_MIP6_AGENT_DEST_HOST ); var MIP_Home_Agent_Host_AVP v_mipHomeAgentHost := md_mipHomeAgentHost ( v_mIP6Destination_Realm, v_mip6Destination_Host ); var MIP6_Agent_Info_AVP v_mIP6AgentInfo := md_mip6_Agent_Info_AVP ( v_mipHomeAgentAddress, v_mipHomeAgentHost); var All_APN_Conf_Included_Id_AVP v_allAPNConfIncludedId := m_allAPNConfIncludedId ( MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED_E ); var Context_Identifier_AVP v_contextIdentifier := md_contextIdentifier ( PX_CONTEXT_ID ); var PDN_Type_AVP v_pdnType := m_pdnType ( IPv4_OR_IPv6_E ); var Service_Selection_AVP v_serviceSelection := m_serviceSelection ( PX_SERVICE_SEL ); var APN_Configuration_AVP v_apnConfiguration := m_apnConfiguration ( v_contextIdentifier, v_pdnType, v_serviceSelection, v_mIP6AgentInfo ); var APN_Configuration_Profile_AVP v_apnConfigurationProfile := m_apnConfigurationProfile ( v_contextIdentifier, v_allAPNConfIncludedId, v_apnConfiguration ); var DSR_Flags_AVP v_dSR_Flags := m_dsrFlags_AVP ( 0 ); var Result_Code_AVP v_resultCode := m_resultCode ( DIAMETER_SUCCESS_E ); // Preamble f_preamble_MME(); Loading @@ -1405,9 +1428,34 @@ module DiameterS6a_MME_TCFunctions { // Test Body // Clause 'when' HSS_S6a.send ( m_mmeDeleteSubscriberDataRequest ( md_DSR_TCs ( vc_sessionId, md_dsrBodyAvps_Flags ( 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 vc_destinationHost, // containing a Destination-Host AVP vc_destinationRealm, // containing a Destination-Realm AVP 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 ( v_resultCode, // containing a Result-Code AVP indicating DIAMETER_SUCCESS 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 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 f_postamble_MME(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); Loading DiameterS6a/ttcn/DiameterS6a_Templates.ttcn +95 −3 Original line number Diff line number Diff line Loading @@ -493,6 +493,13 @@ module DiameterS6a_Templates { aVP_Data := p_aVP_Data } // End of template m_urFlags_AVP template (value) DSR_Flags_AVP m_dsrFlags_AVP( in UInt32 p_aVP_Data ):= { aVP_Header := m_aVP_HeaderVid_Mbit1 ( c_dsr_Flags_AVP_Code, 4, c_vendId3gpp ), aVP_Data := p_aVP_Data } // End of template m_dsrFlags_AVP } // End of group sendingTemplatesForAVPs group awaitingTemplatesForAVPs{ Loading Loading @@ -1584,7 +1591,15 @@ module DiameterS6a_Templates { */ template (value) DIAMETER_MSG m_mmeInsertSubscriberDataRequest ( in template (value) IDR_MSG p_IDR_MSG) := { iDR_MSG := p_IDR_MSG } // End of template m_mmeCancelLocationRequest } // End of template m_mmeInsertSubscriberDataRequest /** * @desc Main send template for MME_S6a port * @param p_DSR_MSG SD-Request send template message */ template (value) DIAMETER_MSG m_mmeDeleteSubscriberDataRequest ( in template (value) DSR_MSG p_DSR_MSG) := { dSR_MSG := p_DSR_MSG } // End of template m_mmeDeleteSubscriberDataRequest /** * @desc Send template specifying no state maintained Loading Loading @@ -1832,7 +1847,16 @@ module DiameterS6a_Templates { */ template (present) DIAMETER_MSG mw_hssInsertSubscriberDataAnswer ( in template (present) IDA_MSG p_IDA_MSG) := { iDA_MSG := p_IDA_MSG } // End of template mw_hssCancelLocationAnswer } // End of template mw_hssInsertSubscriberDataAnswer /** * @desc Main receive template for HSS_S6a port * @param p_IDA_MSG CL-Answer receive template message */ template (present) DIAMETER_MSG mw_hssDeleteSubscriberDataAnswer ( in template (present) DSA_MSG p_DSA_MSG) := { dSA_MSG := p_DSA_MSG } // End of template mw_hssDeleteSubscriberDataAnswer /** * @desc Generic received ULA_Flags_AVP message Loading Loading @@ -1885,7 +1909,7 @@ module DiameterS6a_Templates { /** * @desc Send template for IDR * @param p_sessionId Session identifier * @param p_clrBody IDR message body * @param p_idrBody IDR message body */ template (value) IDR_MSG md_IDR_TCs ( in template (value) Session_Id_AVP p_sessionId, Loading @@ -1895,6 +1919,19 @@ module DiameterS6a_Templates { iDR_Body := p_idrBody } // End of template md_IDR_TCs /** * @desc Send template for DSR * @param p_sessionId Session identifier * @param p_dsrBody DSR message body */ template (value) DSR_MSG md_DSR_TCs ( in template (value) Session_Id_AVP p_sessionId, in template (value) DSR_Body_AVP p_dsrBody ) modifies m_S6a_DSR_dummy := { session_Id := p_sessionId, dSR_Body := p_dsrBody } // End of template md_DSR_TCs /** * @desc Send template for CLA * @param p_sessionId Session identifier Loading Loading @@ -2180,6 +2217,38 @@ module DiameterS6a_Templates { } // End of group t_TC_HSS_IDR group t_TC_HSS_DSR { /** * @desc Send template for DSR message body * @param p_auth_Session_State Specifies if the state is maintained for a particular session * @param p_originHost Identifies the endpoint that originated the Diameter message * @param p_originRealm Realm of the originator * @param p_destinationHost The Host to which the message is to be routed * @param p_destinationRealm The realm to which the message is to be routed * @param p_user_Name User-Name * @param p_dSRFlags */ template (value) DSR_Body_AVP md_dsrBodyAvps_Flags( in template (value) Auth_Session_State_AVP p_auth_Session_State, in template (value) Origin_Host_AVP p_originHost, in template (value) Origin_Realm_AVP p_originRealm, in template (value) Destination_Host_AVP p_destinationHost, in template (value) Destination_Realm_AVP p_destinationRealm, in template (value) User_Name_AVP p_user_Name, in template (value) DSR_Flags_AVP p_dSR_Flags ) modifies m_S6a_DSR_Body_dummy := { auth_Session_State := p_auth_Session_State, origin_Host := p_originHost, origin_Realm := p_originRealm, destination_Host := p_destinationHost, destination_Realm := p_destinationRealm, user_Name := p_user_Name, dSR_Flags := p_dSR_Flags } // End of template md_idrBodyAvps_Flags } // End of group t_TC_HSS_DSR /** * @desc Send emplates for TC_HSS_UL_01 */ Loading Loading @@ -3138,6 +3207,29 @@ module DiameterS6a_Templates { } // End of group t_TC_HSS_IDA group t_TC_HSS_DSA { /** * @desc Receive template for DSA message body * @param p_auth_Session_State Specifies if the state is maintained for a particular session * @param p_originHost Identifies the endpoint that originated the Diameter message * @param p_originRealm Realm of the originator * @param p_result Result of CLR execution */ template (present) DSA_Body_AVP mdw_dsaBodyAvps_Result ( in template (present) Result_Code_AVP p_result, in template (present) Auth_Session_State_AVP p_auth_Session_State, in template (present) Origin_Host_AVP p_originHost, in template (present) Origin_Realm_AVP p_originRealm ) modifies m_S6a_DSA_Body_dummy := { result_Code := p_result, auth_Session_State := p_auth_Session_State, origin_Host := p_originHost, origin_Realm := p_originRealm } // End of template mdw_dsaBodyAvps_Result } // End of group t_TC_HSS_DSA /** * @desc Receive templates for TC_HSS_UL_01 */ Loading Loading
DiameterS6a/ttcn/DiameterS6a_MME_TCFunctions.ttcn3 +48 −0 Original line number Diff line number Diff line Loading @@ -1397,6 +1397,29 @@ module DiameterS6a_MME_TCFunctions { function f_TC_MME_DSD_01() runs on TestAdapter { // Local variables var User_Name_AVP v_user_Name := md_user_Name ( PX_USR_NAME ); var Auth_Session_State_AVP v_noStateMaintained := md_auth_Session_State_noStateMaintained; var MIP_Home_Agent_Address_AVP v_mipHomeAgentAddress := md_mipHomeAgentAddress ( PX_MIP6_AGENT_IP_ADDRESS ); var Destination_Realm_AVP v_mIP6Destination_Realm := m_destinationRealm ( PX_MIP6_AGENT_DEST_REALM ); var Destination_Host_AVP v_mip6Destination_Host := m_destinationHost ( PX_MIP6_AGENT_DEST_HOST ); var MIP_Home_Agent_Host_AVP v_mipHomeAgentHost := md_mipHomeAgentHost ( v_mIP6Destination_Realm, v_mip6Destination_Host ); var MIP6_Agent_Info_AVP v_mIP6AgentInfo := md_mip6_Agent_Info_AVP ( v_mipHomeAgentAddress, v_mipHomeAgentHost); var All_APN_Conf_Included_Id_AVP v_allAPNConfIncludedId := m_allAPNConfIncludedId ( MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED_E ); var Context_Identifier_AVP v_contextIdentifier := md_contextIdentifier ( PX_CONTEXT_ID ); var PDN_Type_AVP v_pdnType := m_pdnType ( IPv4_OR_IPv6_E ); var Service_Selection_AVP v_serviceSelection := m_serviceSelection ( PX_SERVICE_SEL ); var APN_Configuration_AVP v_apnConfiguration := m_apnConfiguration ( v_contextIdentifier, v_pdnType, v_serviceSelection, v_mIP6AgentInfo ); var APN_Configuration_Profile_AVP v_apnConfigurationProfile := m_apnConfigurationProfile ( v_contextIdentifier, v_allAPNConfIncludedId, v_apnConfiguration ); var DSR_Flags_AVP v_dSR_Flags := m_dsrFlags_AVP ( 0 ); var Result_Code_AVP v_resultCode := m_resultCode ( DIAMETER_SUCCESS_E ); // Preamble f_preamble_MME(); Loading @@ -1405,9 +1428,34 @@ module DiameterS6a_MME_TCFunctions { // Test Body // Clause 'when' HSS_S6a.send ( m_mmeDeleteSubscriberDataRequest ( md_DSR_TCs ( vc_sessionId, md_dsrBodyAvps_Flags ( 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 vc_destinationHost, // containing a Destination-Host AVP vc_destinationRealm, // containing a Destination-Realm AVP 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 ( v_resultCode, // containing a Result-Code AVP indicating DIAMETER_SUCCESS 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 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 f_postamble_MME(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); Loading
DiameterS6a/ttcn/DiameterS6a_Templates.ttcn +95 −3 Original line number Diff line number Diff line Loading @@ -493,6 +493,13 @@ module DiameterS6a_Templates { aVP_Data := p_aVP_Data } // End of template m_urFlags_AVP template (value) DSR_Flags_AVP m_dsrFlags_AVP( in UInt32 p_aVP_Data ):= { aVP_Header := m_aVP_HeaderVid_Mbit1 ( c_dsr_Flags_AVP_Code, 4, c_vendId3gpp ), aVP_Data := p_aVP_Data } // End of template m_dsrFlags_AVP } // End of group sendingTemplatesForAVPs group awaitingTemplatesForAVPs{ Loading Loading @@ -1584,7 +1591,15 @@ module DiameterS6a_Templates { */ template (value) DIAMETER_MSG m_mmeInsertSubscriberDataRequest ( in template (value) IDR_MSG p_IDR_MSG) := { iDR_MSG := p_IDR_MSG } // End of template m_mmeCancelLocationRequest } // End of template m_mmeInsertSubscriberDataRequest /** * @desc Main send template for MME_S6a port * @param p_DSR_MSG SD-Request send template message */ template (value) DIAMETER_MSG m_mmeDeleteSubscriberDataRequest ( in template (value) DSR_MSG p_DSR_MSG) := { dSR_MSG := p_DSR_MSG } // End of template m_mmeDeleteSubscriberDataRequest /** * @desc Send template specifying no state maintained Loading Loading @@ -1832,7 +1847,16 @@ module DiameterS6a_Templates { */ template (present) DIAMETER_MSG mw_hssInsertSubscriberDataAnswer ( in template (present) IDA_MSG p_IDA_MSG) := { iDA_MSG := p_IDA_MSG } // End of template mw_hssCancelLocationAnswer } // End of template mw_hssInsertSubscriberDataAnswer /** * @desc Main receive template for HSS_S6a port * @param p_IDA_MSG CL-Answer receive template message */ template (present) DIAMETER_MSG mw_hssDeleteSubscriberDataAnswer ( in template (present) DSA_MSG p_DSA_MSG) := { dSA_MSG := p_DSA_MSG } // End of template mw_hssDeleteSubscriberDataAnswer /** * @desc Generic received ULA_Flags_AVP message Loading Loading @@ -1885,7 +1909,7 @@ module DiameterS6a_Templates { /** * @desc Send template for IDR * @param p_sessionId Session identifier * @param p_clrBody IDR message body * @param p_idrBody IDR message body */ template (value) IDR_MSG md_IDR_TCs ( in template (value) Session_Id_AVP p_sessionId, Loading @@ -1895,6 +1919,19 @@ module DiameterS6a_Templates { iDR_Body := p_idrBody } // End of template md_IDR_TCs /** * @desc Send template for DSR * @param p_sessionId Session identifier * @param p_dsrBody DSR message body */ template (value) DSR_MSG md_DSR_TCs ( in template (value) Session_Id_AVP p_sessionId, in template (value) DSR_Body_AVP p_dsrBody ) modifies m_S6a_DSR_dummy := { session_Id := p_sessionId, dSR_Body := p_dsrBody } // End of template md_DSR_TCs /** * @desc Send template for CLA * @param p_sessionId Session identifier Loading Loading @@ -2180,6 +2217,38 @@ module DiameterS6a_Templates { } // End of group t_TC_HSS_IDR group t_TC_HSS_DSR { /** * @desc Send template for DSR message body * @param p_auth_Session_State Specifies if the state is maintained for a particular session * @param p_originHost Identifies the endpoint that originated the Diameter message * @param p_originRealm Realm of the originator * @param p_destinationHost The Host to which the message is to be routed * @param p_destinationRealm The realm to which the message is to be routed * @param p_user_Name User-Name * @param p_dSRFlags */ template (value) DSR_Body_AVP md_dsrBodyAvps_Flags( in template (value) Auth_Session_State_AVP p_auth_Session_State, in template (value) Origin_Host_AVP p_originHost, in template (value) Origin_Realm_AVP p_originRealm, in template (value) Destination_Host_AVP p_destinationHost, in template (value) Destination_Realm_AVP p_destinationRealm, in template (value) User_Name_AVP p_user_Name, in template (value) DSR_Flags_AVP p_dSR_Flags ) modifies m_S6a_DSR_Body_dummy := { auth_Session_State := p_auth_Session_State, origin_Host := p_originHost, origin_Realm := p_originRealm, destination_Host := p_destinationHost, destination_Realm := p_destinationRealm, user_Name := p_user_Name, dSR_Flags := p_dSR_Flags } // End of template md_idrBodyAvps_Flags } // End of group t_TC_HSS_DSR /** * @desc Send emplates for TC_HSS_UL_01 */ Loading Loading @@ -3138,6 +3207,29 @@ module DiameterS6a_Templates { } // End of group t_TC_HSS_IDA group t_TC_HSS_DSA { /** * @desc Receive template for DSA message body * @param p_auth_Session_State Specifies if the state is maintained for a particular session * @param p_originHost Identifies the endpoint that originated the Diameter message * @param p_originRealm Realm of the originator * @param p_result Result of CLR execution */ template (present) DSA_Body_AVP mdw_dsaBodyAvps_Result ( in template (present) Result_Code_AVP p_result, in template (present) Auth_Session_State_AVP p_auth_Session_State, in template (present) Origin_Host_AVP p_originHost, in template (present) Origin_Realm_AVP p_originRealm ) modifies m_S6a_DSA_Body_dummy := { result_Code := p_result, auth_Session_State := p_auth_Session_State, origin_Host := p_originHost, origin_Realm := p_originRealm } // End of template mdw_dsaBodyAvps_Result } // End of group t_TC_HSS_DSA /** * @desc Receive templates for TC_HSS_UL_01 */ Loading